AI 101
์ํฌํธ ๋ฒกํฐ ๋จธ์ ์ด๋ ๋ฌด์์ธ๊ฐ?

서포트 벡터 머신이란 무엇인가?
서포트 벡터 머신은 기계 학습 분류기 중 하나로, 가장 인기 있는 분류기 중 하나입니다. 서포트 벡터 머신은 특히 숫자 예측, 분류, 패턴 인식 작업에 유용합니다.
서포트 벡터 머신은 데이터 포인트 사이에 결정 경계를 그음으로써 작동하며, 데이터 포인트를 클래스로 분류하는 결정 경계를 찾는 것을 목표로 합니다. 서포트 벡터 머신을 사용할 때의 목표는 결정 경계와 데이터 포인트 사이의 거리가 최대화되는 결정 경계를 찾는 것입니다. 이것은 서포트 벡터 머신이 작동하는 방식에 대한 간단한 설명입니다. 그러나 서포트 벡터 머신이 작동하는 방식과 그 논리를 더 깊이 이해하기 위해 시간을 들여보겠습니다.
서포트 벡터 머신의 목표
특징에 따라 지정된 X와 Y 축을 가진 그래프를 상상해 보세요. 그래프上的 데이터 포인트는 두 개의 서로 다른 클러스터로 나눌 수 있으며, 데이터 포인트가 속한 클래스는 클러스터에 따라 결정됩니다. 이제 두 클래스를 서로 분리하는 그래프上的 선을 그으려고 합니다. 이 선은 서포트 벡터 머신에서 사용되는 하이퍼 플레인입니다.
서포트 벡터 머신을 도시를 구분하는 도로로 생각할 수 있습니다. 각 건물(데이터 포인트)은 도로의 한쪽에 있습니다.

서포트 벡터 머신의 목표는 하이퍼 플레인을 그리며 데이터 포인트를 분류하는 것입니다. 그러나 결정 경계와 데이터 포인트 사이의 여유 공간이 최대화되는 하이퍼 플레인을 그리도록 합니다. 도시 계획자가 고속도로를 설계할 때, 건물과 고속도로 사이의 여유 공간을 최대화하려고 합니다. 결정 경계와 데이터 포인트 사이의 여유 공간이 클수록, 분류기가 예측에 대해 더 자신감을 가질 수 있습니다. 이진 분류의 경우, 올바른 하이퍼 플레인을 그리면 두 클래스 사이의 중간에 있는 하이퍼 플레인을 선택하는 것입니다. 결정 경계/하이퍼 플레인이 한 클래스에서 더 멀리 떨어져 있다면, 다른 클래스에서 더 가까워질 것입니다. 따라서 하이퍼 플레인은 두 클래스 사이의 여유 공간을 균형있게 유지해야 합니다.
분리 하이퍼 플레인 계산
서포트 벡터 머신은 어떻게 최적의 분리 하이퍼 플레인을 결정할 수 있을까요? 이것은 수학적 공식으로 가능한 하이퍼 플레인을 계산함으로써 이루어집니다. 우리는 하이퍼 플레인을 계산하는 공식에 대해 자세히 다루지 않겠습니다. 그러나 선의 방정식은 다음과 같습니다.
Y = ax + b
선은 점으로 구성되므로, 모든 하이퍼 플레인은 모델의 가중치와 특성의 집합에 의해 결정되는 점의 집합으로 설명될 수 있습니다.
서포트 벡터 머신은 많은 하이퍼 플레인을 그립니다. 예를 들어, 경계선은 하나의 하이퍼 플레인입니다. 그러나 분류기가 고려하는 데이터 포인트도 하이퍼 플레인 위에 있습니다. 특성의 값은 데이터셋의 특성에 따라 결정됩니다. 예를 들어, 사람들의 키와 몸무게를 포함하는 데이터셋이 있다면, “키”와 “몸무게” 특성은 “X”를 계산하는 데 사용됩니다. 결정 경계와 데이터 포인트 사이의 여유 공간은 다음과 같은 공식으로 계산됩니다.
W * X – b
서포트 벡터 머신의 목표는 결정 경계와 데이터 포인트 사이의 여유 공간을 최대화하는 것입니다. 자세한 수학적 설명은 생략하겠습니다.

사진: ZackWeinberg via Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)
다중 클래스 분류
지금까지 설명한 과정은 이진 분류 작업에 적용됩니다. 그러나 서포트 벡터 머신 분류기도 비이진 분류 작업에 사용할 수 있습니다. 세 개 이상의 클래스가 있는 데이터셋에 대해 서포트 벡터 머신 분류기를 사용할 때, 더 많은 경계선이 사용됩니다. 예를 들어, 분류 작업에 세 개의 클래스가 있다면, 두 개의 경계선이 사용되어 데이터 포인트를 클래스로 분류하며, 한 클래스의 영역은 두 개의 경계선 사이에 있습니다. 두 클래스 사이의 여유 공간과 결정 경계 사이의 거리를 계산하는 대신, 분류기는 데이터셋 내의 여러 클래스 사이의 여유 공간을 고려해야 합니다.
비선형 분리
위에서 설명한 과정은 데이터가 선형적으로 분리될 수 있는 경우에 적용됩니다. 그러나 실제 데이터셋은 거의 완전히 선형적으로 분리될 수 없습니다. 따라서 서포트 벡터 머신 분류기를 사용할 때, 두 가지 기술을 사용해야 합니다: 소프트 마진과 커널 트릭. 예를 들어, 다른 클래스의 데이터 포인트가 섞여 있는 경우, 분류기는 어떻게 이러한 데이터 포인트를 처리할 수 있을까요?
비선형적으로 분리할 수 없는 데이터셋을 처리하는 한 가지 전략은 소프트 마진 서포트 벡터 머신 분류기를 사용하는 것입니다. 소프트 마진 분류기는 일부 잘못 분류된 데이터 포인트를 허용합니다. 그것은 데이터 포인트의 클러스터를 최대한 분리하는 선을 그으려고 합니다. 소프트 마진 서포트 벡터 머신 분류기는 분류의 두 가지 요구 사항을 균형있게 유지하려고 합니다: 정확도와 여유 공간. 그것은 오류를 최소화하면서 여유 공간을 최대화하려고 합니다.
서포트 벡터 머신의 오류 허용 범위는 하이퍼 파라미터 “C”를 조작함으로써 조정할 수 있습니다. C 값은 분류기가 결정 경계를 그리기 위해 고려하는 서포트 벡터의 수를 제어합니다. C 값은 오류에 대한 페널티로, C 값이 클수록 분류기가 고려하는 서포트 벡터가 더 적고 여유 공간이 더狭く 됩니다.

커널 트릭은 데이터를 비선형적으로 변환하여 비선형적인 결정 경계를 생성합니다. 사진: Shiyu Ju via Wikmedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)
커널 트릭은 비선형적인 수학적 함수를 데이터셋의 특성에 적용하여 새로운 특성을 생성합니다. 이렇게 생성된 비선형적인 결정 경계는 서포트 벡터의 실제 분포를 더 잘 반영하며 오류를 최소화할 수 있습니다. 두 가지 인기 있는 비선형 커널은 방사형 기초 함수와 다항식 함수입니다. 다항식 함수는 기존 특성의 조합을 생성하며, 방사형 기초 함수는 중심 점에서 다른 모든 점까지의 거리를 측정하여 새로운 특성을 생성합니다.












