¿Cuál es el procedimiento paso a paso para aprender completamente el aprendizaje automático con la implementación?

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:

  • Terminología básica:
    1. Configuraciones más comunes: configuración supervisada, configuración no supervisada, configuración semi-supervisada, aprendizaje de refuerzo.
    2. Problemas más comunes: Clasificación (binario y multiclase), Regresión, Agrupación en clúster.
    3. 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:
    1. 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.
    2. Algoritmos: Pendiente de gradiente de lotes y gradiente de gradiente estocástico, Pendiente de gradiente de coordenadas.
    3. 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:
    1. Regresión logística
    2. 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.
    3. 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:
    1. Regresión de cresta
  • Agrupamiento
    1. k-medias y algoritmo de expectativa-maximización.
    2. Clúster jerárquico de arriba hacia abajo y de abajo hacia arriba.

Dia 5:

  • Métodos bayesianos:
    1. Terminología básica: antecedentes, posteriores, probabilidad, estimación de máxima verosimilitud e inferencia máxima a posteriori.
    2. Modelos de mezclas gaussianas
    3. 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:
    1. Terminología básica: redes bayesianas, redes Markov / campos aleatorios Markov.
    2. Algoritmos de inferencia: eliminación de variables, propagación de creencias.
    3. Ejemplos simples: Modelos ocultos de Markov. Modelo de ising

Días 7–8:

  • Redes neuronales:
    1. Terminología básica: Neurona, función de activación, capa oculta.
    2. Redes neuronales convolucionales: capa convolucional, capa de agrupación, Backpropagation.
    3. Redes neuronales basadas en la memoria: redes neuronales recurrentes, memoria a corto y largo plazo.
    4. 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:
    1. Árboles de decisión
    2. Sistemas de recomendación
    3. Procesos de decisión de markov
    4. 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.


Para el aprendizaje profundo, aquí hay un tutorial del laboratorio de Yoshua Bengio que se escribió en los primeros días de aprendizaje profundo: Tutoriales de aprendizaje profundo. Esto explica las ideas centrales en el aprendizaje profundo, sin entrar en muchos detalles.

Debido a que el aprendizaje profundo es un campo más empírico que teórico, es importante codificar y experimentar con modelos. Aquí hay un tutorial en TensorFlow que brinda implementaciones de muchas tareas diferentes de aprendizaje profundo: aymericdamien / TensorFlow-Example. Intente ejecutar los algoritmos y juegue con el código para comprender mejor los conceptos subyacentes.

Finalmente, puede consultar el libro Deep Learning, que explica el aprendizaje profundo de una manera mucho más sistemática y detallada. Para los últimos algoritmos que no están en el libro, deberá consultar los documentos originales.

Te guiaré Proceso de 3 Pasos para el Aprendizaje Automático.

Paso 1: Fundamentos de R / Python

Hay múltiples idiomas que proporcionan capacidades de aprendizaje automático. Además, se está realizando un trabajo de desarrollo a un ritmo rápido en varios idiomas. Actualmente, “R” y “Python” son los idiomas más utilizados y hay suficiente soporte / comunidad disponible para ambos. Antes de entrar en world of ML, le recomendaría que elija uno de estos dos idiomas (R o Python) que puede ayudar a concentrarse en el aprendizaje automático (¿Cuál es mejor: R o Python?).

Mantenga su enfoque en la comprensión de los conceptos básicos del lenguaje, las bibliotecas y la estructura de datos.

Mejor Curso Online de Python

Completa el campo de entrenamiento de Python: pasa de cero a héroe en Python

Mejor Curso de Programación R en línea

Introducción a la programación en R Aprende de principiante a nivel experto

Paso 2: Aprender estadísticas descriptivas e inferenciales básicas

Empecemos o refrescemos nuestro aprendizaje estadístico. Es bueno comprender las estadísticas descriptivas e inferenciales antes de comenzar un desarrollo serio de aprendizaje automático. Udemy ofrece cursos de estadística descriptiva y estadística inferencial. Ambos cursos utilizarían Excel para enseñarle todos los conceptos básicos de estadística. Si ya los conoce, puede actualizar o omitir este paso.

Paso 3: Exploración de Datos / Limpieza / Preparación

Automatizando la exploración de datos con R

