La optimización de las opciones de validación cruzada en el aprendizaje automático

Ser capaz de validar una hipótesis de aprendizaje automático permite efectivamente una mayor optimización del algoritmo elegido. El algoritmo proporciona la mayor parte del rendimiento predictivo de sus datos, dada su capacidad para detectar señales de datos y adaptarse a la verdadera forma funcional de la función predictiva sin sobreajuste y generando mucha varianza de las estimaciones. No todas las máquinas algoritmo de aprendizaje es un mejor ajuste para los datos, y ningún algoritmo puede adaptarse a cada problema. Es hasta usted para encontrar el más adecuado para un problema específico.

Video: Guelaguetza 2016, Te esperamos en Oaxaca

Una segunda fuente de rendimiento predictivo es los datos en sí cuando se transforma y se seleccionan para mejorar las capacidades de aprendizaje del algoritmo elegido apropiadamente.

La última fuente de rendimiento se deriva de ajuste fino de la década de los algoritmos hiper-parámetros, los cuales son los parámetros que se decida antes de que ocurra el aprendizaje y que no se aprenden a partir de datos. Su papel es el de definir a priori una hipótesis, mientras que otros parámetros que especifican posteriormente, después de que el algoritmo interactúa con los datos y, mediante el uso de un proceso de optimización, encuentra que ciertos valores de los parámetros funcionan mejor en la obtención de buenas predicciones.

No todos los algoritmos de aprendizaje automático requieren mucha sintonía hiper-parámetro, pero algunos de los más complejos hacen, y aunque este tipo de algoritmos todavía trabajan fuera de la caja, tirando de las palancas adecuadas pueden hacer una gran diferencia en la exactitud de las predicciones. Incluso cuando los hiper-parámetros no se aprenden de los datos, debe tener en cuenta los datos que está trabajando en la hora de decidir hiper-parámetros, y se debe tomar la decisión sobre la base de la validación cruzada y la evaluación cuidadosa de posibilidades.

complejos algoritmos de aprendizaje automático, los más expuestos a la varianza de las estimaciones, presentan muchas opciones expresadas en un gran número de parámetros. Haciendo girar con ellos les hace adaptarse más o menos a los datos que están aprendiendo de. A veces demasiado haciendo girar hiper-parámetro incluso puede hacer que el algoritmo de detección de señales falsas a partir de los datos. Eso hace que los propios hiper-parámetros de una fuente no detectada de varianza si se inicia la manipulación de ellos demasiado basado en algún tipo de referencia fijo, como una prueba de conjunto o un esquema de validación cruzada se repite.

Video: cómo corregir los problemas de naruto storm 3 full burst pc

R y Python ofrecen funcionalidades que rebanan que cortan su matriz de entrada en partes del tren, prueba y validación. En particular, para los procedimientos de pruebas más complejas, tales como la validación cruzada o de arranque, el scikit-learn paquete ofrece un módulo entero, y R tiene un paquete especializado, que ofrece funciones para la división de datos, procesamiento previo, y las pruebas. Este paquete se llama símbolo de intercalación.

Las posibles combinaciones de valores que pueden formar hiper-parámetros hacen decidir dónde buscar optimizaciones duro. Como se ha descrito cuando se habla de descenso de gradiente, un espacio de optimización puede contener combinaciones de valores que realizan mejor o peor. Incluso después de encontrar una buena combinación, no se tiene la seguridad de que es la mejor opción. (Este es el problema de quedarse atascado en mínimos locales al minimizar el error.)

Como una forma práctica de resolver este problema, la mejor manera de verificar hiper-parámetros de un algoritmo aplicado a datos específicos es poner a prueba a todos ellos por la validación cruzada, y escoger la mejor combinación. Este enfoque simple, llamado rejilla de búsqueda, ofrece ventajas indiscutibles, al permitir que usted muestra el rango de valores posibles para la entrada en el algoritmo de forma sistemática y para detectar cuando el mínimo general sucede.

Por otro lado, rejilla-búsqueda también tiene serias desventajas porque es computacionalmente intensivas (se puede realizar fácilmente esta tarea en paralelo en ordenadores multinúcleo modernos) y consume mucho tiempo. Por otra parte, las pruebas sistemáticas e intensas aumentan la posibilidad de error debido a incurrir en algunos buenos, pero falsos resultados de la validación pueden ser causadas por el ruido presente en el conjunto de datos.

Video: Data Analysis in R by Dustin Tran

Algunas alternativas a la rejilla de búsqueda están disponibles. En lugar de probar todo, puede intentar explorar el espacio de posibles valores de hiper-parámetros guiada por técnicas de optimización no lineal computacionalmente pesados ​​y matemáticamente complejos (como el método de Nelder-Mead), utilizando un enfoque bayesiano (donde el número de pruebas se minimiza mediante la adopción de ventaja de los resultados anteriores) o mediante la búsqueda al azar.

Sorprendentemente, búsqueda aleatoria funciona increíblemente bien, es fácil de entender, y no sólo se basa en un golpe de suerte, aunque pueda parecer inicialmente. De hecho, el punto principal de la técnica es que si tienes que elegir al azar pruebas suficientes, que en realidad tiene suficientes posibilidades de detectar los parámetros correctos sin desperdiciar energía en las pruebas ligeramente diferentes combinaciones de combinaciones que realizan de manera similar.

La representación gráfica de abajo explica por qué búsqueda aleatoria funciona bien. Una exploración sistemática, aunque útil, tiende a probar todas las combinaciones, que se convierte en una pérdida de energía si algunos parámetros no influyen en el resultado. Una búsqueda aleatoria en realidad prueba menos combinaciones, pero más en el rango de cada hiper-parámetro, una estrategia que demuestra ganar si, como sucede a menudo, ciertos parámetros son más importantes que otros.

rejilla de búsqueda de búsqueda al azar vs.
Comparando rejilla de búsqueda para búsqueda aleatoria.

Para la búsqueda aleatorio para un buen desempeño, debe hacer de 15 a un máximo de 60 pruebas. Tiene sentido que recurrir a la búsqueda al azar si una rejilla-búsqueda requiere un mayor número de experimentos.

Artículos Relacionados