์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 2022๋
- anaconda ๊ฐ์ํ๊ฒฝ
- ์๊ทน์ฌ
- ๋ฅ๋ฌ๋
- special method
- Machine learning
- ์ฒญ์ถ ํ์ดํ
- electrochemical models
- set method
- m1 anaconda ์ค์น
- ํน๋ณ ๋ฉ์๋
- Deeplearning
- ๊ตํํ์
- Linear Regression
- ์ ๋ฝ
- ์ ํํ๊ท
- ์ค์คํธ๋ฆฌ์
- ๋ฏธ๋์์ ์ฅํ์
- Andrew ng
- gradient descent
- Python
- li-ion
- ๋์23์ด
- set add
- ๋ฏธ๋์์ ํด์ธ๊ตํ
- ์ด์ฐจ์ ์ง
- cost function
- ์ ๋ฝ ๊ตํํ์
- fatigue fracture
- fluent python
- Today
- Total
Done is Better Than Perfect
02. Linear regression with one variable ๋ณธ๋ฌธ
์ด๋ฒ์๋ ์์ ๊ณต๋ถํ๋ Supervised Learning์์ regression์ ๋ ์์ธํ ์ดํด๋ณผ ๊ฒ์ด๋ค.
์ง ๊ฐ์ ์์ธกํ๋ Linear Regression์ ํ์ตํ๋ฉฐ cost function๊ณผ gradient descent์ ๊ฐ๋ ๋ ํจ๊ป ์์๋ณด์.
1. Linear Regression Model
๋ณ์๊ฐ 1๊ฐ์ธ linear regression์ univariate linear regression์ด๋ผ ํํํ๋ค.
์ ๋ฒ์ ์์๋ก ํ์ตํ๋ 'Housing Price' ์์ ์์ ์ฌ์ด์ฆ(x)์ ๋ฐ๋ฅธ ์ง์ ๊ฐ๊ฒฉ(y)์ ์์ธกํ ์ ์์๋ค.
์์ ๊ทธ๋ํ์์๋ ์ง์ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด ๊ฐ๊ฒฉ์ด ๋์์ง๋ ์ผ์ฐจ ๋ฐฉ์ ์์ผ๋ก ํํํ์๋ค.
** ์ฌ๊ธฐ์ ์ง์ ์ input(feature)์ output(target)์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ํจ์์ด๋ค.
์ด ๊ฐ๋ ์ ์๋์ ๊ฐ์ด ๋์ํํด๋ณด๋๋ก ํ์.
์ ๊ทธ๋ฆผ์์ h๋ ์ง์ ํจ์๋ฅผ ์๋ฏธํ๊ณ , ๊ฐ์คํจ์(hypothesis function)๋ผ ๋ถ๋ฅธ๋ค. ๊ฐ์คํจ์(hํจ์)๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ(x)๋ฅผ ์ ๋ ฅํ๋ฉด ๊ทธ์ ์์ํ๋ ์์ธก ๊ฒฐ๊ณผ(y)๋ฅผ ์ป์ ์ ์๋ค.
๋จธ์ ๋ฌ๋์ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์ ํ๋ ๊ฐ์ค ํจ์(h ํจ์)๋ฅผ ์ฐพ์์ค๋ค.
training set์ด ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ๊ฑฐ์ณ h ํจ์(hypothesis function, ๊ฐ์คํจ์)๋ฅผ ์์ฑํ๋ค.
2. Cost Funtion
(cost function = squared error function = mean squared error)
ํ ์ค ์์ฝ : cost function์ ๊ฐ์ค ํจ์(h)์์ ์ต์ ์ parameter θ ๋ฅผ ์ฐพ๋ ๋๊ตฌ์ด๋ค.
์ฐ๋ฆฌ๊ฐ ๊ฐ์คํจ์๋ฅผ ์ ์ค์ ํ๋ค๊ณ ์ด๋ป๊ฒ ์ ์ ์์๊น?
๊ฐ์คํจ์๋ฅผ ์ด์ฉํด ๊ตฌํ ์์ธก๊ฐ๊ณผ ์ค์ ๊ฐ์ด ์ฐจ์ด๊ฐ ์์์๋ก ์ข์ ๊ฐ์คํจ์๋ผ ๋งํ ์ ์๋ค. [์ดํด ์ฐธ๊ณ , MSE]
(์ฌ๊ธฐ์ ์์ธก๊ฐ๊ณผ ์ค์ ๊ฐ์ด ์ฐจ์ด๋ฅผ cost๋ผ ํ๋ค.)
์ด์ ์ ๊ตฌํ ์ผ์ฐจ๋ฐฉ์ ์์ ๊ฐ์คํจ์๋ฅผ $h_{\theta}(x) = \theta_{0} + \theta_{1}x$ ๋ผ ํ์.
์ฌ๊ธฐ์ $\theta_{0}, \theta_{1} $๋ฅผ parameter๋ผ ํ๋ค.
cost๋ '์์ธก๊ฐ(h) - ์ค์ ๊ฐ(y)'๋ก ์ ์ํ๋ค. ์ด ๊ฐ์ด (-) ๊ฐ์ ๊ฐ์ง ์ ์์ผ๋ฏ๋ก ์ ๊ณฑ์ ์ ์ฉํ๋ค. ์ด๋ฅผ ์์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
(m์ training set์ ๊ฐ์์ด๋ค.) ๋ชจ๋ cost ๊ฐ์ ์ ๊ณฑํ๊ณ $2m$์ ๋๋์ด ํ๊ท ๊ฐ์ ๊ตฌํ๋ค. ์์ ์์ด cost function์ด๋ค.
์ด cost function $J(\theta_{0}, \theta_{1})$์ ๊ฐ์ ์ต์ํํ๋ parameter $\theta_{0}, \theta_{1}$์ ๊ตฌํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.
$h_{\theta}(x) = \theta_{0} + \theta_{1}x$์์ $\theta_{0} = 0$ ์ด๋ผ ๊ฐ์ ํ๊ณ $ \theta_{1}$์ ์ฌ๋ฌ ๊ฐ์ ๋์ ํด๋ณด์.
์๋ ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ๊ฐ $\theta_{1}$์ ๊ฐ์ ๋ฐ๋ฅธ cost function์ ๊ฐ์ ์๋ฏธํ๋ค. $ \theta_{1} = 1$ ์ผ๋ cost function($J$)๊ฐ ์ต์๊ฐ์ ๊ฐ๋ ๊ฒ์ ์ ์ ์๋ค.
์ด ์๋ฏธ๋ $ \theta_{1} = 1$์ผ๋ ๊ฐ์ค ํจ์๊ฐ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ์ ์ ํฉ ๋์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ด์ 1๊ฐ์ parameter์์ 2๊ฐ์ parameter๋ก ํ์ฅํด๋ณด์.
2๊ฐ์ parameter($\theta_{0}, \theta_{1} $)์ ๋ํ์ฌ cost function($J$)์ ๊ทธ๋ฆฌ๋ฉด ์๋์ ๊ฐ์ด 3์ฐจ์์ผ๋ก ํํ๋๋ค.
์ฌ๊ธฐ์ cost function($J$)์ด ๊ฐ์ฅ ์์ ๊ฐ์ ๊ฐ์ง ๋, parameter $\theta_{0}, \theta_{1}$์ด ์ ํฉํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
์ด์ $J$๊ฐ ์ต์ํ ๋๋๋ก $\theta_{0}, \theta_{1}$์ ์๋์ผ๋ก ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์๋ณด๋๋ก ํ์.
3. Gradient Descent
์์์ ๊ฐ์คํจ์(hypothesis function)์ ๋ํด ์์๋ณด์๊ณ , ์ค์ training data์ ์ผ๋ง๋ ์ ์ ํฉํ๋ ์ง ์์๋ณด๊ธฐ ์ํด cost function์ ํ์ตํ์๋ค. cost function์ ํตํด $\theta$์ ๊ฐ์ ๋ฐ๋ผ ๊ฐ์คํจ์(h)์ ์ ํ๋๋ฅผ ์ธก์ ํ ์ ์์๋ค. ํ์ง๋ง, ์ด๋ป๊ฒ ์ ์ ํ $\theta$๊ฐ์ ์ฐพ๋์ง ์ ์ ์์๋ค. ์ด๋ฒ์๋ ๊ฐ์ฅ ์ ํฉํ ๊ฐ์คํจ์(h)๋ฅผ ํน์ ํ๊ธฐ ์ํ $\theta$๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์๋ณด๋๋ก ํ๋ค.
ํ ์ค ์์ฝ : Gradient Descent๋ ๊ฐ์ฅ ์ ํฉํ ๊ฐ์ค ํจ์๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
(๋ ์ ํํ๊ฒ ๋งํ์๋ฉด cost function์ ์ต์ํํ๋ $\theta$ parameter๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ)
Gradient descent algorithm์ ๋ง ๊ทธ๋๋ก ๊ฒฝ์ฌ๋ฉด์ ๋ฐ๋ผ ํ๊ฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
๋ ๊ฐ์ parameter($\theta_{0}, \theta_{1})์ ๋ณ๊ฒฝํ์ฌ cost function์ ์ต์ํ(minimize)ํ๋ค.
์๋์ ๊ทธ๋ํ๋ 2๊ฐ์ feature๋ฅผ ๊ฐ์ง cost function์ ๊ทธ๋ํ์ด๋ค.
์์์ ์ ์ผ์ชฝ์ ๋ด์ฐ๋ฆฌ๋ก ์ก๋๋ค๋ฉด ๊ฒฝ์ฌ๋ฉด์ ๋ฐ๋ผ ์๋์ ๊ฐ์ ์ต์ ์ ์ ๋๋ฌํ ๊ฒ์ด๋ค.
๋ง์ฝ ์์ ์ ์ ๋ค๋ฅธ ๊ณณ์์ ์์ํ์ ๊ฒฝ์ฐ, ์์ ๋ค๋ฅธ ๊ฒฝ๋ก์ ์ต์ ์ ์ ๋๋ฌํ๋ค. ์ด๋ ๊ฒ ๋์จ ์ต์ ์ ์ local minimum์ด๋ผ ํ๋ค.
์ต์ parameter๋ฅผ ์ป๊ธฐ ์ํด์๋ local minimum ๋ค ์ค์์๋ ๊ฐ์ฅ ์์ global minimum์ ๊ตฌํด์ผ ํ๋ค.
์ต์ cost function์ ๊ตฌํ๊ธฐ ์ํ gradient descent์ ์์์ ๋ค์๊ณผ ๊ฐ๋ค. ์ด ์์์ ํ ์ ์ ์๋ ดํ ๋ ๊น์ง ๋ฐ๋ณต๋๋ค.
์์์์ $\alpha $๋ 'learning rate'๋ผ ํ๋ค. ๊ฐ๋จํ ์ค๋ช ํ์๋ฉด step(๋ณดํญ)์ด๋ผ ์ดํดํ๋ฉด ๋๋ค.
๋ณดํญ์ด ํฐ ์ฌ๋์ผ์๋ก ํ ๋ฒ์ ๊ฑท๋ ๊ธธ์ด๊ฐ ํฌ๊ณ , ๋ณดํญ์ด ์์ ์ฌ๋์ ์ด์ด๊ฑธ์์ผ๋ก ๊ฑท๋ ์๋ฆฌ์ ๋น์ทํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ์ ํ๋ผ๋ฏธํฐ $\theta_{0}$์ $\theta_{1}$๋ ๋์์ ์ ๋ฐ์ดํธ๋๋ฏ๋ก simultaneous update๋ผ ํ๋ค.
(์ค์ ๋ก๋ $\theta_{0}, \theta_{1}$๋ฟ๋ง์๋๋ผ $ ~ \theta_{n}$ ๊น์ง ์๋ค.)
์์์ ํ๋์ฉ ๋ฏ์ด๋ณด๋๋ก ํ์. ์์์์ ๋ฏธ๋ถ์ ์ ์๋ ๊ฑธ๊น?
์ฐ์ ์์์ ์ดํดํ๊ธฐ ์ํด $\theta_{1}$๋ง ์ดํด ๋ณด๋ฉด,
๋ง์ฝ ํ์ฌ $\theta_{1}$ ๊ฐ์ด ์ต์ ์ ๋ณด๋ค ํฐ ๊ฒฝ์ฐ, ์์ชฝ ๊ทธ๋ํ์ ๊ฐ์ด ํํ๋๋ค. ์ฌ๊ธฐ์ Jํจ์๋ฅผ ๋ฏธ๋ถ(๊ธฐ์ธ๊ธฐ)ํ๋ฉด, ์์ ๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ค. ์ด๋ฅผ gradient ๊ณต์์ ๋ฃ์ผ๋ฉด ํ์ฌ $\theta_{1}$ ๊ฐ๋ณด๋ค ์์ ๊ฐ์ ์ป์ ์ ์๋ค. (๊ฒฝ์ฌ๋ฅผ ๋ฐ๋ผ ๋ด๋ ค๊ฐ)
๋ค์์ผ๋ก, ๋ง์ฝ ํ์ฌ $\theta_{1}$ ๊ฐ์ด ์ต์ ์ ๋ณด๋ค ์์ ๊ฒฝ์ฐ, ์๋์ชฝ ๊ทธ๋ํ์ ๊ฐ์ด ํํ๋๋ค. Jํจ์๋ฅผ ๋ฏธ๋ถ(๊ธฐ์ธ๊ธฐ)ํ๋ฉด, ์์ ๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ค. ์ด๋ฅผ gradient ๊ณต์์ ๋ฃ์ผ๋ฉด ํ์ฌ $\theta_{1}$ ๊ฐ๋ณด๋ค ํฐ ๊ฐ์ ์ป์ ์ ์๋ค. (๊ฒฝ์ฌ๋ฅผ ๋ฐ๋ผ ๋ด๋ ค๊ฐ)
์ด์ ๊ฐ์ด ๋ฏธ๋ถ์ ํตํด ์ต์ ์ ์ ํฅํด ์๋ ด(์ด๋)ํ ์ ์๋ค.
๋ค์์ learning rate ์ธ $\alpha$์ ๋ํด ์์๋ณด์. ์์์ $\alpha$๋ฅผ step์ผ๋ก ๋น์ ํ์๋ค.
๋ง์ฝ $\alpha$๊ฐ ๋๋ฌด ์์ผ๋ฉด ์๋ ๊ทธ๋ฆผ์ ์์ชฝ ๊ทธ๋ํ๊ณผ ๊ฐ์ด ์ต์ ์ ์ ์ฐพ๋๋ฐ ๋ง์ ๋จ๊ณ์ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ๊ต์๋์ ์ด๋ฅผ 'baby step downhill'์ด๋ผ ํํํ๋ค.
๋ฐ๋ฉด $\alpha$๊ฐ ๋๋ฌด ํฌ๋ฉด, ์ต์ ์ ๋ณด๋ค overํ์ฌ ์์น๋ฅผ ์ก๋ค๊ฐ ์๋ชป ๊ผฌ์ฌ ์ต์ ์ ์ผ๋ก ์๋ ด(converge)ํ์ง ๋ชปํ๊ณ ๊ฑฐ๊พธ๋ก ๋ฐ์ฐ(diverge)ํ๋ ๊ฒฝ์ฐ๋ ์๋ค.
๋ํ, ์ฐ๋ฆฌ๊ฐ ์ต์ ์ ์ ๊ฐ๊น์์ง์๋ก, gradient descent ์์๋ ์์ฐ์ค๋ฝ๊ฒ step์ด ์์์ง๋ค.(๊ธฐ์ธ๊ธฐ๊ฐ ์์์ง๊ธฐ ๋๋ฌธ์)
๊ทธ๋์ $\alpha$ ๊ฐ์ ์ถ๊ฐ์ ์ผ๋ก ์กฐ์ ํ ํ์๊ฐ ์๋ค.
์ด์ ๊ฐ parameter์ gradient descent์์ ํ๋์ฉ ์ดํด๋ณด์.
์ฐ๋ฆฌ๊ฐ ๋ฐฐ์ด gradient descent๋ ๋ ๊ฐ์ parameter๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ์ด๋ฅผ ๊ฐ๊ฐ์ parameter๋ก ํธ๋ฏธ๋ถํ๋ฉด ์๋์ ๊ฐ์ด ๋๊ฐ์ ์ ๋ง๋ค์ด์ง๋ค. ํธ๋ฏธ๋ถ์ ํ๋ฉด ์ ๊ณฑ($^2$)์ด $\frac{1}{2}$๋ก ๋ด๋ ค์ค๋ฏ๋ก $\frac{1}{m}$์ผ๋ก ๋๋ ์ง๋ค.
$\theta_{0}$๋ ์๋ ์์(costant)์ด๋ฏ๋ก x(input data)๊ฐ ์ฌ๋ผ์ง๊ณ , $\theta_{0}$์์ผ๋ก ๋ฏธ๋ถํ ๊ฒ์ x(input data)๊ฐ ๊ณฑํด์ง๋ค.
์ด์ cost function์ ๋ํ gradient descent๋ฅผ ๋ฐฐ์ ๋ค. ์ด์ ๊ฐ์ด ์ต์ ์ ์ ์ฐพ์ ๋๊น์ง ๋ฐ๋ณต์ ์ผ๋ก ์์ง์ด๋ ์๊ณ ๋ฆฌ์ฆ์ 'batch gradient descent'๋ผ ํ๋ค.
grdient descent๋ local minimum์ ์ํฅ์ ๋ฐ์ง๋ง, ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ๊ทธ๋ฆผ์ฒ๋ผ ์๊ธด cost function์ ํ๋์ global minimum์ ๊ฐ๋ ๊ทธ๋ํ ํ์(๋ณผ๋กํ 2์ฐจ ํจ์)์ผ๋ก ๋ฐ๊พผ๋ค.
๋ฐ๋ผ์ learning rate $\alpha$๊ฐ ๋๋ฌด ํฌ์ง ์๋ค๊ณ ๊ฐ์ ํ ๋, gradient descent๋ ํญ์ global minimum ๊ฐ์ผ๋ก ์๋ ด๋๋ค.
_______์ฐธ๊ณ ์๋ฃ_______
'๐ค AI > Machine Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
04. Logistic Regression (1) | 2022.03.23 |
---|---|
03. Linear Regression with Multiple Variable (1) | 2022.02.10 |
01. introduction (0) | 2022.01.20 |
Machine Learning ์ ๋ฆฌ (0) | 2022.01.20 |
์ถ์ฒ ์์คํ ์ด๋ (0) | 2022.01.05 |