Creo que puedo responder esto; Apenas he comenzado el ML yo mismo.
Uno de los requisitos previos más importantes sería la formación teórica. Sé que no suena tan llamativo como crear un detector de objetos usando Python, pero confía en mí, a la larga, es más que obligatorio. Por antecedentes teóricos, destacaría un par de temas matemáticos que forman el marco completo para el aprendizaje automático. A saber, ellos son:
Probabilidad y probabilidad en estadística
Álgebra lineal
Un poco de optimización convexa (por ahora)
Procesos estocásticos y dinámicos
- ¿Cuáles son los mejores métodos para recopilar datos de entrenamiento para el algoritmo Naive Bayes?
- Cómo extraer contenido del sitio web con procesamiento de lenguaje natural
- Dado que existen marcos optimizados en línea, ¿vale la pena implementar manualmente implementaciones vectorizadas para redes neuronales complicadas?
- Cómo identificar entidades en una consulta de búsqueda en lenguaje natural
- ¿Qué está sucediendo en este gráfico de pérdida de precisión de la red?
Encontrará tutoriales simples para cada tema como antecedentes / material introductorio en cualquier curso de ML en línea / fuera de línea. Usé las notas de clase de Andrew Ng para mí, antes de tomar un curso en mi universidad.
La razón por la que enfatizo en hacer que este aspecto sea fuerte es porque la mayoría de las personas asumen haber entendido el aprendizaje automático al crear un clasificador y aplicarlo a una interfaz web para crear una aplicación web genial. Para un propósito más académico, un La comprensión de las matemáticas detrás de cada algoritmo es obligatoria y necesaria para cualquier tipo de innovación teórica o aplicada.
Una vez que haya hecho eso, estará equipado para comenzar un curso en línea / en el aula de Machine Learning. Aquí tendrá que implementar un poco, lo que le dará una idea del comportamiento de los sistemas de aprendizaje y lo familiarizará con su campo de batalla. Para la implementación, el lenguaje más simple sería MATLAB (centrándose completamente en el algoritmo). Puede manipular los programas de escritura en MATLAB para practicar la teoría hasta que necesite más portabilidad y escala, y luego puede elegir cualquier idioma que elija: hay implementaciones disponibles en casi todos los idiomas populares, algunos de los cuales enumero aquí.
Minería de datos con software de aprendizaje automático de código abierto en Java – Weka, un conjunto de software enfocado hacia la minería de datos en Java.
LIBSVM: una biblioteca para máquinas de vectores de soporte LibSVM: bibliotecas para máquinas de vectores de soporte, disponible en muchos idiomas populares.
scikit-learn: aprendizaje automático en Python – SciKit, Python.
Waffles – Bibliotecas C ++ para ML.
SIGMA: Kit de herramientas de aprendizaje automático a gran escala y paralelo: SIGMA, kit de herramientas ML a gran escala basado en GUI proporcionado por Microsoft.
Bienvenido – Documentación de Theano 0.6rc3 – Theano, un marco de Python utilizado en Deep Learning.
GraphLab – GraphLab, un marco ML basado en gráficos a gran escala en C ++.
Cuando haya terminado con todo esto (aprender e implementar), tendrá una idea justa de lo que quiere hacer con su conocimiento, y dada su experiencia previa, creo que podrá descubrir exactamente qué estabas aprendiendo ML para. En caso de que quisieras hacer algo con Computer Vision, avísame. ¡También necesito ayuda! 🙂