인공지능

Kernel Ridge Regression

NickTop 2025. 5. 6. 16:21

Ridge Regression

$\underset{\beta}{min} ||Y-\beta X|| +\lambda ||\beta||^2$

기존의 regression식에 정규화를 더한다

정규화 수식은 베타가 작은 값을 유지하게 만든다

베타가 작아지면 작은 x의 변화로 y가 크게 변하지 않는다

이를 통해 오버피팅을 방지한다

 

Kernel Ridge Regression

Primal Form

linear한 수식이 아닌 일반적인 식에 대해 생각해보자 $y = \phi(x)$

$\underset {\omega}{min} ||Y - \Phi \omega|| + \lambda ||\omega||^2$

(Y는 1*n 벡터입니다)

$\Phi \in \mathbb{R}^{n \times D}$

$\omega \in \mathbb{R}^{D}$

n은 데이터셋 개수, D는 특성 개수 (y = [w1,w2,w3,w4] (내적) [x1,x2,x3*x1,x1*x2]으로 풀 수 있고 이때 D=4)

 

미분가능한 함수가 최대 또는 최소를 가지는 지점은 미분이 0이 될때임 (2차함수를 생각하면 쉬움)

 

$L = ||Y - \Phi \omega|| + \lambda ||\omega||^2$

$\frac {\partial L}{\partial w} = -2\Phi^T(Y-\Phi w) + 2\lambda \omega =0$

위를 풀면

$\omega = (\Phi^T\Phi + \lambda I)^{-1}\Phi^TY$

 

Dual Form

일반적으로 kernel ridge regression은 dual form을 가리키는 말이다

https://en.wikipedia.org/wiki/Woodbury_matrix_identity

woodbury 행렬 항등식을 쓰면 $\omega$를 다음과 같이 정의할 수 있다

 

$\omega = \Phi^T(\Phi \Phi^T + \lambda I)^{-1}Y$

이를 예측식에 대입하면

$y = \phi(x)^T \omega =( \Phi \phi(x))^T(\Phi \Phi^T + \lambda I)^{-1}Y$

 

여기서 kernel을 다음과 같이 정의할 수 있습니다

$K = \Phi \Phi^T$

$K_{ij} = k(x_i,x_j)$

kernel은 위와같이 두 입력값을 통한 수식입니다

 

최종 예측값은

$\hat y(x) = [k(x_1,x),k(x_2,x),...,k(x_n,x)]^T(K+\lambda I)^{-1}Y$

 

그럼 이걸 왜 쓸까 -> 고차원 특징을 명시적으로 설계하지 않아도 됨

D가 너무 커지면 연산량이 너무 많아집니다

K의 차원은 n*n이기 때문에 feature에 weight를 곱한 모델을 만들지 않아도 됩니다

즉, feature를 설계하는 것이 아닌 kernel을 설계하는 것입니다

 

대표적으로는 RBF가 있습니다

 

https://en.wikipedia.org/wiki/Radial_basis_function_kernel

 

Radial basis function kernel - Wikipedia

From Wikipedia, the free encyclopedia Machine learning kernel function In machine learning, the radial basis function kernel, or RBF kernel, is a popular kernel function used in various kernelized learning algorithms. In particular, it is commonly used in

en.wikipedia.org