-
[Machine Learning] 커널 능형 회귀(Kernel Ridge Regression)Informatik 2022. 3. 2. 01:10
※ [Machine Learning] 회귀(Regression)
[Machine Learning] 회귀(Regression)
통계학에서 회귀 분석이란 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법이다. [wikipedia] 분류(Classification) vs. 회귀(Regression) 분류는 $\mathbb {R}^d$상.
minicokr.com
※ [Machine Learning] 언더 피팅과 오버 피팅(Underfitting and Overfitting)
[Machine Learning] 언더 피팅과 오버 피팅(Underfitting and Overfitting)
일반적으로 학습 데이터는 실제 데이터의 부분 집합이므로 학습 데이터에 대해서 오차가 감소하지만 실제 데이터에 대해서 오차가 증가하는데, 이 현상을 오버 피팅이라고 부른다. [wikipedia] $m$
minicokr.com
능형 회귀(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] 단순 선형 회귀(Simple Linear Regression)
※ [Machine Learning] 회귀(Regression) [Machine Learning] 회귀(Regression) 통계학에서 회귀 분석이란 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법이다. [wi..
minicokr.com
※ [Machine Learning] 다중 선형 회귀(Multiple Linear Regression)
[Machine Learning] 다중 선형 회귀(Multiple Linear Regression)
※ [Machine Learning] 회귀(Regression) 공부하기 [Machine Learning] 회귀(Regression) 통계학에서 회귀 분석이란 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법..
minicokr.com
항상 선형적인 모델 $\mathbb {R}^d \rightarrow \mathbb {R}$로 회귀가 가능한 건 아니다. 비선형적인 모양을 따르는 데이터를 처리할 때, 데이터들을 특성 함수로 매핑하여 특성 공간 내에서 선형 분류를 하도록 한다.
$$\Phi: \mathbb {R}^d \rightarrow \mathbb {R}^h$$
※ [Machine Learning] 커널 기법(Kernel Method): 커널 트릭(Kernel Trick), 서포트 벡터 머신(Support Vector Machine)
[Machine Learning] 커널 기법(Kernel Method): 커널 트릭(Kernel Trick), 서포트 벡터 머신(Support Vector Machine)
기계 학습에서 회귀(Regression)나 $$(\mathbf {x}_1, y_1), \cdots, (\mathbf {x}_N, y_N) \in \mathbb {R}^n \times \mathbb {R}^m$$ 분류(Classification) $$(\mathbf {x}_1, y_1), \cdots, (\mathbf {x}_N, y_..
minicokr.com
커널 능형 회귀(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' 카테고리의 다른 글