[Perceptron] Die ursprüngliche Form des Perceptron-Lernalgorithmus

Das Perzeptron ist ein lineares Klassifizierungsmodell für die Zwei-Klassen-Klassifizierung. Seine Eingabe ist der Merkmalsvektor der Instanz und die Ausgabe ist die Kategorie der Instanz, wobei die Binärwerte +1 und -1 angenommen werden. Das Perzeptron entspricht einer Trennungshyperebene, die Instanzen im Eingaberaum (Merkmalsraum) in positive und negative Kategorien unterteilt, und ist ein Diskriminanzmodell. Perceptron ist die Basis des neuronalen Netzwerks und der Support-Vektor-Maschine

Ziel des Perceptron-Lernens ist es, die Trennungshyperebene zu finden, die die Trainingsdaten linear teilt.

Ideen zum Perzeptron-Lernen:

1. Importieren Sie die Verlustfunktion basierend auf einer Fehlklassifizierung

2. Verwenden Sie die Gradientenabstiegsmethode, um die Verlustfunktion zu minimieren

3. Ersetzen Sie die Parameter, um das Perzeptronmodell zu erhalten.

Klassifizierung von Perzeptron-Lernalgorithmen:

Primitive Form, Dualform.

 Algorithmus: Die ursprüngliche Form des Perzeptron-Lernalgorithmus

Eingabe: Trainingsdatensatz $T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}$, wobei x_i\in\mathcal{X}=\mathbb{R}^n,y_i\in\mathcal{Y}=\{-1,+1\}; \:i=1,2,\cdots,NLernrate $\and\left(0<\and\leqslant1\right)$;

Ausgabe: w,b;Perceptron-Modellf(x)=\mathrm{sign}(w\bullet x+b)

1) Wählen Sie den Anfangswert w_0,b_0;

2) Daten im Trainingssatz auswählen (x_i,y_i);

3) Wenn y_i(w\cdot x_i+b)\leq 0,

\begin{aligned}w&\leftarrow w+\eta y_ix_i\\b&\leftarrow b+\eta y_i\end{aligned}

4) Fahren Sie mit 2) fort, bis im Trainingssatz keine Fehlklassifizierungspunkte mehr vorhanden sind.

Der Algorithmus verwendet einen stochastischen Gradientenabstieg:

Wählen Sie zunächst willkürlich eine Hyperebene aus und verwenden Sie dann die Gradientenabstiegsmethode, um die Verlustfunktion zu minimieren. Der Minimierungsprozess besteht nicht darin, den Gradienten aller falsch klassifizierten Punkte auf einmal zu reduzieren, sondern jedes Mal zufällig einen falsch klassifizierten Punkt auszuwählen, um den Gradienten zu reduzieren.

Unter der Annahme, dass die Menge der falsch klassifizierten Punkte M fest ist, L(w,b)=- \underset{x_i\in M}{\sum } y_i (w\cdot x_i+b )ist der Gradient der Verlustfunktion:

\bigtriangledown_wL(w,b)=-\underset{x_1\in M}{\sum}y_ix_i

\bigtriangledown_bL(w,b)=-\underset{x_1\in M}{\sum}y_i

Für einen bestimmten Punkt (x_i,y_i)ist wder Gradient -y_ix_iin zunehmender Richtung, sodass w\leftarrow w+\eta y_ix_idie Verlustfunktion abnimmt.

Algorithmusverständnis : Wenn ein Instanzpunkt falsch klassifiziert wird, werden die Werte von w und b angepasst, um die Klassifizierungshyperebene auf eine Seite des falsch klassifizierten Punkts zu verschieben und so den Abstand zwischen dem falsch klassifizierten Punkt und der Hyperebene zu verringern, bis die Hyperebene die falsch klassifizierten Punkte kreuzt damit sie richtig klassifiziert werden 

Ich denke du magst

Origin blog.csdn.net/weixin_73404807/article/details/135365074
Empfohlen
Rangfolge