톰 미첼 교수님은 수업에서 이걸 거의 다루지 않아서 손진희 교수님의 수업 내용만 담았습니다. 아 그리고 Stanford의 Andrew Ng 교수님이 2018년에 진행하신 Machine Learning 강의를 쬐애애애끔 참고했습니다ㅋㅋ 한.. 20분 들었나ㅋㅋ Gradient Decent 전까지 들었으니까 15분쯤 되겠네요^_^
Regression을 분류과제에 사용한다고 하면, 특히 이항형(binary)일 경우에는 음.. class A일 확률이 0.5 이상이면 A로 분류하는 느낌? 제 기억으론 logistic regression이 이런 느낌이었던 거 같은데요, 교수님이 딱히 강의에서는 무어라 언급하질 않았습니다. 반면에 응 교수님은 대번에 housing 예시를 들고 오셨어요. 이를테면, $X_1$이 안방 평수, $X_2$가 거실 평수라고 하면 매개변수 $\boldsymbol{\theta}=[\theta_0, \theta_1, \theta_2]$에 대해, 집값 $Y$는 $Y=\theta_0+\theta_1X_1+\theta_2X_2$라 할 수 있는 거죠.
암튼 Regression은 분류과제에서 output이 실수값입니다. (허둥지둥 결론 내기)
Linear Regression
Logistic regression을 다루기 이전에, 제일 심플한 게 뭐가 있죠!? 선형회귀(Linear Regression)!!
식은 이렇게 생겨먹었어요.
\begin{equation}\label{eq1}y=\theta^\intercal \mathbf{x}+\epsilon\tag{1.a}\end{equation}
흠 손진희 굣님은 $\epsilon$을 쓰셨네.. 보통은 weight, bias의 약자로 $W, b$ 두 개를 많이 썼던 거 같긴 합니당
그래서 이 모델을 어떻게 써먹냐!
에러를 계산합니다. 요로코롬:
\begin{equation}\label{eq2}\text{total error}= \sum_i(y_i-\hat{y}_i)^2 = \sum_i \left(y_i-\sum_k w_kh_k(\mathbf{x_i})\right)^2 \tag{1.b}\end{equation}
복잡해 보이긴 하는데 여기서 $h_k(\mathbf{x_i})$가 일차함수인 걸 생각하면, 쉽게 말해 squared error 계산하는 식이에요. 실제와 모델로써 예측한 값의 편차 제곱인거지요. 에 근데 왜 항상 제곱을 쓰지? 그냥 |편차| 쓸 수도 있는 거 아닌가! 라고 생각했는데 마침 Ng 교수님이 나중에 알려주겠다고 해서 결국 강의 끝까지 들어야하는 호기심 많은 학생 돼버림..ㅜㅡㅜ 언젠간 다 들을 겁니다..
이건 꼭 $h_k(\mathbf{x_i})$가 일차식이 아니어도 이렇게 써먹을 수 있다는군요? 나중에 SVM(soft vector machine) 다룰 때 자세하게 배우는 것 같긴 한데, non-linear한 경우에도 linear problem으로 만들어버릴 수 있대요. $\ref{eq2}$에서 등장한 $h_k(\mathbf{x_i})$가 사실.. $x^2$여도, 결국 $w_k$로 인해 linear problem이 된다는데.. 솔직히 뭔소린지 모르겠군요^^ 일단 넘어가봅시다. 그래도 $h_k(\mathbf{x_i})$, 즉 feature 각각에 대한 basis function을 이렇게 표기한다는 건 알고 넘어갑시다. 곧 쓸 거걸랑..
아무튼 결론적으로 저 총 에러를 줄이는 방향으로 학습을 하겠다는 게 회귀 모델의 전략입니다.
근데 우리가 지금 $\theta^\intercal$을 썼잖아요 그치.
그럼 당연히 행렬을 생각해야지!!
$n$개의 sample이 있는 데이터셋 $\mathcal{D}=\{(x^{(i)}, y^{(i)})\}^n_{i=1}$를 행렬로 나타내보자구요. $X$는 Design Matrix라고 해서, feature $p$개로 구성된 각각의 데이터 $x^{(i)}$들을 한데 모아둔 행렬 형태로 나타낼 거고, $Y$는 response vector라고 해서 $x^{(i)}$에 대응하는 output $y^{(i)}$ —이건 스칼라겠지요— 를 일렬로 쓴 벡터로 나타낼 겁니다. 그럼 식이...
\begin{equation}\label{eq3}
Y = X\theta+\epsilon \\
\text{where }\epsilon\text{ is }n\times1 \text{ vector.}
\tag{1.c}
\end{equation}
아무튼 그걸 염두에 두고 closed-form solution을 구하는 식을 들여다봅시다.
\begin{equation}\label{eq4}
\begin{split}
\mathbf{w}^* &= \arg\min_{\mathbf{w}} \sum_{j=1}^N \left( t(\mathbf{x}_j) - \sum_{i=1}^k w_i h_i(\mathbf{x}_j) \right)^2 \quad (y_j=t(\mathbf{x}_j)) \\
&= \arg\min_{\mathbf{w}} (\mathbf{H}\mathbf{w}-\mathbf{t})^\top(\mathbf{H}\mathbf{w}-\mathbf{t}) = \arg\min_{\mathbf{w}} \mathbf{F}(\mathbf{w}), \\
\nabla_{\mathbf{w}} \mathbf{F}(\mathbf{w}) &= 2\mathbf{H}^\top(\mathbf{H}\mathbf{w}-\mathbf{t}) \\
&= \mathbf{H}^\top \mathbf{H}\mathbf{w} - \mathbf{H}^\top\mathbf{t} = \mathbf{0}, \\
\therefore \quad \mathbf{w}^* &= (\mathbf{H}^\top \mathbf{H})^{-1}\mathbf{H}^\top\mathbf{t}.
\end{split}
\tag{1.d}
\end{equation}
우웩.. 여기서 갑자기 등장한 $\mathbf{H}$는 뭔고, 하니! 아까 $\ref{eq2}$에서 언급한 basis function들을 matrix로 나타낸 것이에요.
여기서 $\mathbf{A}=\mathbf{H}^\top \mathbf{H}$이고, $\mathbf{b}=\mathbf{H}^\top\mathbf{t}$인데요, 그냥 통상적으로 이렇게 나타내는 거 같음ㅋㅋ
Moore-Penrose pseudo-inverse
여기서 교수님이 Moore-Penrose pseudo-inverse라는 개념을 소개하시는군요..? 어휴 뭘 이런 걸 다
$\mathbf{X}$가 square 행렬이고 invertible할 때(역행렬이 존재할 때) pseudo-inverse $\mathbf{X}^\dagger$는,
$$
\mathbf{X}^\dagger = (\mathbf{X}^\intercal \mathbf{X})^{-1} \mathbf{X}^\intercal = \mathbf{X}^{-1}
$$
가 성립한다고 합니다. 그럼 결국 이런 특수한 상황에서는 솔루션이, $\mathbf{w^*}=\mathbf{H}^{-1}\mathbf{t}$
가 되겠네요. 어질..
헉 아까 왜 squared error지? 했던 물음에 대한 답을 손진희 교수님이 스포해버렸습니다! 이건 가우시안과 관련이 있네요. prediction function $t(\mathbf{x})$이 linear + gaussian noise..라고 하는군요? bias term을 이렇게 주나봅니다. 그래서 이렇게 나타낸대요!
\begin{equation}\label{eq5}
t(\mathbf{x}) = \mathcal{N}(\mathcal{w}^\intercal h(\mathcal{x}), \sigma^2)
\tag{1.e}
\end{equation}
아 이번 포스트 굵은 글씨 많네요.. 킹받..
그래서 통계학적으로 해석할 때 유의미한 .. 뭔가가 있네요. ㅋㅋ 나 지금 확통 공부하는 거야 뭐야
이게 의미가 있는 이유는 꼴이 이렇게 되기 때문인데요..
\begin{equation}\label{eq6}
P(t|\mathbf{x}, \mathbf{w},\sigma) = \frac{1}{\sigma\sqrt{2\pi}}\exp{\left(-\frac{(t-\sum_iw_ih_i(\mathbf{x}))^2}{2\sigma^2}\right)}
\tag{1.f}
\end{equation}
$\exp$의 지수에 들어가는 게 이모양이라 그렇습니다;; 이게 왜 중요하냐면....
Independent and identically distributed (iid) & Gaussian Distribution
지난 포스트에서 짧게 언급을 했는데요, 이 그림을 다시 봐볼까요
저 decision boudary가 선형이려면 iid가 전제되어야 한다, 즉 y label인 애들끼리는 $\sigma^2$이 전부 같아야 한다고 톰 미첼 교수님이 말씀하셨었는데요, 이게 사실은 homoscedasticity와 관련된 개념이었던 것입니다... 두둥.
위키피디아야 도와줘~
In statistics, a sequence of random variables is homoscedastic (/ˌhoʊmoʊskəˈdæstɪk/) if all its random variables have the same finite variance; this is also known as homogeneity of variance. The complementary notion is called heteroscedasticity, also known as heterogeneity of variance.
그림을 봐야겠어요. 이게 무슨 소리냐면,
얘 봐봐요 이렇게 폭이 일정하잖아요? 손진희 교수님은 이걸,
"the errors e are independent with the same variance $\sigma^2$ (Constant variance)"라고 표현을 하셨네영
여기서 한 술 더 뜨셔서 아예 폭이 동일한 가우시안 pdf를ㅋㅋㅋ 촘촘히 그려두셨는데 그건 올리진 않겠습니다.
근데 저 오른쪽 아이를 보면 폭이 다르단 말이지요. 이걸 '다르다'는 의미를 가진 Hetero-라는 용어를 굳이 붙여서 표현하는데, 우리는 이러면 linear boundary 어쩌고 하는 걸 생각해줄 수가 없나봐요.. 암튼 그렇습니다.
자 다시, 우리 데이터셋으로 돌아옵시다. iid를 가정했으니까, 이렇게 써줄 수도 있을 거 같아요.
\begin{equation}\label{eq7}
\begin{split}
p(\mathcal{D}) & = \prod^n_{i=1}p(x^{(i)}, y^{(i)}) \\
& = \prod^n_{i=1}p(x^{(i)})p(y^{(i)}|x^{(i)})
\end{split}
\tag{2.a}
\end{equation}
아까 우리가 $\ref{eq6}$에서 데이터가 이러저러할 때 $(\mathbf{x}, \mathbf{w},\sigma)$ $t$가 이러저러하다~ 하는 걸 가우시안으로 정의해줬잖아요? 그게 바로... $p(y^{(i)}|x^{(i)})$랍니다!
결국 또 이걸 maximize하면 됩니다. 그놈의 추정추정추정!!! (급발진) 이걸 이뿌게 정리하면 놀랍게도
\begin{equation}\label{eq8}
\hat{\theta} = \arg\min_\theta \sum_i^n(y_i-\theta^\intercal x_i)^2
\tag{2.b}
\end{equation}
어머머.
뭐야 그럼 넘 쉽잖아!!!
이거 열심히 계산해서 풀면, 저 위에 제가 더보기 해놓은 게 있는데 거기 식이랑 똑같이 돼요.
\begin{equation}\label{eq9}
\hat{\theta} = (\mathbf{X}^\intercal \mathbf{X})^{-1} \mathbf{X}^\intercal Y
\tag{2.c}
\end{equation}
손 교수님... 큰그림 엄청나..ㄷㄷ
엥 근데 앞에서 구한 $\mathbf{w*}$랑 얘랑 대체 뭔차이임 왜 걔는 $\mathbf{H}$..?
암튼 이 식은 총 세 가지 방법으로 해석할 수 있어요.
- Geometric interpretation*
- Probabilistic model
- Loss minimization
기하학적인 해석은 이 피피티를 참고...! 이건 내가 못그리겠음ㅋㅎ
일단 오늘은. 여까지 하고. 이 뒤에 또 있거든요..? 그건 조만간 공부해서 올릴래.. 도무지 한 번엔 안 되겠다^^
'coursework > Machine Learning & Deep Learning' 카테고리의 다른 글
SP24) Bagging & Boosting (Ensemble) (0) | 2024.05.25 |
---|---|
SP24) Bias-Variance Tradeoff (1) | 2024.04.01 |
SP24) Linear Regression II (1) | 2024.03.31 |
SP24) Naive Bayes Classifier 2 (3) | 2024.03.24 |
SP24) Naive Bayes Classifier 1 (0) | 2024.03.20 |