답변:
VC 차원은 이진 분류기의 기능에 대한 추정치입니다. 점 세트를 찾을 수 있으면 분류 자에 의해 산산조각이 나올 수 있고 (즉, 가능한 모든 2 n 레이블을 올바르게 분류) 산산조각이 나올 수있는 n + 1 점 세트를 찾을 수없는 경우 (예 : n + 1 포인트는 분류자가 모든 포인트를 올바르게 분리 할 수 없도록 하나 이상의 레이블 지정 순서가있는 경우 VC 치수는 n 입니다.
귀하의 경우, 먼저 x 1 < x 2 와 같이 두 개의 점 과 x 2를 고려하십시오 . 그런 다음 2 2 = 4 가능한 레이블이 있습니다.
모든 labelings는 분류기를 통해 달성 될 수있는 의 매개 변수를 설정함으로써 < B ∈ R 되도록을
각기. (실제로, 는 wlog로 가정 할 수 있지만 산산이 부서 질 수있는 하나의 세트를 찾는 것으로 충분합니다.)
이제 3 개의 임의의 (!) 점 , x 2 , x 3을 고려 하고 wlog는 x 1 < x 2 < x 3 이라고 가정 하면 레이블링 (1,0,1)을 달성 할 수 없습니다. 위의 경우 3에서와 같이 레이블 x 1 : 1 및 x 2 : 0 은 a < x 1 < b < x 2를 의미 합니다. x 3 > b를 의미 하므로 x 3 의 레이블 따라서 분류기는 세 점 세트를 산산조각 낼 수 없으므로 VC 치수는 2입니다.
-
더 유용한 분류기를 사용하면 더 명확해질 수 있습니다. 초평면 (2D의 선)을 고려해 봅시다.
어떻게 분류되는지에 상관없이 올바르게 분류 될 수있는 세 가지 점을 쉽게 찾을 수 있습니다.
지금은 4 개의 점이 4 개의 변을 가진 그림을 형성한다고 가정합니다. 그런 다음 같은 레이블로 반대쪽 모서리에 레이블을 지정하면 점을 올바르게 분리 할 수있는 초평면을 찾을 수 없습니다.
4 개의 변이있는 도형을 형성하지 않으면 두 가지 "경계 케이스"가 있습니다. "외부"지점은 삼각형을 형성하거나 모두 직선을 형성해야합니다. 삼각형의 경우 "내부"지점 (또는 두 모퉁이 사이의 지점)이 다른 라벨과 다른 라벨을 지정할 수 없다는 것을 쉽게 알 수 있습니다.
선분의 경우 동일한 아이디어가 적용됩니다. 끝점에 다른 점 중 하나와 다르게 레이블이 지정되어 있으면 초평면으로 분리 할 수 없습니다.
우리는 2D에서 4 포인트의 모든 가능한 형성을 다루었으므로, 산산이 부서 질 수있는 4 포인트가 없다고 결론 내릴 수 있습니다. 따라서 VC 차원은 3이어야합니다.
분류기의 VC 치수는 다음과 같이 결정됩니다.
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
따라서이 포인트 배치 중 가능한 모든 클래스 분포가 올바른 방식으로 분류 될 수 있도록 세 포인트를 배치하는 방법은 하나만 있어야합니다.
세 점을 한 줄에 배치하지 않으면 인식이 올바르게됩니다. 그러나 포인트를 어떻게 배치하든 상관없이 인식이 4 포인트의 모든 가능한 클래스 분포를 분류 할 수있는 방법은 없습니다
VC- 치수 2 : 4 가지 상황을 모두 정확하게 분류 할 수 있습니다.
VC- 치수 3 : 아니오, 작동하지 않습니다. 클래스가 다음 true
과 false
같이 주문 된다고 상상해보십시오 True False True
. 당신의 분류자는 그것을 처리 할 수 없습니다. 따라서 VC 치수는 2입니다.