AIMS Study Blog
Bias를 통제하는 방법 본문
Bias란
모델이 정답값을 예측함에 있어서 발생하는 편향으로, 데이터의 분포를 정확하게 학습하지 못하여, 잘못된 분포를 보이고 있는 것을 의미한다. Bias가 존재한다면, 예측값과 실제값이 일정한 차이를 보이게 된다.
Bias를 통제하는 방법
Bias가 발생하는 원인은 결국 모델이 데이터의 분포를 정확하게 학습하지 못하기 때문이다. 그렇다면, Bias를 통제하기 위해서는 모델이 데이터의 분포를 정확하게 학습을 시키면 된다.
아직까지 모델이 데이터의 분포를 정확하게 학습을 하지 못했다는 것은, 다음의 원인 중 하나이다.
- 모델의 구조가 너무 간단하여 모델이 데이터의 분포를 표현하기에 부족하다.
- 모델이 아직까지 학습이 덜 되었다. (특히 Deep Learning Model의 경우)
이를 해결하기 위한 방법으로는 아래의 방법들이 존재한다.
- 모델의 구조를 조금 더 복잡하게 만들 수 있다.
- 단순한 Feature들을 결합하여, 해당 Feature들의 상관관계도 학습하도록 만든다.
- Regularization Term이 존재한다면 (ex> Lasso, Ridge, Elastic Net 등) Regularization Term의 계수의 크기를 줄여준다.
- Deep Learning Model의 경우, Epoch의 수를 조금 더 늘린다. (모델이 조금 더 여러번 학습하여 가중치 Update의 횟수를 늘린다.)
하지만, 무조건적으로 모델의 복잡도를 높일수는 없다. 그 이유는 Bias와 Variance는 Trade-off 관계이기 때문이다. 따라서 기본적으로 모델을 학습시킴에 있어서 Bias와 Variance를 동시에 고려한다. 즉, Model이 정확한 예측을 하기 위해서는 Bias를 최소화하는 동시에 Variance를 최소화해야 하는데, 일반적으로 Bias를 줄일 경우에 Variance가 증가하는 경향이 존재하며, Variance를 줄일 경우에는 Bias가 증가하는 경향이 존재하기 때문이다.
Variance는 Bias와는 반대로, Training dataset의 분포를 학습하는 데에 있어서, 유용하지 않은 부분까지 학습을 하게 되는 것을 의미한다. 따라서, 외부의 데이터 셋을 해당 모델에 적용하였을 때, 정답값을 이상하게 예측하는 Overfitting 현상이 발생하게 된다.
Variance는 일반적으로 Bias를 줄이려고 사용하는 방법과 반대를 생각하면 된다.
- 모델의 구조를 조금 더 단순하게 만든다.
- 너무 복잡한 Feature들을 삭제하거나, Feature의 개수를 줄인다.
- Regularization Term이 존재한다면 Regularization Term의 계수의 크기를 증가시킨다.
- Deep Learning의 경우, Ealry stopping 등의 장치를 통해서 너무 많이 가중치가 Update 되는 것을 방지한다.
Ref.
https://gaussian37.github.io/machine-learning-concept-bias_and_variance/
'통계' 카테고리의 다른 글
로그함수 (log) (0) | 2023.06.04 |
---|---|
Log 함수를 사용하는 이유 (0) | 2023.06.04 |
Bias 통제 방법 (0) | 2023.05.25 |
필요한 표본의 크기를 계산하는 방법 (0) | 2023.05.19 |
필요한 표본 크기 계산 (0) | 2023.05.19 |