Minwoo Dev.

[Machine Learning] L1, L2 정규화(Normalization), Lasso, Ridge, 엘라스틱넷(Elastic Net) 본문

AI

[Machine Learning] L1, L2 정규화(Normalization), Lasso, Ridge, 엘라스틱넷(Elastic Net)

itisminu 2024. 11. 6. 00:09
728x90
반응형
SMALL

정규화(Normalization)

정규화란 값의 범위를 0부터 1 사이의 값으로 바꾸는 것을 의미한다.

예를 들어 키 데이터가 있고, 몸무게 데이터가 있다고 하자.

이름 몸무게
Amy 160 48
Clark 183 77
Jay 177 72
Bob 169 80

 

컴퓨터는 수치형 값을 인식할 때 크기에 따라 인식한다.

 

현재 데이터에서 키는 160~183까지의 범위를 가지고, 몸무게는 48~80의 값을 가진다.

기본적으로 컴퓨터는 키가 더 큰 숫자들을 가지고 있기 때문에 더 중요하다고 판단하게 된다.

하지만 키와 몸무게 모두 중요한 데이터이다.

 

이럴 때, 우리는 키 데이터끼리 정규화하여 0~1 사이의 값으로 바꾸고, 몸무게 데이터끼리 정규화하여 0~1사이의 값으로 바꾸게된다.

그럼 함께 봤을때도 어떤 데이터가 큰지 보다 객관적으로 평가할 수 있게 된다.

 


이처럼 정규화는 특정 피처가 너무 많은 영향을 끼치지 않도록 방지해준다.

(위 데이터에서는 '키'라는 피처값의 영향력이 지나치게 커질 수 있음)

 

그래서 과적합을 방지하기 위해 정규화가 사용되는 것이다.

 

 

머신러닝 모델에서 사용되는 정규화 기법 중 유명한 L1, L2 정규화에 대해서 알아보겠다.

 

 


L1 정규화(L1 Normalization, Lasso)

  • L1 정규화는 손실 함수에 절대값 항을 추가하여 가중치의 절대 크기 합을 최소화하는 방식으로 규제한다.
  • 중요하지 않은 가중치를 0으로 만들어서 모델의 복잡성을 줄일 수 있다.

RSS(잔차 제곱합, Residual Sum of Squares), λ는 정규화 강도를 조절하는 하이퍼파라미터

 

 

특징

  • 너무 많은 가중치를 0으로 만들 수 있어 모델의 정확성이 떨어질 수 있음
  • 몇 개의 중요 변수만 선택하기 때문에 정보 손실의 가능성 존재
  • 중요한 것들만 빼고 0으로 만들어버리기 때문에 특성 선택에 유리

 


L2 정규화(L2 Normalization, Ridge)

  • L2 정규화는 손실 함수에 가중치의 제곱합을 추가하여 모델의 가중치가 커지는 것을 규체
  • 중요하지 않은 가중치를 0에 가깝게 만들어 모델의 복잡성을 줄일 수 있다.

RSS(잔차 제곱합, Residual Sum of Squares), λ는 정규화 강도를 조절하는 하이퍼파라미터

 

특징

  • 가중치 값을 0에 가깝게 줄이지만, 완전히 0으로 만드는 것이 아님
  • 모든 특성을 보존하면서 가중치를 조절
  • 특성 선택보다  모델의 안정성에 유리

엘라스틱넷(Elastic Net Regression)

  • L1 정규화와 L2 정규화를 결합한 기법
  • 가중치의 절대값 합과 제곱합을 모두 패널티로 추가하여 규제

RSS(잔차 제곱합, Residual Sum of Squares), λ는 정규화 강도를 조절하는 하이퍼파라미터, α는 L1과 L2 패널티의 비율을 조절하는 하이퍼파라미터

 

특징

  • L1 정규화의 장점인 특성 선택과 L2 정규화의 장점인 규제 효과를 모두 누릴 수 있음
  • L1 정규화에서는 상관된 특성 중 일부만 선택하는 반면, 엘라스틱넷은 상관된 특성 집합을 함께 선택할 수 있어 더 안정적인 해석 가능
728x90
반응형
LIST