선형회귀(Linear Regression)
- 단순 선형 회귀(simple linear regression) : $\hat{y} = W x + b$
- 다중 선형 회귀(multiple linear regression) : $\hat{y} = \Sigma_{i=1}^n W_i x_i + b$
lasso와 ridge는 선형 회귀의 단점으 보완해 범용성(generization)을 제공한다.
선형회귀 최적화
- 평균 제곱 오차(Mean Squared Error, MSE)
- loss function
다중 회귀 모형은 과적합(overfitting) 되는 경향이 존재한다 -> 일반화 능력이 떨어짐, test 데이터에 대한 예측 성능이 하락함
=> Lasso, Ridge 사용
underfitted vs good fit(robust) vs overfitted
- Underfitted (첫 번째) : 데이터와 예측 모델의 loss가 클 경우, underfitting 또는 high bias라고 한다. bias가 큰 모델은 학습이 덜된 것이 원인.
- Overfitted (세 번째) : 현재 데이터로는 잘 맞지만, 다른 데이터를 사용한다면 정확한 예측이 불가. overfitting 또는 high variance라고 한다. train data에 너무 fitting된 모델을 만든 것이 원인
- Good Fit (두 번째) : 가장 좋은 모델이며, 어느정도 데이터에 적합하면서 bias와 variance에 대해서 적절하다.
bias와 variance를 둘 다 줄이면 가장 좋겠지만 하나를 포기하는 경우도 발생할 수 있다. 이 때 bias를 조금 가지더라도 작은 variance를 가지는 모델을 만드는 것도 좋은 방안이다. 다시말해 overfitting을 해결함으로써 효과를 보는 것이 중요
- overfitting을 해결하는 방법
- feature의 개수를 줄이기 : 주요 feature를 직접 선택하고 버림, model selection algorithm을 사용
- 정규화(Regularization)을 수행
- 모든 feature를 사용하되, parameter($\theta$)의 값을 줄인다.
정규화(Regularization)
정규화는 찾아야하는 모수인 $\beta$에 제약(constraint)를 줌으로써 모델을 정돈해주어 과적합이 아닌 일반성을 띄게 해준다.
첫 번째 그림은 위에서 설명했듯이 과적합되어 올바르지 않다. 따라서 두번째와 같은 모델을 사용해야하는데 가는 방법 중 ridge를 예를 들어 설명.
현재 데이터에 대한 예측력도 중요하지만 그렇게되면 미래의 데이터를 잘 맞추지 못할 가능성이 크므로 일반화가 중요하다. 위의 그림에서 (1) training accuracy만 있으면 최소제곱법과 같지만, (2) gerneralization accuracy가 추가되면서 $\beta$에 제약을 줄 수 있어 정규화가 가능해진다.
이렇게 계수 추정치를 줄여주는 정규화 방법을 shrinage method라고 말하기도 한다.
수축법(Shrinkage Methods)
계수 추정치를 0으로 수축(shrink)하는 기법을 사용하여 모든 설명 변수를 포함하고 있는 모델을 적합(fit)할 수 있다. 계수 추정치를 수축하는 것은 모델의 variance를 감소시킨다. 모델의 variance를 감소시킨 다는 의미는 bias를 증가시켜 overfitting을 방지한다. 회귀 계수를 0으로 수축하는 가장 잘 알려진 방법이다.
- Lasso regression
- Ridge regression
Ridge Regression (릿지 회귀, L2 Regression)
릿지회귀의 패널티항은 파라미터의 제곱을 더해준 것이다. 이것은 미분가능해 gradient descent 최적화가 가능하고, 파라미터의 크기가 작은 것 보다 큰 것을 더 빠른 속도로 줄여준다. 다시 말하면 $\lambda$가 클수록 릿지 회귀의 계수는 0에 가까워진다. ($\lambda=0$ 일 때, 패널티 항은 효과가 없음 = 최소제곱추정과 같음).
- $\lambda$는 조율모수 : hyper parameter
릿지 회귀의 $\beta_0^2 + \beta_1^2$의 제약조건의 원이 있다. 기존의 OLS(Ordinary Least Squares)가 아래 보이는 제약조건 까지 와야 최적이라고 할 수 있다. 그렇다면 OLS가 제약조건까지 오기 위해서는 RSS(residual sum of squares) 크기를 키워주게 된다. bias가 약간 희생하더라도 variance를 줄이기 위해 아래 그림처럼 재약조건까지 오는 가장 작은 RSS를 고른다.
일반적으로 변수의 부분 집합만을 포함하는 모델을 선택하는 best subset, forward stepwise, backward stepwise selection과 다르게 능형 회귀는 모든 p개의 변수를 포함한다. 그리고 패널티 항은 모든 계수가 0이 되는 방향으로 수축한다. 하지만 람다가 무한이 아닌 경우에 계수를 정확히 0으로 수축하지 않는다. 모델의 정확도 관점에서는 문제가 되지 않지만, 모델을 해석해야 하는 경우에 문제점이 발생하기 때문에 lasso가 등장한다.
Lasso Regression (라쏘 회귀, L1 Regression)
라쏘는 패널티항에 절댓값의 합을 춘다.
라쏘는 제약조건이 절대값이기 때문에 마름모꼴의 형태로 나타난다. 라쏘회귀의 경우 최적값은 모서리 부분에서 나타날 확률이 릿지에 비해 높기 때문에 몇몇 유의미하지 않은 변수들에 대해 계수를 0에 가깝게(혹은 0으로) 추정해 feature selection의 효과를 가져온다. 라쏘는 파라미터의 크기에 관계 없이 같은 수준의 regularization을 적용하기 떄문에 작은 값의 파라미터를 0으로 만들어 해당 변수를 모델에서 삭제하고, 따라서 모델을 단순하게 만들어주고 해석을 용이하게 한다.
반면 릿지의 경우 어느정도 상관성을 가지는 변수들에 대해서 pulling이 되는 효과를 보여줘 변수 선택 보다는 상관성이 있는 변수들에 대해서 적절한 가중치 배분을 하게 된다. 따라서 릿지의 경우 PCA와 상당한 관련성이 있다.
Reference
- https://rk1993.tistory.com/entry/Ridge-regression%EC%99%80-Lasso-regression-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
- https://otugi.tistory.com/127
- https://deep-learning-study.tistory.com/655
- https://m.blog.naver.com/PostView.nhn?blogId=wjddudwo209&logNo=220177096998&proxyReferer=https:%2F%2Fwww.google.com%2F
- https://sanghyu.tistory.com/13?category=1122189
'Machine Learning' 카테고리의 다른 글
의사결정 나무 (Decision Tree) ID3 알고리즘 (0) | 2022.04.04 |
---|---|
의사결정나무, Decision Tree (0) | 2022.04.04 |
분산과 편향 차이 이해하기 (bias vs variance) (0) | 2022.04.04 |
clustering 평가 방법 (RI, rand index) (0) | 2022.03.07 |
레이블인코딩(Label Encoding) vs 원핫인코딩(One-hot Encoding) 비교 (0) | 2022.02.28 |
댓글