코딩뚠뚠

[ML/DL] 정규화와 표준화 본문

카테고리 없음

[ML/DL] 정규화와 표준화

로디네로 2022. 9. 27. 23:48
반응형

딥러닝을 공부하다보면 이 두 표현은 계속 볼 수 있는 개념이다.

 

우선 정규화라는 용어는 Normalization, Regularization 두 표현에 모두 사용하고

(Regularization은 '일반화' 라고 하는것이 이해에 편하다)

표준화Standardization에 사용한다.

 

그렇다면 정규화와 표준화가 아닌

Normalization / Regularization / Standardization 으로 나눠서 공부해보도록 하자

 

 


 

1. Normalization

 

데이터를 compact하게 만들기 위해 사용한다 -> 학습전 값의 범위를 축소한다 (0~255 >> 0~1)

   - Local Minima에 빠질 위험 감소

   - scale이 큰 feature의 영향이 비대해지는 것을 방지

 

딥러닝에서 사용하는 Batch Normalization은 아래 포스팅에 작성해두었다.

 

[ML/DL] Batch Normalization 배치정규화

과적합을 줄이는 방법 중 하나로 알고 이 글을 읽는 분들이 많을것이다. Batch Normalization에 대해 알아보도록 하자. 먼저 Batch Normalization 은 아래 논문에서 나온 개념이다. Batch Normalization: Accelera..

dbstndi6316.tistory.com

 


 

2. Regularization

 

weight를 조정하는데 제약을 거는 기법으로 Overfitting을 예방하고 Generalization 성능을 높이는데 도움을 준다.

 

종류 :

- L1 Regularization (L1 : LASSO)

- L2 Regularization (L2 : Lidge)

- Dropout

- Early stopping

 

regularization에 대한 쉬운 예를 들어보면 아래 그래프와 같다.

https://hichoe95.tistory.com/55

파라미터를 완벽히 조정한 오른쪽 그래프는 완벽히 fitting 되어있지만 좋은 모델이라고는 할 수 없다.

일반적으로 올바른 output을 내지 못할것이기 때문이다.

이에 너무 높은 complexity를 피하기 위해 쓰는 방법이 regularization 인 것이다. 그 결과는 왼쪽 그래프이다.

 


 

3. Standardization

 

값의 범위를 평균 0, 분산 1이 되도록 변환하는 기법이다.

 

Normalization과 같이 학습전에 scaling 하여 아래와 같은 효과를 볼 수 있다.

   - Local Minima에 빠질 위험 감소

   - scale이 큰 feature의 영향이 비대해지는 것을 방지

 

하지만 이는 0~255 >> 0~1 의 정규화가 아닌 정규분포를 표준정규분포로 변환하는 것과 같은 표준화와 같다.

 

https://towardsdatascience.com/normalization-vs-standardization-quantitative-analysis-a91e8a79cebf

 

 

 

반응형