관리 메뉴

Bull

[ML] Support Vector Machine(SVM) 본문

Artificial Intelligence/Machine Learning

[ML] Support Vector Machine(SVM)

Bull_ 2024. 7. 22. 15:41

본 포스팅은 공돌이 수학노트님의 정리 글을 제가 다시 이해하는 것을 바탕으로 정리하였고,
원문에서 공돌이 수학노트님은 MIT의 Patrick H. Winston 교수님의 강의로 정리하였다는 것을 밝힙니다.

라그랑주 승수법에 대한 이해

라그랑주 승수법은 최적화 문제에서 최대 또는 최소값을 찾기 위해 사용되는 수학적 기법입니다. 이 방법은 목적 함수와 제약 조건을 동시에 고려하여 최적의 해를 찾는 데 유용합니다. 라그랑주 승수법의 기본 개념과 사용법을 살펴보겠습니다.

1. 기본 개념

라그랑주 승수법은 목적 함수 $f(x, y)$와 제약 조건 $g(x, y) = 0$이 주어졌을 때, 이 두 조건을 동시에 만족하는 점에서 목적 함수의 최대값 또는 최소값을 찾는 방법입니다. 목적 함수는 우리가 찾는 함수이므로 어떤 함수인지 아직 모릅니다. 이제 $f$를 찾게 될 겁니다.

2. 라그랑주 함수 정의

라그랑주 승수법에서는 새로운 변수 (\lambda)를 도입하여 다음과 같은 보조 방정식(라그랑주 함수)을 정의합니다.

$$
L(x, y, \lambda) = f(x, y) - \lambda g(x, y)
$$

여기서 $(\lambda)$는 라그랑주 승수(Lagrange multiplier)라고 불리며, 제약 조건을 만족시키는 데 사용됩니다.

3. 라그랑주 함수의 편미분

라그랑주 함수 $(L)$에 대해 각 변수에 대한 편미분을 구하고, 이 편미분 값이 0이 되는 지점을 찾습니다. 이 지점이 바로 최적해가 되는 점입니다.

$$
\frac{\partial L}{\partial x} = 0, \quad \frac{\partial L}{\partial y} = 0, \quad \frac{\partial L}{\partial \lambda} = 0
$$

4. 최적 조건 도출

편미분을 통해 다음과 같은 조건을 도출할 수 있습니다.

$$
\nabla f = \lambda \nabla g
$$

이 조건은 목적 함수의 기울기(gradient)와 제약 조건의 기울기가 평행함을 의미합니다. 이를 통해 제약 조건을 만족시키면서 목적 함수를 최대화 또는 최소화할 수 있는 점을 찾게 됩니다.

5. 예제

목적 함수 $f(x, y) = x^2 + y^2$와 제약 조건 $g(x, y) = x + y - 1 = 0$가 주어졌을 때, 라그랑주 승수법을 적용해 봅시다.

  1. 라그랑주 함수 정의.
    $$
    L(x, y, \lambda) = x^2 + y^2 - \lambda(x + y - 1)
    $$
  2. 각 변수에 대해 편미분.
    $$
    \frac{\partial L}{\partial x} = 2x - \lambda = 0
    $$
    $$
    \frac{\partial L}{\partial y} = 2y - \lambda = 0
    $$
    $$
    \frac{\partial L}{\partial \lambda} = -(x + y - 1) = 0
    $$
  3. 연립 방정식 풀기.
    $$
    2x = \lambda, \quad 2y = \lambda, \quad x + y = 1
    $$
    $$
    \Rightarrow x = y, \quad 2x = 1 \Rightarrow x = \frac{1}{2}, \quad y = \frac{1}{2}
    $$

따라서, 최적해는 $(x = \frac{1}{2}), (y = \frac{1}{2})$입니다.

6. 다중 제약 조건의 경우

여러 개의 제약 조건이 있는 경우, 라그랑주 함수는 다음과 같이 정의됩니다.

$$
L(x_1, \ldots, x_n, \lambda_1, \ldots, \lambda_m) = f(x_1, \ldots, x_n) - \sum_{k=1}^m \lambda_k g_k(x_1, \ldots, x_n)
$$

이 경우, 다음 식의 해를 구하여 최적해를 찾습니다. 여기서 제약조건을 모두 합할 수 있는 이유는 제약 조건이 모두 $g=0$이기 때문이라는 점을 명심합니다.

