← 문제 목록/RBF Kernel Matrix (kernel trick) [medium]
문제 해설

RBF Kernel Matrix (kernel trick) [medium]

커널 방법 · medium

preview

RBF Kernel Matrix [medium]

v1 Gram matrix 는 선형 내적 XXX X^\top. 커널 트릭: 내적 대신 비선형 유사도 함수 를 써서 고차원 공간 (정확히는 무한 차원) 의 선형 모델을 흉내낼 수 있음.

RBF (Radial Basis Function) 커널:

K(xi,xj)=exp ⁣(γxixj2)K(x_i, x_j) = \exp\!\left(-\gamma \, \lVert x_i - x_j \rVert^2\right)

  • γ>0\gamma > 0: bandwidth 파라미터. 작으면 넓게 퍼진 이웃, 크면 가까운 이웃만.
  • K(x,x)=1K(x, x) = 1.
  • 0<K(x,y)10 < K(x, y) \le 1.

효율적 계산

순진한 구현:

K[i, j] = exp(-gamma * np.sum((x_i - x_j)**2))  # O(N²D)

벡터화: xixj2=xi2+xj22xixj\lVert x_i - x_j \rVert^2 = \lVert x_i \rVert^2 + \lVert x_j \rVert^2 - 2 x_i \cdot x_j

sq = (X*X).sum(axis=1, keepdims=True)   # (N, 1)
D2 = sq + sq.T - 2 * X @ X.T            # (N, N)
K = np.exp(-gamma * np.maximum(D2, 0))

max(D2,0)\max(D^2, 0) 는 수치적 음수 방지 (fp 에러).

활용

  • Kernel SVM: K 를 행렬로 사용 (PSD 행렬 보장).
  • Gaussian Process: prior covariance 로 RBF.
  • Spectral Clustering: affinity matrix.

과제

함수 rbf_kernel(X, Y, gamma) 를 완성하세요.

  • X shape (N, D), Y shape (M, D).
  • gamma > 0.
  • 반환: shape (N, M).
  • XY 가 같을 때 대칭 + 대각 1 보장.

테스트 케이스

#이름검증
1shape (N, M)
2대각 = 1 when X=Y
3대칭 when X=Y
4값 범위 (0, 1]
5같은 점 → 1, 먼 점 → ~0
6gamma 증가 → 먼 점 빠르게 0 접근
7sklearn rbf_kernel 과 일치
코드 작성
Loading...
실행 결과

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