Gleichung eines mehrschichtigen Perceptron-Netzwerks
Ich schreibe einen Artikel über die Geschäftsführung von Weinunternehmen, in denen ich ein mehrschichtiges Perceptron-Netzwerk verwende.
Mein Lehrer bat mich dann, eine Gleichung zu schreiben, mit der ich die Leistung des Netzwerks berechnen kann. Meine Antwort war, dass es aufgrund der Natur von mehrschichtigen Perzeptron-Netzwerken keine einzige Gleichung an sich gibt. Was ich habe, ist eine Tabelle mit Gewichten und Vorurteilen. Ich kann dann diese Formel verwenden:
$$f(x) = (\sum^{m}_{i=1} w_i * x_i) + b$$
Wo:
mist die Anzahl der Neuronen in der vorherigen Schicht,wist ein zufälliges Gewicht,xist der Eingabewert,bist eine zufällige Verzerrung.
Tun Sie dies für jede Schicht / jedes Neuron in den verborgenen Schichten und der Ausgabeebene.
Sie zeigte mir ein Beispiel einer anderen Arbeit, die sie gemacht hatte (Bild unten) und sagte mir, dass es so etwas sein sollte. Wenn ich mir das Diagramm anschaue, nehme ich an, dass es sich um eine logistische Regression handelt.
Meine Fragen lauten also wie folgt:
- Gibt es eine Gleichung, um die Ausgabe eines mehrschichtigen Perzeptron-Netzwerks vorherzusagen, außer über jedes Neuron mit zu iterieren? $w*x+b$?
- Sollte ich meinem Lehrer nur sagen, dass eine logistische Regression ein anderer Fall ist und dass dies nicht für diese Art von neuronalen Netzen gilt?
- Ist die erste Formel korrekt, um zu zeigen, dass ein Wert eines Neurons das Summenprodukt der vorherigen Schichten plus der Vorspannung ist?
Edit 1 : Ich habe die Formel nicht geschrieben, aber ich habe auch Aktivierungsfunktionen (relu).
Antworten
Sie vergessen ein Element des MLP, nämlich die Aktivierungsfunktion. Wenn Ihre Aktivierungsfunktion linear ist, können Sie einfach alle Neuronen zu einer einzigen linearen Gleichung zusammenfassen. Der Vorteil von MLP ist jedoch seine Nichtlinearität, so dass ich vermute, dass Sie in Ihrem Netzwerk eine gewisse Aktivierung haben (Sigmoid? Tanh? Relu? Etc ..).
Was Ihr Diagramm betrifft, können Sie einfach Vorhersagen von Ihrem MLP ausgeben und das genaue Streudiagramm zeichnen, das Sie oben haben. Der einzige Unterschied wäre, dass Sie keine einfache Möglichkeit hätten, dieses Netzwerk in algebraischer Notation auszudrücken (wie Sie es auf der vorhandenen x-Achse getan haben).
Um Netzwerke effektiv im Text zu beschreiben, sollten Sie sich die Matrixnotation ansehen, die die Gewichte und Eingaben jeder Schicht beschreibt. Schauen Sie sich vielleicht so etwas an, um loszulegen:https://www.jeremyjordan.me/intro-to-neural-networks/