AI

[AI Interview] Regularization이란 무엇인가?

지구인 ㅣ 2022. 5. 4. 12:08

728x90

ML 에서 언제 쓰나?

학습 시 오버피팅을 방지하기 위해 가중치에 패널티를 주는 방식으로 사용됩니다. 그 방법의 예로는 L1&L2 Regularization, dropout, early stopping, weight decay 등이 있습니다.

 

Regularization vs Normalization vs Standardization

 

공통점

  • 오버피팅을 방지하기 위함에 목적이 있습니다.
  • 한국어로 모두 정규화로 번역됩니다.

Regularization(규제화)

  • 모델의 가중치에 penalty를 부여하는 것입니다.
  • 과적합을 막기 때문에 훈련데이터셋이라는 특정 데이터셋에 대한 accuracy는 낮아집니다.
  • 다만 이를 통해 모델이 지나친 complexity를 갖는 것을 막고, test dataset에 대한 성능을 더 높입니다.
  • regularization의 방법으로 L1&L2 Regularization, dropout, early stopping, weight decay 등이 있습니다.

Normalization(정규화)

  • 정규화 공식을 이용해 모든 데이터의 값을 0에서 1사이로 변환합니다.
  • 각 데이터포인트의 값에 대해 (변수 - 최소값)/(최대값 - 최소값) 계산을 수행하기 때문에 가장 큰 값은 1, 가장 작은 값은 0으로 치환됩니다.
  • 이러한 과정을 통해 모든 데이터들을 서로 비교 가능케 할 수 있습니다.
  • from sklearn.preprocessing import MinMaxScaler 통해 정규화할 수 있습니다.

Standardization(표준화)

  • 정규분포(N(0,1))의 어떤 값을 표준한 것으로, 표준정규분포의 Z값과 같다고 볼 수 있습니다.((변수 - 평균) / 표준편차)
  • 따라서 정규화처럼 0과 1사이로 범위가 통일되지는 않습니다.
  • from sklearn.preprocessing import StandardScaler 통해 표준화할 수 있습니다.

 

728x90

'AI' 카테고리의 다른 글

[Paper Review] DALL-E : Zero-Shot Text-to-Image Generation  (0) 2022.05.03
[Paper Review] GPT-1  (0) 2022.03.21