과적합과 과소적합이란? Bias·Variance·Ridge·LASSO·Dropout·Pruning 쉽게 이해하기
1장 과적합과 과소적합은 왜 중요한가#
머신러닝 모델의 목적은 훈련 데이터를 외우는 것이 아닙니다.
진짜 목적은 처음 보는 새로운 데이터에서도 좋은 예측 성능을 내는 것입니다.
그런데 모델이 너무 복잡하면 훈련 데이터의 세부적인 잡음까지 외울 수 있습니다.
반대로 모델이 너무 단순하면 데이터 안에 존재하는 중요한 패턴조차 학습하지 못합니다.
이 두 극단이 바로:
- 과적합 Overfitting
- 과소적합 Underfitting
입니다.
핵심#
과적합 = 너무 많이 학습
과소적합 = 충분히 학습하지 못함
이라고 먼저 기억하면 됩니다.
2장 과적합 Overfitting이란 무엇인가#
과적합은 훈련 데이터에 지나치게 특화된 모델입니다.
훈련 데이터에서는 매우 좋은 결과가 나오지만 새로운 테스트 데이터에서는 성능이 떨어집니다.
예를 들어 학생이 문제의 원리를 이해한 것이 아니라 문제집의 정답을 통째로 외웠다고 생각해봅시다.
같은 문제집에서는 거의 100점을 받을 수 있습니다.
하지만 처음 보는 문제가 나오면 제대로 풀지 못합니다.
이것이 과적합과 비슷합니다.
핵심#
Overfitting = 훈련은 잘하지만 새로운 데이터에 약함
입니다.
3장 과적합의 훈련 오차와 테스트 오차#
제공된 학습자료에서는 과적합을 다음과 같이 정리합니다.
훈련 오차#
낮음
훈련 데이터에는 거의 완벽하게 맞습니다.
테스트 오차#
높음
새로운 데이터에서는 일반화에 실패합니다.
따라서:
Train Error ↓
Test Error ↑
라는 조합이 과적합의 대표적인 특징입니다.
4장 과적합을 그래프로 생각하면#
데이터가 대략 부드러운 곡선 형태의 패턴을 가지고 있다고 하겠습니다.
좋은 모델이라면 전체적인 패턴을 따라가야 합니다.
하지만 과적합된 모델은 데이터의 작은 흔들림까지 모두 따라갑니다.
즉:
- 정상적인 패턴
- 잡음
- 우연한 변동
까지 모두 학습합니다.
그 결과 훈련 데이터에는 매우 잘 맞지만 새로운 데이터에는 불안정해집니다.
5장 과적합의 주요 원인#
제공된 학습자료에서는 다음 원인을 제시합니다.
모델이 너무 복잡#
필요 이상으로 많은 규칙이나 파라미터를 사용합니다.
훈련 데이터 부족#
복잡한 모델에 비해 학습 데이터가 충분하지 않습니다.
즉:
복잡한 모델 + 부족한 데이터
는 과적합 위험을 증가시킬 수 있습니다.
6장 과소적합 Underfitting이란 무엇인가#
과소적합은 모델이 너무 단순해서 데이터의 패턴을 제대로 파악하지 못하는 상태입니다.
훈련 데이터조차 제대로 설명하지 못합니다.
예를 들어 복잡한 곡선 패턴을 직선 하나로만 설명하려고 하면 중요한 구조를 놓칠 수 있습니다.
핵심#
Underfitting = 모델이 너무 단순
입니다.
7장 과소적합의 훈련 오차와 테스트 오차#
제공된 학습자료에서는 과소적합을 다음처럼 정리합니다.
훈련 오차#
높음
테스트 오차#
높음
훈련 데이터조차 제대로 학습하지 못했기 때문에 새로운 데이터에서도 성능이 좋지 않습니다.
즉:
Train Error ↑
Test Error ↑
입니다.
8장 과소적합의 주요 원인#
제공된 학습자료에서는 다음을 주요 원인으로 제시합니다.
- 모델이 너무 단순
- 특성이 부족
예를 들어 주택가격을 예측하는데:
주택 면적
하나만 사용하면서 실제로 중요한:
- 위치
- 연식
- 교통
- 층수
등을 모두 제외했다면 모델이 충분한 패턴을 학습하기 어려울 수 있습니다.
9장 과적합과 과소적합 한눈에 비교#
| 구분 | 과적합 Overfitting | 과소적합 Underfitting |
|---|---|---|
| 정의 | 훈련 데이터에 지나치게 특화 | 모델이 너무 단순 |
| 훈련 오차 | 낮음 | 높음 |
| 테스트 오차 | 높음 | 높음 |
| Bias | 낮음 | 높음 |
| Variance | 높음 | 낮음 |
| 주요 원인 | 모델 복잡·데이터 부족 | 모델 단순·특성 부족 |
시험에서는 이 표의 관계를 그대로 익혀두는 것이 중요합니다.
10장 과적합과 과소적합을 학생으로 비유하면#
과적합 학생#
기출문제의 답을 모두 외웠습니다.
기출문제:
100점
새로운 문제:
낮은 점수
과소적합 학생#
공부 자체를 충분히 하지 않았습니다.
기출문제:
낮은 점수
새로운 문제:
낮은 점수
따라서:
과적합 = 암기만 함
과소적합 = 공부 부족
이라고 비유할 수 있습니다.
11장 Bias 편향이란 무엇인가#
편향 Bias는 모델이 실제 패턴을 지나치게 단순하게 가정하면서 생기는 오차와 연결됩니다.
제공된 학습자료에서 가장 중요한 관계는:
Bias ↑ → 모델이 너무 단순 → 과소적합
입니다.
즉 높은 Bias는 과소적합과 연결합니다.
핵심#
High Bias = Underfitting
입니다.
12장 Variance 분산이란 무엇인가#
제공된 학습자료에서 Variance는 모델이 데이터 변화에 얼마나 민감하게 반응하는지와 연결할 수 있습니다.
복잡한 모델은 훈련 데이터가 조금 달라져도 모델의 결과가 크게 바뀔 수 있습니다.
이러한 상황을 높은 분산과 연결합니다.
핵심 관계는:
Variance ↑ → 모델이 너무 복잡 → 과적합
입니다.
핵심#
High Variance = Overfitting
입니다.
13장 Bias와 Variance를 쉽게 구분하면#
Bias가 높다#
너무 단순하게 생각합니다.
→ 중요한 패턴을 놓침
→ 과소적합
Variance가 높다#
데이터 하나하나에 지나치게 민감합니다.
→ 잡음까지 학습
→ 과적합
한 줄로:
Bias는 단순함의 문제
Variance는 민감함의 문제
라고 기억하면 쉽습니다.
14장 과적합의 Bias와 Variance#
제공된 학습자료에서는 과적합을:
Bias 낮음
Variance 높음
으로 정리합니다.
복잡한 모델이 훈련 데이터에 매우 잘 맞기 때문에 단순화로 인한 편향은 낮지만 데이터 변화에 민감하므로 분산이 높아집니다.
핵심#
Overfitting = Low Bias + High Variance
입니다.
15장 과소적합의 Bias와 Variance#
과소적합은 반대입니다.
제공된 학습자료에서는:
Bias 높음
Variance 낮음
입니다.
모델 자체가 단순하기 때문에 데이터가 조금 바뀌더라도 모델은 크게 변하지 않지만 중요한 패턴을 놓칩니다.
핵심#
Underfitting = High Bias + Low Variance
입니다.
16장 편향-분산 트레이드오프란 무엇인가#
Bias-Variance Tradeoff는 머신러닝에서 매우 중요한 개념입니다.
제공된 학습자료에서는:
편향과 분산을 동시에 낮출 수 없으며 최적의 균형점을 찾는 것이 목표
라고 설명합니다.
모델을 지나치게 단순하게 만들면:
Bias ↑
Variance ↓
가 되고,
모델을 지나치게 복잡하게 만들면:
Bias ↓
Variance ↑
가 됩니다.
17장 모델 복잡도와 Bias·Variance 관계#
모델이 단순할 때:
Bias 높음
Variance 낮음
↓
과소적합
모델이 복잡할 때:
Bias 낮음
Variance 높음
↓
과적합
따라서 좋은 모델은 이 중간에서 일반화 성능이 좋은 균형점을 찾는 것이 중요합니다.
18장 편향-분산 트레이드오프 시험 직전 관계#
반드시 기억합니다.
Bias ↑ → Underfitting
Variance ↑ → Overfitting
한 줄로:
편향은 과소적합
분산은 과적합
입니다.
19장 과적합을 어떻게 방지할까#
제공된 학습자료에서는 과적합 방지 방법을 다음과 같이 제시합니다.
- 가지치기 Pruning
- 정규화 Regularization
- 드롭아웃 Dropout
- 교차검증
- 훈련 데이터 증가
- 앙상블 기법
이 방법들은 사용하는 알고리즘이나 상황이 서로 다릅니다.
20장 가지치기 Pruning#
가지치기는 의사결정나무에서 불필요한 가지를 제거하는 방법입니다.
의사결정나무가 너무 깊어지면 훈련 데이터의 세부적인 특징까지 지나치게 학습할 수 있습니다.
이때 필요하지 않은 분기를 제거하여 모델을 단순하게 만듭니다.
해당 알고리즘#
의사결정나무
핵심#
Pruning = Tree의 불필요한 가지 제거
입니다.
21장 가지치기가 과적합을 줄이는 이유#
의사결정나무가 계속 분기하면:
이 데이터 하나만 따로 분리하기 위한 조건
까지 만들어질 수 있습니다.
그러면 훈련 데이터에는 잘 맞지만 새로운 데이터에서는 불안정해질 수 있습니다.
불필요한 가지를 제거하면 모델의 복잡도가 낮아지고 과적합 위험을 줄일 수 있습니다.
22장 정규화 Regularization이란 무엇인가#
여기서 말하는 정규화는 앞에서 배운 Normalization Min-Max Scaling과 다른 개념입니다.
Regularization은 모델이 지나치게 복잡해지지 않도록 복잡한 모델에 패널티를 부여하는 방법입니다.
제공된 학습자료에서는 대표적으로:
- Ridge L2
- LASSO L1
를 제시합니다.
핵심#
Regularization = 복잡한 모델에 벌점
입니다.
23장 Normalization과 Regularization을 혼동하지 말자#
한국어로 둘 다 정규화라고 번역되는 경우가 있어 매우 헷갈릴 수 있습니다.
Normalization#
데이터 스케일 변환
예:
Min-Max 0~1
Regularization#
모델 복잡도 제한
예:
Ridge, LASSO
따라서 문맥을 반드시 확인해야 합니다.
24장 Ridge 릿지란 무엇인가#
Ridge는 L2 정규화입니다.
제공된 학습자료에서는 패널티를:
회귀계수 제곱합 추가
로 설명합니다.
즉 회귀계수들이 지나치게 커지는 것을 억제합니다.
핵심#
Ridge = L2 = 계수 제곱합
입니다.
25장 Ridge의 계수 특징#
제공된 학습자료에서는 Ridge의 특징을:
계수를 0에 가깝게 축소
한다고 설명합니다.
중요한 점은 일반적으로 모든 변수를 유지한다는 것입니다.
즉 계수가 작아지기는 하지만 일부 변수를 완전히 제거하는 것이 핵심은 아닙니다.
핵심#
Ridge = 작게 만들지만 변수 유지
입니다.
26장 Ridge와 다중공선성#
제공된 학습자료에서는 Ridge가:
다중공선성을 효과적으로 해결
하는 방법으로 설명됩니다.
독립변수들이 서로 강한 상관관계를 가지면 회귀계수가 불안정해질 수 있습니다.
Ridge는 계수에 L2 패널티를 적용해 이러한 문제를 완화하는 데 활용할 수 있습니다.
27장 LASSO란 무엇인가#
LASSO는 L1 정규화입니다.
제공된 학습자료에서는 패널티를:
회귀계수 절댓값의 합
이라고 설명합니다.
핵심#
LASSO = L1 = 계수 절댓값 합
입니다.
28장 LASSO의 가장 중요한 특징#
LASSO에서는 일부 회귀계수를 정확히 0으로 만들 수 있습니다.
계수가 0이 되면 해당 변수는 모델에서 사실상 제외됩니다.
그래서 LASSO에는 자동 변수 선택 효과가 있습니다.
핵심#
LASSO = 일부 계수 0 → 변수 선택
입니다.
29장 Ridge와 LASSO의 가장 중요한 차이#
Ridge#
계수를 0에 가깝게 축소
모든 변수 유지
LASSO#
일부 계수를 정확히 0으로 만듦
자동 변수 선택
입니다.
시험에서는 이 차이가 매우 중요합니다.
30장 Ridge vs LASSO 비교#
| 구분 | Ridge | LASSO |
|---|---|---|
| 정규화 | L2 | L1 |
| 패널티 | 계수 제곱합 | 계수 절댓값 합 |
| 계수 | 0에 가깝게 축소 | 일부 정확히 0 |
| 변수 선택 | 모든 변수 유지 | 자동 변수 선택 효과 |
| 다중공선성 | 효과적으로 해결 | 상대적으로 약함 |
암기하면:
Ridge = 제곱·유지
LASSO = 절댓값·선택
입니다.
31장 LASSO 시험 함정#
LASSO는 모든 변수의 회귀계수를 0으로 만든다.
틀립니다.
제공된 학습자료에서는:
일부 계수를 정확히 0으로 만듦
이라고 설명합니다.
즉 필요한 변수까지 모두 제거한다는 뜻이 아닙니다.
32장 Ridge 시험 함정#
Ridge는 일부 계수를 정확히 0으로 만들어 자동으로 변수를 선택한다.
틀립니다.
제공된 학습자료 기준 변수 선택 효과는 LASSO와 연결합니다.
Ridge는:
모든 변수 유지
로 정리합니다.
33장 드롭아웃 Dropout이란 무엇인가#
드롭아웃은 신경망 Neural Network에서 사용하는 과적합 방지 방법입니다.
제공된 학습자료에서는:
학습 시 일부 뉴런을 무작위로 비활성화
한다고 설명합니다.
즉 학습할 때 매번 일부 뉴런을 임시로 사용하지 않습니다.
핵심#
Dropout = 일부 뉴런 랜덤 OFF
입니다.
34장 드롭아웃은 왜 사용하는가#
특정 뉴런들에 지나치게 의존하면 신경망이 훈련 데이터에 과도하게 맞춰질 수 있습니다.
드롭아웃은 학습 과정에서 일부 뉴런을 무작위로 비활성화하여 여러 경로를 사용하도록 만듭니다.
제공된 학습자료에서는 이를 신경망의 대표적인 과적합 방지 방법으로 제시합니다.
35장 교차검증과 과적합 방지#
앞에서 K-Fold 교차검증을 살펴봤습니다.
교차검증은 여러 데이터 분할에서 모델의 성능을 확인합니다.
따라서 훈련 데이터에서만 높은 성능을 내는 모델을 발견하는 데 도움이 됩니다.
제공된 학습자료에서는:
K-Fold로 성능 검증
을 모든 모델에서 활용 가능한 과적합 대응방법으로 제시합니다.
36장 훈련 데이터 증가#
제공된 학습자료에서는 더 많은 데이터로 학습하는 것도 과적합 방지 방법으로 제시합니다.
특히 모델이 복잡한데 데이터가 너무 적으면 개별 데이터에 지나치게 맞춰질 가능성이 높아집니다.
더 다양한 데이터를 제공하면 모델이 개별 사례보다는 전체적인 패턴을 학습하는 데 도움이 될 수 있습니다.
핵심#
더 많은 데이터 → 과적합 완화
입니다.
37장 앙상블과 과적합 방지#
제공된 학습자료에서는:
배깅 Bagging으로 분산 감소
를 과적합 방지 방법과 연결합니다.
대표적인 알고리즘은:
Random Forest
입니다.
앞에서 배운 것처럼 Bagging은 여러 모델을 병렬로 학습하고 결과를 결합합니다.
핵심#
Bagging → Variance 감소
입니다.
38장 랜덤포레스트와 과적합#
Random Forest는 여러 의사결정나무를 결합합니다.
하나의 Decision Tree는 깊어지면 높은 분산으로 인해 과적합 위험이 커질 수 있습니다.
여러 나무의 결과를 결합하면 개별 모델의 불안정성을 줄이고 분산을 낮추는 데 도움이 됩니다.
제공된 학습자료에서는 이를:
앙상블 → Bagging → 분산 감소 → Random Forest
로 연결합니다.
39장 과적합 방지 방법 비교#
| 방법 | 설명 | 대표 알고리즘 |
|---|---|---|
| Pruning | 불필요한 가지 제거 | 의사결정나무 |
| Regularization | 복잡한 모델에 패널티 | 회귀, SVM |
| Dropout | 뉴런 일부 비활성화 | 신경망 |
| Cross-Validation | K-Fold 성능 검증 | 모든 모델 |
| 데이터 증가 | 더 많은 데이터 학습 | 모든 모델 |
| Ensemble | Bagging으로 분산 감소 | Random Forest |
40장 과소적합은 어떻게 줄일까#
제공된 학습자료에서 과소적합의 주요 원인은:
모델이 너무 단순
특성 부족
입니다.
따라서 개념적으로는 반대 방향을 생각할 수 있습니다.
즉 모델이 데이터의 패턴을 충분히 학습할 수 있도록 적절한 복잡성과 필요한 특성을 제공해야 합니다.
시험에서는 우선:
Underfitting = 모델 단순·특성 부족
이라는 원인 관계를 기억하는 것이 중요합니다.
41장 K-NN과 과적합·과소적합#
앞에서 K-NN에서도 같은 개념이 등장했습니다.
제공된 학습자료에서는:
k가 너무 작음#
→ 과적합
k가 너무 큼#
→ 과소적합
입니다.
이 관계는 ADsP에서 자주 출제됩니다.
42장 왜 K-NN의 k가 작으면 과적합인가#
k가 작으면 극소수의 주변 데이터에 의해 결과가 결정됩니다.
예를 들어 k=1이면 가장 가까운 하나의 데이터에 결과가 좌우됩니다.
그러면 잡음이나 이상치에도 민감해질 수 있습니다.
즉:
높은 Variance
와 연결할 수 있습니다.
핵심#
Small k → Overfitting
입니다.
43장 왜 K-NN의 k가 크면 과소적합인가#
k가 지나치게 크면 주변의 매우 많은 데이터를 함께 고려합니다.
그 결과 국소적인 패턴이 사라지고 전체적인 평균적 패턴만 반영될 수 있습니다.
모델이 지나치게 단순해지는 효과가 나타납니다.
핵심#
Large k → Underfitting
입니다.
44장 과적합 시험 함정 1#
과적합 모델은 훈련 오차와 테스트 오차가 모두 높다.
틀립니다.
제공된 학습자료에서는:
훈련 오차 → 낮음
테스트 오차 → 높음
입니다.
45장 과소적합 시험 함정 1#
과소적합 모델은 훈련 데이터에는 거의 완벽하게 맞는다.
틀립니다.
훈련 데이터조차 제대로 학습하지 못합니다.
따라서 훈련 오차가 높습니다.
46장 Bias 시험 함정#
Bias가 높다는 것은 모델이 너무 복잡하다는 의미다.
틀립니다.
제공된 학습자료에서는:
Bias ↑ = 모델 너무 단순 = 과소적합
입니다.
47장 Variance 시험 함정#
Variance가 높으면 과소적합과 연결된다.
틀립니다.
제공된 학습자료에서는:
Variance ↑ = 모델 너무 복잡 = 과적합
입니다.
48장 Bias-Variance 시험 함정#
좋은 모델은 Bias와 Variance를 항상 동시에 0으로 만들 수 있다.
제공된 학습자료 기준 틀립니다.
두 값을 동시에 낮추는 데는 한계가 있으므로 적절한 균형점을 찾는 것이 중요합니다.
49장 Regularization 시험 함정#
Regularization은 데이터의 값을 0~1로 변환하는 방법이다.
틀립니다.
그것은 Min-Max Normalization입니다.
Regularization은:
복잡한 모델에 패널티
를 주는 방법입니다.
50장 Dropout 시험 함정#
Dropout은 의사결정나무의 가지를 제거하는 기법이다.
틀립니다.
의사결정나무는 Pruning입니다.
Dropout은:
신경망에서 일부 뉴런을 무작위로 비활성화
합니다.
51장 앙상블 시험 함정#
Bagging은 Bias를 높이기 위한 방법이며 분산과 관계없다.
제공된 학습자료 기준 틀립니다.
Bagging은:
분산 감소
와 연결합니다.
대표적인 알고리즘이 Random Forest입니다.
52장 ADsP 시험에서 자주 헷갈리는 함정#
함정 1. Overfitting은 모델이 너무 단순한 상태다#
틀립니다.
모델이 지나치게 복잡하거나 훈련 데이터에 특화된 상태입니다.
함정 2. Underfitting은 훈련 데이터에서 매우 낮은 오차를 보인다#
틀립니다.
훈련 오차도 높습니다.
함정 3. Overfitting은 Bias가 높고 Variance가 낮다#
틀립니다.
반대입니다.
Bias 낮음, Variance 높음
입니다.
함정 4. Underfitting은 Bias가 낮다#
틀립니다.
Bias가 높습니다.
함정 5. LASSO는 모든 계수를 0으로 만든다#
틀립니다.
일부 계수를 정확히 0으로 만들 수 있습니다.
함정 6. Ridge의 핵심은 변수 자동 선택이다#
틀립니다.
변수 선택 효과는 LASSO입니다.
함정 7. Dropout은 회귀분석에서 일부 변수를 삭제하는 방법이다#
틀립니다.
신경망 학습에서 일부 뉴런을 무작위 비활성화합니다.
함정 8. K-NN의 k가 클수록 과적합된다#
틀립니다.
제공된 학습자료에서는 k가 클수록 과소적합과 연결합니다.
53장 과적합 시험 직전 암기#
Overfitting
→ 훈련 데이터에 지나치게 특화
→ Train Error 낮음
→ Test Error 높음
→ Bias 낮음
→ Variance 높음
→ 복잡한 모델
입니다.
한 줄로:
훈련은 잘하는데 실전에서 못한다
입니다.
54장 과소적합 시험 직전 암기#
Underfitting
→ 모델 너무 단순
→ Train Error 높음
→ Test Error 높음
→ Bias 높음
→ Variance 낮음
→ 특성 부족
입니다.
한 줄로:
훈련부터 못한다
입니다.
55장 Bias-Variance 시험 직전 암기#
Bias ↑#
모델 단순
과소적합
Variance ↑#
모델 복잡
과적합
암기:
Bias = Under
Variance = Over
입니다.
56장 과적합 방지 시험 직전 암기#
Decision Tree#
Pruning
Regression·SVM#
Regularization
Neural Network#
Dropout
모든 모델#
Cross-Validation
Data 증가
Random Forest#
Bagging
Variance 감소
입니다.
57장 Ridge·LASSO 시험 직전 암기#
Ridge#
L2
제곱합
계수 축소
모든 변수 유지
다중공선성 해결
LASSO#
L1
절댓값 합
일부 계수 0
변수 선택
암기:
Ridge = 제곱·유지
LASSO = 절댓값·선택
입니다.
58장 과적합·과소적합 핵심 비교표#
| 항목 | Overfitting | Underfitting |
|---|---|---|
| 모델 | 너무 복잡 | 너무 단순 |
| Train Error | 낮음 | 높음 |
| Test Error | 높음 | 높음 |
| Bias | 낮음 | 높음 |
| Variance | 높음 | 낮음 |
| 대응 방향 | 복잡도 감소 | 충분한 패턴 학습 |
59장 과적합 방지 핵심 비교표#
| 방법 | 핵심 | 대상 |
|---|---|---|
| Pruning | 가지 제거 | Decision Tree |
| Ridge | L2 패널티 | Regression |
| LASSO | L1 패널티 | Regression |
| Dropout | 뉴런 일부 OFF | Neural Network |
| Cross-Validation | 반복 검증 | 모든 모델 |
| More Data | 데이터 증가 | 모든 모델 |
| Bagging | 분산 감소 | Random Forest |
과적합과 과소적합 FAQ#
과적합이란 무엇인가#
훈련 데이터에 지나치게 특화되어 새로운 데이터에서 성능이 떨어지는 상태입니다.
과적합의 훈련 오차는 높은가#
아닙니다. 제공된 학습자료에서는 낮다고 설명합니다.
과적합의 테스트 오차는 어떤가#
높습니다.
과소적합이란 무엇인가#
모델이 너무 단순해 훈련 데이터의 패턴조차 충분히 학습하지 못한 상태입니다.
과소적합의 훈련 오차는 어떤가#
높습니다.
과소적합의 테스트 오차는 어떤가#
높습니다.
Bias가 높으면 무엇과 연결되는가#
과소적합과 연결합니다.
Variance가 높으면 무엇과 연결되는가#
과적합과 연결합니다.
Bias-Variance Tradeoff란 무엇인가#
편향과 분산 사이에서 일반화 성능이 좋은 적절한 균형점을 찾는 문제입니다.
Pruning은 어디에 사용하는가#
제공된 학습자료에서는 의사결정나무의 과적합 방지 방법으로 설명합니다.
Regularization은 무엇인가#
복잡한 모델에 패널티를 부여하는 방법입니다.
Dropout은 무엇인가#
신경망 학습 과정에서 일부 뉴런을 무작위로 비활성화하는 방법입니다.
Ridge는 L1인가 L2인가#
L2입니다.
LASSO는 L1인가 L2인가#
L1입니다.
Ridge의 패널티는 무엇인가#
회귀계수 제곱합입니다.
LASSO의 패널티는 무엇인가#
회귀계수 절댓값의 합입니다.
변수 선택 효과가 있는 것은 Ridge인가 LASSO인가#
제공된 학습자료에서는 LASSO입니다.
LASSO는 모든 회귀계수를 0으로 만드는가#
아닙니다. 일부 계수를 정확히 0으로 만들 수 있습니다.
Ridge는 변수를 제거하는가#
제공된 학습자료에서는 모든 변수를 유지한다고 정리합니다.
Bagging은 무엇을 감소시키는가#
제공된 학습자료에서는 분산 Variance을 감소시킨다고 설명합니다.
K-NN에서 k가 너무 크면 어떻게 되는가#
과소적합과 연결됩니다.
자기 점검#
다음 질문에 바로 답할 수 있는지 확인해봅니다.
- 과적합과 과소적합의 차이를 설명할 수 있는가?
- 과적합의 훈련 오차와 테스트 오차를 구분할 수 있는가?
- 과소적합의 훈련 오차와 테스트 오차를 구분할 수 있는가?
- 과적합의 Bias와 Variance를 알고 있는가?
- 과소적합의 Bias와 Variance를 알고 있는가?
- Bias 증가가 과소적합과 연결된다는 것을 알고 있는가?
- Variance 증가가 과적합과 연결된다는 것을 알고 있는가?
- Bias-Variance Tradeoff의 목적을 설명할 수 있는가?
- Pruning이 어떤 모델과 연결되는지 알고 있는가?
- Regularization의 의미를 알고 있는가?
- Normalization과 Regularization을 구분할 수 있는가?
- Dropout이 어떤 모델에 사용되는지 알고 있는가?
- Cross-Validation이 왜 과적합 확인에 도움이 되는지 알고 있는가?
- 데이터 증가가 과적합 완화 방법이라는 것을 알고 있는가?
- Bagging이 분산을 줄인다는 것을 알고 있는가?
- Ridge와 LASSO의 L1·L2를 구분할 수 있는가?
- Ridge와 LASSO의 패널티를 구분할 수 있는가?
- 변수 선택 효과가 LASSO라는 것을 알고 있는가?
- Ridge가 모든 변수를 유지한다는 것을 알고 있는가?
- K-NN에서 큰 k가 과소적합과 연결된다는 것을 알고 있는가?
이 글을 마치며#
과적합과 과소적합을 구분하는 가장 쉬운 방법은 훈련 데이터에서도 잘 맞는가를 먼저 보는 것입니다.
과적합은:
Train Error 낮음
Test Error 높음
입니다.
즉 훈련 데이터는 거의 외웠지만 새로운 데이터에는 약합니다.
과소적합은:
Train Error 높음
Test Error 높음
입니다.
훈련 데이터조차 충분히 학습하지 못한 상태입니다.
Bias와 Variance는 다음처럼 연결합니다.
Bias ↑ → 모델 단순 → 과소적합
Variance ↑ → 모델 복잡 → 과적합
과적합 방지 방법은:
Pruning
Regularization
Dropout
Cross-Validation
훈련 데이터 증가
Bagging
등이 있습니다.
Ridge와 LASSO는 반드시 구분해야 합니다.
Ridge = L2 = 계수 제곱합 = 계수를 0에 가깝게 = 변수 유지
LASSO = L1 = 계수 절댓값 합 = 일부 계수 0 = 변수 선택
시험 직전에는 다음 다섯 줄로 압축해서 기억하면 됩니다.
Overfitting = Train↓ Test↑ / Bias↓ Variance↑
Underfitting = Train↑ Test↑ / Bias↑ Variance↓
Bias↑=과소적합 / Variance↑=과적합
Ridge=L2·제곱·유지 / LASSO=L1·절댓값·선택
Pruning·Regularization·Dropout·CV·데이터 증가·Bagging = 과적합 대응