Risposte:
La dimensione VC è una stima della capacità di un classificatore binario. Se riesci a trovare un set di punti, in modo che possa essere frantumato dal classificatore (cioè classificare correttamente tutte le possibili etichette) e non puoi trovare alcun set di punti che possono essere frantumati (cioè per qualsiasi set di punti esiste almeno un ordine di etichettatura in modo che il classificatore non possa separare correttamente tutti i punti), quindi la dimensione VC è .
Nel tuo caso, considera innanzitutto due punti e , in modo tale che . Quindi ci sono possibili etichette
Tutte le etichette possono essere ottenute tramite il classificatore impostando i parametri modo tale
rispettivamente. (In realtà, può essere assunto come wlog ma è sufficiente trovare un set che può essere frantumato.)
Ora, considera tre punti arbitrari (!) , , e wlog presuppone , quindi non puoi ottenere l'etichettatura (1,0,1). Come nel caso 3 sopra, le etichette : 1 e : 0 implicano . Il che implica > b e quindi l'etichetta di deve essere 0. Pertanto, il classificatore non può frantumare alcun insieme di tre punti e quindi la dimensione VC è 2.
-
Forse diventa più chiaro con un classificatore più utile. Consideriamo gli iperpiani (cioè le linee in 2D).
È facile trovare un insieme di tre punti che possono essere classificati correttamente indipendentemente da come sono etichettati:
Per tutte le possibili etichette possiamo trovare un iperpiano che le separa perfettamente.
Tuttavia, non è possibile trovare alcun set di 4 punti in modo da poter classificare correttamente tutte le possibili etichette. Invece di una prova formale, provo a presentare un argomento visivo:
Supponiamo per ora che i 4 punti formino una figura con 4 lati. Quindi è impossibile trovare un iperpiano che possa separare correttamente i punti se etichettiamo gli angoli opposti con la stessa etichetta:
Se non formano una figura con 4 lati, ci sono due "casi limite": i punti "esterni" devono formare un triangolo o tutti formare una linea retta. Nel caso del triangolo, è facile vedere che l'etichettatura in cui il punto "interno" (o il punto tra due angoli) è etichettato diverso dagli altri non può essere raggiunta:
Nel caso di un segmento di linea, si applica la stessa idea. Se i punti finali sono etichettati in modo diverso rispetto a uno degli altri punti, non possono essere separati da un iperpiano.
Dato che abbiamo coperto tutte le possibili formazioni di 4 punti in 2D, possiamo concludere che non ci sono 4 punti che possono essere frantumati. Pertanto, la dimensione VC deve essere 3.
La dimensione VC di un classificatore è determinata nel modo seguente:
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
Quindi deve esserci solo un modo per posizionare tre punti in modo tale che tutte le possibili distribuzioni di classe tra questo posizionamento di punti possano essere classificate nel modo corretto.
Se non posizioni i tre punti su una linea, la percezione ha ragione. Ma non c'è modo di far classificare la percezione in tutte le possibili distribuzioni di classe di 4 punti, indipendentemente da come si posizionano i punti
Le tue funzionalità sono in . Ogni classificatore ha almeno la dimensione 1.
Dimensione VC 2: può classificare correttamente tutte e quattro le situazioni.
Dimensione VC 3: No, non funziona. Immagina le lezioni true
ed false
essere ordinato come True False True
. Il tuo classificatore non può farcela. Quindi ha una dimensione VC di 2.
Ovviamente, i punti possono essere distinti solo se hanno valori diversi. Senza perdita di generalità, possiamo supporre che . Quindi il classificatore deve essere in grado di classificare
class ( ) = True, class ( ) = False, class ( ) = True
correttamente per avere la dimensione VC 3. Per essere classificato come True, è richiesto . Perché sia Falso, è richiesto . Come e , deve essere . Quindi la situazione è attualmente: Perché sia classificato come True, è richiesto . Ma gli altri vincoli già richiedevano . Quindi non è possibile classificare correttamente tutte le distribuzioni di classe di 3 punti qualsiasi con questo classificatore. Quindi non ha dimensione VC 3.