$$
\nabla_{x_1, \ldots, x_n, \lambda_1, \ldots, \lambda_m} L = 0
$$

즉, 목적 함수와 모든 제약 조건에 대한 편미분이 0이 되는 지점을 찾으면 최적해를 구할 수 있습니다.

서포트 벡터 머신 (SVM)

서포트 벡터 머신(SVM)은 주어진 데이터 포인트를 분류하기 위해 최적의 결정 경계(hyperplane)를 찾는 머신 러닝 알고리즘입니다. 여기서는 SVM의 결정 규칙과 서포트 벡터 및 스트리트(street) 생성 조건에 대해 설명하겠습니다.

가. Decision Rule (결정 규칙)

결정 규칙이란 새로운 입력 벡터 $\vec{u}$가 주어졌을 때, 이 입력의 클래스가 +인지 -인지 결정하는 방법입니다. 2차원 공간에서 결정 경계(hyperplane)와 법선 벡터 $\vec{w}$가 있다고 가정해 보겠습니다.

아직 $\vec{w}$가 무엇인지는 모르지만, 우리가 설정하려는 것은 가운데의 점선(dashed line)보다 위에 있으면 +로, 아래에 있으면 -로 분류하는 것입니다. 따라서 결정 규칙을 다음과 같이 설정할 수 있습니다.

$$
\vec{w} \cdot \vec{u} + b \geq 0
$$

