커널 SVM(Kernel Support Vector Machine)
은 선형으로 분리되지 않는 데이터를 분류하기 위해
입력 데이터를 고차원 공간으로 매핑해서 선형 분리가 가능하도록 만들어주는 SVM의 확장 버전이야.
⸻
1. 왜 커널이 필요한가?
예를 들어 이런 데이터가 있다고 하자:
Class A: ● ● (원 안)
Class B: ○ ○ (원 밖)
이건 **직선(2차원 초평면)**으로 나눌 수 없어. 하지만 3차원으로 올리면 원 안/밖을 평면으로 나눌 수 있음.
즉, 커널은 직선으로 못 나누는 문제를, 차원을 바꿔서 쉽게 나누게 해주는 도구야.
⸻
2. **커널 함수(Kernel Function)**란?
데이터를 실제로 고차원으로 보내지 않고, 고차원 공간에서의 내적(점곱) 결과만 계산하게 해주는 수학적 트릭.
K(x, x{\prime}) = \phi(x) \cdot \phi(x{\prime})
여기서
• x, x': 입력 데이터
• φ: 고차원으로 올리는 함수
• K: 커널 함수 → 실제로는 φ를 계산하지 않고 결과만 뽑음 (효율성 최고)
⸻
3. 자주 쓰이는 커널 함수 종류
커널 함수 종류, 수식 형태, 특징
선형 (Linear)
K(x, x{\prime}) = x \cdot x{\prime}
원래 SVM과 동일. 빠름
다항식 (Polynomial)
K(x, x{\prime}) = (x \cdot x{\prime} + c)^d
곡선 경계 가능
RBF (Gaussian)
K(x, x{\prime}) = \exp(-\gamma |x - x{\prime}|^2)가장 많이 사용. 복잡한 구조도 분리 가능
Sigmoid
K(x, x{\prime}) = \tanh(\alpha x \cdot x{\prime} + c)
신경망처럼 작동
⸻
4. 커널 SVM의 장점
• 복잡한 데이터 분포도 분류 가능
• 실제 고차원 계산 없이 빠르고 효율적
• 고차원일수록 선형 분리가 쉬워짐 (Cover’s theorem)
⸻
5. 단점
• 하이퍼파라미터(γ, C 등) 조정이 민감
• 데이터가 많아지면 느림
• 모델 해석이 어려움
⸻
요약:
• 커널 SVM = 차원을 높여서 쉽게 분류할 수 있도록 하는 SVM
• 커널 함수 = 고차원으로의 매핑을 수학적으로 흉내 내는 도구
• 복잡한 경계가 필요한 경우 강력함
⸻
Q1: RBF 커널의 γ(감마) 값은 모델에 어떤 영향을 미칠까?
Q2: 커널 함수를 직접 선택할 때 기준은 뭐야?
Q3: 커널 SVM과 신경망은 어떤 점에서 경쟁하거나 보완할 수 있을까?

'무근본 IT 지식 공유' 카테고리의 다른 글
http 웹 요청시 302 found 응답이 올 경우 무슨 내용일까?! (0) | 2025.05.20 |
---|---|
curl 명령어로 tls 인증서 무시하고 https 요청 보내는 방법 (0) | 2025.05.20 |
최대 마진 초평면(Maximum Margin Hyperplane)이란?! -서포트벡터머신 (0) | 2025.05.09 |
[머신러닝] K-NN (K-Nearest Neighbors) 방식이 뭐야?! (0) | 2025.05.09 |
서포트 벡터 머신(SVM, Support Vector Machine)이 뭐야?! (1) | 2025.05.09 |
댓글