Réseaux de neurones artificiels ÉQUIVALENTS à la régression linéaire avec des caractéristiques polynomiales?

11

Je souhaite améliorer ma compréhension des réseaux de neurones et de leurs avantages par rapport à d'autres algorithmes d'apprentissage automatique. Ma compréhension est comme ci-dessous et ma question est:

Pouvez-vous corriger et compléter ma compréhension s'il vous plaît? :)

Ma compréhension:

(1) Réseaux de neurones artificiels = fonction qui prédit les valeurs de sortie à partir des valeurs d'entrée. Selon un théorème d'approximation universelle ( https://en.wikipedia.org/wiki/Universal_approximation_theorem ), vous pouvez généralement avoir une fonction de prédiction possible (bien qu'elle devrait bien se comporter), avec suffisamment de neurones.

(2) Il en va de même pour la régression linéaire, en prenant les polynômes des valeurs d'entrée comme valeurs d'entrée supplémentaires, car vous pouvez bien approximer (comparer l'expansion de Taylor) chaque fonction bien par les polynômes.

(3) Cela signifie que (dans un sens, en ce qui concerne les meilleurs résultats possibles), ces 2 méthodes sont équivalentes.

(4) Par conséquent, leur principale différence réside dans la méthode qui se prête à une meilleure implémentation informatique. En d'autres termes, avec quelle méthode pouvez-vous trouver, sur la base d'exemples d'apprentissage, de bonnes valeurs plus rapides pour les paramètres qui définissent finalement la fonction de prédiction.

J'accueille toutes les pensées, commentaires et recommandations sur d'autres liens ou livres pour améliorer ma réflexion.

Tyrex
la source
2
tanhndeπ|nx|2
@ user1952009 - Stone-Weierstrass n'implique-t-il pas une approximation globale arbitrairement bonne, en raison de l'uniformité de l'approximation dans le théorème?
jbowman
frϵfr,ϵsup|x|r|f(x)fr,ϵ(x)|ϵx0
1
C'est potentiellement un doublon de stats.stackexchange.com/questions/41289/… Je signalerais cette question, mais avec la prime dessus, je suppose que je vais juste commenter ici à la place :)
Hugh Perkins
1
+1 @HughPerkins pour le lien vers un Q. connexe perspicace. Mais, même si les réponses à la question connexe donnent un aperçu de la question ici (par exemple, comme Stephan Kolassa l'explique, aNN prend en compte la non-linéarité par défaut tandis que la régression ne le fait que lorsqu'ils sont spécifiquement modélisés par des techniques supplémentaires), je ne signalerais pas les doublons . Vous avez demandé quel type de modèle peut donner de meilleurs résultats, tandis que cette question demande spécifiquement d'expliquer si deux méthodes sont similaires dans leurs résultats et leur généralisabilité.
IWS

Réponses:

7

Voici l'affaire:

Techniquement, vous avez écrit de vraies phrases (les deux modèles peuvent approximer n'importe quelle fonction `` pas trop folle '' avec suffisamment de paramètres), mais ces phrases ne vous mènent nulle part!

Pourquoi donc? Eh bien, regardez de plus près la théorie de l'approximation universelle, ou toute autre preuve formelle qu'un réseau de neurones peut calculer n'importe quel f (x) s'il y a ASSEZ de neurones.

Toutes ces preuves que j'ai vues n'utilisent qu'une seule couche cachée.

Jetez un coup d'œil ici http://neuralnetworksanddeeplearning.com/chap5.html pour une certaine intuition. Il existe des travaux montrant que, dans un sens, le nombre de neurones nécessaires croît exponentiellement si vous n'utilisez qu'une seule couche.

Donc, alors qu'en théorie vous avez raison, en pratique, vous n'avez pas une quantité infinie de mémoire, donc vous ne voulez pas vraiment former un réseau de 2 ^ 1000 neurones, n'est-ce pas? Même si vous disposiez d'une quantité infinie de mémoire, ce filet sera certainement sur-équipé.

À mon avis, le point le plus important du ML est le point pratique! Développons un peu cela. Le vrai gros problème ici n'est pas seulement de savoir comment les polynômes augmentent / diminuent très rapidement en dehors de l'ensemble de formation. Pas du tout. À titre d'exemple rapide, le pixel de toute image se situe dans une plage très spécifique ([0,255] pour chaque couleur RVB), vous pouvez donc être assuré que tout nouvel échantillon se trouvera dans la plage de valeurs de votre ensemble d'entraînement. Non. Le gros problème est: cette comparaison n'est pas utile pour commencer (!).

Je vous suggère d'expérimenter un peu avec MNIST et d'essayer de voir les résultats réels que vous pouvez obtenir en utilisant une seule couche.

Les réseaux pratiques utilisent bien plus d'une couche cachée, parfois des dizaines (enfin, Resnet encore plus ...) de couches. Pour une raison. Cette raison n'est pas prouvée et, en général, le choix d'une architecture pour un réseau neuronal est un domaine de recherche brûlant. En d'autres termes, alors qu'il nous faut encore en savoir plus, les deux modèles que vous avez comparés (régression linéaire et NN avec une seule couche cachée), pour de nombreux jeux de données, ne sont d'aucune utilité!

Soit dit en passant, au cas où vous entreriez dans le ML, il existe un autre théorème inutile qui est en fait un «domaine de recherche» actuel - la dimension PAC (probablement approximativement correcte) / VC. Je développerai cela en bonus:

Si l'approximation universelle indique essentiellement que, étant donné une quantité infinie de neurones, nous pouvons approximer n'importe quelle fonction (merci beaucoup?), Ce que PAC dit en termes pratiques est, étant donné (pratiquement!) Une quantité infinie d'exemples étiquetés, nous pouvons nous rapprocher le plus possible de nous. veulent la meilleure hypothèse dans notre modèle. C'était absolument hilarant quand j'ai calculé la quantité réelle d'exemples nécessaires pour qu'un réseau pratique soit dans un taux d'erreur souhaité pratique avec une certaine probabilité ok :) C'était plus que le nombre d'électrons dans l'univers. PS pour booster il suppose également que les échantillons sont IID (ce n'est jamais vrai!).

Yoni Keren
la source
Alors, les réseaux de neurones artificiels sont-ils équivalents à une régression linéaire avec des caractéristiques polynomiales ou non? Votre réponse semble se concentrer sur la quantité de couches et de neurones nécessaires, mais n'explique pas pourquoi ces deux analyses devraient / pourraient être équivalentes. L'ajout de couches (cachées) supplémentaires permet-il à un réseau de neurones de gérer (encore) plus de fonctions qu'une régression avec des polynômes? Et, comme OP s'est demandé dans une réponse lui-même, qu'en est-il de la validité externe / des performances hors échantillon de ces modèles (et des compromis entre l'utilisation d'options et de performances de modèles plus complexes)?
IWS
Je vous renvoie à ma toute première phrase: "Techniquement, vous avez écrit de vraies phrases".
Yoni Keren du
Eh bien, j'ai demandé parce que le raisonnement de votre déclaration selon laquelle "le PO a écrit de vraies phrases" n'était pas clair pour moi sur la base de votre réponse. Seriez-vous si aimable de développer cela?
IWS
Pour sûr. Est-ce mieux ou trouvez-vous autre chose encore peu clair?
Yoni Keren
8

Il est vrai que n'importe quelle fonction peut être approximativement arbitrairement fermée à la fois par quelque chose qui compte comme un réseau neuronal et quelque chose qui compte comme un polynôme.

Tout d'abord, gardez à l'esprit que cela est vrai pour de nombreuses constructions. Vous pouvez approximer n'importe quelle fonction en combinant des sinus et des cosinus (transformées de Fourier), ou simplement en ajoutant beaucoup de "rectangles" (pas vraiment une définition précise, mais j'espère que vous obtenez le point).

