Como médico que programa y participa en la investigación tecnológica, ¿cómo puedo comenzar a aprender sobre aprendizaje automático / aprendizaje profundo?

Entonces, tienes un doctorado en algo y programas, así que siento que puedo golpearte con la ruta desafiante.

  1. Obtenga un alto nivel de comprensión del campo.
  2. Conozca algunas aplicaciones comprobadas de aprendizaje automático. (por ejemplo, optimización, análisis de datos, reconocimiento de patrones, etc.)
  3. Tome una biblioteca de aprendizaje automático y codifique algo. Aún en el ámbito del aprendizaje, esto debería seguir una aplicación probada. Haga predicciones basadas en modelos, intente usar una biblioteca de reconocimiento de imágenes, etc.
  4. Una vez que haya adquirido algunos conocimientos prácticos, comience a leer sobre aplicaciones de ML en su campo (¿supongo que medicina?) Y piense en nuevas aplicaciones.
  5. Sigue a la comunidad.

Lo bueno del aprendizaje automático (en este momento) es que es un área muy activa. Así que puedes seguir a medida que surgen las principales tecnologías, aplicaciones y técnicas. Twitter / Podcasts es una forma increíble de seguir la acción.

Soy fanático de los podcasts porque me da una forma de aprender fuera de sentarme con un libro o mi computadora (que es el 90% de mi vida).

Vi una gran lista de podcasts en Twitter esta semana, Los 7 mejores podcasts de ciencia de datos y aprendizaje automático.

Algunos de ellos no los he evaluado, pero mis favoritos para el material introductorio son Parcialmente derivados (http://www.partiallyderivative.com/) y Talking Machines (http://www.thetalkingmachines.com/)

Para aprender el aprendizaje automático, debes ser mejor que el promedio en matemáticas. Estas son las matemáticas que debe aprender teniendo en cuenta el objetivo final para estar preparado.

  • Álgebra lineal-Álgebra lineal– MIT 18.06 Álgebra lineal por Gilbert Strang
  • Teoría de probabilidad-Probabilidad y estadística – MIT 6.041 Análisis de sistemas probabilísticos y probabilidad aplicada por John Tsitsiklis
  • Cálculo
  • Cálculo de variaciones.
  • Teoría de grafos
  • Métodos de optimización (multiplicadores de Lagrange)
  • Cualquier lenguaje de programación ampliamente utilizado para ML como python, MATLAB o C ++.

PD: recomendaría Python aquí como lenguaje y recomendaría los siguientes enlaces:

  • Aprendizaje automático con texto en scikit-learn (PyCon 2016)
  • Aprendizaje automático en Python con scikit-learn

Una vez cumplidos estos requisitos, puede por fin comenzar a considerar Machine Learning.

¿6 PASOS FÁCILES para utilizar el APRENDIZAJE DE MÁQUINAS?

Este es el lugar donde comienza la diversión. Ahora, se espera que la base comience a echar un vistazo a algunas informaciones. La mayoría de las empresas de aprendizaje automático tienen básicamente el mismo proceso de trabajo:

PASO 1.) Fabrica tus fundamentos de aprendizaje automático estudiando material relacionado con el tema:

a.) Las conferencias de Andrew Ng’s Machine Learning son un gran comienzo:

Colección de conferencias | Aprendizaje automático: YouTube

b.) Certificado de aplicaciones y minería de datos de Stanford:

Certificado de Posgrado en Minería de Datos y Aplicaciones

c.) Escuela de verano de aprendizaje automático:

https://www.youtube.com/playlist

d.) Un enlace a la lista de reproducción completa está aquí (Lecture Collection | Machine Learning)
https://www.youtube.com/view_pla

e.) “Pase la mejor introducción de aprendizaje automático que he visto hasta ahora”.

PASO 2.) Tome un curso en línea

Lo principal que aconsejo a alguien que necesita ingresar al aprendizaje automático es tomar el curso en línea de Andrew Ng.

Creo que el curso de Ng es especialmente preciso y excepcionalmente eficiente, por lo que es un conocimiento extraordinario para alguien que necesita ingresar a ML. Me sorprende cuando las personas me revelan que el curso es “excesivamente fundamental” o “excesivamente superficial”. En el caso de que me revelen que solicito que aclaren el contraste entre la Regresión logística y el SVM, PCA versus la factorización matricial, regularización o descenso de gradiente de Kernel lineal. He hablado con aspirantes que afirmaron años de encuentros de LD que no sabían la respuesta a estas preguntas. En su mayor parte, se aclaran claramente en el curso de Ng. Hay muchos otros cursos en línea que puede tomar después de este, pero ahora está en su mayor parte preparado para pasar a la siguiente etapa.

Vea mi publicación anterior 10 mejores videos, profesores y cursos sobre aprendizaje automático para principiantes y avanzados

PASO 3.) Algunas sugerencias de libros

