Redes neuronales artificiales ¿EQUIVALENTES a la regresión lineal con características polinómicas?

11

Quiero mejorar mi comprensión de las redes neuronales y sus beneficios en comparación con otros algoritmos de aprendizaje automático. Mi comprensión es la siguiente y mi pregunta es:

¿Pueden corregir y complementar mi comprensión por favor? :)

Mi entendimiento:

(1) Redes neuronales artificiales = Una función, que predice valores de salida a partir de valores de entrada. De acuerdo con un teorema de aproximación universal ( https://en.wikipedia.org/wiki/Universal_approximation_theorem ), generalmente puede tener cualquier función de predicción posible (aunque debería comportarse bien), con suficientes neuronas.

(2) Lo mismo es cierto para la regresión lineal, al tomar polinomios de los valores de entrada como valores de entrada adicionales, ya que puede aproximar (comparar la expansión de Taylor) cada función bien por polinomios.

(3) Esto significa que (en cierto sentido, con respecto a los mejores resultados posibles), esos 2 métodos son equivalentes.

(4) Por lo tanto, su principal diferencia radica en qué método se presta para una mejor implementación computacional. En otras palabras, con qué método puede encontrar, basándose en ejemplos de entrenamiento, valores buenos más rápidos para los parámetros que finalmente definen la función de predicción.

Agradezco cualquier pensamiento, comentario y recomendación a otros enlaces o libros para mejorar mi pensamiento.

tyrex
fuente
2
Debería trasladarse a math.stackexchange.com Las redes neuronales con activación aproximan bien cualquier función uniforme pero tienen una característica más: la suavidad (la escala de los pesos) depende del punto, esta es la clave para un buen global aproximación. No puede lograr eso con una aproximación polinómica (dada una función continua, tome su convolución con y use los primeros términos de la expansión de Taylor alrededor de algún punto, que solo da una buena aproximación local )n d e - π | n x | 2tanhndeπ|nx|2
user1952009
@ user1952009 - ¿Stone-Weierstrass no implica una aproximación global arbitrariamente buena, debido a la uniformidad de la aproximación en el teorema?
jbowman
@jbowman Hace una buena aproximación local: para cualquier continua, y existe una función suave, analítica o polinómica (como lo desee) tal que . Lo mismo ocurre con una red neuronal, pero la característica es que puede tomar muchas aproximaciones locales diferentes (alrededor de diferentes ) y mezclarlas para obtener algún tipo de aproximación global. rfrf r , ε supϵfr,ϵsup|x|r|f(x)fr,ϵ(x)|ϵx0
user1952009
1
Esto es potencialmente un duplicado de stats.stackexchange.com/questions/41289/… Marcaría esta pregunta, pero con la recompensa, creo que solo voy a comentar aquí :)
Hugh Perkins
1
+1 @HughPerkins para el enlace a una Q relacionada perspicaz. Pero, a pesar de que las respuestas en la pregunta relacionada proporcionan información sobre la pregunta aquí (por ejemplo, como Stephan Kolassa explica, aNN toma en cuenta la no linealidad como predeterminada, mientras que la regresión solo lo hace cuando se modela específicamente a través de técnicas adicionales) No marcaría por duplicado . Usted preguntó qué tipo de modelo puede dar mejores resultados, mientras que esta pregunta específicamente pide explicar si dos métodos son similares en sus resultados y su generalización.
IWS

Respuestas:

7

Aquí está el trato:

Técnicamente, usted escribió oraciones verdaderas (ambos modelos pueden aproximarse a cualquier función 'no demasiado loca' dados los parámetros suficientes), ¡pero esas oraciones no lo llevan a ninguna parte!

¿Porqué es eso? Bueno, eche un vistazo más de cerca a la teoría de la aproximación universal, o cualquier otra prueba formal de que una red neuronal puede calcular cualquier f (x) si hay suficientes neuronas.

Todos los tipos de pruebas que he visto usan solo una capa oculta.

