Underfit이란
ML 모델이 주어진 훈련데이터를 제대로 학습하지 못하여
Training dataset에서도 나쁜 performance를 보이는 경우를 가르킴.
Underfit의 경우 훈련데이터에서도 performance measure의 결과가 매우 나쁘게 나오기 때문에
훈련데이터에서 bias가 매우 크고, 대신 모델의 variance는 작은 특징을 보임.
- bais 높다 = performance 가 나쁘다
- variance가 낮은 이유는, 워낙 performance가 나쁘기 때문에 어떤 dataset에서도 일관되게 낮은 performance를 보이기때문임.
발생원인
- Data의 features가 task를 해결하기 위한 정보가 부족한 경우 (non-representative data),
- Model의 가설공간이 task에 맞지 않거나, 또는
- Model이 task를 수행하기에 너무 단순(일반적으로 parameters의 수 부족)한 경우.
다음 그림은 non-linear한 task를 linear model로 접근하여 under-fitting이 발생한 경우를 나타냄.
해결방안
이를 해결하기 위한 방법은 간단히 말하면 다음과 같음.
- 보다 복잡한 (~강력한) 모델 또는 현재 task에 적합한 가설에 기반한 모델을 사용한다.
- 만약 현재 모델에 regularization이 가해져있는 경우라면, 해당 constraints를 약하게하거나 아예 제거한다.
- Task와 관련된 features를 추가하거나, 현재의 데이터에 feature engineering 을 수행하여, representative dataset을 확보한다.
- underfit의 경우, 현재 Data에서 양(qunatity)만을 증가시킨다고 해결되지 않음에 유의.
- feature selection 또는 feature extraction등의 feature engineering을 수행하여 현재의 모델이 보다 쉽게 data 내부의 특성을 잘 학습하도록 하던지,
- Task와 관련된 feature를 추가해주어야 함.
'Programming > ML' 카테고리의 다른 글
[ML] Ensemble 기법 (0) | 2024.09.08 |
---|---|
[Fitting] Total Least Square Regression (1) | 2024.06.22 |
[ML] RANdom SAmple Consensus (RANSAC) (0) | 2024.06.13 |
[ML] Feature Scaling (0) | 2024.05.04 |
[Fitting] Ordinary Least Squares : OLS, 최소자승법 (0) | 2022.04.28 |