Broccoli's House
#2-(7) 지도학습 알고리즘 : 서포트 벡터 머신(SVM) 본문
※ 이 글의 내용은 O'REILLY의 <파이썬 라이브러리를 활용한 머신러닝> 책을 기반으로 한다.
지도 학습 알고리즘 : 서포트 벡터 머신(SVM)
- 서포트 벡터 머신
- 커널 서포트 벡터 머신
- 새롭게 생성된 고차원의 데이터 세트에서는 선형 모델과 3차원 공간의 평면을 사용해 두 클래스를 구분할 수 있다. 그러나 이것을 원래 특성으로 투영해보면, 이 선형 SVM 모델은 더 이상 선형이 아닌 비선형의 모습을 확인할 수 있다.
- 데이터 세트에 비선형적 특성을 추가하여 선형 모델을 강력하게 만든것이다. 하지만 대부분의 경우에 어떠한 특성을 추가해야 하는지 모르고, 또한 특성을 많이 추가하면 연산 비용이 커진다. 이러한 상황에서 수학적 기교를 사용하여 새로운 특성을 많이 만들지 않고도 고차원에서 분류기를 학습시킬 수 있는데, 이것을 커널 기법(Kernel Trick)이라 하며 실제로 데이터를 확장하지 않고도 확장된 특성에 대한 데이터 포인트들의 거리를 계산한다. 커널 기법에는 앞서 이야기한 특성을 추가하여 고차원에서 모델을 학습시키는 다항식 커널과 차원이 무한한 특성 공간에 매핑하는 가우시간 커널(RBF 커널) 두 가지가 있다. 커널 기법과 관련된 추가적인 내용은 다소 복잡하여 여기서는 다루지 않는다.
서포트 벡터 머신 평가
- 장점 : 커널 서포트 벡터 머신은 강력한 모델이며 다양한 데이터 세트에서 잘 작동한다. 데이터의 특성이 몇개 되지 않더라도 복잡한 결정 경계를 만들 수 있다. 특히나 저차원과 고차원의 데이터(특성이 적을 때와 많을 때)에서 잘 작동한다.
- 단점 : 샘플이 많을수록 속도가 느리고 메모리 할당이 크며, 성능이 잘 나오지 않는다. 또한 데이터 전처리와 매개변수 설정에 따라 정확도가 다르기 때문에 신경을 많이 써야한다. 게다가 예측이 어떻게 결정되었는지 이해하기 어렵고 모델을 분석하기도 어렵다.
'공부 > 머신러닝' 카테고리의 다른 글
#3-(1) 비지도 학습 (0) | 2018.02.03 |
---|---|
#2-(8) 지도학습 알고리즘 : 정리 (0) | 2018.02.03 |
#2-(6) 지도학습 알고리즘 : 결정 트리 앙상블 (0) | 2018.02.01 |
#2-(5) 지도학습 알고리즘 : 결정 트리 (0) | 2018.01.31 |
#2-(4) 지도학습 알고리즘 : 나이브 베이즈 (0) | 2018.01.21 |