Estou estudando aprendizado de máquina e gostaria de saber como calcular a dimensão VC.
Por exemplo:
, com os parâmetros .
Qual é a dimensão VC dele?
Estou estudando aprendizado de máquina e gostaria de saber como calcular a dimensão VC.
Por exemplo:
, com os parâmetros .
Qual é a dimensão VC dele?
A dimensão VC é uma estimativa da capacidade de um classificador binário. Se você puder encontrar um conjunto de pontos, para que ele possa ser quebrado pelo classificador (ou seja, classifique corretamente todas as 2 n etiquetas possíveis ) e não poderá encontrar nenhum conjunto de n + 1 pontos que possam ser quebrados (ou seja, para qualquer conjunto de n + 1 pontos, há pelo menos uma ordem de rotulagem para que o classificador não possa separar todos os pontos corretamente), então a dimensão VC é n .
No seu caso, primeiro considere dois pontos e x 2 , de modo que x 1 < x 2 . Depois, existem 2 2 = 4 rotulações possíveis
Todas as etiquetas podem ser obtidas através do classificador , definindo os parâmetros a < b ∈ R de modo que
respectivamente. (Na verdade, pode ser assumido WLOG mas é suficiente para encontrar um conjunto que pode ser quebrado.)
Agora, considere três pontos arbitrários (!) , x 2 , x 3 e o wlog assume x 1 < x 2 < x 3 , então você não pode obter o rótulo (1,0,1). Como no caso 3 acima, os rótulos x 1 : 1 ex 2 : 0 implicam a < x 1 < b < x 2 . O que implica x 3 > be, portanto, o rótulo de x 3 deve ser 0. Portanto, o classificador não pode quebrar nenhum conjunto de três pontos e, portanto, a dimensão VC é 2.
-
Talvez fique mais claro com um classificador mais útil. Vamos considerar hiperplanos (isto é, linhas em 2D).
É fácil encontrar um conjunto de três pontos que podem ser classificados corretamente, independentemente de como eles são rotulados:
Para todas as marcações possíveis , podemos encontrar um hiperplano que as separa perfeitamente.
No entanto, não podemos encontrar nenhum conjunto de 4 pontos para que possamos classificar corretamente todas as rotulações possíveis. Em vez de uma prova formal, tento apresentar um argumento visual:
Suponha, por enquanto, que os 4 pontos formem uma figura com 4 lados. É impossível encontrar um hiperplano que possa separar os pontos corretamente se rotularmos os cantos opostos com o mesmo rótulo:
Se eles não formarem uma figura com 4 lados, existem dois "casos de limite": Os pontos "externos" devem formar um triângulo ou todos formar uma linha reta. No caso do triângulo, é fácil ver que a rotulagem onde o ponto "interno" (ou o ponto entre dois cantos) é rotulado diferente dos outros não pode ser alcançada:
No caso de um segmento de linha, a mesma ideia se aplica. Se os pontos finais forem rotulados de maneira diferente de um dos outros pontos, eles não poderão ser separados por um hiperplano.
Como cobrimos todas as formações possíveis de 4 pontos em 2D, podemos concluir que não há 4 pontos que possam ser quebrados. Portanto, a dimensão VC deve ser 3.
A dimensão VC de um classificador é determinada da seguinte maneira:
Portanto, deve haver apenas uma maneira de colocar três pontos, de modo que todas as distribuições de classe possíveis entre essa colocação de pontos possam ser classificadas da maneira correta.
Se você não colocar os três pontos em uma linha, a percepção acertará. Mas não há como obter que a percepção classifique todas as distribuições de classes possíveis de 4 pontos, não importa como você os coloque
Seu exemplo
VC-Dimension 2: pode classificar todas as quatro situações corretamente.
VC-Dimensão 3: Não, isso não funciona. Imagine as aulas
true
efalse
sendo ordenadas comoTrue False True
. Seu classificador não pode lidar com isso. Portanto, ele tem uma dimensão VC de 2.Prova
fonte