Linear Regression, GD, and Normal Equation
๋ณธ ๊ธ์ 2018-2ํ๊ธฐ Stanford Univ.์ Andrew Ng ๊ต์๋์ Machine Learning(CS229) ์์ ์ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
โ lecture video
Part I: Linear Regression
Q. ๋ฌด์์ด Regression์ธ๊ฐ?
A. ์์ธกpredictํ๊ณ ์ ํ๋ target variable์ด continuous ํ๋ค๋ฉด, ๊ทธ prediction์ Regression์ด๋ผ๊ณ ํ๋ค. (๋ง์ฝ target variable์ด discrete ํ๋ค๋ฉด, ๊ทธ prediction์ classification์ด๋ผ๊ณ ํ๋ค.)
โ๋ฅ๋ฌ๋์ prediction goal์ ๋ช ํํ๊ฒ ์ ์ํด์ผ prediction์ ํ ์ ์๋ค.โ
โregression์ prediction ํ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ ์ค ํ๋์ผ ๋ฟ์ด๋ค.โ
single-var. regression์ ํ๋ ๊ฒฝ์ฐ๋ณด๋ค๋ multi-var. regression์ ์ฃผ๋ก ํจ.
Q. regression์ ์ด๋ป๊ฒ predictionํ๋๊ฐ?
A. ์ฃผ์ด์ง parameter $\theta$์ ๋ํ hypothesis function $h(x; \theta)$์ ๊ฐ์ด prediction ๊ฐ์ด๋ค.
Q. parameter $\theta$๋ฅผ ์ด๋ป๊ฒ ์ต์ ํํ ๊น?
A. cost function $J(\theta)$๋ฅผ ์ ์ํ๊ณ cost ๊ฐ์ minimize ํ๋ ๋ฐฉํฅ์ผ๋ก learning ํ๋ค.
1. LMS algorithm
LMSLeast Mean Square๋ cost $J(\theta)$๋ฅผ minimizeํ๋ ์ ์ ํ $\theta$๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ.
LMS algorithm์ GDGradient Descent๋ฅผ ํตํด ๋งค iteration๋ง๋ค $\theta$๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
LMS๋ cost $J(\theta)$ ๋๋ฌธ์ ๋ถ์ ์ด๋ฆ1, GD๋ LMS์์ iteration algorithm์ ๋ด๋นํ ๋ฟ์.
$\alpha$๋ learning rate์ด๋ค.
$\cfrac {\partial}{\partial {\theta}_j}J(\theta)$๋ ๊ทธ๋ฅ ํธ๋ฏธ๋ถ ํด์ ๊ตฌํ๋ฉด ๋จ.
batch GD vs. stochastic GD
batch GD๋ $\theta$๋ฅผ ํ๋ฒ ์ ๋ฐ์ดํธ ํ๊ธฐ ์ํด training set ์ ์ฒด์ ๋ํ cost ๊ฐ์ ๊ณ์ฐํ๋ค.
stochastic GD(=SGD)๋ training set์ ์์ ํ๋๋ฅผ ๋ณด๊ณ , $\theta$๋ฅผ ํ๋ฒ ์
๋ฐ์ดํธ ํ๋ค.
โ SGD๊ฐ batch GD๋ณด๋ค ๋น ๋ฆ!
we update the parameters according to the gradient of the error with respect to that single training example only. |
Note however that it may never โconvergeโ to the minimum, and the parameters $\theta$ will keep oscillating around the minimum of $J(\theta)$; but in practice most of the values near the minimum will be reasonably good approximations to the true minimum. |
2. Normal Equation
:warning: only work for โLinearโ regression :warning:
minimize $J(\theta)$ by explicitly taking its derivatives with respect to the ${\theta}_j$โs
Matrix Derivatives
matrix function $f: \mathbb{R}^{m \times n} \rightarrow \mathbb{R}$
cost function $J(\theta)$๊ฐ ๋ํ์ ์ธ matrix function์.
์ด๋ฒ์ ๋๋ค๋ฅธ matrix function์ธ $\textrm{tr} A$๋ฅผ ์ดํด๋ณด์.
cost function $J(\theta)$๊ฐ $\mathbb{R}^{n \times 1}$์ธ ์ด๋ฒกํฐ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ๋๋ค๋ฉด, $\textrm{tr} A$๋ $\mathbb{R}^{n \times n}$์ ์ ์ฌ๊ฐ ํ๋ ฌ์ ์ ๋ ฅ์ผ๋ก ๋ฐ๋๋ค. $\textrm{tr} A$์ derivative์ ํํ๋ ๋ค์๊ณผ ๊ฐ๋ค.
$\textrm{tr} A$์ ๋ํ derivative ๊ณต์๋ค์ ์ดํด๋ณด์.
(1) $\nabla _{ A } f\left( A \right) = B^T$
(2) $\nabla _{ {A}^{T} } f\left( A \right) = {\left( \nabla _{ A }f\left( A \right) \right)}^{T}$
(3) $\nabla _{ A } \textrm{tr} \left( AB{A^T}C \right) = CAB + {C^T}A{B^T}$
Least Squares Method
์ฐ๋ฆฌ์ ๋ชฉํ๋ global minimum์ ์ฐพ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์
์ด ๋๋ $\theta$๋ฅผ ์ฐพ์์ผ ํ๋ค.
global minimum์ ์ฐพ๊ธฐ ์ํด training set์ ๋ชจ๋ ๋ชจ์ ํ๋ ฌ $X$๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ์.
ํ๋ ฌ $X$์ ํ ํ๋ํ๋๊ฐ ํ๋์ training vector๋ฅผ ์๋ฏธํ๋ค.
์ด๋ฒกํฐ $\vec{y}$๋ ์ ์ฒด training set์ ๋ํ target values์ ๋ชจ์์ด๋ค.
์ด์ cost function $J(\theta)$๋ฅผ ํ๋ ฌ ํผ์ ๋ง์ถฐ ๋ค์ ์ฐ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ด๊ฒ์ ํธ๋ฏธ๋ถ ํ๋ฉด,
์ด๊ณ , ๋ถ๋ฐฐ๋ฒ์น์ ๋ฐ๋ผ ๋ถ๋ฐฐํ๋ฉด,
cost function $J(\theta)$์ ๊ฐ์ด scalar์ด๊ธฐ ๋๋ฌธ์, $\textrm{tr}$์ ์ทจํด๋ ๊ทธ๋๋ก scalar์ด๋ค.
$\textrm{tr}$ ํจ์์ ์ฑ์ง์ ๋ฐ๋ผ $\textrm{tr}$์ ๊ดํธ ์์ผ๋ก ๋ฃ์ผ๋ฉด,
์ด๋, $\textrm{tr} \left( {\theta}^{T} {X^T} \vec{y} \right) = \textrm{tr} \left( {\vec{y}^T} X \theta \right)$ ์ด๊ณ , ${\vec{y}^T} \vec{y}$์๋ $\theta$-freeํ๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ฆฌํ ์ ์๋ค.
์ด๊ฒ์ ๋ฏธ๋ถํ๋ฉด,
์ด ๊ณผ์ ์์ (3) $\nabla _{ A } \textrm{tr} \left( AB{A^T}C \right) = CAB + {C^T}A{B^T}$ ๊ณต์์ด ์ฌ์ฉ๋์๋ค.
๋๋์ด ํ๋ ฌํผ์์์ $\nabla_{\theta} J(\theta)$๋ฅผ ์ป์๋ค.
์ฐ๋ณ์ ์ ๋ฆฌํ๋ฉด,
์ด ํํ๋ฅผ Normal Equation์ด๋ผ๊ณ ํ๋ค.
๋ค์ $\theta$์ ๋ฐ๋ผ ์ ๋ฆฌํ๋ฉด,
๋ฐ๋ผ์, cost function $J(\theta)$๋ฅผ minimize ํ๋ $\theta$๋ ${\left( {X^T} X \right)}^{-1} {X^T} \vec{y}$ ์ด๋ค. โ