Was macht neuronale Netze zu einem nichtlinearen Klassifikationsmodell?

18

Ich versuche die mathematische Bedeutung von nichtlinearen Klassifikationsmodellen zu verstehen:

Ich habe gerade einen Artikel über neuronale Netze als nichtlineares Klassifikationsmodell gelesen.

Aber mir ist nur klar, dass:

Bildbeschreibung hier eingeben

Die erste Schicht:

h1=x1wx1h1+x2wx1h2

h2=x1wx2h1+x2wx2h2

Die folgende Schicht

y=bwby+h1wh1y+h2wh2y

Kann vereinfacht werden

=b+(x1wx1h1+x2wx1h2)wh1y+(x1wx2h1+x2wx2h2)wh2y

=b+x1(wh1ywx1h1+wx2h1wh2y)+x2(wh1ywx1h1+wx2h2wh2y)

Ein zweischichtiges neuronales Netzwerk ist nur eine einfache lineare Regression

=b+x1W1+x2W2

Dies kann für eine beliebige Anzahl von Schichten gezeigt werden, da die lineare Kombination einer beliebigen Anzahl von Gewichten wieder linear ist.

Was macht ein neuronales Netz wirklich zu einem nichtlinearen Klassifikationsmodell?
Wie wirkt sich die Aktivierungsfunktion auf die Nichtlinearität des Modells aus?
Kannst du mir erklären?

Alvaro Joao
quelle

Antworten:

18

Ich denke du vergisst das Aktivierungsfunktion in Knoten im neuronalen Netzwerk, die nicht linear ist und das gesamte Modell nicht linear machen wird.

In Ihrer Formel ist nicht ganz richtig, wo,

h1w1x1+w2x2

aber

h1=sigmoid(w1x1+w2x2)

wo Sigmoid so funktioniert, ist sigmoid(x)=11+ex

Bildbeschreibung hier eingeben

w1x1+w2x2=4sigmoid(4)=0.99w1x1+w2x2=4000sigmoid(4000)=1sigmoid(4)


H1sigmoid(7.65)

Bildbeschreibung hier eingeben

Haitao Du
quelle
1
Wie wirkt sich die Aktivierungsfunktion auf die Nichtlinearität des Modells aus? Kannst du mir erklären?
Alvaro Joao
3

Sie haben Recht, dass mehrere lineare Ebenen einer einzelnen linearen Ebene entsprechen können. Wie die anderen Antworten bereits sagten, ermöglicht eine nichtlineare Aktivierungsfunktion eine nichtlineare Klassifizierung. Zu sagen, dass ein Klassifikator nichtlinear ist, bedeutet, dass er eine nichtlineare Entscheidungsgrenze hat. Die Entscheidungsgrenze ist eine Fläche, die die Klassen trennt. Der Klassifizierer sagt eine Klasse für alle Punkte auf einer Seite der Entscheidungsgrenze und eine andere Klasse für alle Punkte auf der anderen Seite voraus.

yhwb

y=σ(hw+b)

σ1c

c={0y0.51y>0.5

hW+by

Ich habe vorhin gesagt, dass die Entscheidungsgrenze nichtlinear ist, aber eine Hyperebene ist die eigentliche Definition einer linearen Grenze. Wir haben die Grenze jedoch als Funktion der verborgenen Einheiten direkt vor der Ausgabe betrachtet. Die verborgenen Einheitenaktivierungen sind aufgrund der vorherigen verborgenen Ebenen und ihrer nichtlinearen Aktivierungsfunktionen eine nichtlineare Funktion der ursprünglichen Eingaben. Eine Möglichkeit, über das Netzwerk nachzudenken, besteht darin, die Daten nichtlinear in einen bestimmten Funktionsbereich abzubilden. Die Koordinaten in diesem Raum ergeben sich aus den Aktivierungen der letzten verborgenen Einheiten. Das Netzwerk führt dann eine lineare Klassifizierung in diesem Bereich durch (in diesem Fall logistische Regression). Wir können auch über die Entscheidungsgrenze als Funktion der ursprünglichen Eingaben nachdenken. Diese Funktion ist aufgrund der nichtlinearen Zuordnung von Eingängen zu versteckten Einheitenaktivierungen nichtlinear.

Dieser Blogbeitrag zeigt einige schöne Figuren und Animationen dieses Prozesses.

user20160
quelle
1

Die Nichtlinearität ergibt sich aus der Sigma-Aktivierungsfunktion 1 / (1 + e ^ x), wobei x die lineare Kombination von Prädiktoren und Gewichten ist, auf die Sie in Ihrer Frage verwiesen haben.

Übrigens sind die Grenzen dieser Aktivierung Null und Eins, weil entweder der Nenner so groß wird, dass sich der Bruch Null nähert, oder e ^ x so klein wird, dass sich der Bruch 1/1 nähert.

Ryan Zotti
quelle