머신러닝

[머신러닝] Ridge, Lasso 클래스

서노리 2022. 4. 22. 03:06
반응형

LinearRegression 클래스는 학습데이터를 예측하기 위해서 각각의 특성별로 최적화된 가중치 값을 계산하는 머신러닝 알고리즘이다. 하지만 이렇게 생성된 가중치는 학습데이터에 완벽하게 맞는 가중치이므로 새로운 데이터를 예측할 때 적합하지 않을 가능성이 크다. 따라서 선형 모델은 위의 문제를 해결하기 위해서 제약의 방식을 사용하는데 이는 L1제약과 L2제약으로 나뉜다.

 

  • L2 제약 조건
    - 모든 특성에 대한 가중치 값을 0 주변으로 위치하도록 함
    - L2 제약을 사용하면 LinearRegression 클래스의 일반화 성능이 증가하게 된다.
    - 선형모델에 L2 제약 조건을 추가한 클래스 : Ridge 클래스

  • L1 제약 조건
    - 모든 특성 데이터 중 일부 특성에 대해서만 가중치 값을 할당
    (대다수의 특성 가중치 값은 0으로 제약)
    - L1 제약 조건은 특성 데이터가 많은 데이터를 학습하는 경우 빠른 학습이 가능하도록 함
    - 모든 특성 데이터 중 중요도가 높은 특성을 구분할 수 있음
    - 선형모델에 L1 제약 조건을 추가한 클래스 : Lasso 클래스
from linear_model import Ridge, Lasso

ridge = Ridge(alpha=1.0, random_state=1)
lasso = Lasso(alpha=1.0, random_state=1)

※ Ridge, Lasso 클래스의 alpha hyper parameter

- 커질수록 제약을 크게 함(모든 특성들의 가중치 값 0에 가까워짐)

- 작아질수록 제약을 약하게 함(LinearRegression 클래스와 점점 동일해짐)


 

반응형