여기서 $(b$는 임의의 상수입니다. 이 식은 2차원에서는 직선을 의미하지만, n차원에서는 hyperplane으로 확장됩니다. 이제 우리가 알아야 할 것은 $\vec{w}$와 $b$입니다.

나. 서포트 벡터와 Street 생성에 대한 조건

이제 훈련 데이터(training data)에 대한 이야기가 시작됩니다. 두 개의 클래스로 샘플들이 구별되어 있다고 가정해 봅시다. 하나는 positive samples $x_+$, 나머지 하나는 negative samples $x_-$입니다.

서포트 벡터는 결정 경계에 가장 가까이 있는 데이터 포인트들입니다. 이 포인트들은 결정 경계를 정의하는 데 중요한 역할을 합니다. 실제로 경계선을 정의하는 데 필요한 정보는 대부분 서포트 벡터에서 나오며, 나머지 데이터 포인트는 경계선에 영향을 미치지 않습니다.

우선, 두 클래스 간의 마진을 최대화하려면 다음과 같은 조건을 설정합니다.

  • 긍정 클래스 데이터 포인트는 경계선에서 적어도 $\delta$ 이상의 거리에 있어야 합니다.
  • 부정 클래스 데이터 포인트는 경계선에서 적어도 $\delta$ 이상의 거리에 있어야 합니다.

이를 수학적으로 표현하면

$$
\vec{w} \cdot \vec{x}_+ + b \geq \delta
$$

$$
\vec{w} \cdot \vec{x}_- + b \leq -\delta
$$

여기서 $\delta$는 마진의 너비입니다. 그런데 $\delta$는 임의의 상수이므로, 이를 1로 정규화(normalize)할 수 있습니다. 이렇게 하면 계산이 더 간단해집니다. $\delta$로 나누어주면 다음과 같은 식을 얻습니다.

$$
\frac{\vec{w} \cdot \vec{x}_+ + b}{\delta} \geq 1
$$

$$
\frac{\vec{w} \cdot \vec{x}_- + b}{\delta} \leq -1
$$

이때, $\vec{w}$와 $b$를 다시 정의하여 $\frac{\vec{w}}{\delta} \rightarrow \vec{w}$와 $\frac{b}{\delta} \rightarrow b$로 나타낼 수 있습니다. 따라서 위의 식들은 다음과 같이 단순화됩니다.

$$
\vec{w} \cdot \vec{x}_+ + b \geq 1
$$

$$
\vec{w} \cdot \vec{x}_- + b \leq -1
$$

이제 수학적 트릭을 약간 사용해 봅시다. 방금 유도한 두 개의 식을 하나로 묶을 수 있는 변수 $y_i$를 정의합니다. $y_i$는 다음과 같이 정의할 수 있습니다.

$$
y_i = \begin{cases}
+1 & \text{for } x_+ \
-1 & \text{for } x_-
\end{cases}
$$

그러면 위의 두 식은 다음과 같이 합칠 수 있습니다.

$$
y_i (\vec{w} \cdot \vec{x}_i + b) \geq 1
$$

이 식을 조금만 변형하면 hyperplane으로부터 가장 가깝게 있어서 서포트 벡터로 작용하는 데이터 포인트들에 대한 조건은 다음과 같습니다.

$$
y_i (\vec{w} \cdot \vec{x}_i + b) - 1 = 0
$$

다. Street의 너비와 최적화 문제 설정

서포트 벡터 머신(SVM)의 목표는 결정 경계(hyperplane)와 이 경계에 가장 가까운 데이터 포인트(서포트 벡터) 사이의 마진(거리)을 최대화하는 것입니다. 이를 위해 두 클래스의 서포트 벡터 사이의 거리(즉, 스트리트의 너비)를 계산하고, 이를 최대화하는 문제를 최적화 문제로 설정합니다.

1. 두 클래스 사이의 거리 계산

그림 5를 참고해 두 클래스의 서포트 벡터 사이의 거리(스트리트의 너비)를 구해보겠습니다.

서포트 벡터 $\vec{x}_+$와 $\vec{x}_-$는 결정 경계의 양쪽에 위치해 있습니다. 이 벡터들 사이의 거리를 계산하려면 다음과 같은 절차를 따릅니다.

  1. 벡터 간 거리 구하기:
    $$
    \vec{x}_+ - \vec{x}_-
    $$
  2. 거리 계산:
    $\vec{w}$는 결정 경계에 수직한 벡터이므로, 방향이 같고 크기가 1인 벡터를 사용하여 두 벡터 간의 거리를 구할 수 있습니다.
    $$
    \frac{\vec{w}}{|\vec{w}|} \cdot (\vec{x}_+ - \vec{x}_-)
    $$

이 식을 통해 두 서포트 벡터 사이의 거리는 다음과 같이 표현됩니다.
$$
\frac{2}{|\vec{w}|}
$$

2. 최적화 문제 설정

우리의 목표는 이 거리를 최대화하는 것입니다. 이는 마진 $\frac{2}{|\vec{w}|}$를 최대화하는 것과 같습니다. 마진을 최대화하는 것은 $\frac{1}{2} |\vec{w}|^2$를 최소화하는 문제로 변환할 수 있습니다.

결국 SVM의 최적화 문제는 다음과 같이 설정됩니다.

  • 목적 함수: $\frac{1}{2} |\vec{w}|^2$를 최소화합니다.
  • 제약 조건: 모든 긍정 클래스 데이터 포인트가 $\vec{w} \cdot \vec{x}_+ + b \geq 1$을 만족하고, 모든 부정 클래스 데이터 포인트가 $\vec{w} \cdot \vec{x}_+ b \leq -1$을 만족해야 합니다.

이를 정리하면

$$
\min \frac{1}{2} |\vec{w}|^2 \quad \text{subject to} \quad y_i (\vec{w} \cdot \vec{x}_i + b) \geq 1 \quad \text{for all } i
$$

라. 라그랑주 승수법과 제약 조건 유도

라그랑주 승수법을 사용하여 최적화 문제를 해결해 보겠습니다. 라그랑주 승수법은 제약 조건이 있는 최적화 문제를 풀기 위한 강력한 도구입니다. 제약 조건을 포함한 목적 함수를 보조 방정식으로 변환하여 최적해를 구합니다.

1. 라그랑주 승수법의 일반적 정의

일반적으로, 제약 조건이 있는 최적화 문제는 다음과 같이 정의됩니다.

  • 목적 함수: $ f(x_1, x_2, \ldots, x_n) $
  • 제약 조건: $ g_k(x_1, x_2, \ldots, x_n) = 0 \ for ( k = 1, 2, \ldots, m )$

라그랑주 함수 $L$는 목적 함수 $f$와 제약 조건 $g_k$를 포함하여 다음과 같이 정의됩니다.

$$
L(x_1, x_2, \ldots, x_n, \lambda_1, \lambda_2, \ldots, \lambda_m) = f(x_1, x_2, \ldots, x_n) - \sum_{k=1}^m \lambda_k g_k(x_1, x_2, \ldots, x_n)
$$

여기서 $\lambda_k$는 라그랑주 승수입니다. 이 방법은 제약 조건을 포함하는 최적화 문제를 무제약 최적화 문제로 변환합니다.

2. 라그랑주 승수법을 통한 SVM 최적화 문제 설정

서포트 벡터 머신(SVM)에서는 목적 함수와 제약 조건이 다음과 같이 주어집니다.

  • 목적 함수: $\frac{1}{2} |\vec{w}|^2$
  • 제약 조건: $ y_i (\vec{w} \cdot \vec{x}_i + b) \geq 1 \ for ( i = 1, 2, \ldots, N )$

이때, 제약 조건을 다음과 같이 정리할 수 있습니다.
$$
y_i (\vec{w} \cdot \vec{x}_i + b) - 1 \geq 0
$$

라그랑주 승수법을 사용하여 이 문제를 풀기 위해 라그랑주 함수를 정의합니다. 여기서 $\alpha_i$는 각 제약 조건에 대응하는 라그랑주 승수입니다.

$$
L(\vec{w}, b, \alpha) = \frac{1}{2} |\vec{w}|^2 - \sum_{i=1}^N \alpha_i [y_i (\vec{w} \cdot \vec{x}_i + b) - 1]
$$

3. 라그랑주 함수의 편미분과 최적 조건

라그랑주 함수 $L$를 각 변수 $\vec{w}$, $b$에 대해 편미분하고, 그 결과를 0으로 설정하여 최적해를 구합니다.

  1. (\vec{w})에 대한 편미분:
    $$
    \frac{\partial L}{\partial \vec{w}} = \vec{w} - \sum_{i=1}^N \alpha_i y_i \vec{x}_i = 0
    $$
  2. 따라서,
    $$
    \vec{w} = \sum_{i=1}^N \alpha_i y_i \vec{x}_i
    $$
  3. (b)에 대한 편미분:
    $$
    \frac{\partial L}{\partial b} = -\sum_{i=1}^N \alpha_i y_i = 0
    $$
  4. 따라서,
    $$
    \sum_{i=1}^N \alpha_i y_i = 0
    $$

4. 최종 라그랑주 함수 유도

이제 $\vec{w}$와 $b$를 라그랑주 함수 $L$에 대입하여 최종 라그랑주 함수를 유도합니다.

  1. 라그랑주 함수 (L):
    $$
    L = \frac{1}{2} |\vec{w}|^2 - \sum_{i=1}^N \alpha_i [y_i (\vec{w} \cdot \vec{x}_i + b) - 1]
    $$
  2. $\vec{w}$와 $b$를 대입:
    $\vec{w} = \sum_{i=1}^N \alpha_i y_i \vec{x}_i$와 $\sum_{i=1}^N \alpha_i y_i = 0$를 대입하면

  1. 정리:

위 식에서
$$
\sum_{i=1}^N \alpha_i y_i \sum_{j=1}^N \alpha_j y_j (\vec{x}_i \cdot \vec{x}j)
$$

$$
\sum_{i=1}^N \alpha_i \sum_{j=1}^N \alpha_j y_j (\vec{x}_i \cdot \vec{x}_j)
$$

가 같습니다. 따라서 이 두 항이 상쇄되어,

$$
L = \sum_{i=1}^N \alpha_i - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (\vec{x}_i \cdot \vec{x}_j)
$$

결국, SVM의 최적화 문제는 다음과 같이 재구성됩니다.

$$
\max \sum_{i=1}^N \alpha_i - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (\vec{x}_i \cdot \vec{x}_j)
$$

$\alpha_i$를 이용해 결정 경계를 최적화하는 방식입니다.

알겠습니다. 커널 트릭과 커널 함수의 변경에 관해 좀 더 구체적으로 설명해드리겠습니다.

마. Kernel Tricks

https://communities.sas.com/t5/SAS-Tech-Tip/SAS-Viya-SVM-with-SAS-Viya/ta-p/708834

서포트 벡터 머신(SVM)에서 라그랑주 함수 $L$의 최대값은 데이터 포인트 간의 내적 $\vec{x}_i \cdot \vec{x}_j$에 의해 결정됩니다. 따라서, 이 내적을 적절하게 변형시켜주면 $L$의 최대값을 더 끌어올릴 수 있습니다. 이를 커널 트릭이라 부릅니다.

커널 함수의 역할

커널 함수 $K(\vec{x}_i, \vec{x}_j)$는 두 벡터 $\vec{x}_i$와 $\vec{x}_j$의 내적을 대체하여, 고차원 공간에서의 내적을 계산하는 데 사용됩니다. 이렇게 하면 원래의 공간에서 선형적으로 분리되지 않는 데이터도 고차원 공간에서 선형적으로 분리될 수 있습니다.

1. 데이터 포인트의 변환

각 데이터 포인트 $\vec{x}_i$에 대해 적절한 변환 $\phi(\vec{x}_i)$를 찾아, 내적 $\vec{x}_i \cdot \vec{x}_j$ 대신 $\phi(\vec{x}_i) \cdot \phi(\vec{x}_j)$를 사용합니다. 예를 들어, 2차원 공간의 데이터 포인트를 3차원 공간으로 변환할 수 있습니다.

$$
\phi: \vec{x} \rightarrow \phi(\vec{x})
$$

이 경우, 변환된 공간에서의 내적은 다음과 같이 표현됩니다.

$$
\phi(\vec{x}_i) \cdot \phi(\vec{x}_j)
$$

2. 커널 함수 사용

커널 함수 $K(\vec{x}_i, \vec{x}_j)$는 두 데이터 포인트 간의 내적을 고차원 공간에서 계산하는 함수를 의미합니다. 이렇게 하면 변환된 공간을 명시적으로 계산하지 않고도, 내적을 쉽게 계산할 수 있습니다.

$$
K(\vec{x}_i, \vec{x}_j) = \phi(\vec{x}_i) \cdot \phi(\vec{x}_j)
$$

커널 함수의 종류

  1. 선형 커널 (Linear Kernel):
    $$
    K(\vec{x}_i, \vec{x}_j) = \vec{x}_i \cdot \vec{x}_j
    $$
  2. 다항 커널 (Polynomial Kernel):
    $$
    K(\vec{x}_i, \vec{x}_j) = (\vec{x}_i \cdot \vec{x}_j + c)^d
    $$
    여기서 $c$는 상수이고, $d$는 다항식의 차수입니다.
  3. 가우시안 RBF 커널 (Gaussian Radial Basis Function Kernel):
    $$
    K(\vec{x}_i, \vec{x}_j) = \exp\left(-\frac{|\vec{x}_i - \vec{x}_j|^2}{2\sigma^2}\right)
    $$
    여기서 $\sigma는 커널 폭을 조절하는 매개변수입니다.
  4. 시그모이드 커널 (Sigmoid Kernel):
    $$
    K(\vec{x}_i, \vec{x}_j) = \tanh(\alpha \vec{x}_i \cdot \vec{x}_j + c)
    $$
    여기서 $\alpha$와 $c$는 매개변수입니다.

커널 함수 변경

기본적으로 SVM에서 사용되는 커널 함수는 문제의 특성에 따라 선택할 수 있습니다. 커널 함수를 변경하면 SVM의 성능과 결정 경계가 크게 달라질 수 있습니다.

커널 함수 변경의 의미

  • 선형 커널: 원래 공간에서 선형적으로 분리 가능한 경우에 적합합니다.
  • 다항 커널: 비선형 데이터의 경우, 고차원 공간에서 선형적으로 분리할 수 있게 해줍니다.
  • 가우시안 RBF 커널: 매우 복잡한 경계를 가진 데이터에 적합합니다.
  • 시그모이드 커널: 신경망의 활성화 함수와 유사한 방식으로 동작합니다.

예제에서 커널 함수 변경

예제에서 사용된 커널 함수가 선형 커널이었다면, 이를 다른 커널 함수로 변경하여도 됩니다. 예를 들어, 다항 커널이나 가우시안 RBF 커널로 변경하면, SVM이 더 복잡한 결정 경계를 학습할 수 있습니다. 이를 통해 데이터가 고차원 공간에서 선형적으로 분리될 수 있습니다.

4. 서포트 벡터 머신 문제 예제

다음의 + 샘플과 - 샘플에 대해서 $\alpha$, $b$, $\vec{w}$의 값을 구하시오.

  • -points : A(0,0), B(2,2)
  • +points : C(3,0)

풀이

+points와 -points의 위치는 다음과 같습니다.

  • -points: A(0,0), B(2,2)
  • +points: C(3,0)

눈으로 봤을 때는 hyperplane의 식은 $y = \frac{2}{3}x - 1$ 정도 될 것으로 보입니다. 이를 대수적으로 확인해보겠습니다.

Step 1) Calculate all kernel function values

