Bias
train data로 만들어진 모델이 train data와 얼마나 잘 부합하게 만들어졌는가
즉, train data와의 error값이 얼마나 작은지를 의미한다.
Variance
train data는 잘 학습이 되었더라도 실제 data에 대해서 모델에 적용시켜봤을 때 얼마나 error가 발생하는지를 의미한다.
bias와 variance는 tradeoff관계다.
bias를 줄이려면 variance가 늘어나고 bias를 늘리면 variance를 줄일 수 있다.
deep learning에서는 둘다 줄일 수 있다.

Underfitting
만들어진 모델이 너무 단순해서 실제 data의 복잡성을 잘 표현하지 못하고 있다.
너무 간단한 calssifier
Overfitting
Overfiting이란 training dataset에만 지나치게 최적화돼서 새로운 데이터에 대한 예측을 잘 못하는 상태를 의미한다. 따라서 학습 데이터에 대해서는 오차가 감소하지만 실제 데이터에 대해서는 오차가 증가하는 지점이 존재할 수 있다.

죽, overfitting은 학습데이터에 대해 과하게 학습하여 실제 데이터에 대한 오차가 증가할 경우 발생한다.
이때의 오류를 high variance라고 한다.
overfitting을 극복하는 방법
1. 더 많은 데이터를 활용한다.
ex. GAN -> fake data
2. feature의 개수를 줄인다.
3. 적절히 parameter를 선정한다.
- 적은 수의 parameter로도 예측이 가능하다면 너무 많은 parameter를 만들지 말자
4. regularization : 정규화
- L1 regularization (Lasso)
- L2 regularization (Ridge)
예시
이미지가 고양이 인지 아닌지를 구분하는 모델이 있다고 해보자.
사람의 classification error는 0이라고 한다면 다음과 같이 생각할 수 있다.

딥러닝 방법
bias가 높다면 network를 더 키운다. 즉, network를 좀 더 복잡하게 만든다.
또는 train을 더 길게 해본다. 즉, iteration을 증가시킨다.
bias가 작아지면 variance를 줄인다.
variance를 줄이기 위해서는 data를 더 많이 사용하면 좋다.
하지만 data를 많이 구하는 것은 쉽지 않다.
따라서 보통 regularization기법을 사용한다.
bias도 줄어들고 variance도 줄어들면 이 모델이 적합하다고 생각하고 사용하게 된다.

출처: untitledtblog.tistory.com/68
'🤖AI > 딥러닝' 카테고리의 다른 글
| [딥러닝] Overfitting을 완화시키는 방법(2) - Dropout (0) | 2021.04.15 |
|---|---|
| [딥러닝] Overfitting을 완화시키는 방법(1) - Regularization (0) | 2021.04.15 |
| [딥러닝] 활성화 함수 (Activation function) (0) | 2021.04.13 |
| [딥러닝] Logistic Regression (0) | 2021.04.13 |
| End-to-end deep learning (0) | 2021.04.13 |