Support Vector Machine (SVM) Start
BioinformaticsAndMe
1. Support Vector Machine (SVM;서포트 벡터 머신)
: 지도학습 모델인 SVM은 'Non-linear problem'을 'Linear problem'으로 바꾸어, 분류와 회귀 분석에 사용됨
: 주요 목적은 두 클래스 사이의 Margin(마진)을 최대화하는 '최적의 분리경계인 Hyperplane(초평면)'을 찾는 것
*(2차원 → Line), (3차원 → Plane), (3차원초과 → Hyperplane)
: 아래의 경우는 두 클래스인 늑대와 토끼를 분리하기 위해, 최적의 분리 경계를 찾고 있는 상황
: Hyperplane을 지지하는(걸쳐있는) 관측치들을 Support Vector라 부름
2. Kernel function (커널함수)
: SVM은 두 클래스를 선형 분리할 수 있도록, 커널함수를 이용해 데이터를 높은 차원 공간으로 변환시킴
: 아래 그림은 데이터를 3차원 공간으로 변환하여, 간단한 평면으로 두 클래스를 분리함
3. SVM 알고리즘 과정
1) 마진을 극대화하는 최적의 Hyperplane을 선택
2) 잘못된 분류에 대한 페널티를 더함으로써 SVM 손실 함수를 조정
3) 선형으로 분리되지 않는 데이터인 경우에, 선형으로 쉽게 분류할 수 있는 고차원 공간으로 데이터를 변환 (Kernel Trick)
4. SVM 장점
: 비선형 분리 데이터를 커널트릭을 사용하여 분류 모델링 가능
: 고차원 공간에서 원활하게 작동함 (예측 변수가 많은 경우)
: 텍스트 분류 및 이미지 분류에 효과적임
: Multicollinearity problem(다중공선성 문제)를 회피함
5. SVM 단점
: 대용량 데이터셋 처리에는 많은 시간이 소요
: 확률 추정치를 직접적으로 반환하지 않음
: 선형 커널은 선형의 분리 가능한 데이터인 경우 로지스틱 회귀분석과 거의 유사함
#서포트 벡터 머신 알고리즘 설명 영상
#Reference
1) https://www.listendata.com/2017/01/support-vector-machine-in-r-tutorial.html
2) https://www.edureka.co/blog/support-vector-machine-in-r/#Support%20Vector%20Machine%20Demo
3) https://www.datacamp.com/community/tutorials/support-vector-machines-r
4) https://rischanlab.github.io/SVM.html
5) https://ko.wikipedia.org/wiki/%EC%84%9C%ED%8F%AC%ED%8A%B8_%EB%B2%A1%ED%84%B0_%EB%A8%B8%EC%8B%A0
6) https://lamfo-unb.github.io/2017/07/13/svm-en/
7) https://www.youtube.com/watch?v=1NxnPkZM9bc
Support Vector Machine (SVM) End
BioinformaticsAndMe
'Machine Learning' 카테고리의 다른 글
Chest X-Ray Medical Diagnosis with Deep Learning - ① Import Packages and Function (0) | 2021.02.15 |
---|---|
AUC-ROC 커브 (3) | 2020.08.04 |
딥러닝 서버 PC 구축 (0) | 2020.01.22 |
유전 알고리즘 (Genetic algorithm) (1) | 2020.01.15 |
구글 어시스턴트(Google Assistant) (0) | 2020.01.06 |