¿Qué cursos debo tomar antes de inscribirme en el Aprendizaje automático de Udacity?

Gracias por la A2A.

Los cursos que necesita tomar varían mucho dependiendo de sus antecedentes. No he hecho Udacity Machine Learning NanoDegree pero puedo decirles lo que sugiere Udacity y ofrecer mis ideas, ya que he tomado muchos de sus cursos.

Desde Udacity:
Antes de ingresar al programa Nanodegree de Machine Learning Engineer, el estudiante debe tener los siguientes conocimientos:

Conocimientos de programación de Python intermedios, del tipo obtenido a través de Introducción a la Nanodegree de Programación, otros cursos o programas de programación de introducción, o experiencia adicional de desarrollo de software en el mundo real. Incluso:

  • Cadenas, números y variables
  • Declaraciones, operadores y expresiones
  • Listas, tuplas y diccionarios.
  • Condiciones, bucles
  • Procedimientos, objetos, módulos y bibliotecas.
  • Solución de problemas y depuración
  • Investigación y documentación. Resolución de problemas.
  • Algoritmos y estructuras de datos.

Si ya sabes en qué se mueven todos esos puntos.

Si eres un principiante con Python, el curso gratuito de Introducción a CS es una introducción sólida a Python con muchos ejercicios de práctica. Me tomó cerca de 3 meses pasar 10 horas a la semana.

NO recomiendo el curso de Python de Udacity, especialmente para principiantes. Descubrí que consistía en muchos proyectos realmente divertidos, pero en realidad no me enseñaron nada. También incluye algunas cosas poderosas como cómo enviar mensajes de texto y correos electrónicos a las personas a través de Python sin muchas advertencias que los codificadores principiantes necesitan. Introducción a CS es una introducción mucho mejor a Python.

Si tiene algo de experiencia con Python pero no está seguro acerca de algunos de los elementos anteriores, probaría las preguntas de práctica de la clase de Introducción a la Programación o la Introducción a CS y repasar las lecciones es necesario. Yo diría que la Introducción a la Programación alcanza un nivel un poco más intermedio de Python.

Continuando desde Udacity:

Conocimiento estadístico intermedio, del tipo obtenido a través de cualquiera de los cursos introductorios de estadística de Udacity. Incluso:

  • Poblaciones, muestras, medio, mediana, modo
  • Variación de error estándar, desviaciones estándar
  • Distribución normalPrecisión y precisión

Cálculo intermedio y dominio de álgebra lineal, abordado en el Curso de actualización de álgebra lineal, que incluye:

  • Derivados
  • Integrales
  • Expansiones de series
  • Operaciones matriciales a través de vectores propios y valores propios.

Recursos externos adicionales recomendados por Udacity:

Redes neuronales:

Welch Labs

Álgebra lineal:

Academia Khan – Algebra Lineal

MIT – Algebra Lineal

Cálculo:

MIT – Cálculo Variable

Academia Khan – Cálculo Diferencial

Academia Khan – Cálculo Integral

Academia Khan – Cálculo Multivariable

Khan Academy – Ecuaciones diferenciales

Honestamente, si tiene alguna experiencia en Python (un año o un curso sólido) y ha tomado un curso de estadística estándar y una clase de álgebra lineal en algún momento de su vida, solo revisaría un poco el álgebra lineal y lo haría. Incluso si no ha tomado un curso formal de álgebra lineal, el curso de “actualización” cubre todo lo que necesita y más. Alternativamente, pruebe la clase gratuita de Aprendizaje automático después de la cual debería poder pasar el Nano Grado con brisa. Supongo que desea hacer el Nano Grado para obtener algún tipo de crédito o ayuda o motivación, pero si no, considere simplemente tomar los cursos gratuitos y seguir mis otras sugerencias a continuación.

