¿Debo comenzar a aprender Python y el aprendizaje automático al mismo tiempo?

Lo que sugeriría y como se mencionó anteriormente es que comience desde Python y luego Machine Learning

Paso 1: Habilidades básicas de Python

Si tiene la intención de aprovechar Python para realizar el aprendizaje automático, es crucial tener una comprensión básica de Python. Afortunadamente, debido a su gran popularidad como lenguaje de programación de propósito general, así como a su adopción tanto en informática científica como en aprendizaje automático, encontrar tutoriales para principiantes no es muy difícil. Su nivel de experiencia tanto en Python como en la programación en general son cruciales para elegir un punto de partida.

Si no tiene conocimientos de programación , mi sugerencia es comenzar con el siguiente libro en línea gratuito y luego pasar a los siguientes materiales:

  • Python The Hard Way , de Zed A. Shaw
  • Curso para desarrolladores de Google Python (muy recomendable para estudiantes visuales)
  • Una Introducción a Python para la Computación Científica (de UCSB Engineering) , por M. Scott Shell (una gran introducción científica de Python ~ 60 páginas)

Por supuesto, si usted es un programador experimentado de Python , podrá omitir este paso. Incluso si es así, sugiero mantener lo muy legible Documentación de Python a mano.

Paso 2: Habilidades fundamentales de aprendizaje automático

La buena noticia es que no es necesario tener una comprensión a nivel de doctorado de los aspectos teóricos del aprendizaje automático para practicar, de la misma manera que no todos los programadores requieren una educación teórica en ciencias de la computación para ser codificadores efectivos.

El curso Coursera de Andrew Ng a menudo recibe excelentes críticas por su contenido; mi sugerencia, sin embargo, es navegar por las notas del curso compiladas por un ex alumno de la encarnación previa del curso en línea. Omita las notas específicas de Octave (un lenguaje similar a Matlab no relacionado con nuestras actividades de Python). Tenga en cuenta que estas no son notas “oficiales”, pero parecen capturar el contenido relevante del material del curso de Andrew. Por supuesto, si tiene el tiempo y el interés, ahora sería el momento de tomar el curso de aprendizaje automático de Andrew Ng en Coursera .

  • Notas no oficiales del curso de Andrew Ng

Hay todo tipo de video conferencias por ahí si lo prefiere, junto con el curso de Ng mencionado anteriormente. Soy fanático de Tom Mitchell, así que aquí hay un enlace a sus videos de conferencias recientes (junto con Maria-Florina Balcan), que encuentro particularmente accesibles:

  • Conferencias de aprendizaje automático de Tom Mitchell

No necesita todas las notas y videos en este punto . Una estrategia válida implica avanzar a los ejercicios particulares a continuación y hacer referencia a las secciones aplicables de las notas y videos anteriores cuando sea apropiado. Por ejemplo, cuando encuentre un ejercicio que implemente un modelo de regresión a continuación, lea la sección de regresión apropiada de las notas de Ng y / o vea los videos de regresión de Mitchell en ese momento.

Más allá de Python, hay una serie de bibliotecas de código abierto generalmente utilizadas para facilitar el aprendizaje automático práctico. En general, estas son las principales bibliotecas científicas de Python cuando se realizan tareas elementales de aprendizaje automático (claramente hay subjetividad en esto):

  • numpy : principalmente útil para sus objetos de matriz N- dimensionales
  • pandas : biblioteca de análisis de datos de Python, incluidas estructuras como marcos de datos
  • matplotlib : biblioteca de trazado 2D que produce cifras de calidad de publicación
  • scikit-learn : los algoritmos de aprendizaje automático utilizados para el análisis de datos y las tareas de minería de datos

Un buen enfoque para aprender esto es cubrir este material:

  • Scipy Lecture Notes , por Gaël Varoquaux, Emmanuelle Gouillart y Olav Vahtras

Este tutorial de pandas es bueno, y va al grano:

  • 10 minutos para pandas

Y no sería rápido ni fácil, pero si dedica el tiempo y sigue los pasos anteriores, no hay razón para que no pueda reclamar un dominio y una comprensión razonables en varios algoritmos de aprendizaje automático y su implementación en Python usando sus bibliotecas populares, incluidas algunas de las más avanzadas de la investigación actual sobre aprendizaje profundo.

