-
[Week 6] Bias vs. VarianceCourses/Andrew Ng - Machine Learning 2022. 1. 16. 17:06
Diagnosing Bias vs. Variance
학습 알고리즘은 종종 편향성(Bias)이나 분산성(Variance)를 띄게 됩니다. 편향을 띈다는 것은 과소 적합 문제가 발생한다는 뜻이고 분산을 띈다는 것은 과적합 문제가 발생한다는 뜻입니다. 작성한 모델이 편향인지 분산인지를 판단하는 것이 차후의 개선 작업에서 많은 유리함을 가져갑니다.

주로 다항식의 차수가 높아질 수록 과적합하여 분산이 높아지는 경우가 많고 일반화의 오류를 범하기 쉬워집니다. 가운데 곡선이 딱 적당하게 적합합니다.

트레이닝 셋, 교차 검증 셋에 적용하여 오차를 그려봅니다. 다항식의 차수가 높아질수록 트레이닝 셋의 오차는 과적합하여 낮아집니다. 반대로 교차 검증 셋에서는 다항식의 차수가 높아질수록 트레이닝 셋에 과적합되어 있기 때문에 오히려 오차가 커집니다.

따라서 이런 그래프를 그리면 분산인지 편향인지에 대해 판단하기 쉽습니다. 편향이라면 트레이닝 셋과 교차 검증 셋의 오류 둘 다 높을 것 입니다. 분산이라면 트레이닝 셋의 오차는 낮지만 교차 검증 셋의 오차는 높게 나옵니다.
Regularization and Bias/Variance
이런 편향/분산 문제를 방지하기 위해 정규화를 적용합니다.

정규화 파라미터 람다가 아주 작다면 과적합하여 분산이 될 것 입니다. 반대로 람다가 아주 크다면 편향이 됩니다. 따라서 적당한 람다값을 정해야 합니다.

여러가지 람다값을 넣어 J를 최소화하고 그렇게 도출된 파라미터를 교차 검증 셋에서 확인하여 오류를 얻습니다. 교차 검증 셋에서 가장 낮은 오류를 낸 파라미터를 선택하고 테스트 셋에서 잘 작동하는지 확인합니다.

그래프로 나타내자면 다음과 같습니다. 람다가 커질 수록 편향 문제가 발생할 가능성이 커지고 Jtrain은 커지게 됩니다. 람다가 작다면 과적합의 가능성이 커져 Jtrain은 작아집니다. Jcv의 경우 람다가 작거나 크면 두가지 경우 모두 오차가 커집니다. 따라서 람다의 최적값은 중간입니다.
Learning Curves
알고리즘이 편향/분산 문제가 있는지 시각적으로 확인하기 위해 학습 곡선을 사용합니다.

트레이닝 셋의 경우 데이터 셋의 숫자가 클 수록 오차가 커집니다. 왜냐하면 모든 데이터 셋에 딱 들어맞는 가설을 찾는 것이 점점 어려워지기 때문입니다. 교차 검증 셋의 경우 트레이닝 셋과 다른 새로운 데이터 셋에 대한 오차를 구하기 때문에 처음엔 오차가 컸다가 데이터 셋이 증가할수록 오차도 작아지게 됩니다.

만약 알고리즘의 편항이 심하다면 Jtrain과 Jcv의 오차가 둘다 상대적으로 높을 것이고 차이가 크지 않을 것입니다. 편향이면 과소적합 상태일텐데 아무리 데이터 셋을 추가로 넣어도 오차는 줄어들지 않을 것 입니다.

반대로 높은 분산이라면 Jtrain과 Jcv사이의 차이가 상대적으로 큽니다. 이런 경우에는 데이터 셋을 더 추가하는 것이 도움이 됩니다.
Deciding What to do Next Revisited

알고리즘을 개선하기 위해서는 여러가지 옵션이 있지만 알고리즘이 어떤 문제를 겪고 있는지에 따라 선택해야 합니다.
- 높은 분산성을 띌 경우:
- 더 많은 트레이닝 셋을 추가한다
- 변수를 줄인다
- 정규화 파라미터의 값을 증가시킨다
- 높은 편향을 띌 경우 :
- 변수를 추가한다
- 고차항을 추가한다
- 정규화 파라미터의 값을 감소시킨다

인공 신경망에 대해서도 고려해봅니다. 적은 파라미터를 가진 신경망은 과소적합에 적합합니다. 많은 파라미터를 가진 신경망은 과적합에 적합합니다.
혼자서 강의를 듣고 정리한 것이니 틀린 점이 있다면 언제든지 지적 부탁드립니다 :)
'Courses > Andrew Ng - Machine Learning' 카테고리의 다른 글
[Week 7] Support Vector Machine (0) 2022.01.23 [Week 6] Machine Learning System Design (0) 2022.01.18 [Week 6] Evaluating a Learning Algorithm (0) 2022.01.14 [Week 5] Backpropagation in Practice (0) 2022.01.10 [Week 5] Cost Function and Backpropagation (0) 2022.01.10