Warum wird der Bias-Term in SVM anstelle einer zusätzlichen Dimension im Merkmalsvektor separat geschätzt?


11

Die optimale Hyperebene in SVM ist definiert als:

wx+b=0,

wobei den Schwellenwert darstellt. Wenn wir eine Abbildung ϕ haben, die den Eingaberaum auf einen Raum Z abbildet , können wir SVM in dem Raum Z definieren , in dem die optimale Hiperplane ist:bϕZZ

wϕ(x)+b=0.

Wir können jedoch immer Mapping definieren , so dass φ 0 ( x ) = 1 , x , und dann wird der optimale hiperplane definiert werden als wφ ( x ) = 0.ϕϕ0(x)=1x

wϕ(x)=0.

Fragen:

  1. Warum viele Papiere verwenden , wenn sie bereits Mapping φ und Schätzungsparameter w und theshold b separatelly?wϕ(x)+b=0ϕwb

  2. Gibt es ein Problem, SVM als zu definieren ? | w | | 2 s . t . y n wφ ( x n ) 1 , n und schätzt nur Parametervektor w , unter der Annahme , dass wir definieren φ 0 ( x ) = 1 , x ?

    minw||w||2
    s.t. ynwϕ(xn)1,n
    wϕ0(x)=1,x
  3. Wenn die Definition von SVM aus Frage 2 möglich ist, haben wir und der Schwellenwert ist einfach b = w 0 , was wir nicht separat behandeln werden. Wir werden also niemals eine Formel wie b = t n - wϕ (w=nynαnϕ(xn)b=w0zu schätzenbvon einem SupportVektor x n . Richtig?b=tnwϕ(xn)bxn


Antworten:


12

Warum ist Voreingenommenheit wichtig?

Der Bias-Term b ist in der Tat ein spezieller Parameter in SVM. Ohne sie durchläuft der Klassifikator immer den Ursprung. SVM gibt Ihnen also nicht die trennende Hyperebene mit dem maximalen Rand, wenn sie nicht zufällig durch den Ursprung verläuft, es sei denn, Sie haben einen Bias-Term.

Unten finden Sie eine Visualisierung des Bias-Problems. Links (rechts) wird eine SVM angezeigt, die mit (ohne) Bias-Term trainiert wurde. Obwohl beide SVMs mit denselben Daten trainiert werden , sehen sie sehr unterschiedlich aus.

Geben Sie hier die Bildbeschreibung ein

Warum sollte die Verzerrung separat behandelt werden?

Wie Ben DAI betonte, sollte der Bias-Term wegen der Regularisierung separat behandelt werden. SVM maximiert die Randgröße von 1b (oder21||w||2 je nachdem, wie Sie es definieren).2||w||2

Das Maximieren des Spielraums entspricht dem Minimieren von . Dies wird auch als Regularisierungsterm bezeichnet und kann als Maß für die Komplexität des Klassifikators interpretiert werden. Sie möchten den Bias-Term jedoch nicht regulieren, da durch die Bias die Klassifizierungswerte nach oben oder unten verschoben werden||w||2 für alle Datenpunkte um den gleichen Betrag nach verschoben werden . Insbesondere ändert die Vorspannung weder die Form des Klassifikators noch seine Randgröße. Deshalb, ...

Der Bias-Term in SVM sollte NICHT reguliert werden.

In der Praxis ist es jedoch einfacher, die Vorspannung einfach in den Merkmalsvektor zu verschieben, als sie als Sonderfall behandeln zu müssen.

Hinweis: Wenn Sie die Vorspannung auf die Merkmalsfunktion verschieben, ist es am besten, diese Dimension des Merkmalsvektors auf eine große Zahl , z. B. ϕ 0 ( x ) = 10 , um die Nebenwirkungen der Regularisierung der Vorspannung zu minimieren.ϕ0(x)=10


Mit welchem ​​Programm haben Sie aus Neugier die Handlungen erstellt?
d0rmLife

1
@ d0rmLife: Dies ist nur ein Cartoon, den ich mit MS PowerPoint gemacht habe!
Sobi


1

Manchmal lassen die Leute das Abfangen in SVM einfach weg, aber ich denke, der Grund, warum wir das Abfangen vielleicht bestrafen können, um es wegzulassen. dh

x^=(1,x)w^=(w0,wT)T

x w+b=x^ w^
Wie Sie gesagt, kann eine ähnliche Technik verwendet werden , in Kernelversion.

Wenn wir jedoch den Achsenabschnitt in die Gewichte einfügen, unterscheidet sich die Zielfunktion geringfügig von der ursprünglichen. Deshalb nennen wir "bestrafen".


bminw,b||w||2minw,b||w||2+b2

αntn=0αn0

@Petar Eine Sache, die ich wusste, ist, dass es mächtig wird, wenn wir über die duale Form dieses Modells nachdenken. Diese Technik beseitigt die lineare Beschränkung.
Ben Dai

@Petar Ich denke nicht, dass die doppelte Optimierung schwieriger sein wird, da wir eine einfachere Domain haben.
Ben Dai

@Petar Für bestimmte Algorithmen kann es schwieriger sein. Mathematisch denke ich jedoch, dass Box Domain vielleicht besser ist
Ben Dai

0

Zusätzlich zu den oben genannten Gründen die Entfernung eines Punktes x zu einer durch Steigung definierten Hyperebene θ und abfangen b ist

|θT.x+b|||θ||
Auf diese Weise wird das Konzept der Marge in SVM verschoben. Wenn Sie das ändernθ den Intercept-Term einschließen b, die Norm der θ will be affected by the size of the intercept, which will cause the SVM to optimize towards a small intercept, which does not make sense in many cases.


Even thought the distance of a point to a hyperplane is correct and the explanation looks interesting, I do not see correlation between this formula and training SVMs. Can you explain better how this formula is using during training or provide some additional link.
Dejan

@Dejan The idea behind a SVM is to find the hyperplane that maximizes the minimum margin of a dataset. The margin is the "distance" (θTx+b||θ||, without taking absolute value, which indicates the confidence the classifier has towards its hypothesis) of that point to the hyperplane times its label, which is in {1,1}. The product is y(θTx+b)||θ||, which is positive if the classifier output matches the label and negative otherwise. In practice, we simply scale our model so that the minimum margin of the data set is 1||θ||.
charlieh_7

@Dejan you can find more details in Andrew Ng's Notes: cs229.stanford.edu/notes/cs229-notes3.pdf
charlieh_7
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.