서포트벡터머신 (Support Vector Machine)

컴퓨터과학·AI
한 줄 정의: 서로 다른 두 집단의 데이터를 가장 여유 있게(안전하게) 나누는 경계선을 찾아 새 데이터를 분류하는 기계학습 방법입니다.

쉽게 풀면

운동장에 빨간 팀과 파란 팀이 각자 흩어져 서 있고, 그 사이에 밧줄 하나를 놓아 두 팀을 나눈다고 해봅시다. 밧줄을 놓을 수 있는 위치는 여러 곳이지만, 가장 좋은 위치는 양쪽 팀에서 가장 가까이 있는 선수들로부터 최대한 멀리 떨어진 자리일 것입니다. 그래야 다음에 새로운 선수가 애매한 위치에 서더라도 어느 팀인지 헷갈리지 않고 정확히 판단할 수 있습니다. 서포트벡터머신은 바로 이 "가장 여유 있는 경계선"을 수학적으로 찾는 방법이며, 이때 경계선에 가장 가까이 붙어 그 위치를 결정짓는 소수의 데이터 점들을 "서포트 벡터"라고 부릅니다.

왜 중요한가

서포트벡터머신은 데이터 수가 많지 않아도 안정적인 성능을 내고, 소수의 서포트 벡터만으로 경계가 결정되기 때문에 과적합에 상대적으로 강하다는 장점이 있어 딥러닝 이전 시대부터 지금까지 널리 쓰여 온 대표적인 분류 기법입니다. 특히 의료 영상 진단, 텍스트 분류, 유전자 데이터 분석처럼 표본 수는 적지만 특징 차원이 높은 문제에서 강점을 보여, 데이터가 제한적인 분야의 논문에서 비교 모델 또는 주력 모델로 자주 등장합니다.

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

"환자군과 대조군을 구분하기 위해 RBF 커널을 적용한 서포트벡터머신(SVM) 분류기를 학습시켰으며, 10겹 교차검증으로 성능을 평가하였다."

이 문장은 "SVM이라는 분류 방법으로 두 그룹을 구별하는 경계를 학습시켰고, 그 성능을 여러 번 나누어 검증했다"는 뜻입니다.

"스팸 메일 탐지를 위해 선형 커널 기반 SVM과 나이브 베이즈 분류기의 성능을 비교하였다."

텍스트 분류 논문에서 SVM이 다른 전통적 분류 알고리즘과 비교 대상으로 함께 다뤄지는 맥락으로 쓰인다.

"유전자 발현 데이터를 이용해 종양 아형을 분류하는 과제에서 서포트벡터머신이 소규모 표본에서도 안정적인 분류 정확도를 보였다."

생물정보학 논문에서 표본 수가 적고 특징 차원이 높은 데이터에 SVM이 적합함을 보이는 맥락으로 쓰인다.

조금 더 깊게 보면

SVM의 핵심은 마진(margin), 즉 경계선과 가장 가까운 데이터 점 사이의 여유 거리를 최대화하는 최적화 문제를 푸는 데 있으며, 완벽한 분리가 불가능한 데이터를 다루기 위해 일부 오분류를 허용하는 소프트 마진 개념이 함께 사용됩니다. 또한 데이터가 직선으로 나뉘지 않을 때는 커널 트릭을 통해 원래 공간을 더 고차원 공간으로 옮겨 그곳에서 선형 경계를 찾는데, 이때 RBF 커널이나 다항 커널처럼 어떤 커널을 선택하고 하이퍼파라미터를 어떻게 조정하는지가 성능에 큰 영향을 미칩니다.

주의할 점

서포트벡터머신은 데이터가 직선(또는 평면)으로 딱 떨어지게 나뉘지 않는 경우에도 "커널"이라는 변환을 이용해 곡선 형태의 경계를 만들 수 있습니다. 다만 데이터 양이 매우 많아지면 계산 비용이 급격히 늘어나는 단점이 있어, 대규모 데이터셋에서는 결정 트리 기반 모델이나 신경망이 더 흔히 쓰입니다.

관련 용어