Deuxièmement, tout comme la réponse de Yoni, chaque fois que vous formez un réseau ou ajustez une régression avec beaucoup de pouvoirs, le nombre de neurones ou le nombre de pouvoirs sont fixes. Ensuite, vous appliquez un algorithme, peut-être une descente de gradient ou quelque chose, et trouvez les meilleurs paramètres avec cela. Les paramètres sont les poids dans un réseau et les coefficients pour un grand polynôme. La puissance maximale que vous prenez dans un polynôme, ou le nombre de neurones utilisés, sont appelés hyperparamètres. En pratique, vous allez en essayer quelques-unes. Vous pouvez démontrer qu'un paramètre est un paramètre, bien sûr, mais ce n'est pas ainsi que cela se fait dans la pratique.

Cependant, avec l'apprentissage automatique, vous ne voulez pas vraiment une fonction qui s'intègre parfaitement à vos données. Ce ne serait pas trop difficile à réaliser en fait. Vous voulez quelque chose qui va bien, mais qui fonctionne aussi probablement pour des points que vous n'avez pas encore vus. Voir cette image par exemple, extraite de la documentation de scikit-learn.

Une ligne est trop simple, mais la meilleure approximation n'est pas à droite, elle est au milieu, bien que la fonction de droite soit la plus adaptée. La fonction de droite ferait des prédictions assez étranges (et probablement sous-optimales) pour les nouveaux points de données, surtout s'ils tombent près des bits ondulés à gauche.

