1. 왜 해야하는가? 원본 데이터의 값 범위가 크게 다를 경우, 일부 머신러닝 알고리즘에서는 정규화를 하지 않으면 목적 함수가 제대로 작동하지 않을 수 있습니다. 예를 들어, 많은 분류기(classifier)들은 두 지점 간의 유클리드 거리(Euclidean distance)를 계산합니다. 만약 어떤 특성(feature)이 매우 넓은 값의 범위를 가진다면, 이 거리 계산은 해당 특성에 의해 지배될 수 있습니다. 따라서 모든 특성의 값 범위를 정규화하여, 각 특성이 최종 거리 계산에 거의 비슷한 비중으로 기여하도록 하는 것이 중요합니다. 또한, 정규화를 적용하는 또 다른 이유는 경사 하강법(gradient descent)이 정규화를 통해 훨씬 더 빠르게 수렴하기 때문입니다. 정규화는 손실 함수에 정규..
1. normalization 신경망의 훈련을 빠르게 하기 위해 필요한 input normalization 다음과 같이 2차원의 입력데이터가 존재할때 주어진 데이터의 평균을 빼고, 표준편차를 나누는 방법으로 normalization할 수 있다. 데이터에 평균을 빼서 얻은 새로운 값의 평균은 0이 되고 위 그림에서 $x_{1}$이 $x_{2}$보다 분산이 더 큰 특징이 있다. 표준편차를 나눠서 얻은 새로운 값의 분산은 1로 되어 $x_{1}$과 $x_{2}$의 산포가 동일해진다. $$Z = \frac{X-\mu}{\sigma}$$ $$\mu = \frac{1}{m}\sum_{i = 1}^{m} X_{i}$$ $$X = X - \mu$$ 새로 얻은 X의 평균은 0이므로, 분산은 다음과 같이 구할 수 있다. ..