Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

에코프로.AI

[빅분기] 스터디모임 발표준비 (2024.03.09) - 서포트벡터머신(SVM) 본문

AI Miscellany

[빅분기] 스터디모임 발표준비 (2024.03.09) - 서포트벡터머신(SVM)

AI_HitchHiker 2024. 3. 7. 14:21

 

Support Vector Machine(SVM)이란?

SVM(Support Vector Machine)은 데이터 분석, 특히 분류(classification)와 회귀(regression) 문제에 널리 사용되는 강력한 머신러닝 모델입니다. SVM은 고차원, 고복잡도 데이터 세트를 분석하는 데 특히 유용합니다. 이 알고리즘의 기본 원리는 데이터 포인트를 분류하기 위한 최적의 결정 경계인 초평면(hyperplane)을 찾는 것입니다.

 

 

SVM을 이용한 분류(classification) 방법은 위의 그림과 같이 검정원 과 흰색원을 분류할 수 있는 최적의 경계인

초평면(hyperplane) 을 찾는 것 입니다.

 

  • 초평면(Hyperplane) : 데이터를 분류하는 결정 경계입니다. SVM은 이 하이퍼플레인을 찾아내어 두 클래스를 분리합니다.
    초평면은 2차원이 아닌 고차원에서도 분류할 수 있는 경계입니다. 아래의 그림을 보시면 이해할 수 있을 것입니다.

 

 

  • 마진(Margin) : 초평면과 가장 가까운 훈련 데이터 포인트 사이의 거리입니다. SVM은 이 마진을 최대화하는 초평면을 찾습니다.
  • 서포트 벡터(Support Vectors) : 결정 경계에 가장 가까이 있는 데이터 포인트들입니다. 이 포인트들은 초평면의 위치를 결정하는 데 중요한 역할을 합니다.

 

장/단점

SVM의 장점

  • 작은 데이터셋 에서도 잘 작동 : SSVM은 작은 데이터셋에서도 잘 작동합니다.
    이는 데이터의 차원 수가 많거나 적은 경우에도 성능이 유사하게 나타납니다.
  • 범용성 : 다양한 종류의 데이터(텍스트, 이미지 등)에 적용할 수 있는 범용성을 가집니다.
  • 과적합 방지 : 적절한 정규화 선택을 통해 마진을 최대화하여, 과적합(overfitting)의 위험을 줄일 수 있습니다.
  • 커널 트릭 : 비선형 분류 문제를 해결하기 위해 커널 트릭을 사용하여 입력 공간을 높은 차원의 특징 공간으로 변환합니다.


SVM의 단점

  • 매개변수 선택의 어려움 : SVM의 성능은 커널 유형과 정규화 매개변수 같은 설정에 크게 의존합니다. 이들을 최적화하는 것은 때때로 어렵고 시간이 많이 소요될 수 있습니다.
  • 계산비용이 큼 : 훈련 시간이 데이터의 크기에 비선형적으로 증가하기 때문에, 매우 큰 데이터 세트에 대해서는 효율적이지 않을 수 있습니다.
  • 결과 해석의 어려움 : SVM 모델은 결정 경계가 복잡할 수 있어, 모델의 예측을 해석하고 이해하기 어려울 수 있습니다.

 

하드마진(hard margin)/소프트마진(soft margin) 이란?

결정경계의 분류를 잘하기 위해서는 클래스 사이가 폭이 넓은 도로 같을 때 유리합니다. SVM의 핵심 아이디어는 클래스 간의 최대 마진을 찾는 것입니다. 그런데 데이터에 따라 완벽한 선형 분리는 어렵다는 것이 현실입니다. 그래서 현실 데이터를 고려할 때 마진(margin) 안에 데이터를 허용하자는 아이디어가 나왔으며, 허용정도에 따라 하드마진(hard margin)과 소프트마진(soft margin) 으로 나눠 집니다.

하드마진(hard margin)은 데이터가 완벽하게 선형 분리될 때 사용됩니다. 그러나 실제 데이터는 노이즈와 이상치를 포함하므로 소프트 마진(soft margin)이 더 일반적으로 사용됩니다.

하드 마진(hard margin)

  • 이상치(아웃라이어)를 허용하지 않고 기준을 까다롭게 적용
  • 개별적인 학습데이터를 다 놓치지 않으려고 이상치(아웃라이어)를 처리하면 마진이 매우 작아져서 오버피팅(over fitting) 문제 발생

 

소프트 마진 (soft margin)

이상치(아웃라이어)를 마진 안에 어느 정도 포함하도록 너그러운 기준 적용

이상치(아웃라이어)를 너무 허용하다 보면 마진이 너무 커져서 언터피팅(under fitting) 문제 발생