반응형
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 클래스와 점점 동일해짐)
반응형
'머신러닝' 카테고리의 다른 글
[머신러닝] 데이터 전처리 - 결측 데이터 처리 (0) | 2022.06.07 |
---|---|
[머신러닝] 선형 모델의 성능 향상을 위한 방법 (0) | 2022.04.22 |
[머신러닝] 회귀분석을 위한 선형 모델 - LinearRegression (0) | 2022.04.22 |
[머신러닝] K-최근접 이웃 알고리즘(K-NN) (0) | 2022.04.22 |
[머신러닝] 데이터 분석의 과정 - 머신러닝 모델의 구축 (0) | 2022.04.22 |