'단단한 머신러닝' 책과 스터디 내용을 기반으로 작성하였습니다.
6.1 마진과 서포트 벡터
1) 생각의 시작
- 분류 학습의 기본적인 아이디어
- 샘플 공간에서 하나의 분할기준을 찾아 서로 다른 클래스의 샘플을 분리하는 것
- 분할 초평면은 k차원에서 k-1차원의 서로다른 샘플을 나누는 경계면입니다.
- 각 클래스들의 경계를 지나는 데이터 포인트들을 서포트 벡터라고 하며 서포트 벡터들의 중간을 지나는 경계가 초평면입니다.
- 그리고 서포트 벡터들의 사이 거리를 마진이라고 합니다.
- 초평면의 방향은 법선 벡터에 의해 이루어지며 법선 벡터는 방향과 크기가 있는 벡터입니다.
6.2 커널함수
1) 선형 분리가 불가한 경우
- 저차원에서 선형으로 분리가 불가한 경우 고차원에 투영시켜 분리가 가능하게 만들 수 있습니다.
- 원시 공간이 유한한 차원을 가질 때 속성의 갯수가 유효하다면 고차원 특성 공간에서 샘플을 분할할 수 있습니다.
- 특정 투영의 형식이 커널 함수 선택에 영향을 미치며 이는 학습에 큰 영향을 미칩니다.
2) 커널 함수
- 선형 커널
- 다항식 커널
- degree, 차수가 증가되어 플리지 않던 구분이 가능한 커널
- 가우스 커널
- 가우스 분포(정규분포)를 이용하여 구분하는 커널
- 라플라스 커널
- 가우스 커널에 비해 상대적으로 이상치에 대한 민감도가 낮아 더 robust한 성능
- 시그모이드 커널
- 기본적으로 데이터를 고차원에 매핑하고 tanh 함수를 추가하여 비선형성을 증가시켜 더 복잡한 패턴의 학습을 돕습니다.
6.3 소프트 마진과 정규화
1) 적절한 커널 함수를 알지 못하는 경우
- 약간의 오류를 허용하여 혹시나 발생할 수 있는 과적합 문제를 해결할 수 있습니다.
2) 소프트 마진
- 모든 샘플들이 정확하게 분류되어야하는 하드 마진과 다르게 마진의 폭 사이에 어느정도의 오차가 있어도 용인해 주는 것을 말합니다.
- scikit-learn SVM 모델 파라미터 중 'tololence'가 용인의 강도를 정합니다.
6.4 서포터 벡터 회귀
1) 전통적 회귀 vs 서포터 벡터 회귀
- 전통적 회귀
- 결과값과 실제 값 사이의 차이에서 오는 손실을 계산
- 서포트 벡터 회귀
- 결과값과 실제 값 사이의 최대 ϵ만큼의 편차까지는 용인
- 둔감 손실 함수
6.5 커널 기법
- 훈련 샘플이 주어질 때 편향 b를 고려하지 않는다면 SVM이나 SVR이 학습하여 얻은 모델은 커널 함수의 선형 조합으로 표현할 수 있습니다.
- 커널화를 통해 선형 학습기를 비선형 학습기로 향상