A2A.
Para tener una base matemática básica, necesita tener algún conocimiento de los siguientes conceptos matemáticos:
– Probabilidades y estadísticas
– Álgebra lineal
– Optimización
– Cálculo multivariable
– Análisis funcional (no esencial).
– Lógica de primer orden (no esencial).
Puede encontrar material razonable en la mayoría de estos buscando “notas de lectura” en Google. Por lo general, encontrará buenas notas de clase compiladas por algún profesor que enseña ese curso. Los primeros resultados deben darle un buen conjunto para elegir. Vea la respuesta de Prasoon Goyal a ¿Cómo debo comenzar a aprender las matemáticas para el aprendizaje automático y desde dónde?
Hojea estos. No es necesario que los revises con mucho detalle. Puede volver a estudiar las matemáticas cuando sea necesario mientras aprende ML.
Luego, para obtener una descripción general rápida de ML, puede seguir la siguiente hoja de ruta (escribí sobre muchos de estos temas en varias respuestas en Quora; vinculé las más relevantes para una referencia rápida).
Día 1:
- ¿Qué necesitan todos los nuevos emprendedores para comenzar a aprender?
- ¿Es Codecademy mejor para aprender y practicar?
- ¿Qué se debe memorizar cada día?
- ¿Cuál es la mejor manera de aprender SQL y cuánto tiempo lleva?
- ¿Cuál es la mejor manera de mejorar su conocimiento general en un corto período de tiempo?
- Terminología básica:
- Configuraciones más comunes: configuración supervisada, configuración no supervisada, configuración semi-supervisada, aprendizaje de refuerzo.
- Problemas más comunes: Clasificación (binario y multiclase), Regresión, Agrupación en clúster.
- Preprocesamiento de datos: Normalización de datos.
- Conceptos de conjuntos de hipótesis, error empírico, error verdadero, complejidad de conjuntos de hipótesis, regularización, compensación sesgo-varianza, funciones de pérdida, validación cruzada.
Dia 2:
- Conceptos básicos de optimización:
- Terminología y conceptos básicos: optimización convexa, lagrangiano, problemas primarios y duales, gradientes y subgradientes, [math] \ ell_1 [/ math] y [math] \ ell_2 [/ math] funciones objetivas regularizadas.
- Algoritmos: Pendiente de gradiente de lotes y gradiente de gradiente estocástico, Pendiente de gradiente de coordenadas.
- Implementación: escriba el código para el descenso del gradiente estocástico para una función objetivo simple, ajuste el tamaño del paso y obtenga una intuición del algoritmo.
Día 3:
- Clasificación:
- Regresión logística
- Máquinas de vectores de soporte: intuición geométrica, formulaciones primarias-duales, noción de vectores de soporte, truco del kernel, comprensión de los hiperparámetros, búsqueda en cuadrícula.
- Herramienta en línea para SVM: juegue con esta herramienta en línea para SVM (desplácese hacia abajo hasta “Interfaz gráfica”) para obtener una intuición del algoritmo.
Día 4:
- Regresión:
- Regresión de cresta
- Agrupamiento
- k-medias y algoritmo de expectativa-maximización.
- Clúster jerárquico de arriba hacia abajo y de abajo hacia arriba.
Dia 5:
- Métodos bayesianos:
- Terminología básica: antecedentes, posteriores, probabilidad, estimación de máxima verosimilitud e inferencia máxima a posteriori.
- Modelos de mezclas gaussianas
- Asignación de Dirichlet Latente: El modelo generativo y la idea básica de la estimación de parámetros.
Día 6:
- Modelos gráficos:
- Terminología básica: redes bayesianas, redes Markov / campos aleatorios Markov.
- Algoritmos de inferencia: eliminación de variables, propagación de creencias.
- Ejemplos simples: Modelos ocultos de Markov. Modelo de ising
Días 7–8:
- Redes neuronales:
- Terminología básica: Neurona, función de activación, capa oculta.
- Redes neuronales convolucionales: capa convolucional, capa de agrupación, Backpropagation.
- Redes neuronales basadas en la memoria: redes neuronales recurrentes, memoria a corto y largo plazo.
- Tutoriales: estoy familiarizado con este tutorial de Torch (querrá ver el directorio [math] \ texttt {1_supervised} [/ math]). Puede haber otros tutoriales en otros marcos de aprendizaje profundo.
Día 9:
- Temas varios:
- Árboles de decisión
- Sistemas de recomendación
- Procesos de decisión de markov
- Bandidos multiestados
Día 10: (día del presupuesto)
- Puede usar el último día para ponerse al día con cualquier cosa que haya quedado de los días anteriores, u obtener más información sobre el tema que le resulte más interesante / útil para su trabajo futuro.
Una vez que haya pasado por lo anterior, querrá comenzar con algún curso estándar en línea o texto ML. El curso de Andrew Ng en Coursera es un buen punto de partida. Una versión avanzada del curso está disponible en The Open Academy (Aprendizaje de máquinas | The Open Academy). Los libros populares con los que tengo experiencia son los siguientes:
- Reconocimiento de patrones y aprendizaje automático: Christopher Bishop
- Aprendizaje automático: una perspectiva probabilística: Kevin P. Murphy
Si bien el libro de Murphy es más actual y más elaborado, creo que Bishop’s es más accesible para los principiantes. Puedes elegir uno de ellos según tu nivel.
En este punto, debe tener un conocimiento práctico del aprendizaje automático. Más allá de esto, si está interesado en un tema en particular, busque recursos específicos en línea sobre el tema, lea artículos seminales en el subcampo, intente encontrar algunos problemas más simples e impleméntelos.
Es importante implementar algunos algoritmos básicos cuando comience a hacer ML, como el descenso de gradiente, AdaBoost, árboles de decisión, etc. [además de lo que haya implementado en la descripción general de 10 días]. También debería tener algo de experiencia con el preprocesamiento de datos, la normalización, etc. Una vez que haya implementado algunos algoritmos desde cero, para otros algoritmos, debe usar las implementaciones estándar (como LibSVM, Weka, ScikitLearn, etc.) en algunos problemas de juguetes, y Obtener una buena comprensión de los diferentes algoritmos.