Respuestas:
La dimensión VC es una estimación de la capacidad de un clasificador binario. Si usted puede encontrar un conjunto de puntos, de modo que pueda ser destruida por el clasificador (es decir, clasificar todos los posibles marcajes correctamente) y que no se puede encontrar cualquier conjunto de puntos que podrían romperse (es decir, para cualquier conjunto de puntos hay al menos un orden de etiquetado para que el clasificador no pueda separar todos los puntos correctamente), entonces la dimensión VC es .2 n n + 1 n + 1 n
En su caso, primero considere dos puntos y , de modo que . Luego hay posibles etiquetadosx 2 x 1 < x 2 2 2 = 4
Todos los etiquetados se pueden lograr a través del clasificador configurando los parámetros modo quea < b ∈ R
respectivamente. (En realidad, se puede suponer que wlog, pero es suficiente para encontrar un conjunto que pueda romperse).
Ahora, considere tres puntos arbitrarios (!) , , y wlog asume , entonces no puede lograr el etiquetado (1,0,1). Como en el caso 3 anterior, las etiquetas : 1 y : 0 implican . Lo que implica > by, por lo tanto, la etiqueta de tiene que ser 0. Por lo tanto, el clasificador no puede romper ningún conjunto de tres puntos y, por lo tanto, la dimensión VC es 2.
-
Tal vez se vuelve más claro con un clasificador más útil. Consideremos los hiperplanos (es decir, líneas en 2D).
Es fácil encontrar un conjunto de tres puntos que se puedan clasificar correctamente sin importar cómo estén etiquetados:
Para todos los posibles etiquetados podemos encontrar un hiperplano que los separa perfectamente.
Sin embargo, no podemos encontrar ningún conjunto de 4 puntos para poder clasificar correctamente todos los etiquetados posibles. En lugar de una prueba formal, trato de presentar un argumento visual:
Supongamos por ahora que los 4 puntos forman una figura con 4 lados. Entonces es imposible encontrar un hiperplano que pueda separar los puntos correctamente si etiquetamos las esquinas opuestas con la misma etiqueta:
Si no forman una figura con 4 lados, hay dos "casos límite": los puntos "externos" deben formar un triángulo o todos deben formar una línea recta. En el caso del triángulo, es fácil ver que no se puede lograr el etiquetado donde el punto "interno" (o el punto entre dos esquinas) es diferente de los demás:
En el caso de un segmento de línea, se aplica la misma idea. Si los puntos finales están etiquetados de manera diferente a uno de los otros puntos, no se pueden separar por un hiperplano.
Dado que cubrimos todas las formaciones posibles de 4 puntos en 2D, podemos concluir que no hay 4 puntos que puedan romperse. Por lo tanto, la dimensión VC debe ser 3.
La dimensión VC de un clasificador se determina de la siguiente manera:
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
Por lo tanto, solo tiene que haber una forma de colocar tres puntos de manera que todas las distribuciones de clase posibles entre esta colocación de puntos se puedan clasificar de la manera correcta.
Si no coloca los tres puntos en una línea, la percepción lo hace bien. Pero no hay forma de conseguir que la percepción clasifique todas las distribuciones de clase posibles de 4 puntos, sin importar cómo coloque los puntos
Sus funciones están en . Cada clasificador tiene al menos la dimensión 1.
VC-Dimension 2: puede clasificar las cuatro situaciones correctamente.
VC-Dimension 3: No, eso no funciona. Imagina las clases true
y false
ser ordenado como True False True
. Tu clasificador no puede lidiar con eso. Por lo tanto, tiene una dimensión VC de 2.