Coursera ML, Lecture 3 : Multivarite Linear Regression
- Multivariate Linear Regression
- Multivariate Gradient Descent
- Feature Scaling
- Learning Rate
- More on features / Regression
Multivariate Linear Regression
- ๋ค์์ Feature $(x_1, x_2, x_3, \dots)$ ๋ก๋ถํฐ, output variable $y$ ๋ฅผ predictํ๊ณ ์ถ๋ค.
- Notation ์ ๋ฆฌ: Data $i$๋ฒ์งธ์ $j$๋ฒ์งธ feature๋ฅผ $x^{(i)}_j$ ๋ก ์ฐ๊ธฐ๋ก ํ์. ์ด์ , $x^{(i)}$ ๋ ํ๋์ training data์ธ๋ฐ, ์ด๋ n-vector ํํ์ ๋ฐ์ดํฐ๊ฐ ๋๋ค.
- Linear Regression์ ์๋ฆฌ๋ ๋๊ฐ๋ค. ๋ค๋ณ์ ์ ํํจ์๋ฅผ Hypothesis๋ก ์ผ๊ณ โฆ \(h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \dots\)
- 0๋ฒ์งธ feature $x_0 = 1$ ์ ํญ์ ๊ณ ์ ํ๋ฉด, $x$์ $\theta$๋ฅผ $n+1$๊ฐ์ง๋ฆฌ vector๋ก ์๊ฐํ ์ ์๊ณ , ๋ฒกํฐ์ ๋ด์ ์ผ๋ก ์ Hypothesis๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์๋ค. \(h_\theta = \mathbf{\theta}^T \mathbf{x}\) (์๋ ๋ฒกํฐ๋ \mathbf ๋ก ์ฐ๊ณ ์ถ์ง๋ง, ์๋ง ๊ท์ฐฎ์ผ๋ ๋์ถฉ ์ธ ๋ฏโฆ ๋งฅ๋ฝ์ ์ ์ถํ ์ ์๋ค)
Multivariate Gradient Descent
- ํธ๋ ๋ฐฉ๋ฒ๋ Single variable ๊ฒฝ์ฐ์ ๋ณ๋ก ๋ค๋ฅด์ง ์๋ค. Gradient descent๋ฅผ ์๊ฐํ์.
- Parameter๊ฐ $n+1$ vector, Hypothesis๋ ์ ๋ด์ ํจ์์ด๋ฏ๋ก, cost function๋ง ์ ์ ์ํ๋ฉด ๋.
- Cost๋ ๋น์ทํ๊ฒ.. \(J(\theta) = \frac{1}{2m} \sum_{i = 1}^{m} (\theta^T x^{(i)} - y^{(i)})^2\)
- $n+1$๊ฐ์ parameter์ ๋ํ, ํธ๋ฏธ๋ถ์ ์ด์ฉํ Simultaneous update๋ฅผ ํ๋ค.
Feature Scaling
- Feature๋ค์ด ๋น์ทํ Scale์ ์์ผ๋ฉด, gradient descent๊ฐ ๋ ๋น ๋ฅด๊ฒ ์๋ ดํ๊ฒ ํ ์ ์๋ค.
- ์๋ฅผ ๋ค์ด, ์ฃผํ ๊ฐ๊ฒฉ์ ์์ธกํ๋ ๋ฐ ์์ด์โฆ
- size๊ฐ $[0, 2000]$ ๋ฒ์์ ์๊ณ
- number of bedrooms ๊ฐ $[1, 5]$ ๋ฒ์์ ์๋ค๋ฉด?
- Cost function์ contour๊ฐ ๋งค์ฐ ๊ธธ๊ณ ์์ ํ์ํ์ผ๋ก ๋ํ๋๊ฒ ๋๊ณ ,
- ์ด ํ์์ ์ฅ์ถ์ ๋ฐ๋ผ ๋ด๋ ค๊ฐ๊ธฐ์๋ ๋๋ฌด ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ์๋ ์๋ค!
- ๋ฐ๋๋ก, ๋๋ฌด ์งง์ ๋จ์ถ์ ๋ฐ๋ผ๊ฐ๋ค ๋ณด๋ฉด ์๋ ดํ์ง ๋ชปํ ์๋ ์๋ค.
- ๊ฐ Feature๋ฅผ, ๊ทธ feature๊ฐ ๊ฐ์ง ์ ์๋ ์ต๋๊ฐ์ผ๋ก ๋๋์ด $[0, 1]$ ์ค์ผ์ผ ์์ ์ฌ๋ฆฌ๋ฉด ์ด ๋ฌธ์ ๋ฅผ ํผํ ์ ์๋ค.
- ๋ ์ผ๋ฐ์ ์ผ๋ก๋ $[-1, 1]$์ ์ฌ๋ฆฐ๋ค. ์ต์๊ฐ์ด $-1$, ์ต๋๊ฐ์ด $1$์ด ๋๊ฒ.
- ๊ผญ ๊ทธ ๋ฒ์์ธ ๊ฒ์ ์๋๊ณ โฆ ๋์ถฉ ๋น์ทํ ๋ฒ์ ๋ด๋ก feature๋ค์ด ๋ค์ด์ค๊ฒ ํ๋ ๊ฒ.
- Mean Normalization : $x_i$ ๋ฅผ $x_i - \mu_i$ ๋ก ๋์ฒดํ์ฌ, approximately zero mean์ ์ ์งํ๊ฒ ํ๊ธฐ.
Learning Rate
\(\theta_j := \theta_j - \alpha \pdv{}{\theta_j} J(\theta_0, \theta_1)\)
- How to choose $\alpha$ ?
- Practical tips.
- Gradient descent iteration ํ์ ($t$) ์ ๋ํ $J(\theta)$ ์ ๊ฐ์ ๊ณ์ plotting ํ๋ค.
- ์ด ๊ฐ์ด ๊ฐ์ํจ์์ด๊ฒ ํ๊ณ ์ถ๋ค. ์ฐ๋ฆฌ ๋ชฉ์ ์ $J$๋ฅผ minimizeํ๋ ๊ฒ์ด๋๊น.
- Convergence test๋ฅผ ์ ๋ง๋ค์ด๋ ๋๊ณ โฆ ex) ๋ช๋ฒ ๋๋๋ ธ๋๋ฐ $k$๋งํผ ๊ฐ์ด ๋จ์ด์ง์ง ์์ผ๋ฉด~ โฆ
- Not working?
- $J$ ์ฆ๊ฐ : ์๋ง๋ $\alpha$๊ฐ ๋๋ฌด ํฌ๊ธฐ ๋๋ฌธ.
- Overshooting : ์๋ง๋ $\alpha$๊ฐ ๋๋ฌด ํฌ๊ธฐ ๋๋ฌธ.
- Too slow : ์๋ง๋ $\alpha$๊ฐ ๋๋ฌด ์๊ธฐ ๋๋ฌธ.
- Mathematically Proven Result : $\alpha$๊ฐ ์ถฉ๋ถํ ์์ผ๋ฉด, $J$๋ gradient descent์ ๋งค iteration๋ง๋ค ๋ฐ๋์ ๊ฐ์ํ๋ค. ($J$๊ฐ convex function์ผ ๋โฆ)
More on features / Regression
- ์ ๋ง ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง data $x_1, x_2, \dots$์ $y$ ๊ฐ์ด ์ ํ์ ์ธ ๊ด๊ณ๋ฅผ ๊ฐ๋๊ฐ?
- $x_1x_2$ (๊ณฑ)์ ๋ํ ์ ํํจ์๋ ์๋๊ฐ? (New feature defining)
- $x_1$์ ๋ํ ์ด์ฐจํจ์, ์ผ์ฐจํจ์ โฆ ๋ ์๋๊ฐ? (Polynomial Regression)
- Hypothesis $h$๋ฅผ ๋คํญ์์ผ๋ก ์ก์ผ๋ฉด ์ฝ๊ฒ ๊ฐ๋ฅ. \(h_\theta(x) = \theta_0 + \theta_1 x^2 + \theta_2 x^2 + \dots\)
- Linear regression๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, $J$๋ฅผ ์ ๊ณ์ฐ, ํธ๋ฏธ๋ถํด์ ๋๋ฆฐ๋ค.
- ์ด์ฐจ ์ด์์ ๊ฒฝ์ฐ Feature scaling์ด ๋ ์ค์ํด์ง๋ค.
- $[1, 100]$์ด ์ด์ฐจ๊ฐ ๋๋ฉด $[1, 10000]$์ด ๋๊ธฐ ๋๋ฌธโฆ
- ๊ผญ ๋คํญ์์ผ ํ์๋ ์๋ค. $h_\theta(x) = \theta_0 + \theta_1 x + \theta_2 \sqrt{x}$ ๊ฐ์ ๊ฒ๋ ๊ฐ๋ฅ.
- ๋ฐ์ดํฐ์ ๋ํ Insight๊ฐ ์ด๋ฐ ์ํฉ์์ hypothesis๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ค.