Enseño un curso de algoritmos avanzados y me gustaría incluir algunos temas relacionados con el aprendizaje automático que serán de interés para mis alumnos. Como resultado, me gustaría escuchar las opiniones de las personas sobre los resultados algorítmicos más interesantes / mejores actualmente en el aprendizaje automático. La restricción potencialmente complicada es que los estudiantes no tendrán ningún conocimiento previo particular de álgebra lineal u otros temas principales en el aprendizaje automático.
Esto es realmente para entusiasmarlos con el tema y para hacerles saber que ML es un área de investigación potencialmente emocionante para expertos en algoritmos.
EDITAR: Este es un curso de pregrado de último año (ya que no tenemos cursos de posgrado en el Reino Unido en general). Habrán realizado al menos un curso de algoritmos básicos de antemano y probablemente lo hayan hecho bien al haber elegido el curso de seguimiento avanzado. El programa de estudios actual del curso avanzado tiene temas como hashing perfecto, filtros Bloom, árboles de Van Emde Boas, programa lineal, aprox. algoritmos para problemas NP-difíciles, etc. No tengo la intención de gastar más de una conferencia exclusivamente en ML, pero si algo es realmente relevante tanto para un curso de algoritmos como para un ML, por supuesto, también podría incluirse.
Respuestas:
Puedes cubrir el impulso . Es muy inteligente, fácil de implementar, se usa ampliamente en la práctica y no requiere mucho conocimiento previo para entenderlo.
fuente
Si solo quiere abrir su apetito en una sola conferencia, puede ser más emocionante presentar una aplicación poderosa. Por ejemplo, las máquinas de vectores de soporte y otros algoritmos de aprendizaje automático se utilizan en quimioinformática para el descubrimiento de fármacos.
El problema de aprendizaje es esencialmente: dado un comportamiento que queremos que exhiba un químico, diseñe una estructura que exhiba ese comportamiento deduciéndolo de una base de datos de estructuras conocidas que exhiben comportamientos similares (o diferentes). El problema de aprendizaje tiene una arruga adicional: el nuevo medicamento debe estar "distante" en la estructura global de los medicamentos previamente conocidos, para poder fundar un patrimonio de patentes.
Una fuente son los métodos de agrupamiento y sus usos en química computacional .
fuente
K-Means y KNN son muy potentes y no requieren ningún álgebra lineal, excepto el cálculo de distancias de puntos.
fuente
La segunda parte de "Redes neuronales y aprendizaje automático" de Christopher Bishop (en MSR) es sobre algoritmos en ML. Los libros de texto de Bishop se usan comúnmente para libros de texto de posgrado (y luego de pregrado) y están extremadamente bien escritos.
fuente
Este algoritmo utiliza cortes mínimos de gráficos para clasificar una gran cantidad de muestras sin etiquetar utilizando solo una pequeña cantidad de muestras etiquetadas.
Es estudiante de pregrado amigable. Le expliqué esto a unos pocos estudiantes elegidos al azar y lo entendieron.
Ref: Blum, A. y Chawla, S. (2001). Aprendiendo de datos etiquetados y no etiquetados usando mincuts de gráficos.
Auto promoción Visualización del algoritmo en youtube .
fuente
Veo que Expectation Maximization (EM) no se ha mencionado, y ciertamente está "arriba" en el top 10: http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf .
fuente
Los algoritmos de refuerzo de aprendizaje (especialmente Q-Learning y SARSA) son bastante simples de entender y muy potentes para resolver algunos problemas de aprendizaje. No requieren ningún conocimiento avanzado en álgebra lineal, a excepción de la prueba de convergencia y la tasa de convergencia.
Puede usar la conocida encuesta de Littman y otros: http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/kaelbling96a-html/rl-survey.html
fuente
Puede cubrir algunos algoritmos que son clásicos o con buena intuición.
Por ejemplo, C4.5 y CART, que son algoritmos clásicos de árbol de decisión.
También puede cubrir algunos métodos de conjunto (por ejemplo, AdaBoost (Boosting), Bagging), que tienen un muy buen rendimiento en aplicaciones del mundo real.
Además, el aprendizaje profundo también es un buen tema, porque es muy candente.
fuente
Bayes nativas y red bayesiana, los algoritmos de árbol de decisión son bastante fáciles de visualizar que comenzar con una red neutral o svm
fuente
La programación genética es realmente genial. Utiliza la inspiración de la biología y puede aplicarse a una gran cantidad de problemas (por ejemplo, problema de n-reinas y TSP).
No requiere habilidades matemáticas profundas.
EDITAR: solo requiere una forma de estimar qué tan buena es una solución potencial. Se puede usar, por ejemplo, para adivinar la regla detrás de una serie de números, encontrar problemas de mínimos / máximos a múltiples variaciones y buscar espacios de parámetros enormes. Es adecuado cuando no está interesado en la solución óptima, pero cuando lo hará una solución lo suficientemente buena. Creo que esto se ha utilizado para encontrar buenas estrategias para los juegos (órdenes de construcción en Starcraft 2 y juego óptimo en Mario).
fuente