이 케이스는 특별한 커널 함수 없이 선형 커널(linear kernel)을 사용합니다. 그러므로
$$
K(\vec{x}_1, \vec{x}_2) = \vec{x}_1 \cdot \vec{x}_2
$$
따라서 모든 경우의 수에 대해 다음과 같은 테이블을 구성할 수 있습니다.

A(0,0) B(2,2) C(3,0)
A(0,0) 0 0 0
B(2,2) 0 8 6
C(3,0) 0 6 9

Step 2) Write out the system of equations

이론을 통해 확인한 제약 조건은 총 세 가지가 될 수 있습니다.

  1. $\sum_{i} \alpha_i y_i = 0$
  2. $\sum_{i} \alpha_i y_i K(\vec{x}_i, \vec{x}) + b = 1 \ for\ positive class$
  3. $\sum_{i} \alpha_i y_i K(\vec{x}_i, \vec{x}) + b = -1 \ for\ negative class$

따라서 모든 제한 조건을 가지고 방정식을 적으면 다음과 같이 풀어쓸 수 있습니다.

  1. $-\alpha_A - \alpha_B + \alpha_C = 0$
  2. $\alpha_A (0) + \alpha_B (4) + \alpha_C (3) + b = -1)\ for\ point\ (B)$
  3. $\alpha_A (0) + \alpha_B (6) + \alpha_C (9) + b = 1)\ for\ point\ (C)$

