Bias & Variance
- Bias
- 가정(추정)이 얼마나 편향되어 있는가?
- 데이터 내에 있는 모든 정보를 고려하지 않음
- Variance
-
- 입력 데이터의 변동에 따른 추정값 변화
- 데이터 내에 있는 에러나 노이즈까지 잘 잡아냄
- 출력이 얼마나 일관적으로 나오는가?
-
Bias-Variance Tradeoff
- MSE (Mean Square Error)를 통하여 bias와 variance의 tradeoff를 살펴볼 수 있다.
- 우리가 흔히 아는 MSE는 수식을 통하여 bias의 제곱, variance, noise 총 3개로 분할될 수 있다.
- 이 때, noise는 제거할 수 없는 에러이다.
- 수식을 보면 알 수 있듯이 bias와 variance는 제곱이 포함되어 있어 모두 양수이다.
- 즉, MSE가 고정되면 하나가 커지면 하나는 작아지는 trade-off 관계에 있다고 말할 수 있다.
https://moon-walker.medium.com/bias-variance-trade-off-%EC%97%90-%EB%8C%80%ED%95%B4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-39453e5044db
Overfitting(과적합)
- 기계학습 모델이 주어진 데이터에만 너무 특화되어 이전에 보지 못한 새로운 데이터에 대해 성능이 떨어지는 현상
- Low Bias, High Variacne
- 학습 데이터의 모든 샘플에 대해 편향 없이 잘 추정
- 그러다 보니 학습 데이터의 작은 변화에도 민감하게 반응하기 때문에 추정값의 변화 폭이 크다.
- 학습했던 데이터와 새로운 데이터 사이에 작은 차이만 있어도 추정값이 들쭉날쭉해진다.
- 일반화 성능이 떨어진다.
Underfitting
- overfitting의 반대
- 모델이 제대로 학습되지 않은 상태.
- underfitting이 되면 테스트 데이터셋에서도 잘 작동하지 않는다.
- High Bias, Low Variance
- 모델이 편향성을 가지고 있어 모든 학습 데이터를 다 고려해주지 않음.
Overfitting을 피하는 방법
- Cross-Validation
- 정규화 (Regularization)
- 모델이 복잡할수록 과적합되기 쉽다.
- 정규화란, 학습 중에 모델이 복잡해질수록 불이익을 받도록 하는 방법
- 모델이 복잡해졌을 때 에러 함수에 정규화 변수를 추가. (패널티 추가) (weight decay)
- 정규화 파라미터 값은 잘 조절되어야 한다.
- 너무 작으면 영향이 없어 과적합을 야기하고,
- 너무 크면 underfitting이 발생할 수도 있다.
- 조기 중단 ( Early Stopping)
- 학습을 조기에 중단시키는 방법.
- 학습 시간에 제약을 두거나, 학습 중단 조건을 설정.
- 일반적으로는 validation error를 활용.
- 특성 선택 (Feature Selection)
- feature가 늘어날수록 모델이 복잡해짐 -> 과적합될 가능성이 높음.
- 때문에 데이터 내의 모든 특성들 중 일부만 선택해 사용하는 방법.
- 후진 방법
- 특성을 처음에는 모두 사용하고 반복 시행 단계마다 특성을 제거해 나가는 방법
- 전진 방법
- 가장 최소한의 특성 집합으로 시작해 반복 시행 단계마다 특성을 늘려 나가는 방법
- 차원 축소 (Dimenstion Reduction)
- 고차원 데이터를 저차원 공간의 데이터로 변환하는 방법
- ex) PCA(Principle Component Analysis)
- 특성 선택은 처음 데이터의 피쳐값들이 유지되지만, 차원 축소는 차원을 변환하기 때문에 특성의 종류와 값 자체가 바뀐다.
- 변환하면서 손실되는 정보들이 있을 수 있는데, 이를 최소한으로 유지하는 방법들이 존재.
- 데이터 증강 (Data Augmentation)
- 가지고 있는 데이터를 변형해서 새로운 데이터를 생성.
Reference
- https://towardsdatascience.com/mse-and-bias-variance-decomposition-77449dd2ff55
- https://for-my-wealthy-life.tistory.com/31
- https://sungkee-book.tistory.com/6
- https://www.quora.com/What-is-an-intuitive-explanation-for-bias-variance-tradeoff
- https://moon-walker.medium.com/bias-variance-trade-off-%EC%97%90-%EB%8C%80%ED%95%B4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-39453e5044db
- https://modulabs-biomedical.github.io/Bias_vs_Variance?source=post_page-----39453e5044db--------------------------------
'Study > 머신러닝' 카테고리의 다른 글
5. Logistic Regression (0) | 2024.02.21 |
---|---|
4. Decision Tree (0) | 2024.02.20 |
3. SVM (Support Vector Machine) (0) | 2024.02.17 |
2. Naive Bayes (1) | 2024.02.14 |
공부 리스트 (0) | 2024.02.11 |