Otros consejos para estudiar Aprendizaje Automático:

  • Mantenga un cuaderno donde puede escribir nuevos conceptos. Dicen que escribir notas en vez de escribirlas te ayuda a aprender porque le da a tu cerebro un poco más de tiempo para procesar los nuevos conceptos. Dibuje algunos mapas de cómo estos conceptos se relacionan entre sí. Esto puede que no se aplique a todos, pero me ayuda.
  • Explicar / enseñar nuevos conceptos a otros , como compañeros de trabajo o niños. Hice un simple powerpoint sobre redes neuronales y lo presenté a cualquier persona que pudiera escuchar. La creación de esa conferencia me obligó a aprender realmente los conceptos y las matemáticas para poder tener confianza al explicar y responder preguntas.
  • Lea y responda a las preguntas sobre Quora . Comparte tu nuevo conocimiento. Si escribiste una respuesta para todo lo que aprendiste, lo aprenderás en un nivel mucho más profundo y ayudarás a otros.
  • Comience su propio proyecto de aprendizaje automático (incluso si es un principiante completo) que trabaja para resolver algún problema de clasificación o predicción que le preocupa ya sea por trabajo o deporte o por una causa social, es decir, el discurso del odio o la trata de personas. Hay muchos clasificadores básicos en Github, es decir, Keras, que puede copiar y modificar hasta el final utilizando sus propios conjuntos de datos o conjuntos de datos gratuitos. WildML también tiene un montón de código libre y un bonito glosario
  • Busque a otros que están aprendiendo por su cuenta . Este tipo ha acumulado la lista más completa de recursos para el aprendizaje automático que he visto y es bastante inspirador. Dedique algo de tiempo todos los días. Si alguna vez te sientes frustrado, agradece que tengas Internet donde puedas buscar / pedir lo que quieras sin tener que estar inscrito en ninguna escuela de lujo.
  • Leer documentos de aprendizaje automático. Aquí hay una lista de algunos de los documentos destacados de la conferencia de Sistemas de procesamiento de información neuronal (NIPS) 2016.
  • Escribir un documento de investigación de aprendizaje automático . Escribe un papel como los que ves en NIPS. Si estuviera en un programa de MS o doctorado, se le solicitaría que lo hiciera, por lo que también debería hacerlo.

    En cuanto a las clases para tomar después de eso, nuevamente depende en gran medida de lo que quieras hacer. El curso de Aprendizaje Profundo de Udacity es un buen comienzo. También recomiendo revisar las muchas clases en línea de Stanford, como 224D Deep Learning for Natural Language Processing (plan de estudios, clases en YouTube) y continuar investigando por su cuenta y para organizaciones sin fines de lucro (Code Alliance puede ayudarlo a encontrar una) si aún no lo hace. Tener un trabajo donde pueda iniciar proyectos de aprendizaje automático.

Gracias por la A2A.

Responderé a esta pregunta con un poco más de profundidad, ya que creo que lo que el autor de la pregunta realmente quiere es más sobre cuáles son los fundamentos de ML.

No he tomado ningún curso en línea, además de algunos en Coursera. Como entrevistador frecuente para los puestos relacionados con el LD y la CS, presto mucha atención a lo que ofrecen esos cursos, ya que muchos candidatos provienen de este tipo de antecedentes. Yo mismo vengo de los antecedentes universitarios en CS y ML relacionados con el conocimiento y la experiencia. Así que creo que tengo un buen conocimiento de cómo se compara la universidad vs MOOC.

En mi opinión, MOOC no ha demostrado ser valioso desde la perspectiva de un entrevistador. El motivo es que estos cursos ofrecen una transferencia rápida de conocimientos, pero no ofrece una gran amplitud y profundidad de las áreas circundantes que son importantes cuando se realiza un trabajo real o se investiga en el campo de estudio. Aquellos que se desempeñan bien en las entrevistas o hacen un gran trabajo que ha realizado estos MOOCs tienden a tener un título universitario sólido y / o experiencia laboral en un campo cuantitativo . Creo que el trabajo en red y la enseñanza en persona representan un gran beneficio para los títulos universitarios y los cursos. Sé que esta es una opinión fuerte que puede frustrar a muchos, pero en lugar de permanecer en silencio, me gustaría lanzar esto por ahí.

Dicho esto, creo que lo importante es estudiar los fundamentos, que incluyen Cálculo, Estadística, Álgebra Lineal y Algoritmos. Vengo de una escuela de CS que enfatiza MUCHO en las matemáticas (Waterloo), por lo que no me fue difícil ingresar a ML.

Cursos que vale la pena tomar antes del aprendizaje mediante máquina de Udacity:

  • Aprendizaje automático – Coursera es realmente agradable y muy popular.
  • Udemy ofrece algunos cursos de Aprendizaje Automático, con precio fijo y tiempo ilimitado. Aunque no son tan buenos, pueden ser buenos para comenzar en alguna parte.
  • YouTube también tiene muchos videos en Machine Learning.

Cursos que vale la pena tomar después del aprendizaje por máquina de Udacity:

  • Aprender de los datos (Aprendizaje automático introductorio) es una obra maestra.
  • Kaggle tiene muchos desafíos y cursos de aprendizaje automático de forma continua.