11 votos

¿En qué consiste el aprendizaje automático en la práctica real?

Soy un recién llegado en el aprendizaje automático (también algo de estadística), el aprendizaje de conocimientos (supervisado / algoritmos de aprendizaje no supervisado, los métodos de optimización pertinentes, regularizaciones, algunas filosofías (como sesgo-varianza trade-off?)) por un tiempo. Sé que sin una práctica real, no conseguiría una comprensión profunda de esas cosas del aprendizaje automático.

Así que empiezo con algún problema de clasificación con datos reales, digamos clasificación de dígitos manuscritos (MNIST). Para mi sorpresa, sin ningún aprendizaje/ingeniería de funciones la precisión alcanza el 0,97 utilizando un clasificador de bosque aleatorio con valores de píxeles brutos como entrada. También he probado otros algoritmos de aprendizaje, como SVM, LR con parámetros que se sintonizan.

Luego me perdí, ¿sería muy fácil o me estoy perdiendo algo aquí? ¿Simplemente coger un algoritmo de aprendizaje del toolkit y ajustar algunos parámetros?

Si eso fuera todo sobre el aprendizaje automático en la práctica, entonces estaría perdiendo mi interés en este campo. Pensé y leí algunos blogs durante unos días, y llegué a algunas conclusiones:

  1. La parte más importante del aprendizaje automático en la práctica es ingeniería de funciones es decir, dados los datos, encontrar la mejor representación de las características.

  2. Qué algoritmo de aprendizaje utilizar también es importante, así como el ajuste de los parámetros, pero la elección final depende más de la experimentación.

No estoy seguro de haberlo entendido bien, espero que alguien pueda corregirme y darme alguna sugerencia sobre el aprendizaje automático en la práctica.

12voto

Shoan Puntos 314

En la práctica, el aprendizaje automático (AM) depende del objetivo que se persiga. En algunas situaciones, puede bastar con un preprocesamiento sólido y la aplicación de un conjunto de métodos de ML listos para usar. Sin embargo, incluso en estas situaciones, es importante entender cómo funcionan los métodos para poder solucionar los problemas cuando las cosas van mal. Sin embargo, el ML en la práctica puede ser mucho más que esto, y MNIST es un buen ejemplo de por qué.

Es engañosamente fácil obtener un "buen" rendimiento en el conjunto de datos MNIST. Por ejemplo, según Página web de Yann Le Cun sobre el rendimiento de MNIST K vecinos más cercanos (K-NN) con la métrica de distancia euclidiana (L2) también tiene una tasa de error del 3%, la misma que su bosque aleatorio listo para usar. L2 K-NN es lo más sencillo que puede ser un algoritmo ML. Por otro lado, LeNet-4, el mejor algoritmo de Yann, Yoshua, Leon y Patrick para este conjunto de datos, tiene una tasa de error del 0,7%. El 0,7% es menos de la cuarta parte del 3%, por lo que si ponemos este sistema en práctica leyendo dígitos manuscritos, el algoritmo ingenuo requiere cuatro veces más esfuerzo humano para corregir sus errores.

La red neuronal convolucional que utilizaron Yann y sus colegas está adaptada a la tarea, pero yo no lo llamaría "ingeniería de características", sino un esfuerzo por comprender los datos y codificar esa comprensión en el algoritmo de aprendizaje.

Cuáles son las lecciones:

  1. Es fácil alcanzar la línea de base de rendimiento naive utilizando un método "out-of-the-box" y un buen preprocesamiento. Debería hacerlo siempre, para saber dónde está la línea de base y si este nivel de rendimiento es suficientemente bueno para sus necesidades. Pero cuidado, a menudo los métodos de ML listos para usar son "frágiles", es decir, sorprendentemente sensibles al preprocesamiento. Una vez que hayas entrenado todos los métodos, casi siempre es una buena idea probar a empaquetarlos.
  2. Los problemas difíciles requieren conocimientos específicos, muchos más datos o ambas cosas. La ingeniería de características consiste en utilizar conocimientos específicos del dominio para ayudar al algoritmo de ML. Sin embargo, si se dispone de suficientes datos, un algoritmo (o enfoque) que pueda aprovechar esos datos para aprender características complejas y un experto que aplique este algoritmo, a veces se puede prescindir de estos conocimientos (por ejemplo. el desafío Merck de Kaggle ). Además, a veces los expertos en la materia se equivocan sobre cuáles son las buenas características, por lo que siempre es útil disponer de más datos y conocimientos de ML.
  3. Considere la tasa de error, no la precisión. Un método ML con una precisión del 99% comete la mitad de errores que uno con una precisión del 98%; a veces esto es importante.

7voto

Donbeo Puntos 760

Creo que los ejemplos que se encuentran en blogs o páginas web son ejemplos en los que se sabe que los métodos comunes funcionan bien (aunque, por supuesto, puedan mejorarse).

Mi especialización es la ingeniería de características y puedo decirte que a menudo los algoritmos estándar no funcionan bien del todo. (No tengo ningún conocimiento del campo pero a menudo trabajo con gente que sí lo tiene).

Aquí hay un verdadero problema donde trabajé durante 6 meses : Dada una matriz X con 100 muestras y 10000 variables que representan el valor genético de los pacientes y una salida y de tamaño 100 x 1 que representa la densidad de los huesos.

¿Puede decirme qué genes influyen en la densidad de los huesos?

Ahora estoy trabajando en otro problema. Tengo un conjunto de datos de producción con 2000 muestras y 12000 variables. A mi jefe le gustaría extraer de este conjunto de datos no más de 30 variables de forma no supervisada.
He probado algunos algoritmos pero no puedo elegir menos de 600 variables porque estas están muy muy correlacionadas entre ellas. (Todavía estoy trabajando en esto...)

Otro aspecto importante a tener en cuenta es la velocidad de los distintos algoritmos. En muchas situaciones no se puede esperar 20 minutos para obtener un resultado. Por ejemplo, hay que saber cuándo utilizar NIPALS y cuándo utilizar SVD para calcular PCA.

Espero que esto pueda darle una idea de los problemas que son comunes en ml.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X