본문 바로가기

하루 30분 머신러닝, 딥러닝 기초다지기

Regularization(정규화) Ridge vs Lasso

Regularization(정규화)

: 모델을 변형하여 과적합을 완화해 일반화 성능을 높여주기 위한 기법을 말한다.

위의 세가지 모델을 통해 under fitting(과소적합)된 모델과 over fitting(과적합)된 모델을 살펴보자.

 

 첫번째 모델을 보면 train data와 예측값이 많이 차이가 나는 것을 볼수 있다. 이런 경우를 under fitting, high bias라고 한다. 이와 같은 모델은 train data를 잘 학습하지 못하였고 test data와 train data사이의 차이가 너무 크기 때문에 값을 잘 예측 할 수 없다. 

 세번째 모델은 train data의 모든 점들을 예측값이 전부 통과하는 것을 볼수 있다. 이런 경우를 over fitting, high vaiance라고 한다. 이와 같은 모델은 train data를 잘 학습하였지만 너무 많이 학습한 나머지 test data는 오히려 잘 예측하지 못하는 문제가 발생한다.


 두번째 모델은 어느정도 train data에 적합하면서 variance와 bias도 적절한 모델이다. 따라서 셋 중 가장 적합한 모델이라고 할 수 있다.

 

variance와 bias는 서로 trade-off관계이기 때문에 둘중에 하나를 포기해야하는 경우가 발생한다. 그래서 bias가 작더라도 제일 작은 variance를 가지는 즉, overfitting을 해결해서 좋은 모델을 찾기로 한다.

 

 

overfitting을 해결하는 방법은 크게 두 가지가 있다.

 

  1. feature의 갯수 줄이기
    • 주요 특징을 직접 선택하고 나머지는 버린다.
    • Model selection algorithm을 사용한다.
  2. regularization을 수행한다.
    • 모든 특성을 사용하되, 파라미터의 값을 줄인다.

 

회귀 모델을 사용하여 정규화 하기

정규화는 파라미터(weight)에 제약을 추가함으로써 모형이 과도하게 커지는 것을 막아 overfitting을 방지하는 방법이다.

모형이 과도하게 커지면 모형의 파라미터도 과도하게 증가하기 때문에 이를 방지하기 위해 파라미터의 크기를 제한한다.
일반적으로 Ridge 회귀모형, Lasso 회귀모형, Elastic Net 회귀모형을 사용한다.

 

1.  Ridge regression (릿지 회귀, L2)

: 각 가중치의 제곱의 합을 특정값 이하가 되도록 규제

  • 과적합을 줄이기 위해 사용되는 회귀방법
  • bias(편향)를 조금 더하고, variance(분산)를 줄이는 방법으로 regulation을 수행
  • 회귀계수에 L2-norm을 사용(제곱)
    • MSE가 최소가 되게 하는 가중치와 bias을 찾으면서, 가중치들의 제곱의 합이 최소가 되게 한는 것
  • 제곱을 사용하여 미분하기 쉬움

 > n : 데이터 수, P : feature의 수, λ: 튜닝 파라미터

더보기

_alpha, lamda, regularization parameter, penalty term은 모두 같은 말


> 람다값이 커질수록 파라미터들은 0으로 수렴하며, 덜 중요한 feature의 개수를 줄여준다. 그래서 overfitting을 줄여준다.
적절한 람다 값을 찾는것이 일반화가 잘되는 지점을 찾는 것이다.

 

2.  Lasso regression (라쏘 회귀, L1)

: 각 가중치의 절댓값의 합을 특정값 이하가 되도록 규제

  • 과적합을 줄이기 위해 사용되는 회귀방법
  • 회귀계수에 L1-norm을 사용(절댓값)
    • MSE가 최소가 되게 하는 가중치와 bias을 찾으면서, 가중치들의 절댓값의 합이 최소가 되게 한는 것.
  • 스케일이 비슷함

> n: 데이터 수 , p : feature의 수, λ : 튜닝 파라미터

> 람다값이 커질수록 파라미터들은 0으로 수렴하며, 덜 중요한 feature의 개수를 줄여준다. 그래서 overfitting을 줄여준다.
적절한 람다 값을 찾는것이 일반화가 잘되는 지점을 찾는 것이다.

 



 

 

두모델을 모두 돌려보고 잘 맞는 것을 선택하는것이 좋다.
Ridge와 Lasso는 매우 유사하다. 회귀계수로 L1-norm, L2-norm을 사용한다는 차이점이 있다. 또한 Lasso는 파라미터들이 0이 되지만, Ridge는 0으로 수렴할뿐 0이되진 않는다.