본문 바로가기
AI

Generalization, Normalization, Standardization

by HYEBINess 2022. 8. 12.

Geralization(일반화):

지도학습에서 generalizaion(일반화)란, 훈련된 모델이 unseen data에 대해 정확하게 분류 또는 예측하도록 하는 것입니다.

즉, train data로 학습한 모델에 새로운 데이터를 넣었을 때 좋은 성능을 내도록 하는 것이 일반화라고 할 수 있겠네요.

결국 '일반화된 모델을 만든다'는 것은 '성능이 좋은 모델을 만든다'는 것과 같은 말입니다.

아래 그림에서 Balanced에 해당하는 그림이 일반화가 잘 된 모델입니다.

우리는 undefitting과 overfitting을 피하고 hyper parameter 튜닝 등을 통해 모델의 성능을 높여 모델의 일반화에 도달할 수 있습니다.

Feature Scaling :

feature scaling이란 무엇일까요?

우리는 다양한 변수 유형을 가진 dataset을 종종 접하게 됩니다.

부동산 가격과 관련이 있는 요소들을 도출하는 머신러닝 모델을 만든다고 가정해보겠습니다.

아파트 브랜드, 가족구성원 수, 마트와의 거리를 feature로 가진 dataset이 있다고 했을 때, 아파트 브랜드는 categorical 변수이고 나머지 feature들은 numerical 변수가 될 것입니다. 일반적으로 가족 구성원 수 feature가 가진 값들의 범위는 마트와의 거리 feature 값의 범위보다 훨씬 좁을 것입니다. 즉, 가족구성원 수와 마트와의 거리를 직접 비교할 수 없습니다. 이 경우 상대적으로 값의 범위가 큰 마트와의 거리 feature에 가중치가 부여되어 결과과 왜곡될 수 있습니다.

이러한 문제를 막기 위해서 각 feature들의 특성들을 무시할 수 있도록 값들의 범위를 비슷하게 만들어주는 것을 feature scaling이라고 합니다. 대표적인 feature scaling 방법에는 normalization(정규화)과 standardization(표준화)가 있습니다.

 

Normalization(정규화):

먼저 정규화에 대해 알아보겠습니다.

정규화는 모든 요소가 0과 1사이의 값을 갖도록 하는 것입니다. 한 feature 내에서 최댓값은 1로, 최솟값은 0으로 변환됩니다.

정규화의 목적은 값들의 범위의 차이에 왜곡이 없도록 컬럼 값들의 척도를 동일하게 만들어주는 것입니다. 가족구성원 수와 마트와의 거리를 서로 비교할 수 있도록 말입니다. 

머신러닝에서 모든 컬럼들에 정규화를 해야하는 것은 아닙니다. 컬럼들의 값의 범위가 너무 달라서 비교할 수 없을 경우에 사용하면 됩니다.

 

정규화는 언제 사용할까?

정규화는 데이터의 분포를 모를 때나 데이터가 정규 분포가 아닐때 사용하는 것이 좋습니다. 즉, 데이터의 분포에 대해 어떠한 가정도 하지 않을 때 사용합니다. 또한 위에서 계속 언급했듯이 데이터의 척도가 다를 때 값들의 범위를 통일시켜 줄 때 사용하는 것으로 feature들의 척도가 다를 때 유용하게 사용됩니다.

 

Standardization(표준화):

표준화는 한 feature의 값들이 종 모양의 정규분포를 띈다는 가정하에 평균값을 0, 표준편차를 1로 만들어 주는 것을 말합니다.

표준화를 해준면 feature 값의 범위가 0과 1 사이의 범위로 균일하게 바뀌지는 않지만, feature가 표준정규분포의 특성을 갖도록 재조정됩니다.

 

표준화는 언제 사용할까?

표준화는 정규화와 마찬가지로 데이터의 척도가 여러 개일 때 유용하게 사용되며, 데이터가 이미 정규 분포를 띄고 있을 때 표준화 기법의 효율이 더 좋습니다. 

정규화와 표준화의 차이점

표준화와 정규화 중 어떤 것이 좋은가에 대한 명확한 답은 없습니다. 상황에 따라, 데이터에 따라  다르기 때문입니다. 결국 둘 다 시도해보고 어느 것을 사용했을 때 모델이 더 좋은 성능을 내는지 비교하는 수밖에 없습니다. 그러나 정규화나 표준화를 한 것과 하지 않은 것의 성능 차이는 명확합니다. 따라서 두가지 모두 모델의 성능을 높이기 위해서 시도해봐야 할 것 입니다.

 

 

reference

https://towardsai.net/p/data-science/how-when-and-why-should-you-normalize-standardize-rescale-your-data-3f083def38ff/

https://heeya-stupidbutstudying.tistory.com/entry/%ED%86%B5%EA%B3%84-%EC%A0%95%EA%B7%9C%ED%99%94%EC%99%80-%ED%91%9C%EC%A4%80%ED%99%94

 
 
 

댓글