¿Cuál sería la mejor estrategia para aprender todo lo que pueda sobre el Aprendizaje automático si tengo tres semanas completas para dedicarme a la tarea?

Evita el agotamiento, no te estreses. Darte un horario apretado solo reducirá tu interés y motivación en el aprendizaje automático (ML) y la rapidez con ML te ayudará a olvidar las cosas de todos modos. Y después de un tiempo ya no será divertido.

Mi consejo es que te lo tomes con calma. Necesita obtener una visión general de ML dentro de esas 3 semanas, es muy posible. Así que intente revisar los requisitos previos primero, tales como:

  1. Optimización numérica : métodos de optimización convexos y no convexos. Concéntrese especialmente en los optimizadores de primer orden, como el gradiente estocástico y sus variantes.
  2. Cálculo : cálculo diferencial para calcular los derivados y la regla de la cadena y muchos más elementos de cálculo. Las ecuaciones diferenciales parciales no aparecen mucho en el NM. En su mayoría se encontrará con derivadas parciales básicas en ML.
  3. Estadísticas y probabilidad : dado que ya tiene conocimientos en este campo, es mejor omitir este. Pero asegúrese de que está de acuerdo con las distribuciones de probabilidad como las distribuciones gaussiana y binomial. Además, tenemos funciones logísticas y softmax que se utilizan en ML. Trate de obtener el motivo detrás de tales funciones en ML.
  4. Programación : desde el punto de vista de la programación de las cosas no está entre sus especialidades. Pero puedes aprender rápidamente en el lenguaje de programación Python. Instale TensorFlow y comience a jugar con los tutoriales de TensorFlow por su cuenta. De esta manera aumentará su interés en el ML mientras aprende al mismo tiempo.

Esas tareas anteriores se pueden hacer en la primera semana. En la segunda semana, debes presentarte a conceptos más importantes pero avanzados en ML como:

  1. Aprendizaje profundo (DL): que se basa en muchas capas de procesamiento apiladas una sobre la otra. La idea es crear entidades jerárquicas capa por capa, por lo que cada capa se alimenta desde una capa inmediatamente debajo de ella y luego envía la salida a la capa inmediatamente superior. Este proceso da como resultado una representación cada vez más abstracta de la señal con las capas de bajo nivel que aprenden representaciones atómicas, mientras que las capas de nivel medio que aprenden las señales (parte) y las capas de alto nivel que aprenden los conceptos completos de los datos de entrenamiento. Los sistemas de DL pueden aprender de principio a fin, es decir, aprenden mejores representaciones de los datos (esto se denomina aprendizaje de representación) junto con el aprendizaje de la función de clasificación solo a partir de ejemplos de capacitación, esto hace que las arquitecturas de DL sean altamente adaptables y, por lo tanto, por eso Actualmente son de última generación.
  2. Máquinas de vectores de soporte (SVM) : un SVM es un clasificador binario que encuentra un límite que divide el espacio en dos lados, el lado A y el lado B, por lo que el límite se selecciona de tal manera que está más alejado de los puntos más cercanos (vectores de soporte) en cualquiera lado. Esto hace que los SVM aprendan a través de la maximización del margen porque se obtiene una mejor generalización con un límite que tiene el margen máximo. Los SVM son potentes clasificadores que pueden extenderse a problemas no linealmente separables a través de los llamados trucos del kernel.
  3. Aprendizaje no supervisado : todo lo que se menciona arriba cae bajo lo que se denomina aprendizaje supervisado. En el aprendizaje no supervisado, usted tiene las redes de confrontación generativa (GAN), métodos de agrupamiento tales como k-means, agrupamiento vecino más cercano, aglomerado y recíproco, codificadores automáticos y codificación dispersa. El aprendizaje no supervisado es muy importante ya que la mayoría de los datos que existen hoy en día no están marcados.
  4. Redes neuronales recurrentes (RNN) : estos modelos se utilizan para señales temporales, es decir, señales que varían con el tiempo, como el habla. Concéntrese más en algoritmos como la red de memoria a largo plazo (LSTM) y la variante más eficiente, las redes de unidades recurrentes cerradas (GRU). También asegúrese de entender el RNN ordinario o vainilla.
  5. Backprop : Comprende el principio básico subyacente de backprop, que es la regla de la cadena. Y también juegue con una simple red de múltiples capas y verifique si puede derivar el algoritmo de backprop para esa red. Es muy útil de esa manera para que entienda la manera en que la propagación hacia atrás ayuda a los algoritmos modernos a aprender.

Esto debería llevarte a la última semana. En la última semana debe centrarse en las áreas de aplicación. La forma en que se aplica ML en una variedad de formas es muy relajante y motivadora. Así que trate de leer acerca de las aplicaciones de ML en áreas como.

  1. Visión por computadora : enfoque en las redes neuronales convolucionales (convNet) en clasificación / reconocimiento de imágenes y detección de objetos.
  2. Reconocimiento de voz : por ejemplo, cómo las redes LSTM y GRU están cambiando el reconocimiento de voz.
  3. Procesamiento en lenguaje natural (NLP) : tenemos NN recurrentes como LSTM y una variante de convNets para NLP.

