← 문제 목록/Kernel Ridge Regression (RBF 비선형 회귀) [medium]
문제 해설

Kernel Ridge Regression (RBF 비선형 회귀) [medium]

커널 방법 · medium

preview

Kernel Ridge Regression [medium]

v1 RBF kernel 자체는 유사도 행렬. 이를 Ridge 회귀 에 결합 → 비선형 회귀를 닫힌 해 로 풀 수 있음 (커널 트릭).

알고리즘

  1. KRN×NK \in \mathbb{R}^{N \times N}: 훈련 커널 행렬 Kij=exp(γxixj2)K_{ij} = \exp(-\gamma \|x_i - x_j\|^2).

  2. Ridge 해: α=(K+λI)1y\alpha = (K + \lambda I)^{-1} y

  3. 테스트 예측: y^(x)=iαiK(x,xi)=Kα\hat{y}(x_*) = \sum_i \alpha_i \, K(x_*, x_i) = K_{*}\, \alpha

    여기서 KRM×NK_* \in \mathbb{R}^{M \times N} 은 테스트-훈련 kernel matrix.

왜 강력한가

  • 특성 엔지니어링 없이 RBF 가 임의 비선형 회귀를 fit.
  • Closed-form → GD 불필요.
  • λ\lambda 로 과적합 제어.

한계

  • O(N3)O(N^3) 의 역행렬 → 큰 NN 에서 느림.
  • O(N2)O(N^2) 메모리.
  • 하지만 이 과제는 교육 목적, 소규모 데이터 가정.

과제

함수 kernel_ridge_fit_predict(X_train, y_train, X_test, gamma, lam) 를 완성하세요.

  • X_train (N, D), y_train (N,), X_test (M, D).
  • 반환: (M,) 예측값.
  • np.linalg.solve(K + λI, y) 권장.

테스트 케이스

#이름검증
1반환 shape (M,)
2훈련 데이터 자체 근사 (작은 lam)
3비선형 fit (sin 곡선)MSE 작음
4큰 lam → 스무스 (평균에 수렴)
5큰 gamma → 훈련 오버피팅 가능 (train near perfect)
6sklearn KernelRidge(kernel='rbf') 와 일치
7선형 데이터도 fit (특수 케이스)
코드 작성
Loading...
실행 결과

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