¿Vale la pena estudiar la teoría del aprendizaje computacional y por qué?

[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.

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:

  1. 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.
  2. 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:

  1. ¿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.
  2. ¿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.
  3. ¿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í.

Como cualquier teoría, no está de más saberlo. Además del hecho de que a menudo tiene muchas aplicaciones muy agradables de límites probabilísticos, prácticamente algunos beneficios son

  • A menudo puede ofrecer estimaciones de qué tan bien funcionará su algoritmo dada la cantidad de datos que tiene. (p. ej., su algoritmo puede alcanzar un 95% de precisión con 100000 puntos de datos, con una probabilidad de 0.9)
  • La estimación de las tasas puede ayudarlo a comparar algoritmos (por ejemplo, la precisión de este algoritmo aumenta a la tasa O (n) con los datos, mientras que el otro es O (n ^ 2), donde n es el número de puntos de datos)
  • A veces, la teoría ofrece puntos de vista sobre el diseño de nuevos algoritmos. Podría estar completamente equivocado aquí, pero creo que este SVM distribuido relativamente conocido fue motivado por la teoría: http://ttic.uchicago.edu/~tamir/

Dicho esto, hay cosas mucho más esenciales que te ayudarían mucho más (probabilidad, estadísticas, optimización, álgebra lineal). OMI es algo que aprendes por diversión si lo encuentras interesante, si no planeas estudiarlo en la academia.

Editar: FYI, esta respuesta interpreta la teoría del aprendizaje computacional de manera bastante limitada como el aprendizaje PAC y las preguntas teóricas que surgen de ella. Esto es probablemente más estrecho que la persona típica.

Vale la pena estudiar si estás interesado académicamente, pero no es una habilidad muy práctica para la mayoría de los puestos industriales.

Para saber si le interesaría, busque http://en.wikipedia.org/wiki/Pro … y vea si le interesa.

Un área fuertemente relacionada, la teoría del aprendizaje estadístico, es ligeramente más aplicable (tiene muchas subáreas, por lo que no sé si algo es tan representativo como PAC).

Puede consultar algunos tutoriales sobre MEC. Si acaba de comenzar, sugeriría tutoriales sobre MEC (Massively Empowered Classrooms), un proyecto de investigación de Microsoft diseñado para brindar el material de clase de la más alta calidad a cada estudiante de ingeniería de pregrado en India. Entonces puedes registrarte para eso y velar por ello.
Aqui esta el link
MEC

No estoy seguro acerca de la definición precisa de la teoría del aprendizaje computacional aquí. ¿Se trata de cómo la computadora puede ayudar al aprendizaje humano? ¿O se trata del aprendizaje automático?

Si se trata de aprendizaje asistido por computadora, recomiendo que personas con experiencia en informática lo aprendan.

Y además de este, también recomiendo la teoría del aprendizaje general. Un excelente libro de texto es de Marcy Driscoll, .

Al comprender verdaderamente cómo aprende el ser humano, puede diseñar herramientas de software innovadoras que aborden el pensamiento, el aprendizaje y la resolución de problemas.

La intuición y la gestión del conocimiento es lo que impulsa los hitos basados ​​en la investigación, ¿no? Entonces tienes tu respuesta.

More Interesting

¿Cuáles son algunos buenos recursos para aprender sobre la optimización distribuida?

¿Qué es parte del conocimiento central, tanto en un sentido práctico como teórico, que todo informático debería haber escuchado al menos o tener una comprensión básica de él?

¿Cómo estudian / investigan las personas sobre cosas / utilizando métodos que son ilegales?

¿Quiénes son algunas mujeres informáticas que han hecho avances sustanciales?

¿Cuál es la forma más eficiente de transferir datos entre MATLAB y Python?

¿Qué temas de informática debo entender bien?

¿Por qué la gente disfruta de las computadoras y estudiar informática? ¿Qué emoción les da?

¿Cuáles son algunos de los problemas de investigación interesantes en la criptografía umbral?

¿Cuáles son algunos campos crecientes y relativamente desconocidos de la informática (fuera de los campos como IA, criptografía, bioinformática, minería de datos)?

¿La investigación académica de CS es realmente valiosa? No he encontrado casi nada valioso o innovador en ellas (excepto casos muy raros en los que los autores tienen una conexión muy estrecha con la industria).

¿Cuáles son algunos de los resultados de investigación más inútiles en informática?

¿Cómo saben los mejores investigadores cuál de sus ideas funcionará?

¿Cuánto se gasta en investigación de computación cuántica en los Estados Unidos?

¿Qué computadoras portátiles usan los grupos de investigación en visión artificial / AR? MacBooks o Alienwares? ¿Cuáles son las especificaciones?

¿Qué es el modelo computacional y su relación con la arquitectura informática?