Bitte klären Sie mich mit Platt's SMO-Algorithmus (für SVM) auf.

7

Aus A_Roadmap_to_SVM_SMO.pdf , S. 12.

eine beschäftigte Katze
(Quelle: postimg.org )

Angenommen, ich verwende einen linearen Kernel. Wie kann ich sowohl das erste als auch das zweite innere Produkt erhalten?

Meine Vermutung, inneres Produkt von Datenpunkt mit Datenpunkt j bezeichnet Klasse A für das erste innere Produkt der Gleichung und inneres Produkt von Datenpunkt j mit Datenpunkten bezeichnet Klasse B für zweites inneres Produkt?

Vincent Benedict Victor
quelle

Antworten:

3

Du hast das richtig verstanden. Der Punkt ist, dass Gleichung (8) nicht genau eine Gleichung ist, sondern ein Gleichungssystem, eines für jeden Index der Unterstützungsvektoren (diese) für jede .

yich(<w,ϕich>+b)- -1=0
ich0<αich<C.

Der Punkt ist, dass Sie während der Optimierung des dualen Problems nicht berechnen können, da es für die Optimierung keine Rolle spielt. Sie müssen zurückgehen und aus allen anderen Gleichungen berechnen, die Sie haben (ein möglicher Weg ist (8)).bb

Vapnick schlägt vor, nicht nur eine dieser Gleichungen zu verwenden, sondern zwei davon, insbesondere einen Unterstützungsvektor für eine negative Beobachtung und einen für eine positive Beobachtung. Mit anderen Worten zwei Unterstützungsvektoren, die entgegengesetzte Vorzeichen für .yich

Nennen wir EIN der Index eines Unterstützungsvektors und B.der Index eines Unterstützungsvektors der gegenüberliegenden Seite, baiskal wählen Sie aus dem Gleichungssystem bei (8) nur zwei davon aus. Bewerten Sie beide und nehmen Sie den Mittelwert.

Von:

yEIN(<w,ϕEIN>+b)=1
yB.(<w,ϕB.>+b)=1
Wir bekommen:
bEIN=1yEIN- -<w,ϕEIN>
bB.=1yB.- -<w,ϕB.>
Wo bEIN und bB. sind zwei Schätzungen, dann ist der Mittelwert
b=(bEIN+bB.)/.2=- -12(<w,ϕEIN>+<w,ϕB.>)=- -12ich=1nyichαich(<ϕ(xich),ϕ(xEIN)>+<ϕ(xich),ϕ(xB.)>)
Rapaio
quelle