RBF Kernel
RBF 커널 또는 Gaussian 커널이라고도 불리는 함수
- 머신 러닝에서 Kernel Function으로 널리 사용되는 함수
- 서포트 벡터 머신(SVM), 커널 PCA 등의 알고리즘에서 사용.
- similarity 계산 및 고차원 feature space에 매핑후 inner product 값을 구하는 등에서 사용됨.
- similarity metric으로 사용됨 (distnace function은 아님)
distance 와 similarity의 차이가 명확하지 않으면 다음 접은 글을 참고
Kernel(커널)이 무엇인지 명확하지 않으면 다음 접은 글을 참고
1. 정의:
RBF 커널은 두 샘플 $\textbf{x}$와 $\textbf{y}$ 사이의 유사도를 다음과 같이 정의:
$$K(\textbf{x}, \textbf{y}) = \exp(-\gamma |\textbf{x} - \textbf{y}|^2)$$
where,
- $|\textbf{x} - \textbf{y}|$는 $\textbf{x}$와 $\textbf{y}$ 사이의 유클리드 거리.
- $\gamma$는 Kernel의 폭을 조절하는 parameter.
2. 특징:
- 값의 범위:
- (0,1]
- 1은 완전히 동일함을,
- 0은 매우 다름 을 의미함 (이론적으로 0은 안나옴).
- 거리에 따른 감소:
- 두 점 사이의 거리가 멀어질수록
- similarity가 지수적으로 감소: RBF는 동일성과 tri-angular inequality가 성립하지 않아서 distance function이 아닌 similarity function임.
- nonlinear(비선형) 변환:
- 원본 특성 공간을
- 무한차원의 힐베르트 공간(정확히는 Reproducing Kernel Hilbert Space)으로 암시적으로 mapping.
- 원본 feature space에서 선형 분리가 안되던 것을 무한차원의 RKHS로 mapping하여 Decision Boundary를 찾아내는데 사용됨.
3. $\gamma$ (gamma) Parameter:
- $\gamma$가 크면:
- Similarity가 빠르게 감소하여
- classifier decision boundary(결정 경계)가 더 구불구불해짐: 이같은 RBF를 사용하는 SVM의 경우 복잡도 상승.
- overfitting 위험
- $\gamma$가 작으면:
- 유사도가 천천히 감소하여
- 결정 경계가 더 부드러워짐: 복잡도 감소
- underfitting 위험.
4. 장점:
- 다양한 데이터셋에 잘 작동.
- 모델의 복잡성을 쉽게 조절할 수 있($\gamma$를 통해).
- 비선형 관계를 잘 포착.
5. 단점:
- 고차원 데이터에서는 계산 비용이 높을 수 있음.
- $\gamma$ 값의 적절한 선택이 매우 중요(성능에 끼치는 영향이 큼)하며,
- 이는 보통 교차 검증 등을 통해 세심하게 결정되어야 함.
6. scikit-learn에서의 사용:
from sklearn.metrics.pairwise import rbf_kernel
X = [[0, 0], [1, 1]]
similarity_matrix = rbf_kernel(X, gamma=0.1)
위의 경우처럼 참조 포인트(ref_pnt, Y)를 명시하지 않으면,
- RBF 커널은 입력 데이터셋 내의 모든 포인트 쌍 사이의 similarity를 계산함.
- 이는 데이터셋 전체의 구조를 파악하는 데 유용,
- 대규모 데이터셋에서는 계산 비용과 메모리 사용에 주의해야 함: $O(n^2)$.
7. 결론
RBF 커널은 그 유연성과 효과적인 비선형 매핑 능력 때문에 많은 머신 러닝 애플리케이션에서 선호됨.
특히 데이터의 구조나 관계에 대한 사전 지식이 부족할 때 좋은 선택이 될 수 있음.
'Programming > ML' 카테고리의 다른 글
[ML] Embedding의 수학적 정의 및 Embedding Layer (0) | 2024.09.28 |
---|---|
[ML] Kernel Function 이란: Kernel Trick 포함 (0) | 2024.09.28 |
[ML] Ensemble 기법 (0) | 2024.09.08 |
[Fitting] Total Least Square Regression (1) | 2024.06.22 |
[ML] RANdom SAmple Consensus (RANSAC) (0) | 2024.06.13 |