VC 차원 (Vapnik-Chervonenkis dimension)

컴퓨터과학·AI
한 줄 정의: 모델이 어떤 식으로 라벨이 붙어도 완벽히 분류해낼 수 있는 점의 최대 개수입니다.

쉽게 풀면

모델이 얼마나 유연한지를 재는 자입니다. 평면 위의 점들을 직선 하나로 나눈다고 할 때, 점 세 개까지는 어떤 색깔 조합이 와도 항상 나눌 수 있지만 네 개부터는 불가능한 배치가 생깁니다. 그래서 2차원 직선 분류기의 VC 차원은 3입니다. 이 숫자가 클수록 모델은 표현력이 크지만 그만큼 외우기도 쉬워집니다.

왜 중요한가

모델 복잡도를 파라미터 개수가 아니라 분류 능력 자체로 정의하기 때문에, 서로 구조가 다른 모델들을 같은 잣대로 비교할 수 있습니다. 일반화 오차의 상한이 VC 차원과 표본 수의 관계로 표현되므로, 과적합이 왜 일어나는지에 대한 정량적 설명을 제공합니다. 서포트벡터머신의 이론적 정당화도 여기서 출발합니다.

논문에서는 이렇게 쓰입니다

"VC 차원이 표본 수에 비해 지나치게 큰 모델에서는 학습 오차와 검증 오차의 격차가 급격히 벌어졌다."

모델이 데이터 수에 비해 너무 유연하면 훈련 성적만 좋아지고 새 데이터에서는 나빠진다는 관찰입니다.

조금 더 깊게 보면

어떤 점 집합을 모든 이진 라벨 조합에 대해 분리할 수 있을 때 그 집합을 ‘산산조각 낸다(shatter)’고 하며, 산산조각 낼 수 있는 최대 집합의 크기가 VC 차원입니다. d차원 공간의 선형 분류기는 VC 차원이 d+1이고, 이 값이 유한하면 균등 수렴이 성립해 PAC 학습 가능성이 보장됩니다. 다만 현대 심층 신경망은 VC 차원이 사실상 매우 커서 고전적 상한이 지나치게 느슨해지며, 이 괴리가 이중 하강 같은 현상 연구의 출발점이 되었습니다.

주의할 점

VC 차원이 크다고 해서 실제 성능이 반드시 나쁜 것은 아니며, 이는 최악의 경우를 가정한 상한일 뿐입니다. 차원의 저주가 입력 데이터의 특징 개수에 관한 이야기인 반면 VC 차원은 모델 가설 공간의 복잡도를 가리키므로, 이름이 비슷하다고 혼동하면 안 됩니다.

관련 용어