-
[Machine Learning] 커널 능형 회귀(Kernel Ridge Regression)Informatik 2022. 3. 2. 01:10
※ [Machine Learning] 회귀(Regression)
※ [Machine Learning] 언더 피팅과 오버 피팅(Underfitting and Overfitting)
능형 회귀(Ridge Regression)
SRM(Structural Risk Minimization) 원리로 클래스 함수(Class Function)를 제한하는 모델을 선택한다. 따라서 능형 회귀의 최적화 문제는 다음과 같다.
$$\min_{\mathbf {w}} \mathcal {E} (\mathbf {w}) \ \ \text { s.t. } || \mathbf {w} ||^2 \leq C$$
라그랑주 승수법(Lagrage Multiplier)으로 최적 $\mathbf {w}$를 구한다.
$$\nabla_{\mathbf {w}} L(\mathbf {w}, \lambda) = \nabla_{\mathbf {w}} \left ( \frac {1}{N} \mathbf {w}^{\top} \mathbf {XX}^{\top} \mathbf {w} - \frac {2}{N} \mathbf {w} \mathbf {X} \mathbf {t} + \lambda \cdot (|| \mathbf {w} ||^2 - C) \right ) = 0$$
$$\therefore \mathbf {w} = (\mathbf {XX}^{\top} + \underbrace {N \lambda}_{\lambda} \mathbf {I})^{-1} \mathbf {Xt}$$
최소 제곱 오차(Least Square Error):
$\mathbf {X} = (\mathbf {x}_1 | \cdots | \mathbf {x}_N), \mathbf {t} = (t_1, \cdots, t_N)$
$$\begin {align*}
\mathcal {E} (\mathbf {w}) &= \frac {1}{N} \sum^N_{k = 1} (\mathbf {w}^{\top} \mathbf {x}_k - t_k)^2 \\
&= \frac {1}{N} \sum^N_{k = 1} \mathbf {w}^{\top} \mathbf {x}_k \mathbf {x}^{\top}_k \mathbf {w} - 2 \mathbf {w}^{\top} \mathbf {x}_k t_k + \text {cst.} \\
&= \frac {1}{N} \mathbf {w}^{\top} \mathbf {XX}^{\top} \mathbf {w} - \frac {2}{N} \mathbf {w}^{\top} \mathbf {X} \mathbf {t} + \text {cst.}
\end {align*}$$
최소 제곱 오차의 최적 $\mathbf {w}$:
$$\mathbf {w} = (\mathbf {XX}^{\top})^{-1} \mathbf {Xt}$$
$\lambda$는 교차 검증(Cross Validation)으로 최적값을 찾을 수 있다. $\lambda$의 값이 클 수록 함수의 모양이 더 납작하다. 따라서, 노이즈(Noise)가 많은 고차원 데이터에 큰 $\lambda$값을 설정하면 도움이 된다.
※ [Machine Learning] 단순 선형 회귀(Simple Linear Regression)
※ [Machine Learning] 다중 선형 회귀(Multiple Linear Regression)
항상 선형적인 모델 $\mathbb {R}^d \rightarrow \mathbb {R}$로 회귀가 가능한 건 아니다. 비선형적인 모양을 따르는 데이터를 처리할 때, 데이터들을 특성 함수로 매핑하여 특성 공간 내에서 선형 분류를 하도록 한다.
$$\Phi: \mathbb {R}^d \rightarrow \mathbb {R}^h$$
※ [Machine Learning] 커널 기법(Kernel Method): 커널 트릭(Kernel Trick), 서포트 벡터 머신(Support Vector Machine)
커널 능형 회귀(Kernel Ridge Regression)
모델을 재정의 하여, $y = \mathbf {w}^{\top} \Phi (\mathbf {x})$, 오차 함수(Error Function)을 최소화한다. ($\mathbf {w} \in \mathbb {R}^h$)
$$\mathcal {E} (\mathbf {w}) = \frac {1}{N} \sum^N_{k = 1} (\mathbf {w}^{\top} \Phi (\mathbf {x}_k) - t_k)^2 \ \ \text { s.t. } || \mathbf {w} ||^2 \leq C$$
$$\begin {align*}
\therefore \mathbf {w} = (\Phi (\mathbf {X}) \Phi (\mathbf {X})^{\top} + \lambda \mathbf {I})^{-1} \Phi (\mathbf {X}) \mathbf {t} //
\text {where } \Phi(\mathbf {X}) = (\Phi (\mathbf {x}_1) | \cdots | \Phi (\mathbf {x}_N)), \text { and for an appropriate choice of parameter } \lambda.
\end {align*}$$새로운 데이터는 다음과 같이 회귀한다.
$$\begin {align*}
y &= \mathbf {w}^{\top} \Phi (\mathbf {x}) \\
&= \Phi (\mathbf {x})^{\top} \mathbf {w} \\
&= \Phi (\mathbf {x})^{\top} (\Phi (\mathbf {X}) \Phi (\mathbf {X})^{\top} + \lambda \mathbf {I})^{-1} \Phi (\mathbf {X}) \mathbf {t}\end {align*}$$커널 기법(Kernel Method)에서 배웠듯이 $<\Phi(\mathbf {x}) \cdot \Phi (\mathbf {x})> = \Phi (\mathbf {x})^{\top} \Phi (\mathbf {x})$을 커널 $K$로 치환하여 커널 트릭(Kernel Trick)을 적용하였다. 하지만, 여기서 문제는 위의 식에서 $\Phi (\mathbf {x}) \Phi (\mathbf {x})^{\top}$와 $\Phi (\mathbf {x})^{\top} \Phi (\mathbf {x})$는 엄연히 다르다. 따라서 커널 트릭을 적용할 수 있는 형태로 재정리해야 한다.
$$\begin {align*}
\therefore y(\mathbf {x}) &= k (\mathbf {x}, \mathbf {X})(K + \lambda \mathbf {I})^{-1} \mathbf {t} \\
&= \sum^N_{i = 1} k (\mathbf {x}, \mathbf {x}_i) \cdot \alpha_i
\end {align*}
,\text { where } \mathbf {\alpha} = (K + \lambda \mathbf {I})^{-1} \mathbf {t}$$커널 함수가 함수 $y$의 모양에 상당히 큰 영향을 끼친다.
1. Richard O. Duda, Peter E. Hart, and David G. Stork. 2000. Pattern Classification (2nd Edition). Wiley-Interscience, USA.
2. Müller, K.R., Montavon, G. (2021). Lecture on Machine Learning 1-X. Technische Universität Berlin, Berlin, Germany.
반응형'Informatik' 카테고리의 다른 글