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!).