Oye.

Primero debe conocer los conceptos básicos de Python y sus maravillosas bibliotecas antes de jugar con Machine Learning. Learn Python en Learn Python. Python es simple y divertido. Por conceptos básicos de Python me refiero a la sintaxis, todas las estructuras de datos como lista, diccionario, etc., manipulación de cadenas y bucles. Esto no debería llevarle mucho tiempo si se siente cómodo con C o C ++.

Una vez que esté seguro de lo básico, puede explorar las bibliotecas de Python como OpenCV para el procesamiento de inage (usado mucho en ML), numpy, matplotlib, pygame, etc.

Ahora puede pasar al aprendizaje automático. El curso Coursera en ML de Stanford es hermoso. Le sugiero que haga este curso y, simultáneamente, emprenda un proyecto como la detección de objetos mediante el aprendizaje automático. Mientras trabaja en ML, encontrará muchas bibliotecas y funciones de Python que funcionan como cajas negras. Lo que sucede dentro de la caja negra es complicado. Pero siempre es bueno saber qué sucede dentro. Así que échale un vistazo.

Salud !

Depende de lo que quieras hacer con Machine Learning.

  1. Contribuya al aprendizaje automático mejorando los algoritmos. Por eso apoyaría el enfoque de Alex. Sería mejor que primero aprendas Python, luego entiendas Machine Learning y luego comiences a navegar.
  2. Si desea utilizar Machine Learning , no necesita Python. Puede comenzar a comprender Machine Learning y probar Microsoft Azure Machine Learning Studio.

En el segundo enfoque, desearía construir modelos directamente y Azure Machine Learning es una ruta fácil. Tiene un conjunto muy rico de funcionalidades y módulos y le permite crear modelos y publicarlos como servicios web para ser consumidos a través de sus aplicaciones o formularios.

Más tarde, una vez que tenga un control sobre el tema y desee ajustar su modelo, puede incrustar scripts Python y R en el modelo. Puedes aprender Python entonces.

La última vez que revisé Amazon AWS ML, solo tenía soporte para modelos de Regresión y no es gratis. Azure, por otro lado, tiene una suscripción gratuita (una ventaja más para los estudiantes), obtenga una en Visual Studio Dev Essentials gratis durante un año.

Consulte esta infografía a continuación en Azure ML Studio.

http://download.microsoft.com/do

More Interesting

¿Cómo impacta la alta dimensionalidad en la efectividad del modelo?

¿Qué técnicas utilizadas en el procesamiento del lenguaje natural son aplicables a otras áreas del aprendizaje automático?

¿Cuál es la relación de la matriz de curvatura y el aprendizaje profundo?

¿Quién inventó las redes neuronales de convolución?

¿Cuáles son los mejores solucionadores de programas cuadráticos?

¿De qué manera es una 'Máquina de Turing Neural Lie Access' superior a las NTM normales?

¿Qué debo hacer para comprender las matemáticas y los algoritmos detrás de la propagación inversa, CNN y RNN?

¿Podrían probarse los conceptos de la medicina tradicional china mediante el aprendizaje profundo?

¿Cuáles son las mejores fuentes para aprender el aprendizaje automático y el procesamiento del lenguaje natural?

¿Cuáles son las mejores prácticas cuando se utiliza el análisis predictivo para la industria? ¿Hay algunos marcos o pautas?

¿Por qué los CNN son mejores en clasificación que los RNN?

¿Qué es un sistema o algoritmo de recomendación que dice 'Dado que consumiste X {a} veces, Y {b} veces y Z {c} veces, ¿cuál de {X, Y, Z} debería recomendarte que consumas a continuación'?

¿Cuáles son algunas aplicaciones del aprendizaje por refuerzo (o aprendizaje por refuerzo profundo) en finanzas y economía?

¿Las redes neuronales son siempre convexas con respecto a los pesos? Y si no, ¿cómo funciona tan bien el descenso de gradiente?

En su opinión, ¿la sugerencia de lectura recomendada basada en la actividad de navegación de los usuarios de Wikipedia mejorará la genialidad del sitio?