티스토리 뷰
이번 머신러닝 카테고리의 글에서는 knn 알고리즘과 더불어 지도학습 분류 모델 중 하나인 Support Vector Machine(SVM)의 개념과 동작 원리에 대해 설명하겠습니다.
SVM은 데이터의 클래스를 분류하는 최적의 경계를 찾는 알고리즘입니다. 이때의 경계는 반드시 선형이어야 하는 조건이 존재합니다. SVM는 Margin을 최대화하는 최적의 경계라 정의합니다.

Margein(마진)은 각 클래스의 말단에 위치하는 데이터들 사이의 거리를 뜻합니다. 우리는 오직 각 클래스의 말단에 위치하는 데이터들만을 이용해 경계를 찾는 것이 핵심입니다. 최적의 경계를 찾는 데 사용하는 Margin에 위치하는 데이터들을 Support Vector라고 정의합니다.
Margin(마진)을 구하기 위해서는 선형대수학의 Norm(벡터의 크기)을 이용합니다. Norm은 선형대수학에서 벡터의 크기를 의미하며 다양한 방법으로 계산할 수 있습니다.
- 1- norm : 벡터의 각 원소의 크기들의 절댓값들의 합
- 2- norm : 두 좌표 사이의 거리, 2차원 평면 위 벡터 좌표의 제곱합의 제곱근


Norm을 이용하여 Margin을 구하는 방법은 간단합니다. Support Vector에 해당하는 데이터를 지나가는 직선들을 각각 y=1, y=-1로 정의하는 것부터 시작합니다. 그 후 y = 0에 해당하는 직선을 다음과 같이 정의합니다


y =1보다 큰 영역에 해당하는 데이터들을 Positivie Group, y=-1보다 작은 영역에 해당하는 데이터들을 Negative Group으로 정의합니다. 각각의 그룹을 y=0에 해당하는 직선의 공식을 활용해 다음과 같이 표현할 수 있습니다.

Margin은 이 두가지 공식을 이용해 구할 수 있습니다. Margin 값을 d라고 놓고 Positive Group에서 Negative Group 사이의 거리를 구하면, 최종적으로 Margin을 구할 수 있습니다.


SVM은 단지 2개의 클래스를 분류하는 것뿐만 아니라 3개 이상의 클래스를 분류하는 데에도 사용됩니다. 클래스 A, B, C, D가 있을 때 SVM은 클래스 A / 클래스 A가 아닌 것 -> 클래스 B / 클래스 B가 아닌 것 ->.... 의 과정을 반복하여 4개의 클래스를 분류할 수 있습니다.
이런 SVM은 과적합을 피하고, 분류 성능이 높으며 적은 데이터에 대해서도 일반화를 할 수 있다는 장점이 존재합니다.
'머신러닝' 카테고리의 다른 글
[6] 주성분 분석(PCA) (0) | 2024.05.17 |
---|---|
[5] KMeans 알고리즘 (0) | 2024.05.15 |
[3] K 근접 이웃 알고리즘(knn) (0) | 2024.05.10 |
[2] 선형회귀 (0) | 2024.05.05 |
[1] 머신러닝의 분류와 과적합 (0) | 2024.05.03 |
- #attention #deeplearning
- 파이썬 #시각화 #matplotlib
- 잘라서 배열로 저장하기 #2차원으로 만들기
- seaborn #데이터시각화 #타이타닉
- #물고기 종류별 대어 찾기 #즐겨찾기가 가장 많은 식당 정보 출력하기 #mysql #programmers
- rnn #딥러닝 #시계열 데이터 #장기의존성 문제
- python #프로그래머스 #겹치는선분의길이
- 프로젝트 #머신러닝 #regression #eda #preprocessing #modeling
- #자연어 처리 #정수 인코딩 #빈도 수 기반
- subquery #sql 코딩테스트
- 머신러닝 #xgboost #
- randomforest #bagging #머신러닝 #하이퍼파라미터 튜닝
- html #javascript #구구단 출력
- #seq2seq #encoder #decoder #teacher forcing
- python #프로그래머스 #리스트 #인덱싱
- pca #주성분분석 #특이값분해 #고유값분해 #공분산행렬 #차원의 저주
- #python #프로그래머스 #외계어사전 #itertools #순열과조합
- #opencv #이미지 연산 #합성
- python #deque #프로그래머스 #공 던지기 #문자열 계산하기 #코딩테스트
- ridge #lasso #정규화모델 #머신러닝
- 머신러닝 #lightgbm #goss #ebf
- #tf idf
- 딥러닝 #오차역전파 #연쇄법칙 #계산그래프 #최적화
- 머신러닝 #project #classification #dacon
- #opencv #이미지 읽기 #이미지 제작 #관심영역 지정 #스레시홀딩
- 로지스틱 회귀 #오즈비 #최대우도추정법 #머신러닝
- 자연어 처리 #정제 #정규표현식 #어간 추출 #표제어 추출
- 파이썬 #코딩테스트 #프로그래머스 #스택 #큐
- nlp #토큰화 #nltk #konply
- gan #생성자 #판별자 #적대적 신경 신경망 #딥러닝 #computer vision