선형 회귀는 하나의 특성을 이용한 회귀 방법이다.
하지만 일반적으로 특성은 여러 개이다. 이럴 때 사용할 수 있는 방법이 바로 다중 회귀이다.
특성이 하나인 선형 회귀에서는 모델이 직선을 학습하지만 2개의 특성을 가진다면 모델은 평면을 학습한다.
방정식을 보면 쉽게 와닿는데 '타겟 = a*특성1 + b*특성2 + 절편' 의 평면 방정식을 가지기 때문이다.
이처럼 특성이 많을 때 고차원을 표현할 수 있는 선형 회귀는 복잡한 모델을 학습시킬 수 있다.
특성들이 여러 개 존재할 때 특성 그대로를 사용해도 좋지만 특성끼리 곱하는 등 새로운 특성을 만들 수도 있다.
사이킷런에서는 기존 특성으로부터 새로운 특성을 만드는 쉬운 도구를 제공한다. 사이킷런의 특성을 만들고 전처리하는 다양한 클래스를 변환기라고 하고 이는 공통적으로 fit(), transform() 메소드를 제공한다.
하지만 특성의 개수가 늘어나면 모델을 학습할 때 테스트에 과대적합되기 때문에 이를 방지하기 위해 규제를 준다.
특성에 곱해지는 계수의 크기를 작게 만들어서 규제를 시행하면 좀 더 보편적인 경우에 맞춰 학습된다.
그러나 특성의 스케일이 중구난방이면 계수 값도 차이가 커지기 때문에 규제 전에는 정규화 과정을 꼭 거쳐야 한다.
이처럼 선형 회귀 모델에 규제를 추가한 모델을 릿지, 라쏘라고 한다.
릿지는 계수를 제곱한 값을 기준으로 규제하고 라쏘는 계수의 절댓값을 기준으로 규제한다.
두 방법 모두 계수의 크기를 줄이지만 특히 라쏘는 아예 0으로 만들 수도 있다.
이런 특징 때문에 특성이 많은 경우에 유용한 특성을 골라내는 용도로 라쏘 모델을 사용할 수도 있다.
참고: 「혼자 공부하는 머신러닝+딥러닝」, 한빛미디어, 박해선 (2020)
'스터디 > ML, DL' 카테고리의 다른 글
[LLM] LangChain이란? (0) | 2025.01.27 |
---|---|
[ML] 로지스틱 회귀 (0) | 2022.03.19 |
[ML] 회귀 알고리즘 : 선형 회귀 (1) (0) | 2022.03.03 |
[CV] CNN, 합성곱 연산, 패딩, 풀링 (0) | 2020.02.01 |
[CV] 퍼셉트론, 신경망 (0) | 2020.01.11 |