- 공간 변환은 기계 학습의 핵심
- 분류를 더 잘하기 위함
- 좋은 특징을 추출해서 목적 달성에 더 유리한 공간으로 변환
- 깊은 공간 변환을 통해 좋은 특징 추출 가능
커널 트릭 (Kernel Trick)
- 원래 특징 벡터 (d차원), 변환후 벡터의 차원은 q
- 선형 분리 위해 쓰이는 직선의 식은 m 차원 공간일 때 m-1 차원
- hyper plane의 식은 $x_i$가 단독으로 표현 되는 경우 없음
- 항상 inner product 만 쓰임
- 고차원 mapping 時
- $\phi(x_i)\cdot\phi(x_j)$
- 커널 함수
- $k(x_i,x_j)=간단한\ 표현식$
- 어떤 $\phi$를 통해 고차원 맵핑
- 널리 쓰이는 커널 함수
- 다항식 커널
- RBF 커널
- $K(X,Z)=\exp(\frac{-||x-z||^2_2}{2\sigma^2})$
- 하이퍼볼릭 탄젠트 커널
- $K(X,Z)=\tanh(\alpha X\cdot Z+\beta)$
- 커널 트릭
- inner product만 씀
- $\phi(x_i),\phi(x_j)$ 몰라도 됨
- $\phi$도 몰라도 됨
- $\phi$가 존재 한다는 것만 알면 됨
커널 리지 회귀 (Kernel Ridge Regression)
- 원래 데이터가 선형을 이루는 경우에만 적용 가능
- inner product가 나오지 않음
- 쌍대 문제로 변환
- duality problem
- 선형 변환
- 데이터가 비선형이라도 고차원 mapping을 통해 선형으로 변환
- 메모리 기반 예측
- 새로운 샘플이 입력되었을 때 예측에 사용되는 식
- 커널 트릭 적용 時 선형 회구로 풀 수 있음
커널 PCA (Principle Component Analysis)
- PCA 주성분 분석
- 차원 축소에 활용됨
- 고유 벡터를 구해 가장 분산이 높은 고유 벡터를 축으로 mapping
- 비선형인 경우 잘 안됨
- inner product만 쓰면 고차원으로 맵핑
SVM (Support Vector Machine)
- n 차원 공간을 2개로 짤라서 positive class, negative class로 나누는 hyper plane을 찾는 방법
- training data로 공간을 나눔
- unseen data가 들어 왔을 때 분류 성능에 대한 깔끔한 기준 있음
- margin
- hyperplane에 가장 가까운 점들과 hyperplane과의 거리
- margin이 큰 경우가 대체로 classifier로써 성능이 좋음
- SVM이 margin이 최대가 되는 hyperplane 찾아 줌
- 일반화 성능 좋아짐
- hyperpane 식
- $X\cdot w-d=0$
- 모든 차원에서 마찬가지
- negative space
- w 벡터가 가리키는 반대 방향
- $W_s\cdot X-d<0$
- positive space
- w 벡터가 가리키는 방향
- $W_s\cdot X-d\gt 0$