뜬금없이 정말 헷갈리기 그지없는 용어를 한번 짚고 넘어가면 좋겠습니다.
그러니까 이번에는 정말 정말 짧은 리빙센스 같은 글이라고나 할까요. 그렇긴 하더라도 정말 그지 같은 경우인데, 표본의 크기와 표본의 개수 그리고 정규화와 표준화의 차이입니다.
먼저 표본수와 표본의 크기를 살펴보겠습니다.
예를 들어 다음과 같은 표본이 있다고 하면요
100, 105, 102, 107, 200
이런 경우에는 표본의 크기가 5입니다. 그런데 표본의 개수는 1입니다. 후후. 어떤가요. 정리하면 표본의 크기는 표본의 element의 개수입니다. 그리고 표본의 수는 이런 표본의 집합이 몇 개인가의 의미입니다. 그러니까,
{100, 105, 102, 107, 200}
{103, 101, 105, 102, 130}
이런 표본이 있다면 표본의 크기는 5, 표본의 수는 2입니다. 그러니까, 표본이라는 것은 1개의 세트(집합)를 의미한다고 보면 딱 들어맞습니다.
확실하게 느낌이 왔겠지요?
그리고 가장 이상한 부분, 정규화(Normalization)-정규화(Standardization)-정규화(Regularization)에 대한 이야기.
우선 정규화(Normalization)와 정규화(표준화, Standardization)는 어떻게 다른 것일까요?
먼저, 정규화는 영어로 Normalization, 표준화는 Standardization입니다.라고 영어로 해봤자 별로 도움이 되지 않는군요.
어쨌든 정규화는 모든 값을 0~1사이의 값으로 만드는 것을 의미합니다. 그러니까 보통은 Min-Max Scaling이 여기에 속합니다. 정규화를 하지 않으면 데이터 Feature마다 크기가 다 달라서 회귀분석 등을 하게 되면 더 큰 값을 가진 데이터가 더 큰 기여를 하는 것처럼 보일 수 있습니다.
그러면 표준화는 말이죠, 표준정규분포의 속성을 갖도록 데이터를 재조정하는 것을 말하는데요, 그때의 조건은 μ=0, σ=1을 말합니다. 보통 표준점수를 이야기하는데, 우리가 아주 잘 아는 표준화 방법은 $z = \cfrac{x-\mu}{\sigma}$ 로써 Z-score를 만들어서 변환을 하게 됩니다. 그래서 정규화는 0~1 사이의 값을 갖지만, 표준화는 값이 제한되지는 않습니다.
이게 좀 헷갈릴 수가 있는데, 표준화는 표준편차로 나누는 것이다 라고 생각하면 꽤나 유용하게 기억할 수 있으니 참고해 주세요.
보통 실무적으로는 표준화를 통해 이상치를 제거한 후에 정규화를 하여 상대적 크기에 대한 영향력을 줄인 다음 데이터 분석을 하면 어느 정도 데이터를 다룰 때 나름의 표준을 가지고 분석할 수 있으니 참고하면 좋겠습니다.라고 했지만, 표준화만 해도 좋을 때도 있고, 정규화만 해도 좋을 때도 있으니 그것은 그때그때 상황에 맞추어 접근하면 좋겠습니다.
그리고 정규화(Regularization)은 Regular가 정규라는 한국어 번역이 있어서 이걸 그대로 사용한 것인데 말이죠, 사실 영어의 Regularization과 한국어의 정규는 조금 의미가 다르지 않나 생각합니다. 맥락을 보면 Regular는 일반적이어서 예측 가능한 상태를 강조하는 데 초점이 있는 반면에, 정규는 특정 기준이나 절차에 따른 표준화 된 상태를 말하고 대체로 공식적인 문맥에서 사용되는 단어입니다. 그러니까 Regular와 정규는 절대로 1:1로 번역될 수 있는 단어가 아니라고 생각합니다. 그러니까 일반화를 뜻하는 Regularization은 정규화로 번역하면 어색할 수 밖에 없습니다. 예를 보면, Regular Customer는 예측가능한 방문패턴의 일반적인 손님, Regular Expression은 일반적으로 예측가능한 패턴의 표현, Regular Gas는 일반적으로 예상 가능한 일반 기름, Regular Price는 일반적인 평소의 예측 가능한 정상 가격으로 해석할 수 있습니다. 번역 용어들의 이상한 행진은 이렇게 진행되고 말았습니다.
이리되었던 저리되었던 무조건 정규화나 표준화는 데이터 분석을 할 때는 꼭 되어야 한다는 점도 꼭 기억해 두세요.
사실 정규분포를 표준정규분포로 변환을 하는 것을 통계에서는 표준화 정규화 두 가지를 구분 없이 normalization으로 부르는 것이 사실입니다. 그 이유는 정규화란 데이터의 범위를 일치시키거나 분포를 유사하게 만들어 주는 등의 작업을 일컫는 말이기 때문입니다. 그래서 데이터를 norm이나 standard로 변환하는 것을 normalize로 퉁쳐서 부르는 경향이 있습니다만, 이번 기회에 정규화와 표준화를 구분할 수 있게 되면 좋겠습니다. 결론적으로 모든 걸 걍 normalize라고 부르고 그중에서 0~1로 만드는 것을 Scaling(범위조정), 표준정규분포로 만들 때를 Standardiztion(표준화), 이건 아직 다루지 않았지만 L1, L2 normalization을 Regulariztion(일반화)이라고 부르는 편이 그냥 덜 헷갈리는 방법이 아닐까 생각하긴 합니다. 이건 제가 이야기 한건 아니고 우리 집 고양이가 이야기했으니, 전 모릅니다. 후후
댓글