Support Vector Machine
서포트 벡터 머신(support vector machine, SVM)은 지도 학습에서 사용되는 방법으로, 기본적이면서 굉장히 유명한 Classification model이다. 주어진 자료에 대해서 그 자료들을 분리하는 초평면 중에서, 자료들과 가장 거리가 먼 초평면 (Optimal hyperplane)을 찾는 방법이다.
이 기법은 비선형 분류에서도 커널 트릭을 사용하여 적용할 수 있다.
개요
SVM(Support Vector Machine)은 너저분한 패턴들의 분포들을 가장 잘 분류할 수 있는 기준선(평면)을 찾아내는 알고리즘이며, 이를 다차원 백터(패턴) 경우까지를 확장할 수 있도록 체계화 시킨 것이다. 복잡하게는 음성 인식에도 사용되기도 한다. 먼저 직관적인 이해를 돕기 위해 아래의 그림을 살펴보자. 2차원 평면 내 여러 개의 점들이 분포되어 있는 것을 확인할 수 있으며 이런 점(패턴)들을 분류할 수 있는(classification) 몇 개의 선들이 있다. 관건은 다차원 공간에서 분류의 기준이 되는 선(이름하여 Support vector)들을 어떻게 찾아낼 것인가라는 것이다. SVM은 바로 그 해답을 제시하는 알고리즘이다. 어떻게 보면 결정 트리(Decision tree)는 레벨이나 깊이 위주로 분류의 기준을 찾아내는 데 반해, SVM은 패턴들이 분표되어 있는 다차원 공간 상에서의 분류 기준을 찾아내는 것으로 유사하다고도 볼 수 있다.
Svm_graph_example.png
SVM 용어
- 초평면 (Optimal hyperplane)
- 커널함수 (Kernel function)
- 학습 (Train)
- 예측 (Predict)
See also
- libsvm
- 신경망 (Neural networks): Neural network의 단점 중 하나는 학습데이터를 다 학습하고 나면 학습을 멈춘다는 점 이다.
- 방사형 기저 함수 (Radial basis function) (RBF)
- OpenCV:SVM
- Classification model
- KNN
Favorite site
- Wikipedia (en) SVM에 대한 설명
- SVM(support vector machine)을 이용한 drive-by-download 방어
- SVM (Support Vector Machine)
- [추천] Machine learning - Supervised learning - Support Vector Machine (SVM)
- [추천] dlib를 가지고 SVM(support vector machine) 구현하여 기계 학습(machine learning) 하기 (데이터마이닝, data mining)
- Support Vector Machine (SVM)의 구현
- libsvm을 이용한 2-class classifier (1) - SVM이란 무엇인가
- 컴퓨터비전및패턴인식연구회 - Support Vector Machines 1
- SVM 용어 정리
- 커널 함수와 지지 벡터 머신(SVM)
- SVM 기계학습 알고리즘 소개
- 집단지성 프로그래밍 스터디: 9. 고급 분류 기법 : 커널 기법과 SVM
- [추천] cheezestick story - SVM (Support Vector Machine) hyperplane 유도 2
- 머신러닝 모델 소개 (2) - 서포트벡터머신 (Support Vector Machine, SVM)
Machine learning - Supervised learning
- Introduction to BCI-Machine learning-Supervised learning-1 overview 3
- Introduction to BCI-Machine learning-Supervised learning-2 Artificial neural network (ANN) 4
- Introduction to BCI-Machine learning-Supervised learning-3 Support Vector Machine (SVM) 5