Eche un vistazo rápido aquí http://neuralnetworksanddeeplearning.com/chap5.html para obtener algo de intuición. Hay trabajos que muestran que, en cierto sentido, la cantidad de neuronas necesarias crece exponencialmente si solo está usando una capa.

Entonces, mientras que en teoría tienes razón, en la práctica, no tienes una cantidad infinita de memoria, por lo que realmente no quieres entrenar una red de 2 ^ 1000 neuronas, ¿verdad? Incluso si tuviera una cantidad infinita de memoria, esa red se sobreajustará con seguridad.

En mi opinión, el punto más importante de ML es el punto práctico. Vamos a ampliar un poco sobre eso. El verdadero gran problema aquí no es solo cómo los polinomios aumentan / disminuyen muy rápidamente fuera del conjunto de entrenamiento. De ningún modo. Como ejemplo rápido, el píxel de cualquier imagen se encuentra dentro de un rango muy específico ([0,255] para cada color RGB), por lo que puede estar seguro de que cualquier muestra nueva estará dentro del rango de valores de su conjunto de entrenamiento. No. El gran problema es: esta comparación no es útil para empezar (!).

Le sugiero que experimente un poco con MNIST e intente ver los resultados reales que puede obtener utilizando una sola capa.

Las redes prácticas usan más de una capa oculta, a veces docenas (bueno, Resnet aún más ...) de capas. Por una razón. Esa razón no está probada y, en general, elegir una arquitectura para una red neuronal es un área de investigación candente. En otras palabras, aunque todavía necesitamos saber más, ¡ambos modelos que ha comparado (regresión lineal y NN con una sola capa oculta), para muchos conjuntos de datos, no son útiles en absoluto!

Por cierto, en caso de que ingrese a ML, hay otro teorema inútil que en realidad es una 'área de investigación' actual: PAC (probablemente aproximadamente correcta) / dimensión VC. Ampliaré eso como un bono:

Si la aproximación universal básicamente establece que dada una cantidad infinita de neuronas podemos aproximar cualquier función (¿muchas gracias?), Lo que dice PAC en términos prácticos es, dada (¡prácticamente!) Una cantidad infinita de ejemplos etiquetados que podemos acercarnos tanto como podamos Queremos la mejor hipótesis dentro de nuestro modelo. Fue absolutamente gracioso cuando calculé la cantidad real de ejemplos necesarios para que una red práctica estuviera dentro de una tasa de error práctica deseada con cierta probabilidad aceptable :) Era más que la cantidad de electrones en el universo. PS para impulsarlo también supone que las muestras son IID (¡eso nunca es cierto!).

Yoni Keren
fuente
Entonces, ¿son las redes neuronales artificiales equivalentes a la regresión lineal con características polinómicas o no? Su respuesta parece centrarse en la cantidad de capas y neuronas requeridas, pero no explica por qué estos dos análisis deberían / ​​podrían ser equivalentes. ¿Agregar más capas (ocultas) hace que una red neuronal sea capaz de manejar (incluso) más funciones que una regresión con polinomios? Y, como OP se ha preguntado en una respuesta, ¿qué hay de la validez externa / rendimiento fuera de la muestra de estos modelos (y las compensaciones entre el uso de opciones de modelo más complejas y el rendimiento)?
IWS
Lo remito a mi primera oración: "Técnicamente, usted escribió oraciones verdaderas".
Yoni Keren
Bueno, pregunté porque el razonamiento de su afirmación de que "el OP escribió oraciones verdaderas" no estaba claro para mí en base a su respuesta. ¿Sería tan amable de explicar esto?
IWS
Sin lugar a duda. ¿Es esto mejor o encuentras algo más que aún no está claro?
Yoni Keren
8

Es cierto que cualquier función se puede aproximar arbitrariamente tanto por algo que cuenta como una red neuronal como por algo que cuenta como un polinomio.

