본문 바로가기

Feature scaling

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