← 문제 목록/다항식 커널 (Polynomial Kernel)
문제 해설

다항식 커널 (Polynomial Kernel)

커널 · easy

preview

다항식 커널 (Polynomial Kernel)

63번 RBF 커널 은 거리 기반이라 방향을 무시. Polynomial 커널 은 내적을 기반으로 dd 차 비선형 경계를 만듭니다:

K(x,y)=(γxy+c0)dK(x, y) = (\gamma \, x \cdot y + c_0)^d

  • γ\gamma: 내적 스케일.
  • c00c_0 \ge 0: 상수항 (0 이면 순수 homogeneous 커널).
  • dNd \in \mathbb N: 차수. d=1d=1 이면 선형 커널의 아핀 변형.

왜 유용한가

  • 텍스트/이미지에서 특성 간 곱(interaction feature) 을 명시적으로 만들지 않고도 dd차 모든 상호작용 포함.
  • SVM kernel trick: (xy)2(x \cdot y)^2 는 사실 (xixj)i,j(x_i x_j)_{i,j} feature space 의 내적.
  • RBF가 너무 유연할 때 더 구조화된 선택.

주의

  • dd 가 커지면 수치 폭발 가능 — 입력 정규화 권장.
  • RBF와 달리 값이 클 수 있음 (1 에 유계가 아님).

과제

함수 polynomial_kernel(X, Y, gamma, coef0, degree) 를 완성하세요.

  • X shape (N, D), Y shape (M, D), 셋 다 스칼라 하이퍼파라미터.
  • 반환: shape (N, M) — 각 쌍 (xi,yj)(x_i, y_j) 의 커널 값.
  • 한 줄: (gamma * X @ Y.T + coef0) ** degree.

테스트 케이스

#이름검증
1shape (N, M)
2degree=1, gamma=1, coef0=0 → 선형 Gram
3손계산 일치toy (2, 2) 예제
4X == Y → 대칭
5degree=2 결과 ≥ 0 (coef0 ≥ 0 일 때)
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.