Mi siguiente paso sugerido es obtener un libro de ML decente (mi lectura más abajo), leer las principales secciones de introducción, y después de eso rebotar a cualquier parte que incorpore un algoritmo, usted está interesado. Cuando haya descubierto ese algo, salte a él, vea cada uno de los puntos de interés y, en particular, impleméntelo. En el paso anterior del curso en línea, a partir de ahora habría actualizado algunos algoritmos en Octave. Sea como fuere, aquí estoy buscando ejecutar un algoritmo sin ninguna preparación en un lenguaje de programación “real”. En cualquier caso, puede comenzar con una simple, por ejemplo, Regresión logística regularizada en L2, o k-means, pero también debe impulsarse a actualizar todos los más intrigantes, por ejemplo, SVM. Puede utilizar una implementación de referencia en una de las muchas bibliotecas existentes para asegurarse de obtener resultados equivalentes.

  • El razonamiento bayesiano y el aprendizaje automático de David Barber
  • El aprendizaje automático de Kevin Murphy: una perspectiva probabilística
  • Los elementos del aprendizaje estadístico de Hastie, Tibshirani y Friedman
  • Reconocimiento de patrones y aprendizaje automático de Bishop
  • Aprendizaje automático de Mitchell

También hay numerosos libros excelentes que llaman la atención sobre un tema específico. Por ejemplo, Sutton and Re-Inforcement Learning es una obra de arte. Además, el libro Deep Learning (accesible en la web) prácticamente se está convirtiendo en un ejemplo antes de ser distribuido. Sea como fuere, necesita un par de esos libros para reunir una comprensión equilibrada y hasta cierto punto del campo.

Vea mi publicación anterior 10 eBooks gratuitos de lectura obligatoria sobre conceptos básicos de aprendizaje automático.

También puede ir específicamente a un trabajo de investigación que presente un algoritmo o enfoque que le interese y salte a él.

PASO 4.) Algoritmos más esenciales

Se confía en usted para conocer los aspectos básicos de un algoritmo esencial.

Vea mi anterior post 15 algoritmos que los ingenieros de aprendizaje automático deben saber.

En cualquier caso, aparte de los algoritmos, también es fundamental saber cómo configurar sus datos (selección de características, transformación y compresión) y cómo evaluar sus modelos. Tal vez, para empezar, podría consultar nuestro Aprendizaje automático en el ejercicio de instrucción scikit-learn en SciPy 2016. Se condensa una gran parte de los rudimentos al presentar la biblioteca scikit-learn, que puede resultar útil para la ejecución y otros exámenes. :

PASO 5.) Juega con algunos conjuntos de datos enormes que son de acceso abierto.

Descubra un conjunto de datos que le parezca especialmente interesante o sobre el que tenga hipótesis y compruebe si tiene razón.

Datos del gobierno de EE. UU. http://www.data.gov/

Ferrocarril Catering y Turismo Corporación http://www.irctc.co.in

PASO 6.) Participa con un equipo de personalización o aprendizaje automático centrado en el producto.

El grupo que busca debe estar cargado de ingenieros a quienes desea instruir y aprender. Esto lo mejorará para convertirse en un buen ingeniero de aprendizaje automático. Del mismo modo, al dividir un grupo de productos, descubrirá rápidamente cómo la ciencia y la hipótesis del aprendizaje automático varían de la capacitación. Específicamente, cómo la conducta del cliente le mostrará algo nuevo cada día.

La idea o intuición detrás del aprendizaje profundo es que, las redes están estructuradas en un formato jerárquico, donde las neuronas de nivel inferior (similar al cerebro) codifican o manejan información sensorial “simplista”: líneas / bordes, curvas, etc. La siguiente capa o jerarquía integra la información de nivel inferior en un poco más completo y objetos complejos, y esto continúa a medida que avanza más arriba en la jerarquía, en la medida en que tiene capas que codifican o procesan información sobre objetos altamente complejos / completos: esferas, cubos, tazas, perros, gatos, etc.

Con el cerebro, y de manera similar, con el aprendizaje profundo; abstracción = complejidad, y viceversa. Donde la abstracción es esencialmente igual a la compresión.

Los algoritmos de entrenamiento simplemente intentan implementar o dirigir procesos para cumplir con estas observaciones. Sin embargo, la utilidad de un algoritmo se determina a través de otras medidas y experimentos. De ahí todos los documentos de% de mejora.

Adquiera experiencia en matemáticas para comprender los algoritmos y sus posibles limitaciones. A partir de ahí, intente construir su intuición y familiarizarse con los algoritmos comunes que se pueden implementar fácilmente con los paquetes R / Python existentes ( https://www.slideshare.net/Colle …). Sumérjase más profundo según sea necesario a través de documentos académicos y libros sobre algoritmos de aprendizaje automático.

Sugeriría que comience con el curso de ML de Andrew Ng en Coursera. No es muy técnico, cubre varias subáreas de aprendizaje automático y tiene tareas de programación relativamente simples que lo ayudarán a desarrollar una comprensión intuitiva del campo.
Luego, puede enfocarse en las referencias más avanzadas en subáreas específicas que encuentre interesantes / útiles para su investigación.

Encuentro los tutoriales del Tutorial de Aprendizaje de Características y Aprendizaje Profundo sin supervisión bien escritos.

Vea la respuesta de Bill Paseman a ¿Cuáles son los algoritmos de aprendizaje profundo más importantes? ¿En qué orden debo aprenderlos?

Google es tu amigo. También lo son las revistas profesionales. Al igual que los cursos sobre EdX y MIT Open Courseware. Simplemente comienza a tirar de los hilos.

La programación genética puede ser de su interés.