Das ist der Deal:
Technisch gesehen haben Sie echte Sätze geschrieben (beide Modelle können sich bei genügend Parametern jeder 'nicht zu verrückten' Funktion annähern), aber diese Sätze bringen Sie überhaupt nicht weiter!
Warum das? Schauen Sie sich die universelle Approximationstheorie oder einen anderen formalen Beweis genauer an, dass ein neuronales Netzwerk jedes f (x) berechnen kann, wenn es GENUG Neuronen gibt.
Alle diese Beweise, die ich gesehen habe, verwenden nur eine verborgene Schicht.
Werfen Sie einen kurzen Blick hier http://neuralnetworksanddeeplearning.com/chap5.html für einige Intuition. Es gibt Arbeiten, die zeigen, dass die Anzahl der benötigten Neuronen in gewissem Sinne exponentiell wächst, wenn Sie nur eine Schicht verwenden.
Während Sie theoretisch Recht haben, haben Sie in der Praxis nicht unendlich viel Gedächtnis, also möchten Sie nicht wirklich ein Netz von 2 ^ 1000 Neuronen trainieren, oder? Selbst wenn Sie unendlich viel Speicher hätten, würde dieses Netz mit Sicherheit überpassen.
Meiner Meinung nach ist der wichtigste Punkt von ML der praktische Punkt! Lassen Sie uns das etwas näher erläutern. Das wirklich große Problem hierbei ist nicht nur, wie Polynome außerhalb des Trainingssatzes sehr schnell zunehmen / abnehmen. Überhaupt nicht. Als kurzes Beispiel: Das Pixel eines Bildes liegt in einem ganz bestimmten Bereich ([0,255] für jede RGB-Farbe), sodass Sie sicher sein können, dass jedes neue Sample innerhalb Ihres festgelegten Wertebereichs liegt. Nein. Die große Sache ist: Dieser Vergleich ist zunächst nicht sinnvoll (!).
Ich schlage vor, dass Sie ein wenig mit MNIST experimentieren und versuchen, die tatsächlichen Ergebnisse zu sehen, die Sie mit nur einer einzigen Schicht erzielen können.
Praktische Netze verwenden weit mehr als eine versteckte Schicht, manchmal Dutzende (naja, Resnet noch mehr ...) Schichten. Aus einem Grund. Dieser Grund ist nicht bewiesen, und im Allgemeinen ist die Wahl einer Architektur für ein neuronales Netz ein heißes Forschungsgebiet. Mit anderen Worten, obwohl wir noch mehr wissen müssen, sind beide Modelle, die Sie verglichen haben (lineare Regression und NN mit nur einer verborgenen Ebene), für viele Datensätze überhaupt nicht nützlich!
Übrigens, für den Fall, dass Sie in ML einsteigen, gibt es einen anderen nutzlosen Satz, der tatsächlich ein aktuelles "Forschungsgebiet" ist - PAC (wahrscheinlich ungefähr korrekt) / VC-Dimension. Ich werde das als Bonus erweitern:
Wenn die universelle Näherung grundsätzlich besagt, dass wir bei einer unendlichen Anzahl von Neuronen jede Funktion approximieren können (vielen Dank?), Sagt PAC in der Praxis, dass wir bei (praktisch!) Unendlich vielen markierten Beispielen so nah wie möglich kommen können wollen die beste Hypothese innerhalb unseres Modells. Es war absolut witzig, als ich die tatsächliche Anzahl von Beispielen berechnete, die für ein praktisches Netz erforderlich waren, um mit einer gewissen Wahrscheinlichkeit innerhalb einer praktisch gewünschten Fehlerrate zu liegen :) Es war mehr als die Anzahl der Elektronen im Universum. PS, um es zu steigern, setzt auch voraus, dass die Samples IID sind (das ist niemals wahr!).