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:
- ¿El aprendizaje en línea ha minado el valor de una educación formal?
- ¿Cómo aprender sobre automóviles? ¿A qué libro o sitio debo referirme?
- Si Coursera o edX diseñan sus propios títulos universitarios, ¿cómo pueden obtener la acreditación?
- ¿Es correcto hacer cursos en línea?
- ¿Son útiles los cursos de seguridad?
- 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.