Antworten:
Die VC-Dimension ist eine Schätzung für die Fähigkeit eines binären Klassifikators. Wenn Sie einen Satz finden Punkte, so dass es durch den Klassifikator zerschmettert werden kann (dh klassifizieren alle möglichen Etikettierungen richtig) , und Sie können nicht finden jede Menge von Punkte , die (dh für jede Menge zerstört werden kann von Punkten gibt es mindestens eine Beschriftungsreihenfolge, so dass der Klassifizierer nicht alle Punkte korrekt trennen kann), dann ist die VC-Dimension .2 n n + 1 n + 1 n
Betrachten Sie in Ihrem Fall zunächst zwei Punkte und , sodass . Dann gibt es mögliche Beschriftungenx 2 x 1 < x 2 2 2 = 4
Alle Beschriftungen können durch den Klassifikator werden, indem die Parameter so eingestellt werden, dassa < b ∈ R.
beziehungsweise. (Eigentlich kann als wlog angenommen werden, aber es reicht aus, einen Satz zu finden, der zerbrochen werden kann.)
Betrachten Sie nun drei beliebige (!) Punkte , , und wlog, nehmen Sie , dann können Sie die Beschriftung (1,0,1) nicht erreichen. Wie in Fall 3 oben implizieren die Bezeichnungen : 1 und : 0 . Was impliziert, dass > b ist und daher die Bezeichnung von 0 sein muss. Daher kann der Klassifizierer keinen Satz von drei Punkten zerstören, und daher ist die VC-Dimension 2.x 2 x 3 x 1 < x 2 < x 3 x 1 x 2 a < x 1 < b < x 2 x 3 x 3
- -
Vielleicht wird es mit einem nützlicheren Klassifikator klarer. Betrachten wir Hyperebenen (dh Linien in 2D).
Es ist leicht, drei Punkte zu finden, die unabhängig von ihrer Bezeichnung korrekt klassifiziert werden können:
Für alle möglichen Beschriftungen finden wir eine Hyperebene, die sie perfekt trennt.
Wir können jedoch keinen Satz von 4 Punkten finden, so dass wir alle möglichen Beschriftungen korrekt klassifizieren können. Anstelle eines formalen Beweises versuche ich ein visuelles Argument zu präsentieren:
Nehmen wir vorerst an, dass die 4 Punkte eine Figur mit 4 Seiten bilden. Dann ist es unmöglich, eine Hyperebene zu finden, die die Punkte korrekt trennen kann, wenn wir die gegenüberliegenden Ecken mit derselben Beschriftung beschriften:
Wenn sie keine Figur mit 4 Seiten bilden, gibt es zwei "Grenzfälle": Die "äußeren" Punkte müssen entweder ein Dreieck bilden oder alle bilden eine gerade Linie. Im Fall des Dreiecks ist leicht zu erkennen, dass die Beschriftung, bei der der "innere" Punkt (oder der Punkt zwischen zwei Ecken) anders als die anderen beschriftet ist, nicht erreicht werden kann:
Bei einem Liniensegment gilt die gleiche Idee. Wenn die Endpunkte anders beschriftet sind als einer der anderen Punkte, können sie nicht durch eine Hyperebene getrennt werden.
Da wir alle möglichen Formationen von 4 Punkten in 2D abgedeckt haben, können wir schließen, dass es keine 4 Punkte gibt, die zerbrochen werden können. Daher muss die VC-Dimension 3 sein.
Die VC-Dimension eines Klassifikators wird folgendermaßen bestimmt:
VC = 1
found = False
while True:
for point_distribution in all possible point distributions of VC+1 points:
allcorrect = True
for classdist in every way the classes could be assigned to the classes:
adjust classifier
if classifier can't classify everything correct:
allcorrect = False
break
if allcorrect:
VC += 1
continue
break
Es muss also nur einen Weg geben, drei Punkte so zu platzieren, dass alle möglichen Klassenverteilungen unter dieser Punktplatzierung richtig klassifiziert werden können.
Wenn Sie die drei Punkte nicht auf einer Linie platzieren, stimmt die Wahrnehmung. Es gibt jedoch keine Möglichkeit, die Wahrnehmung dazu zu bringen, alle möglichen Klassenverteilungen von 4 Punkten zu klassifizieren, unabhängig davon, wie Sie die Punkte platzieren
Ihre Funktionen befinden sich in . Jeder Klassifikator hat mindestens Dimension 1.
VC-Dimension 2: Es kann alle vier Situationen korrekt klassifizieren.
VC-Dimension 3: Nein, das funktioniert nicht. Stellen Sie sich die Klassen vor true
und false
werden wie bestellt True False True
. Ihr Klassifikator kann damit nicht umgehen. Daher hat es eine VC-Dimension von 2.