Kernel function: 머신러닝, 특히 SVM(Support Vector Machine)과 같은 알고리즘에서 중요한 역할을 하는 함수. 커널 함수는 두 개의 입력 벡터를 받아 두 벡터 간의 유사도 또는 내적 값을 계산하는 역할을 한다. 유사도 또는 내적 값은 입력 데이터를 더 고차원 공간으로 매핑하거나 유사도를 측정하여 머신러닝 모델에서 판별 경계를 만들 때 사용한다.
- 내적을 사용해서 두 벡터사이의 similarity를 구하는 경우가 많음.
- 즉, kernel function은 저차원 입력 공간 데이터를 고차원 특성 공간으로 mapping하여 ‘비선형 관계를 선형으로 변환하는 역할’을 수행한다.
SVM(Support Vector Machine): 선형이나 비선형 분류, 회귀, 특이치 탐지에도 사용할 수 있는 '다목적 머신러닝 모델'.
위 그래프를 보면 직선이 두 개의 클래스를 나누고 있을 뿐만 아니라 제일 가까운 훈련 샘플로부터 가능한 한 멀리 떨어져 있는 것을 볼 수 있다.
도로 바깥쪽에 훈련 샘플을 더 추가해도 결정 경계에는 전혀 영향을 미치지 않는다.
- 샘플에 의해 전적으로 결정됨.
- 이런 샘플을 ‘서포트 벡터’ 라고 한다. (해당 그래프에서 반 투명 도형)
- 즉, SVM 분류기를 클래스 사이에 가장 폭이 넓은 도로를 찾는 것으로 생각할 수 있다.
- 그래서 이를 ‘라지 마진 분류(large margin classification)’ 라고 한다.
Kernel: kernel function에서의 kernel은 두 벡터의 내적(inner product)이다.
Kernel trick: kernel function의 핵심 응용은 커널 트릭이다. 이를 통해서 실제로 고차원 변환을 수행하지 않고도 고차원 공간에서의 inner product 결과를 얻을 수 있다.
- Kernel trick 관점에서 kernel function은
- 입력 벡터 a, b에 기반하여 ‘다차원 매핑 변환(원래 공간에서 고차원 공간 특성으로의 mapping fuction)을 한 후의 dot product(inner product)’를 실제로 매핑 변환을 하지 않고도 계산할 수 있는 함수를 말한다.
- Kernel trick은 kernel function으로 매핑 이후의 inner product를 계산함.
- 즉, kernel function을 이용해서 kernel trick이 계산을 함.
- 커널 함수는 실제로 고차원으로 변환하진 않았지만, 변환한 것처럼 계산할 수 있는 함수
RBF Kernel (Radial Basis Function)
- 가우시안 커널이라고도 불리며, RBF 형태를 취하는 즉, 가우시안 형태를 취하는 커널이다.
- 차원이 무한한 특성 공간에 매핑하는 것 → 즉, 모든 차수의 모든 다항식을 고려한다고 이해할 수 있음
- 머신 러닝에서 kernel function으로 널리 사용되는 함수
<RBF 커널-두 샘플 사이의 유사도>
- 감마: 파라미터. 커널의 흩어짐 세팅. 가우시안 분포에서 ‘분산’에 해당함. 즉, 커널의 폭을 조절한다.
- 감마가 크면 유사도가 빠르게 감소 → 결정 경계가 더 구불해짐. → 이 같은 RBF를 사용하는 SVM의 경우 복잡도가 상승한다. : overfitting 위험
- 감마가 작으면 유사도가 천천히 감소 → 결정 경계가 더 부드러워짐. → 복잡도 감소 underfitting 위험
- 감마를 통해서 모델의 복잡성을 쉽게 조절할 수 있다. → 그러나 감마 값의 적절한 선택이 중요하다.
앞에서 한 설명처럼 RBF kernel을 이용하면 차원이 무한한 공간에 매핑을 할 수 있어서 매우 복잡한 비선형 결정 경계를 만들 때 사용할 수 있다. → 데이터 포인트 간의 거리에 기반하여 데이터를 고차원 공간으로 매핑.
머신러닝에서의 RBF kernel 사용
- SVM과 같은 선형 분류 모델에서 비선형 경계를 사용해야할 때 고차원 공간에서 선형적으로 분리할 수 있게 해준다.
총정리
저차원 공간에서 선형 분리가 되지 않는 데이터를 분리하고자 하면 고차원으로 확장해 분리하는 방법이 있다. 이 때 저차원 공간의 데이터를 고차원 공간으로 매핑 시켜주는 함수가 kernel function이다. 커널 함수 중 가우시안 커널(RBF kernel)은 감마를 이용해 유사도를 조절해주면서 고차원 맵핑된 데이터를 평면으로(비선형으로) 나누어 줄 수 있다. RBF kernel은 효과적인 비선형 매핑 능력을 가지고 있고, 데이터 구조나 관계에 대한 사전 지식이 부족할 때 좋은 선택이 될 수 있다.
'머신러닝' 카테고리의 다른 글
sklearn, pandas, numpy, matplotlib (0) | 2024.10.09 |
---|---|
핸즈온 머신러닝 3판 2장(2) (1) | 2024.10.09 |
핸즈온 머신러닝 3판 2장(1) (3) | 2024.10.09 |
핸즈온 머신러닝 3판 2장 (0) | 2024.10.06 |
핸즈온 머신러닝 3판 1장 (1) | 2024.09.27 |