Así que asegúrese de leer acerca de estas aplicaciones, pero asegúrese de no entrar demasiado en detalles. Este debería ser el cierre [math] 3 ^ {rd} [/ math] de la semana. Cerrar con una conclusión interesante, como leer en las áreas de aplicación, mantendrá el fuego encendido por más tiempo para que cada vez que tenga tiempo libre en el trabajo pueda continuar leyendo sobre ML.

Al menos también tendrá sus propias ideas después de leer en muchas áreas de aplicaciones interesantes. El secreto aquí es evitar el agotamiento y mantener la motivación encendida, así que no tenga prisa tómese su tiempo.

EDITAR : Según lo sugerido por el usuario de Quora, daré algunos materiales para cada requisito previo:

Optimización numérica :

  • http://www.bioinfo.org.cn/~wangc…
  • Aprendizaje de funciones sin supervisión y tutorial de aprendizaje profundo para el descenso de gradiente estocástico.
  • Álgebra lineal numérica: Lloyd N. Trefethen, David Bau III: 9780898713619: Amazon.com: Libros también.
  • Para la comprobación de la optimización convexa Optimización convexa – Boyd y Vandenberghe
  • Mire esto para obtener una explicación intuitiva sobre el descenso de gradiente estocástico (SGD): Gradiente de gradiente estocástico – Stanford University | Coursera

Calculo

  • Introducción al cálculo y análisis, vol. 1 (Clásicos en Matemáticas): Richard Courant, Fritz John: 9783540650584: Amazon.com: Libros
  • http://www.math.nagoya-u.ac.jp/~…
  • http://www.ms.uky.edu/~lee/amspc…
  • http://www.math.odu.edu/~jhh/Vol…

Estadística y Probabilidad :

  • Introducción a la probabilidad, 2ª edición
  • https://cran.r-project.org/web/p…
  • Amazon.com: Introducción al aprendizaje estadístico: con aplicaciones en R (Springer Texts in Statistics) (9781461471370): Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani: Libros

Programación :

  • Obtenga Python aquí: Bienvenido a Python.org
  • Obtenga TensorFlow aquí: TensorFlow
  • Algunos tutorial de Python: Tutorial de Python
  • Juegue con modelos simples directamente en su navegador: Tensorflow – Neural Network Playground

Espero que esto ayude.

Recomiendo comenzar viendo la serie de conferencias de aprendizaje automático de la escuela de verano, que está disponible de forma gratuita en youtube. La serie incluye un conjunto de 1 a 3 videos por tema, y ​​el contenido se presenta con un público graduado (no necesariamente en CS o ML) en mente. Debido a su historial de estadísticas, es posible que desee omitir los preliminares, pero el rigor aumenta rápidamente en la mayoría de las conferencias. He incluido un enlace a la serie completa de 2013, y puede encontrar los años más recientes en el mismo canal.

Aprendizaje automático Escuela de Verano 2013 Tübingen – YouTube

También vale la pena señalar que estas conferencias se inclinan bastante hacia el aprendizaje automático probabilístico e incluyen muy poco sobre el aprendizaje profundo. Si te interesan esos temas, te recomendaría la gran serie de conferencias sobre aprendizaje profundo de Hugo Larochelle.

Clase de redes neuronales – Université de Sherbrooke – YouTube

Después de ver algunos o todos esos videos, le recomiendo que implemente un algoritmo de aprendizaje automático simple desde cero. Nada te obliga a conocer los matices de un método como armarlo tú mismo.

Más allá de eso, familiarícese con los paquetes y bibliotecas de aprendizaje automático de uso común. El scikit-learn de Python, varios paquetes de R y Keras (si estás interesado en el aprendizaje profundo) deberían darte un buen sabor sin requerir demasiado tiempo.

¡Que te diviertas! Estás entrando en un mundo salvaje!

Debes estudiar la inferencia estadística y el análisis, y el aprendizaje. Todos estos pertenecen a áreas de estadística matemática y estadística aplicada. Le recomiendo que estudie la teoría y cualquier ejemplo o aplicación que haga que el tema sea más concreto. Cuanto más estudie la abstracción, mejor podrá transferir entre algoritmos de aprendizaje específicos, cómo representar los datos o la relación de aprendizaje con otras tareas. Puede considerar la tarea de aplicar el método de aprendizaje y la solución a un equipo o sistema de software más grande. Y puede considerar el hecho de que el algoritmo de aprendizaje puede brindar soluciones en una aplicación, pero debería aplicarse a su memoria. Esto incluye cómo ha experimentado y estudiado el aprendizaje automático, y cualquier computadora que almacene la información y la conecte en red.

No obstante, el trabajo de una persona que aprende a máquina y el tema siempre requiere algo de experiencia. Y mientras más concreta se sienta esta experiencia, mejor será vivir con el aprendizaje automático y hacerlo parte de su vida y sus pensamientos cotidianos. Desea un sentido sano de aprendizaje automático, tal vez no solo con la solicitud de empleo y con un equipo. Pero debe obtenerlo como un tema, valioso intrínsecamente como conocimiento, pero con el ojo siempre en una aplicación concreta y resuelta .

Echa un vistazo a los cursos en línea de Udemy – Aprende cualquier cosa, en tu horario. Encuentre el curso sobre Aprendizaje Automático e intente recorrer las 200 horas de video tutoriales que tienen sobre él.

Creo que ese es probablemente el enfoque más estructurado y organizado para aprender ML en tan poco tiempo.