La raison ultime pour laquelle les réseaux de neurones avec un couple de paramètres fonctionnent si bien, c'est qu'ils peuvent s'adapter à quelque chose mais pas vraiment sur-adapter. Cela a également beaucoup à voir avec la façon dont ils sont formés, avec une certaine forme de descente de gradient stochastique.

Gijs
la source
2

Comme aucune réponse n'a encore été fournie (bien que j'accepterais le commentaire de user1952009 s'il a été publié comme réponse), permettez-moi de partager ce que j'ai appris entre-temps:

(1) Il me semble que ma compréhension est généralement juste, mais le diable est dans les détails.

(2) Une chose qui a manqué dans "ma compréhension": Dans quelle mesure l'hypothèse paramétrée se généralisera-t-elle aux données en dehors de l'ensemble de formation? La nature non polynomiale des prédictions du réseau neuronal peut être meilleure que la simple régression linéaire / polynomiale (rappelez-vous comment les polynômes augmentent / diminuent très rapidement en dehors de l'ensemble d'apprentissage).

(3) Un lien qui explique en outre l'importance de pouvoir calculer rapidement les paramètres: http://www.heatonresearch.com/2017/06/01/hidden-layers.html

Tyrex
la source
2

Peut-être que ce document peut vous aider:

Régression polynomiale comme alternative aux réseaux neuronaux

Le résumé dit:

Malgré le succès des réseaux de neurones (NN), il y a toujours une inquiétude chez beaucoup concernant leur nature de «boîte noire». Pourquoi fonctionnent-ils? Nous présentons ici un argument analytique simple selon lequel les NN sont en fait essentiellement des modèles de régression polynomiale. Cette vue aura diverses implications pour les NN, par exemple en fournissant une explication des raisons pour lesquelles des problèmes de convergence surviennent dans les NN, et elle donne des indications approximatives pour éviter le sur-ajustement. De plus, nous utilisons ce phénomène pour prédire et confirmer une propriété de multicolinéarité des NN non rapportée précédemment dans la littérature. Plus important encore, étant donné cette correspondance lâche, on peut choisir d'utiliser régulièrement des modèles polynomiaux au lieu des NN, évitant ainsi certains problèmes majeurs de ces derniers, tels que devoir définir de nombreux paramètres de réglage et traiter les problèmes de convergence. Nous présentons un certain nombre de résultats empiriques; dans chaque cas, la précision de l'approche polynomiale correspond ou dépasse celle des approches NN. Un progiciel open-source aux nombreuses fonctionnalités, polyreg, est disponible.

lucazav
la source