avoidable bias & variance 비교를 통한 전략 세우기


1) 왜 human-level performance와 비교해야 하는가?

 

coursera - structuring machine learning project

 

  • 오늘날, 머신러닝 알고리즘은 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, 학습 데이터 추가

+ Recent posts