[Algo de esto se recicla de un viejo correo electrónico que envié a alguien].
¡Mi respuesta a tu pregunta sería un sí empático!
La teoría del aprendizaje es un tema interesante por derecho propio. Pero si piensas prácticamente, es útil perfeccionar nuestras intuiciones sobre cómo aplicar esos algoritmos de aprendizaje correctamente, dando un conjunto de reglas básicas que pueden guiarnos.
- ¿Cómo difieren la optimización bayesiana y el aprendizaje activo?
- ¿Por qué parece haber tan poca investigación en informática reconfigurable?
- ¿Cuál es el punto de la informática teórica en un programa de pregrado?
- ¿Cuáles son algunos buenos proyectos importantes de ML o AI?
- ¿Qué son la minería de datos, la ciencia de datos, la inteligencia / análisis de negocios y la investigación operativa?
Andrew Ng compara el aprendizaje automático como un carpintero que adquiere un conjunto de herramientas. Pero cualquier carpintero puede poseer un conjunto de herramientas, lo que distingue a un buen carpintero de uno mediocre es cómo las aplica, es decir, al elegir cuál usar y cómo. De la misma manera, Learning Theory ofrece a un “aprendiz de máquina” algunas intuiciones crudas sobre cómo funcionaría un algoritmo de ML y ayuda a aplicarlas mejor.
La teoría del aprendizaje puede responder bastantes preguntas (que ayudan sutilmente en la práctica):
1. Considere nociones como sesgo y varianza y el equilibrio entre los dos. Las intuiciones detrás de ellas cuando se habla del ejemplo bastante bien utilizado de ajustar una curva sobre un conjunto de puntos suenan lógico y útil, sin embargo, es útil si se formaliza. Esto ayuda, ya que podemos elegir el modelo con el sesgo y la varianza correctos.
2. La teoría del aprendizaje conduce a métodos de selección de modelos mediante los cuales podemos elegir automáticamente qué modelo sería apropiado para un determinado conjunto de entrenamiento.
Mi ejemplo favorito para este caso es el tipo de métodos MDL / Occam’s Razor.
3. En Machine Learning, los modelos se ajustan al conjunto de entrenamiento. Entonces, lo que esencialmente obtenemos es el error de entrenamiento. Pero lo que realmente nos importa es la capacidad de generalización del modelo o la capacidad de dar buenas predicciones sobre datos no vistos. La teoría del aprendizaje relaciona el error de entrenamiento en el conjunto de entrenamiento y el error de generalización y nos dirá cómo hacerlo bien en el conjunto de entrenamiento podría ayudarnos a obtener una mejor generalización. De nuevo, estos son límites débiles. Pero no del todo inútil en mi humilde opinión.
4. La teoría del aprendizaje en realidad prueba las condiciones en que los algoritmos de aprendizaje realmente funcionarán bien. Demuestra límites en el peor de los casos de rendimiento de los modelos, lo que nos da una idea de cuándo el algoritmo funcionaría correctamente y cuándo no.
Por supuesto, la trampa es que funcionan bajo muchos supuestos, pero incluso entonces creo que brindan una visión muy valiosa.
Ahora,
Aquí está la respuesta de John Langford de una antigua publicación de blog (http://hunch.net/?p=496) suya:
Incluso en el diseño del algoritmo de aprendizaje central, he encontrado que la teoría del aprendizaje es útil, aunque su aplicación es más sutil de lo que muchos creen. Las aplicaciones más sencillas pueden fallar, porque (como sugiere la expectativa) los límites del peor de los casos tienden a estar flojos en la práctica (*). En mi experiencia, considerar la teoría del aprendizaje al diseñar un algoritmo tiene dos efectos importantes en la práctica:
- Puede ayudar a que su algoritmo se comporte correctamente en un nivel de análisis crudo, dejando detalles más precisos para el ajuste o el sentido común. El mejor ejemplo que tengo de esto es el Isomap, donde el algoritmo fue informado por el análisis que produjo mejoras sustanciales en la complejidad de la muestra sobre las ideas algorítmicas anteriores.
- Un algoritmo con teoría de aprendizaje considerado en su diseño puede ser más automático. He ganado más respeto por la afirmación de Rifkin: que la reducción de uno contra todos, cuando se ajusta bien, a menudo puede funcionar tan bien como otros enfoques. Sin embargo, la advertencia de “cuando se sintoniza bien” es sustancial, porque los algoritmos de aprendizaje pueden ser aplicados por no expertos o por otros algoritmos que están restringidos computacionalmente. Una esperanza razonable y valiosa para otros métodos de abordar problemas multiclase es que son más automáticos y computacionalmente más rápidos. El problema sutil aquí es: ¿Cómo se mide “más automático”?
En mi experiencia, la teoría del aprendizaje es más útil en sus formas más crudas. Un buen ejemplo viene en el problema de la arquitectura: ¿cómo se soluciona un problema de aprendizaje? Me refiero a esto en el sentido más amplio imaginable:
- ¿Es un problema de aprendizaje o no? Muchos problemas se resuelven más fácilmente a través de otros medios, como la ingeniería, porque es más fácil, porque hay un problema grave de recopilación de datos o porque hay tantos datos que la memorización funciona bien. La teoría del aprendizaje, como los límites estadísticos y el aprendizaje en línea con expertos, ayuda sustancialmente aquí porque proporciona pautas sobre lo que es posible aprender y lo que no.
- ¿Qué tipo de problema de aprendizaje es? ¿Es un problema donde se requiere exploración o no? ¿Es un problema de aprendizaje estructurado? ¿Un problema de aprendizaje multitarea? ¿Un problema de aprendizaje sensible al costo? ¿Estás interesado en la mediana o la media? ¿El aprendizaje activo es utilizable o no? En línea o no? Responder estas preguntas correctamente puede marcar la diferencia entre una aplicación exitosa y no. Responder estas preguntas es, en parte, verificar las definiciones, y dado que la respuesta a menudo es “todo lo anterior”, es útil determinar qué aspecto del problema abordar primero o después.
- ¿Cuál es el algoritmo de aprendizaje adecuado para usar? Aquí la capacidad relativa de un algoritmo de aprendizaje y su eficiencia computacional son las más importantes. Si tiene pocas características y muchos ejemplos, una buena idea es un algoritmo no lineal con más capacidad de representación. Si tiene muchas características y pocos datos, son importantes las representaciones lineales o incluso los algoritmos de estilo de gradiente exponencial. Si tiene grandes cantidades de datos, los algoritmos más escalables (hasta ahora) usan una representación lineal. Si tiene pocos datos y pocas características, un enfoque bayesiano puede ser su única opción. La teoría del aprendizaje puede ayudar en todo lo anterior cuantificando “muchos”, “poco”, “la mayoría” y “pocos”. ¿Cómo afrontas el problema del sobreajuste? Una cosa de la que me di cuenta recientemente es que el problema del sobreajuste puede ser una preocupación incluso con conjuntos de datos naturales muy grandes, porque algunos ejemplos son naturalmente más importantes que otros.
Otro ejemplo que viene a la mente por las respuestas de John es un trabajo reciente sobre Clustering Theory de Shai Ben-David (con David Pal y Margereta Ackermann), Ulrike von Luxburg y un trabajo anterior de Jon Kleinberg (teorema de imposibilidad). Realmente ayudan a obtener las intuiciones de lo que está sucediendo. Por lo tanto, realmente creo que la teoría del aprendizaje tiene aplicaciones prácticas sutiles si quieres llamarlo así.