.net - necesita - que es machine learning y para que sirve
Recursos para trabajar con Machine Learning en F# (4)
Aprendí un curso de Machine Learning usando Matlab como una herramienta de creación de prototipos. Como me volví adicto a F #, me gustaría continuar mi estudio de Machine Learning en F #.
Es posible que desee utilizar F # para la creación de prototipos y la producción, por lo que un marco de aprendizaje automático sería un gran comienzo. De lo contrario, puedo comenzar con una colección de bibliotecas:
- Biblioteca de álgebra lineal altamente optimizada
- Paquete de estadísticas
- Biblioteca de visualización (que permite dibujar e interactuar con gráficos, diagramas ...)
- Caja de herramientas de cómputo paralela (similar a la caja de herramientas de computación paralela de Matlab)
Y los recursos más importantes (para mí) son libros , publicaciones en blogs y cursos en línea sobre Machine Learning en un lenguaje de programación funcional (F # / OCaml / Haskell ...).
¿Alguien puede sugerir este tipo de recurso? Gracias.
EDITAR:
Este es un resumen basado en las respuestas a continuación:
Marcos de aprendizaje automático:
- Infer.NET : un framework .NET para la inferencia bayesiana en modelos gráficos con buen soporte F #.
- WekaSharper : un contenedor de F # alrededor del popular marco de minería de datos Weka.
- Microsoft Sho : un desarrollo continuo del entorno para el análisis de datos (incluidas operaciones de matriz, optimización y visualización) en la plataforma .NET.
Bibliotecas relacionadas:
Math.NET Numerics : internamente usa Intel MKL y AMD ACML para operaciones de matriz y funciones de estadísticas de soporte también.
Microsoft Solver Foundation : un buen marco para la programación lineal y las tareas de optimización.
FSharpChart : una buena biblioteca de visualización de datos en F #.
Leyendo lista:
- Computación numérica : es excelente para comenzar con Aprendizaje automático en F # e introduce varias herramientas y consejos / trucos para trabajar con estas bibliotecas de matemáticas en F #.
- F # y Data Mining blog : también es muy recomendado por Yin Zhu, el autor del capítulo de Computación Numérica.
- F # como sustituto de Octave / Matlab para Machine Learning : Gustavo acaba de comenzar una serie de publicaciones en el blog utilizando F # como herramienta de desarrollo. Es genial ver que muchas bibliotecas están conectadas juntas.
- Muestras de "Machine Learning in Action" en F # : Mathias ha traducido algunas muestras de Python a F #. Están disponibles en Github .
- Página principal de Hal Daume : Hal ha escrito varias bibliotecas de Machine Learning en OCaml. Se sentiría aliviado si tuviera dudas de que la programación funcional no era adecuada para el aprendizaje automático.
Cualquier otro consejo o sugerencia también es bienvenido.
APress tiene un libro en "Alpha" programado para su lanzamiento próximamente: Machine Learning Projects para .NET Developers. http://www.apress.com/9781430267676
El contenido actualmente existente parece ser introductorio, pero bastante bueno para aprender, y sus muestras de código son principalmente F #.
Además de lo que Tomas mencionó, pasé un tiempo con Infer.NET aproximadamente un año y encontré que era bastante bueno para los modelos gráficos continuos. Sé que ha mejorado bastante durante el último año tanto en el ámbito de la biblioteca como en el soporte de F #. Sugiero verificarlo y ver si tiene lo que necesita.
Hal Daume ha implementado muchos algoritmos de aprendizaje automático en OCaml y Haskell. Detalles ver mi respuesta en Aprendizaje automático en OCaml o Haskell?
Como parte del capítulo sobre el libro de Numerical Computing en F # en MSDN, también me gustaría recomendar mi Wrapper para Weka, WekaSharper . Le permite llamar algoritmos de aprendizaje automático en Weka utilizando una interfaz amigable F #.
Escribí un artículo, Why F # es el lenguaje para la minería de datos , que refleja mi pensamiento cuando terminé de escribir un paquete de minería de datos de tipo alfa / prototipo en F #. libml está disponible en línea. Pero el código fue escrito hace dos años cuando comencé a usar F #, y no tuve tiempo para mantenerlo desde entonces.
No hay un solo lugar para buscar recursos en F # y aprendizaje automático, pero aquí hay un par de enlaces que pueden ser bastante útiles:
La sección de Computación numérica en MSDN es un buen recurso para usar varias bibliotecas numéricas de F #. La biblioteca más avanzada que implementa álgebra lineal y otros algoritmos útiles en el aprendizaje automático es Math.NET Numerics .
La sección Visualización de datos en MSDN tiene algunos recursos sobre la creación de gráficos en F #. La biblioteca FSharpChart ahora es mantenida por Carl Nolan, quien regularmente publica actualizaciones en su blog .
También hay algunas páginas personales de personas que están trabajando en temas relevantes:
Jurgen van Gael (que hizo un doctorado en aprendizaje automático) contribuyó a la biblioteca Math.NET y puede leer sobre su experiencia aquí .
Yin Zhu, que escribió el capítulo de Informática Numérica en MSDN (y es un estudiante de doctorado interesado en el aprendizaje automático), tiene bastantes artículos excelentes en su blog .