Non-linear feature transform이란?
Kernel Trick이란?
Kernal Trick을 적용 시 효과
Non-linear Data를 머신러닝으로 학습할 수 있다.
Non-linear Basis Function의 의미를 이해할 수 있다.
Kernel Trick의 원리를 이해할 수 있다.
피쳐 엔지니어링
커널트릭 (피쳐 트랜스폼)
곡선(논리니어 형태)으로 표현하기 위해 피쳐의 변형이 필요!
Non-linear feature transform의 정의
새로운 피쳐를 하나 조작 및 추가하여 선형 구조의 형태에서 비선형의 모델로 표현
General Polynomial Features
P차 함수로 표현 가능한 데이터가 존재할 경우
논리니어 데이터는 위와 같이 표현 가능하지만 계산량이 기하급수적으로 증가한다...
이를 해결하기 위해 kernel trick이 나타났습니다.
kernel trick
추가되는 모든 논리니어 텀을 위한 파라미터를 계산하지 않고, 그 중에 일부 계산만으로도 똑같은 결과나 효과를 얻을 수 있는 방법
Least Squares
: kenel basis
: kernel weights
기존의 보다 더 큰 매트릭스 값()을 얻고 normal equation 방법으로 값을 도출합니다.
normal equation에서 계산하는 방식과 동일합니다.
계산량을 줄이기 위해 y앞에 곱해져 있는 z 트랜스 폼을 왼쪽으로 옮깁니다.
매트릭스 인버스 계산은 연산량이 상당히 크기 때문에 실제 연산량 측면에서 큰 차이를 보입니다.
여전히 고려하는 피쳐 디멘젼에 대해 어느 정도 비례하는 계산량을 보입니다.
커널 트릭은 계산량을 한번 더 줄여나갑니다.
의 새로운 프리딕션을 얻고자 할경우 학습된 를 에 곱합니다.
의 경우 기존 학습된 피쳐 매트릭스의 형태를 갖춥니다.
연산을 바로 수행할 수 있다면 연산량을 크게 줄일 수 있습니다.
를 얻지 않아도 값을 구할 수 있는 커널 트릭 알고리즘...!
대표적인 커널 트릭 함수
를 사용하지 않아도 값을 계산할 수 있습니다!
Linear Kernel
Polynomial Kernel
Gaussian -RBF kernel은 설명을 생략합니다. (위에 그림에 나타난 수식 참조...!)
k의 값들을 샘플에서 곧바로 얻을 수 있기 때문에 굳이 아주 큰 크기의 z를 얻을 필요 없습니다.
기존의 수많은 텀을 고려하는 것보다 훨씬 계산량을 줄일 수 있습니다.