avoidable bias & variance 비교를 통한 전략 세우기
1) 왜 human-level performance와 비교해야 하는가?
- 오늘날, 머신러닝 알고리즘은 human-level performance와 경쟁한다.
- 이 때 사람이 거의 완벽에 가깝게 해내는 일들이 있기 때문에 ML은 human-level performance를 파악하고,
이를 따라잡는 방향으로의 학습이 이뤄져야 한다. - 이 과정에서 human-level performance가 정의되어 있어야 한다.
- +) 머신러닝이 human-level performance를 능가하면 학습속도는 급격히 느려진다.
- 이러한 이유는 human-level performance가 bayes optimal error에 매우 가깝기 때문이다.
- 여기서 bayes optimal error는 best possible error를 의미한다.
즉 어떠한 함수도 bayes optimal error보다 낮은 error를 기록할 수 없다는 뜻으로, 달성가능한 최소의 error라고 보면 된다.
2) human level performance의 정의
의학 이미지 분류 문제에서의 에러율 | |
일반인 | 3% |
일반 의사 | 1% |
경험 많은 의사 | 0.7% |
의사로 구성된 팀 | 0.5% |
어떤 것이 human level performance인가?
- 답은 "목적에 따라 다르다"이다.
- 한 명의 의사의 인식률을 뛰어넘는 것이 목적이라면, 일반 의사의 에러율이 human level performance로 정의되고
- bayes optimal error를 추정하기 위한 것이 목적이라면, 의사로 구성된 팀의 에러율이 human level performance로 정의될 수 있다.
⭐ 3) avoidable bias
- ⭐ avoidable bias를 이용해 bias를 줄여야 하는지, variance를 줄여야 하는지 파악할 수 있다.
- ⭐ avoidable bias를 측정하기 위해서는 human level error가 정의되어야 한다!
- avoidable bias = training error - human level error
- variance = validation error - training error
- (1) avoidable bias > variance ▶ bias를 줄이는 데 집중
- layer 추가
- epoch 추가
- 더 나은 optimizer 사용
- 새로운 모델 시도
- hyperparameter search
- (2) avoidable bias < variance ▶ variance를 줄이는 데 집중
- regularization 추가 (dropout, L2 regularization, ...)
- 학습 데이터 추가
- 새로운 모델 시도
- hyperparameter search
예시)
model 1 | model 2 | |
human level performance (에러율) | 1% | 7.5% |
training set | 8% | 8% |
dev set | 10% | 10% |
- model1
- avoidable bias = training set error - human error = 7%
- variance = dev set error - training set error = 2%
- 따라서 bias를 줄이는 데 집중해야 한다 -> 층을 늘리거나, epoch을 늘리거나
- model2
- avoidable bias = training set error - human error = 0.5%
- variance = dev set error - tranining set error = 2%
- 따라서 variance를 줄이는 데 집중해야 한다 -> regularization, 학습 데이터 추가
'🙂 > Coursera_DL' 카테고리의 다른 글
WEEK5 : traning set과 dev/test set의 불일치 (0) | 2020.12.20 |
---|---|
WEEK5 : error analysis (에러 분석) (0) | 2020.12.20 |
WEEK5 : ML 모델의 목표 설정하고 달성하기 (0) | 2020.12.20 |
WEEK5 : Machine Learning Strategy (0) | 2020.12.20 |
WEEK4 : batch normalization (배치 정규화) (0) | 2020.12.19 |