1. Feature scaling
- 여러 개의 feature들이 같은 scale을 갖도록 조정한다.
$x_{1} = size (0\,-\,2000)$
$x_{2} = number\,\,of\,\,bedrooms(0\,-\,10)$
위 feature는 0 ~ 2000, 0 ~ 10의 다소 극단적인 범위를 갖는다. 이를 아래와 같이 조정할 수 있다.
$x_{1} = \frac{size}{2000}\,\rightarrow\,(0\,-\,1)$
$x_{2} = \frac{number\,\,of\,\,bedrooms}{10}\,\rightarrow\,(0\,-\,1)$
- 모든 feature가 0에서 크게 벗어나지 않는 범위(대략 $-1 \leq x_{i} \leq 1$)를 갖도록 한다.
$-3 \leq x_{i} \leq 3$ (O)
$\frac{1}{3} \leq x_{i} \leq -\frac{1}{3}$ (O)
$0 \leq x_{i} \leq 2$ (O)
$-100 \leq x_{i} \leq 100$ (X)
$-0.000001 \leq x_{i} \leq 0.000001$ (X)
2. Mean normalization
- feature 들이 대략 0의 평균을 갖도록 $x_{i}$ 을 $x_{i}\,-\,\mu_{i}$로 바꾼다.
$\mu_{i}$는 $x_{i}$의 평균을 의미하며, $x_{0} = 1$은 적용하지 않는다.
Ex)
$x_{1} = \frac{size - 1000}{2000}$
$x_{2} =\frac{number\,\,of\,\,bedrooms - 2}{5}$
$x_{i}\,\leftarrow\,\frac{x_{i}\,-\,\mu_{i}}{s_{i}}$
- $x_{i}:\,\,i-th\,\,feature$
- $\mu_{i}:\,\,average(arithmetic\,\,mean)\,\,of\,\,x_{i}$
- $s_{i}:\,\,range\,\,of\,\,value\,\,of\,\,i-th\,\,feature$
$s_{i}$의 범위는 보통 $max(x_{i})\,-\,min(x_{i})$ 또는 $x_{i}$의 표준편차($\sigma(x_{i})$)로 설정한다.
3. Objective
feature들의 scale이 극단적으로 차이나면 gradient descent가 수렴하기 위해 더 많은 반복을 필요로 한다.
따라서 비슷한 scale을 갖도록 조정해 gradient descent가 더 빨라지도록 한다.
'Machine Learning > Machine Learning' 카테고리의 다른 글
Gradient descent for linear regression (0) | 2021.02.21 |
---|---|
Gradient descent (0) | 2021.02.21 |
가설과 비용함수 (0) | 2021.02.20 |
Unsupervised learning (0) | 2020.12.20 |
Supervised learning (0) | 2020.12.20 |