En primer lugar, tenga en cuenta que esto es cierto para muchas construcciones. Puede aproximar cualquier función combinando senos y cosenos (transformadas de Fourier), o simplemente agregando muchos "rectángulos" (no es realmente una definición precisa, pero espero que entienda).

En segundo lugar, al igual que la respuesta de Yoni, cada vez que estás entrenando una red o ajustando una regresión con muchos poderes, el número de neuronas o el número de poderes son fijos. Luego aplica algún algoritmo, tal vez pendiente de gradiente o algo así, y encuentra los mejores parámetros con eso. Los parámetros son los pesos en una red y los coeficientes para un polinomio grande. La potencia máxima que se toma en un polinomio, o la cantidad de neuronas utilizadas, se denominan hiperparámetros. En la práctica, probarás un par de esos. Puede argumentar que un parámetro es un parámetro, claro, pero no es así como se hace en la práctica.

El punto, sin embargo, con el aprendizaje automático, realmente no desea una función que se adapte perfectamente a sus datos. Eso no sería demasiado difícil de lograr en realidad. Desea algo que se ajuste bien, pero que probablemente también funcione para puntos que aún no ha visto. Vea esta imagen, por ejemplo, tomada de la documentación de scikit-learn.

Una línea es demasiado simple, pero la mejor aproximación no está a la derecha, está en el medio, aunque la función de la derecha se ajusta mejor. La función de la derecha haría algunas predicciones bastante extrañas (y probablemente subóptimas) para nuevos puntos de datos, especialmente si caen cerca de los bits ondulantes de la izquierda.

La razón principal para que las redes neuronales con un par de parámetros funcionen tan bien es que pueden ajustarse a algo pero realmente no sobreajustarlo. Esto también tiene mucho que ver con la forma en que están entrenados, con alguna forma de descenso de gradiente estocástico.

Gijs
fuente
2

Como todavía no se han proporcionado respuestas (aunque aceptaría el comentario del usuario1952009 que se publicó como respuesta), permítanme compartir lo que he aprendido mientras tanto:

(1) Me parece que mi comprensión es generalmente correcta, pero el diablo está en los detalles.

(2) Una cosa que se perdió en "mi comprensión": ¿qué tan buena será la hipótesis parametrizada para generalizar a los datos fuera del conjunto de entrenamiento? La naturaleza no polinómica de las predicciones de la red neuronal puede ser mejor allí que la simple regresión lineal / polinómica (recuerde cómo los polinomios aumentan / disminuyen muy rápidamente fuera del conjunto de entrenamiento).

(3) Un enlace que explica aún más la importancia de poder calcular parámetros rápidamente: http://www.heatonresearch.com/2017/06/01/hidden-layers.html

tyrex
fuente
2

Quizás este documento te pueda ayudar:

Regresión polinómica como alternativa a las redes neuronales

El resumen dice:

A pesar del éxito de las redes neuronales (NN), todavía hay una preocupación entre muchos sobre su naturaleza de "caja negra". ¿Por qué trabajan ellos? Aquí presentamos un argumento analítico simple de que los NN son, de hecho, esencialmente modelos de regresión polinomiales. Esta visión tendrá varias implicaciones para las NN, por ejemplo, proporcionar una explicación de por qué surgen problemas de convergencia en las NN, y brinda una guía aproximada para evitar el sobreajuste. Además, usamos este fenómeno para predecir y confirmar una propiedad multicolinealidad de NN no reportada previamente en la literatura. Lo más importante, dada esta correspondencia imprecisa, uno puede optar por usar rutinariamente modelos polinomiales en lugar de NN, evitando así algunos problemas importantes de este último, como tener que establecer muchos parámetros de ajuste y lidiar con problemas de convergencia. Presentamos una serie de resultados empíricos; en cada caso, la precisión del enfoque polinómico coincide o excede la de los enfoques NN. Se encuentra disponible un paquete de software de código abierto con muchas funciones, polyreg.

lucazav
fuente