당신의 팀원들은 고양이 사진 분류기 개선을 위한 여러 아이디어를 내놓았습니다:
Error analysis - Look at dev set examples to evaluate ideas
당신은 고양이 분류 앱을 테스트하다가, 고양이 사진으로 잘못 분류된 강아지 사진 샘플 몇 개를 발견했습니다. 사진을 확인해 보니, 고양이와 유사한 귀를 가진 강아지였죠!
Build your first system quickly, then iterate
당신은 새로운 스팸 메일 차단 시스템을 만들고자 합니다. 팀원들은 다음과 같은 아이디어를 내놓았습니다:
Takeaways for setting up development and test sets
디벨롭먼트 셋과 테스트 셋에 관한 9가지 교훈들.
When to change dev/test sets and metrics
새 프로젝트를 시작할 때, 저는 디벨롭먼트 셋과 테스트 셋을 빠르게 선택하려고 노력합니다. 이를 통해 팀 전체가 추구해야 할 명확한 목표를 얻을 수 있기 때문입니다.
Having a dev set and metric speeds up iterations
새로운 문제에 어떻게 접근하면 좋을지를 미리 알기는 어렵습니다. 경험 많은 머신러닝 연구원조차 만족스러운 방법을 찾기 전까지 수십 개의 아이디어를 시도해야 할 겁니다. 머신러닝 시스템을 구축할 때, 나는 다음과 같은 일들을 수행합니다:
Establish a single-number evaluation metric for your team to optimize
분류 정확도는 단일 평가 지표(single-number evaluation metric)에 해당합니다: 당신은 디벨롭먼트 셋 또는 테스트 셋에 분류기를 돌려본 다음, 분류기가 올바르게 분류한 데이터 비율에 대한 단일 평가 지표를 확인하게 됩니다. 분류기 A가 97%의 정확도, 분류기 B가 90%의 정확도를 나타낸다면, 우리는 평가 지표에 따라 분류기 A가 더 우수하다고 판단합니다.
Your dev and test sets should come from the same distribution
당신은 시장이 큰 순서대로 미국, 중국, 인도 그리고 기타 4개 지역을 선정하고, 지역별로 고양이 앱 이미지 데이터를 분류했습니다. 미국과 인도 사진은 디벨롭먼트 셋, 중국과 기타 지역 사진은 테스트 셋이라고 가정해 봅시다. 사실 4개의 지역별 세그멘트 중 임의의 2개 셋을 디벨롭먼트 셋으로, 나머지를 테스트 셋으로 지정할 수도 있을 겁니다.
How large do the dev/test sets need to be?
디벨롭먼트 셋은 얼마나 커야 할까요? 사용하고자 하는 알고리즘들 간의 차이를 포착할 수 있을 만큼 커야 합니다.
Your development and test sets
앞서 살펴본 고양이 사진 탐지기로 돌아가 봅시다: 당신은 모바일 앱을 출시했고, 사용자들은 매우 다양한 사진들을 당신의 앱에 올리고 있습니다. 당신은 고양이 사진만 자동으로 찾아내고자 합니다.