-
Structuring ML projects - 1Google ML Bootcamp/structuring Machine Learning Projects 2023. 9. 16. 18:05728x90
1. Orthogonalization
- Fit training set well on cost function : Adam과 같은 최적화
- Fit dev set well on cost function : 정규화, training set을 크게 만들기
- Fit test set well on cost function : dev set을 크게 만들기
- Performs well in real world : 현실적인 알고리즘에 적용 X -> 개발 세트나 비용함수를 바꿔야 한다.
2. Single Number Evaluation Metric
- 단일 실수 평가 지표를 사용하는 것이 유용하다
- 분류기 선택 시에는 Precision과 Recall 두 가지를 모두 가지고 평가하기 보다는 두 가지 성능 지표를 합쳐서 새로운 평가 지표를 만드는 것이 좋다.
- 정밀도와 재현율을 합한 지표로 F1-score를 쓰는 것이 일반적이다.(F1 score = Average of P and R)
- F1 score = 2 / (1/P + 1/R) : 정밀도와 재현율의 균형을 맞추는데에 장점이 있음. F1-score ↑ - 성능 ↑
3. Satisficing and Optimizing Metric
- 고려해야할 요소가 여러개 일 경우 : 가장 좋은 결과가 나왔으면 하는 부분을 최적화 지표로 설정하고, 어느정도 이상이면 충분한 요소 한 개 이상을 만족 지표로 설정한다. -> 다양한 선택지를 자동적으로 처리할 수 있다.
- train, dev, test set으로 잘 설정하는 것이 중요하다.
- train, dev, test set은 모두 같은 분포에서 만들어져야 한다.
4. Size of the Dev and Test Sets
- Old way of splitting data : 7:3 or 6:2:2 정도의 비율이 합리적이었음.
- 현재 : 데이터가 너무나 방대해지고 있어서 test set을 20% 미만으로 설정하는 것이 합리적
5. When to Change Dev/Test Sets and Metrics?
- A Algorithm : 3% error -> in porno image
- B Algorithm : 5% error -> no porno image
-> error 상으로는 A를 선호하는 것이 맞지만, 고객의 입장에서는 B를 선호한다.
-> 평가 지표가 더 이상 제 역할을 하지 못하고 있기 때문에 dev/test sets를 바꿔야한다.
6. Avoidable Bias
- 인간과 알고리즘 훈련 셋의 오류 차이가 너무 큰 경우 : 알고리즘이 훈련 세트에 잘 fitting 되지 않았다. -> 편향을 줄이는 것이 중요 -> 더 큰 신경망을 훈련하거나 훈련 세트를 더 오랫동안 돌려보는 방식을 선택 가능.
- 인간과 알고리즘 훈련 셋의 오류 차이가 거의 없는 경우 : 학습 알고리즘의 분산을 줄인다. -> 정규화 -> dev error를 train error와 비슷한 수준으로 만든다.
- Human error가 Bayse error와 거의 비슷하지만 무엇을 달성 가능하다고 생각하는가에 따라 1. 편향 감소 전략, 2. 분산 감소전략으로 전략이 달라진다.
- 인간과 알고리즘 훈련 셋의 오류 차이가 너무 큰 경우 : 편향 감소 전략(왼쪽) -> 1%와 8%의 차이를 줄이는 편향감소전략이 효율적
- 인간과 알고리즘 훈련 셋의 오류 차이가 거의 없는 경우 : 분산 감소 전략(오른쪽) -> Human과 Training error 차이가 너무 적어서 Dev error와 Training error의 차이를 줄이는 분산 감소 전략이 효율적
- Avoidable Bias : |Human error - Training error|
7. Understanding Human-level Performance
8. Surpassing Human-level Performance
- 충분한 데이터가 있는 경우 딥 러닝 시스템이 단일 지도 학습 문제에서는 인간을 넘어서고 있다.
9. Improving your Model Performance
728x90'Google ML Bootcamp > structuring Machine Learning Projects' 카테고리의 다른 글
Structuring Machine Learning Projects - Week2 (0) 2023.09.19