Lo que diferencia a un buen profesional de aprendizaje automático de un profesional promedio es la calidad de la ingeniería de características y la limpieza de datos que ocurre con los datos originales. Cuanto más tiempo de calidad pases aquí, mejor será. Este paso también toma la mayor parte de su tiempo y, por lo tanto, ayuda a colocar una estructura a su alrededor.

Paso X: Introducción al Aprendizaje Automático

Aprendizaje automático AZ ™: práctica en Python & R en Data Science

Aquí puedes bucear en ML

  • Parte 1 – Preprocesamiento de datos
  • Parte 2 – Regresión: Regresión lineal simple, Regresión lineal múltiple, Regresión polinomial, RVS, Regresión del árbol de decisión, Regresión aleatoria de bosques
  • Parte 3 – Clasificación: Regresión logística, K-NN, SVM, SVM del núcleo, Bayes ingenuos, Clasificación del árbol de decisión, Clasificación de bosques aleatorios
  • Parte 4 – Agrupación en clúster: K-medias, agrupación jerárquica
  • Parte 5 – Aprendizaje de reglas de asociación: Apriori, Eclat
  • Parte 6: Aprendizaje por refuerzo: confianza superior, muestreo de Thompson
  • Parte 7 – Procesamiento de lenguaje natural: modelo de bolsa de palabras y algoritmos para PNL
  • Parte 8 – Aprendizaje profundo: redes neuronales artificiales, redes neuronales convolucionales
  • Parte 9 – Reducción de la dimensionalidad: PCA, LDA, PCA de núcleo
  • Parte 10 – Selección de modelo y realce: validación cruzada en k-fold, ajuste de parámetros, búsqueda de cuadrícula, XGBoost

Además, el curso está lleno de ejercicios prácticos que se basan en ejemplos en vivo. Así que no solo aprenderá la teoría, sino que también obtendrá práctica práctica en la construcción de sus propios modelos.

Todo lo mejor .

Recursos adicionales:-

De principiante a avanzado: aprendizaje automático y redes neuronales.

Ciencia de datos y aprendizaje automático con Python – Hands On!

El aprendizaje automático es un tema vasto. Puedo proporcionarte recursos para aprender el aprendizaje automático paso a paso.

Hay muchos enfoques diferentes. Puede iniciar el aprendizaje automático en lenguaje de programación Python o R. Las personas también usan MATLAB y octava para acostumbrarse a las matemáticas de ML.

Generalmente la gente va con Python. Así que tus conceptos básicos en Python deben ser claros. Luego use la biblioteca scikit-learn para implementar algoritmos ML como Regresión Lineal, SVM, Árbol de Decisión, k-más cercano, etc.

Proporcionaré algunos enlaces que utilizo con frecuencia.

Python básico:

Código en los blogs de Python:

Código en Python

Aplicación de Android: (la sección de tutoriales cubre los conceptos básicos muy bien)

Code in Python – Aplicaciones de Android en Google Play

Cursos de aprendizaje automático (gratuitos y de pago):

Clase cognitiva

Clase cognitiva

Udacity Nanodegree:

http: // https://udacity.com/cour

Curso de Coursera:

https://www.coursera.org/learn/m

¡Espero que esto ayude!

Aquí hay algunas buenas lecturas que pueden ayudarte. Estoy hablando de la aplicación del LD en las finanzas cuantitativas.

Aprende sobre lo básico:

Introducción al Aprendizaje Automático para Finanzas Cuantitativas

Aprendizaje de máquina para Quants y comerciantes – QuantInsti

Inteligencia Artificial y Aprendizaje Automático en el Trading.

Una lista de recursos para aprender ML:

Recursos gratuitos para aprender el aprendizaje automático para el comercio

Cómo implementar:

El aprendizaje automático y su aplicación en los mercados de divisas [MODELO DE TRABAJO]

Aprendizaje automático en Python para el comercio

Aprendizaje automático: predice los precios de las acciones mediante la regresión

Comercio con aprendizaje automático en Python SVM (Máquina de vectores de soporte)

Le sugiero que siga este enlace para que pueda aprender Aprendizaje automático en 90 días paso a paso.

Comience con el curso de coursera Andrew Ng. Una vez que haya competido, tendrá todo lo básico en ML.