¿Son las técnicas de aprendizaje automático "algoritmos de aproximación"?

23

Recientemente hubo una pregunta similar a ML sobre el intercambio de pilas de teoría, y publiqué una respuesta recomendando el método de Powell, el descenso de gradiente, los algoritmos genéticos u otros "algoritmos de aproximación". En un comentario, alguien me dijo que estos métodos eran "heurísticos" y no "algoritmos de aproximación" y con frecuencia no se acercaban al óptimo teórico (porque "a menudo se atascan en los mínimos locales").

¿Están otros de acuerdo con eso? Además, me parece que hay una sensación de qué algoritmos heurísticos se pueden garantizar que se acerquen a los óptimos teóricos si están configurados para explorar una gran parte del espacio de búsqueda (por ejemplo, establecer parámetros / tamaños de paso pequeños), aunque no tengo No he visto eso en un periódico. ¿Alguien sabe si esto se ha demostrado o probado en un documento? (si no es para una gran clase de algoritmos, tal vez para una clase pequeña, digamos NN, etc.)

vzn
fuente
Si pensamos más en esta cuestión, parece que el área de investigación relacionada / relevante se llama métodos / variantes de optimización global además de algoritmos de tipo local, por ejemplo, descenso de gradiente ...
vzn

Respuestas:

29

Creo que estás mezclando múltiples conceptos importantes. Déjame intentar aclarar un par de cosas:

  • Existen métodos metaheurísticos, que son métodos que intentan iterativamente mejorar una solución candidata. Ejemplos de esto son la búsqueda tabú, el recocido simulado, los algoritmos genéticos, etc. Observe que si bien puede haber muchos casos en que estos métodos funcionan bien, no hay una comprensión profunda de cuándo funcionan y cuándo no. Y lo más importante cuando no llegan a la solución, podemos estar arbitrariamente lejos de ella. Los problemas resueltos por métodos metaheurísticos tienden a ser de naturaleza discreta, porque existen herramientas mucho mejores para manejar problemas continuos. Pero de vez en cuando también se ven metaheurísticas para problemas continuos.

  • Existen métodos de optimización numérica, las personas de esta comunidad examinan cuidadosamente la naturaleza de la función que se debe optimizar y las restricciones de la solución (en grupos como la optimización convexa, la programación cuadrática, la programación lineal, etc.) y aplican los algoritmos que se han mostrado. trabajar para ese tipo de función y ese tipo de restricciones. Cuando la gente en esta área dice "demostrado que funciona", significan una prueba. La situación es que este tipo de métodos funcionan en problemas continuos. Pero cuando su problema cae en esta categoría, esta es definitivamente la herramienta a utilizar.

  • Existen métodos de optimización discretos, que tienden a ser cosas que en la naturaleza están conectadas a algoritmos a problemas discretos bien estudiados: como rutas más cortas, flujo máximo, etc. A las personas en esta área también les importa que sus algoritmos realmente funcionen (pruebas). Hay un subconjunto de personas en este grupo que estudian problemas realmente difíciles para los cuales no se espera que exista un algoritmo rápido. Luego estudian algoritmos de aproximación, que son algoritmos rápidos para los cuales pueden demostrar que su solución está dentro de un factor constante del óptimo óptimo. Esto se llama "algoritmos de aproximación". Estas personas también muestran sus resultados como pruebas.

Entonces ... para responder a su pregunta, no creo que las metaheurísticas sean algoritmos de aproximación. No me parece algo relacionado con la opinión, es solo un hecho.

carlosdc
fuente
re "métodos de optimización numérica", "métodos de optimización discreta", parece que muchas técnicas de ML podrían probarse dentro de un factor constante del verdadero óptimo si su "espacio de búsqueda inicial" se ve obligado a ser grande, pero no he visto una referencia en este.
2
Estoy en desacuerdo. * para la optimización numérica, puede obtener el mínimo local (por supuesto, también puede aplicar procedimientos que lo hagan improbable). * Lo mismo ocurre con las redes neuronales (al menos puede suceder durante el entrenamiento del perceptrón). * Los algoritmos genéticos también pueden alcanzar el mínimo local, además, si elige grandes tasas de mutación, ¡no obtendrá una evolución sensata! Yo también sospecho fuertemente que hay conjuntos de datos que siempre harán que ciertos modelos tengan errores arbitrariamente grandes.
jb.
2
@vzn muchas personas eligen modelos para los que se puede encontrar la solución óptima. Esto se debe a que utiliza funciones de pérdida convexa, como lo hacen las SVM. Encontrar el verdadero óptimo aquí significa "encontrar la solución óptima en su espacio de búsqueda", por lo que no tiene nada que ver con la apariencia del espacio de búsqueda. Como dijo jb, para las funciones de pérdida general, encontrar el óptimo óptimo suele ser imposible / inviable.
Andreas Mueller
aceptar esta respuesta como una descripción del estado actual de las cosas y las categorías generales de aplicaciones, pero aún cree que existen algunos thms de puente que existen y quedan por probar que conectan las áreas separadas. la prueba de que los NN pueden modelar o "aproximar" cualquier fn matemática continua a un grado arbitrario de precisión está estrechamente relacionada ... es decir, kolmogorovs thm
vzn
3

El aprendizaje automático a menudo se ocupa de la optimización de una función que tiene muchas minimas locales. Las redes neuronales de avance con unidades ocultas son un buen ejemplo. Si estas funciones son discretas o continuas, no existe un método que logre un mínimo global y se detenga. Es fácil demostrar que no existe un algoritmo general para encontrar un mínimo global de una función continua, incluso si es unidimensional y suave (tiene infinitas derivadas). En la práctica, todos los algoritmos para el aprendizaje de redes neuronales se pegan a un mínimo local. Es fácil verificar esto: cree una red neuronal aleatoria, haga un gran conjunto de sus respuestas a entradas aleatorias, luego intente aprender otra red neuronal con la misma arquitectura para copiar las respuestas. Si bien existe la solución perfecta, ni la retropropagación ni ningún otro algoritmo de aprendizaje podrán descubrirla,

Algunos métodos de aprendizaje, como el recocido simulado o los algoritmos genéticos, exploran muchas minimas locales. Para funciones continuas hay métodos como el descenso de gradiente, que encuentra el mínimo local más cercano. Son mucho más rápidos, por eso son ampliamente utilizados en la práctica. Pero dado el tiempo suficiente, el primer grupo de métodos supera al segundo en términos de error de conjunto de entrenamiento. Pero con limitaciones de tiempo razonables, para problemas del mundo real, este último grupo suele ser mejor.

Para algunos modelos, como la regresión logística, hay un mínimo local, la función es convexa, la minimización converge al mínimo, pero los modelos mismos son simplistas.

Esa es la amarga verdad.

Tenga en cuenta también que la prueba de convergencia y la prueba de convergencia a la mejor solución son dos cosas diferentes. El algoritmo K-means es un ejemplo de esto.

Finalmente, para algunos modelos no sabemos cómo aprender en absoluto. Por ejemplo, si la salida es una función computable arbitraria de entradas, no conocemos buenos algoritmos que, en un tiempo razonable, encuentren una máquina de Turing o equivalente que implemente esta función. Por ejemplo, si f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (diez primeros números primos), no No conozco ningún algoritmo de aprendizaje que pueda predecir, en un tiempo razonable, que f (11) = 31, a menos que ya conozca el concepto de números primos.

usuario31264
fuente