¿Cómo es tomar 6.867 (Machine Learning) en el MIT?

Lo tomé este semestre más reciente (otoño de 2015) con Leslie Kaelbling, Guy Bresler y Tamara Broderick.

En general, diría que fue mi clase favorita que tomé en el MIT este semestre. No sabía demasiado sobre los detalles del aprendizaje automático antes de tomar el curso, y al tomar la clase aprendí una cantidad increíble. Definitivamente es muy matemático y teórico en las conferencias, por lo que es realmente importante tener una sólida formación matemática (especialmente en álgebra lineal) para comprender la mayor parte.

Sin embargo, la clase realmente no asume demasiado conocimiento previo del aprendizaje automático, lo cual es bueno. Pero, dado que la mayoría de las personas que toman la clase son estudiantes graduados que ya conocen el material o estudiantes universitarios que tomaron 6.036 (introducción al aprendizaje automático), la clase se mueve bastante rápido. A lo largo del semestre, básicamente deriva los modelos de aprendizaje automático más comunes (regresión de cresta, regresión logística, SVM con núcleos, redes neuronales, modelos gráficos, EM, modelos de mezcla gaussiana) y realmente profundiza en las matemáticas de por qué funcionan. Es bastante informativo e interesante, pero a veces abrumador es fácil confundirse.

La estructura de tareas es interesante, y después del hecho, estoy empezando a apreciarla realmente. La tarea calificada consiste en tres trabajos de estilo académico, en los que implementa un algoritmo específico derivado en clase, investiga cómo varios parámetros afectan los resultados y lo aplica a algún conjunto de datos del mundo real interesante. Por ejemplo, una asignación estaba aplicando regresión de cresta al conjunto de datos Titanic, y otra estaba creando una red neuronal para clasificar números escritos a mano en la clásica base de datos de dígitos escritos a mano MNIST. Además de eso, tiene problemas semanales de tarea que no están calificados, y son problemas teóricos breves para asegurarse de que comprende el material bien desde un punto de vista intuitivo y matemático. El 25% de su calificación son las tres tareas, y dos exámenes representan el 25% de su calificación cada uno, compuesto por problemas al estilo de sus tareas semanales.

El 25% final de su calificación es un proyecto final, en el que tiene una buena cantidad de libertad para implementar y analizar básicamente cualquier cosa utilizando los modelos y técnicas que se enseñan en clase. Por ejemplo, mi proyecto estaba tratando de clasificar las expresiones faciales usando una variedad de técnicas diferentes, incluyendo SVM y redes neuronales basadas en puntos de referencia faciales y una red neuronal convolucional profunda. Aquí está nuestro documento final en caso de que esté interesado, y podría darle una idea de la clase.

En general, aquí están los puntos de alto nivel:

  • La tarea basada en proyectos es agradable si prefiere construir cosas para resolver problemas teóricos.
  • El material de la clase es bastante teórico, para lo cual debes estar preparado si quieres tomar la clase.
  • No consume una gran cantidad de tiempo porque la mayor parte de la tarea es opcional.
  • Un montón de material interesante cubierto rápidamente. Si pones el tiempo, aprenderás mucho.

No recomendaría esta clase si desea obtener experiencia práctica de aprendizaje automático. Lo tomé con Jaakkola Fall 2013. Las conferencias y juegos fueron muy teóricos. Los conjuntos, muchas veces, solo derivaban fórmulas matemáticas y ocasionalmente tenían algunas secciones MATLAB poco interesantes. Las conferencias estuvieron llenas de estudiantes graduados que conocían el material, y tomaron mucho tiempo en clase haciendo preguntas que no eran cruciales para el material y que dependían principalmente de tecnicismos. Además, la clase no tenía suficiente personal y no creo que alguna vez pudiéramos ver nuestros conjuntos p graduados.

Sin embargo, Jaakkola fue un buen profesor y el proyecto fue interesante. Las pruebas tampoco fueron tan malas. No es demasiado difícil obtener una A o B en la clase.

Al igual que Alexandr Wang, también tomé 6.867 en el otoño de 2015, por lo que puede leer su respuesta para los temas que cubrió la clase. Cabe señalar que los temas varían ligeramente de un año a otro. Escuché la clase en el otoño de 2012 y había poco, si alguno, énfasis en las redes neuronales.

Clasificaría esta clase como una de las clases más útiles que he tomado en el MIT, y sospecho que este es el caso para la mayoría de las personas que tomaron la clase independientemente de sus antecedentes. Hay mucho trabajo por hacer para esta clase, lo cual no es sorprendente porque las tareas y el proyecto final requieren programación. No obstante, las tareas y el proyecto final son extremadamente valiosos para poner en práctica la teoría. Recomendaría leer algunas de las notas CS 229 de Andrew Ng para aprender cosas adicionales que no están cubiertas en clase. Las notas CS 231n de Fei-Fei Li y Andrej Karpathy también son excelentes para aprender sobre redes neuronales y redes neuronales convolucionales.

La principal queja que tengo es que, si bien las notas de la conferencia están escritas, no están disponibles públicamente como las notas CS 229 de Andrew Ng. Creo que estas notas, después de un poco de pulido, deberían ser públicas para que otras personas también puedan aprender el aprendizaje automático.