¿Cuáles son algunos algoritmos importantes que aún no están cubiertos en Mahout? ¿Qué algoritmos de ML le gustaría agregar a la caja de herramientas?

Creo que sería interesante si Mahout pudiera implementar más algoritmos secuenciales (como la regresión logística SGD de Ted, por ejemplo).

AFAIK las implementaciones de KMeans y PCA / SVD actualmente disponibles en Mahout son solo por lotes (escalables usando hadoop en muchas máquinas).

Los KMeans, PCA y codificadores automáticos secuenciales de última generación (con un regularizador inductor de escasez entrenado con SGD) abrirían muchas posibilidades interesantes para el procesamiento de transmisión en vivo (sin hadoop pero combinado con marcos en línea como S4, por ejemplo).

Ah, y escasa codificación con el aprendizaje del diccionario en línea mientras lo hacemos, vea:

http://www.di.ens.fr/willow/pdfs…
http://www.jmlr.org/papers/volum…

Hadoop es excelente, pero la escalabilidad de una sola máquina también es agradable 🙂

El usuario de Quora acaba de enviar algo similar a un SVM lineal multiclase, pero entrenado en el primario: https://issues.apache.org/jira/b

Olivier Grisel acaba de presentar las agallas de lo que eventualmente se convertirá en un autoencoder: https://issues.apache.org/jira/b

[Editar: Impulso recién agregado: https://issues.apache.org/jira/b …]

Mariana, me alegra saber de ti. Sería genial saber de usted en las listas de correo de Mahout también.

Esto es lo que sé de sus sugerencias con respecto a Mahout:

> Métodos de agrupación de CoWeb y DBscan.

No encuentro ninguna documentación en CoWeb. Parece que DBscan es n log n y requiere acceso aleatorio que no es escalable. ¿Existe una formulación alternativa que sea escalable?

> Árboles de decisión como J48 e ID3.

Tenemos una implementación temprana de bosques aleatorios. Los algoritmos estándar para J48 e ID3 no son escalables. Hay algún interés en implementar algunas versiones más rápidas de estos.

> Tablas de decisión.

Esto es un poco ambiguo.

> Apriori

Apriori tiene serios problemas de escalabilidad. En cambio, tenemos un algoritmo alternativo de conjuntos de elementos frecuentes.

> SMO

Existen algoritmos secuenciales rápidos para SVD (de los cuales SMO es solo una alternativa) y las implementaciones de estos están disponibles. Ver liblinear, svmLight, etc. Lo que no existe es una versión que se escala a datos realmente grandes. Por otro lado, para problemas dispersos muy grandes, el descenso de gradiente estocástico (SGD) para la regresión logística parece funcionar tan bien o mejor que la SVM de todos modos. Mahout tiene una implementación SGD de última generación.

> Algoritmos Genéticos

Mahout tiene una implementación clásica de GA. También tiene una implementación muy práctica de optimización evolutiva de pasos grabados.

De todo esto, puede tener la impresión de que no veo mucho que agregar a Mahout y que estaría en lo cierto en lo que respecta a esta lista. Eso no significa que otras personas no tengan otras picazón. Si lo hacen, deberían aparecer en las listas de correo de Mahout y ver si no podemos trabajar juntos para rascar esa picazón.