모델이 test 데이터셋보다 train 데이터셋에서 성능이 훨씬 높다면 과대적합이라고 한다.
→ 모델 파라미터가 훈련 데이터셋에 있는 특정 샘플들에 대해 너무 가깝게 맞추어져 있다는 것
→ 새로운 데이터에는 잘 일반화하지 못하기 때문에 모델 분산이 크다고 한다.
→ 과대적합의 이유는 주어진 훈련 데이터에 비해 모델이 너무 복잡하기 때문
일반화 오차를 감소시키기 위한 방법
- 더 많은 train 데이터를 모은다.
- 규제를 통해 복잡도를 제한한다.
- 파라미터 개수가 적은 간단한 모델을 선택한다.
- 데이터 차원을 줄인다.
4.5.1 모델 복잡도 제한을 위한 L1 규제와 L2 규제
- 가중치 벡터 w 의 L2 규제 , L1 규제


- L1 규체는 보통 희소한 특성 벡터를 만든다.
- 대부분의 특성 가중치가 0 이 된다.
→ 관련없는 특성이 많은 고차원 데이터셋일 경우 희소성이 도움이 된다.
→ train 샘플보다 관련 없는 특성이 더 많은 경우
4.5.2 L2 규제의 기하학적 해석
L2 규제는 비용함수에 패널티 항을 추가한다.
규제가 없는 비용 함수로 훈련한 모델에 비해 가중치 값을 아주 작게 만드는 효과를 낸다.
두 개의 가중치 값 w1, w2 에 대한 볼록한 비용 함수의 등고선을 그려보자.
제곱 오차합(SSE) 의 비용함수가 구 모양이여서 로지스틱 회귀의 비용 함수보다 그리기 쉽다.
목표 : train 데이터에서 비용함수를 최소화하는 가중치 값의 조합을 찾는 것

그림 1 _ L2 규제와 비용함수
규제를 더 작은 가중치를 얻기 위해서 비용함수에 추가하는 패널티 항으로 생각할 수 있다.
규제 파라미터 람다로 규제의 강도를 크게 하면 가중치가 0 에 가까워지고, train set에 대한 모델의 의존성은 줄어든다.
이는 모델을 학습할 만한 충분한 훈련 데이터가 없을 때 편향을 추가하여 모델을 간단하게 만듦으로써
분산을 줄이는 것으로 해석할 수 있다.
4.5.3 L1 규제를 사용한 희소성

w1 = 0 일때 비용함수의 등고선이 L1 다이아몬드와 만나는 것을 볼 수 있다.
L1 규제의 등고선은 날카롭기 때문에 비용함수의 포물선과 L1 다이아몬드의 경계가 만나는 최적의 점은 축에 가깝게 위치할 가능성이 높다. 이것이 희소성이 나타나는 이유이다.






: 람다를 계속 증가시키면 MSE는 계속 감소하지만 어느 순간 증가,
그러므로 특정 부근에서 람다값을 정해주는 것이 좋다.
Lagrangian 최적화 기법으로 표현


Elastic 회귀 방법

참고 : 머신러닝 교과서 with 파이썬, 사이킷런, 텐서플로
'파이썬 > 머신러닝,딥러닝' 카테고리의 다른 글
| 비선형 SVM (커널 SVM) gamma (0) | 2022.05.12 |
|---|---|
| train_test_split 에서 stratify 의 의미 (0) | 2022.04.15 |
| Confusion matrix - Iris 데이터를 이용한 퍼셉트론 훈련 (0) | 2022.03.31 |
| 텐서플로우를 이용한 신경망 구현 예제 (0) | 2022.03.29 |
| K-Fold Cross Validation 와 validation 데이터에 대한 이해 (0) | 2022.03.17 |