편향과 분산!이라고 보면 되는데 개념 자체는 어렵지 않다.
Bias → 얼마나 '정확'하게 타겟을 예측하느냐
Variance → 예측값들이 모여있느냐 퍼져있느냐 (유연성?)
하지만 앤드류응쨩은 또 쉽지 않은 것들을 알려주겠지....
#8. Bias and variance
Diagnosing bias and variance
train / cv 데이터에서 두개를 확인하면 모델의 성능을 짐작해볼 수 있음 (그래프를 그릴 수 없을정도로 변수가 많을 경우)
- Polynomial이 적을 경우 (일차방정식 등)
- Train, cv의 Cost가 모두 높음 → Hifh bias
- Polynomial이 너무 클 경우 (5차방정식 등)
- Train의 Error는 작지만 cv는 높을 수 밖에 없음 → Train의 cost < Cv의 cost
→ Bias, Variance 모두 줄이는 것이 좋다
Regularization and bias/variance
람다의 수를 적절하게 세팅하는 것이 중요함
- 람다가 너무 크면 f(w) = b에 수렴하게 되어 underfit / high bias 가 됨
- 람다가 너무 작으면 정규화가 사실상 되지 않아 overfit / high variance가 됨
→ 0~n까지 람다로 세팅해보고 J train, J cv가 최소가 되는 가장 적합한 람다를 선택할 수 있어야 함
Establishing a baseline level of performance
Baseline setting
Bias와 Variance를 baseline기준으로 확인해보는 법
- Baseline 퍼포먼스를 test 기준이라고 생각해보면 이해하기 쉬움
Learning curves
Training set의 사이즈가 커지면, 모델이 학습을 잘해서 cv의 에러는 줄어듦
하지만 training 에러는, 데이터 수가 커지기 때문에 데이터 수가 작을때보다 모든 데이터를 설명할 수 없어서 에러가 조금 커짐
High bias의 learning curve
High bias를 가진 모델이라면 아무리 training set의 크기가 커질지라도 baseline에 가까워질 수 없음. 즉 training set 확보는 문제 해결 방법이 될 수 없다.
High variance의 learning curve
High variance 의 문제는 training 데이터 수를 늘리는 것으로 해결할 수 있다.
Deciding what to try next revisited
알고리즘의 Cost가 크다면 (even if you added regularization), bias와 variance를 통해 문제를 확인하고 각각에 맞는 대처법을 수행해 볼 수 있음
- High variance : 모델을 심플하게 만들어보자
- High bias : 모델이 더 데이터에 fit하게 만들어보자 (더 복잡해질수는 있음)
Bias/variance and neural networks
Neural Networks에서는 network를 키울수록(More hidden layer..) training data에서의 bias 문제를 해결할 수 있음
- layer가 많아지면 overfit이 되지 않을까? → regularization만 잘하면 됨
만약 cv data에서 cost 값이 높다면 데이터를 더 추가해서 다시 학습시키면 variance 문제를 해결할 수 있음
텐서 코드에 다음을 추가하면 쉽게 레이어에 정규화 적용 가능
'👩💻LEARN : ML&Data > Lecture' 카테고리의 다른 글
[Advanced Learning Algorithms] #10. Decision Trees (0) | 2023.03.28 |
---|---|
[Advanced Learning Algorithms] #9. Machine learning development process (0) | 2023.03.28 |
[Advanced Leaning Algorithms] #7. Advice for applying machine learning (0) | 2023.03.28 |
[Advanced Leaning Algorithms] #6. Additional Neural Network (0) | 2023.03.27 |
[Advanced Learning Algorithms] #5. Multiclass Classification (0) | 2023.03.27 |