
다항식 커널 (Polynomial Kernel)
63번 RBF 커널 은 거리 기반이라 방향을 무시. Polynomial 커널 은 내적을 기반으로 d 차 비선형 경계를 만듭니다:
K(x,y)=(γx⋅y+c0)d
- γ: 내적 스케일.
- c0≥0: 상수항 (0 이면 순수 homogeneous 커널).
- d∈N: 차수. d=1 이면 선형 커널의 아핀 변형.
왜 유용한가
- 텍스트/이미지에서 특성 간 곱(interaction feature) 을 명시적으로 만들지 않고도 d차 모든 상호작용 포함.
- SVM kernel trick: (x⋅y)2 는 사실 (xixj)i,j feature space 의 내적.
- RBF가 너무 유연할 때 더 구조화된 선택.
주의
- d 가 커지면 수치 폭발 가능 — 입력 정규화 권장.
- RBF와 달리 값이 클 수 있음 (1 에 유계가 아님).
과제
함수 polynomial_kernel(X, Y, gamma, coef0, degree) 를 완성하세요.
X shape (N, D), Y shape (M, D), 셋 다 스칼라 하이퍼파라미터.
- 반환: shape
(N, M) — 각 쌍 (xi,yj) 의 커널 값.
- 한 줄:
(gamma * X @ Y.T + coef0) ** degree.
테스트 케이스
| # | 이름 | 검증 |
|---|
| 1 | shape (N, M) | |
| 2 | degree=1, gamma=1, coef0=0 → 선형 Gram | |
| 3 | 손계산 일치 | toy (2, 2) 예제 |
| 4 | X == Y → 대칭 | |
| 5 | degree=2 결과 ≥ 0 (coef0 ≥ 0 일 때) | |