이를 연립하여 풉니다.

Step 3) Solve the system of equations

  1. $-\alpha_A - \alpha_B + \alpha_C = 0$
  2. $4\alpha_B + 3\alpha_C + b = -1$
  3. $6\alpha_B + 9\alpha_C + b = 1$
    이를 연립하여 풉니다.
  4. $\alpha_A = 0$ (이 경우 $\alpha_A$는 0이 되어 포함되지 않습니다)
  5. $-\alpha_B + \alpha_C = 0 \Rightarrow \alpha_C = \alpha_B$
  6. $4\alpha_B + 3\alpha_B + b = -1 \Rightarrow 7\alpha_B + b = -1$
  7. $6\alpha_B + 9\alpha_B + b = 1 \Rightarrow 15\alpha_B + b = 1$

두 식을 연립하여 $\alpha_B와 $b$를 구합니다.

  1. $7\alpha_B + b = -1 $
  2. $15\alpha_B + b = 1 $

이 식을 빼면

$8\alpha_B = 2 \Rightarrow \alpha_B = \frac{1}{4} $

이를 $7\alpha_B + b = -1 $에 대입하면,

$7 \cdot \frac{1}{4} + b = -1 \Rightarrow \frac{7}{4} + b = -1 \Rightarrow b = -1 - \frac{7}{4} \Rightarrow b = -\frac{11}{4}$

따라서, $\alpha_B = \frac{1}{4}, ( \alpha_C = \frac{1}{4}, b = -\frac{11}{4} )$

Step 4) Compute $\vec{w}$

$
\vec{w} = \sum_{i} \alpha_i y_i \vec{x}_i
$

$
\vec{w} = \alpha_B y_B \vec{x}_B + \alpha_C y_C \vec{x}_C
$

$
\vec{w} = \frac{1}{4}(-1)[2, 2] + \frac{1}{4}(1)[3, 0]
$

$
\vec{w} = [-\frac{1}{2}, -\frac{1}{2}] + [\frac{3}{4}, 0]
$

$
\vec{w} = [\frac{1}{4}, -\frac{1}{2}]
$

Step 5) Hyperplane equation

Hyperplane의 방정식은

$\vec{w} \cdot \vec{x} + b = 0$

따라서,

$\frac{1}{4}x_1 - \frac{1}{2}x_2 - \frac{11}{4} = 0$

이를 정리하면

$x_1 - 2x_2 - 11 = 0$

직선의 방정식으로 나타내면

$y = \frac{1}{2}x - \frac{11}{2}$

이를 통해 서포트 벡터 머신의 결정 경계를 구할 수 있습니다.