Skip to content

Latest commit

 

History

History
25 lines (14 loc) · 3.85 KB

56_Error_analysis_by_parts_and_comparison_to_human_level_performance.md

File metadata and controls

25 lines (14 loc) · 3.85 KB

56 Error analysis by parts and comparison to human-level performance

학습 알고리즘에 대하여 에러 분석을 수행하는 것은 마치 데이터과학으로 ML 시스템의 문제를 분석하여 다음에 무엇을 해야 하는지에 대한 통찰력을 얻는 것과 비슷하다. 가장 기본적인 각 부분(컴포넌트)에 대한 에러 분석은 어떤 컴포넌트가 성능 향상을 시키기 위해서 시간을 투자할때 가장 의미 있는지를 알려준다.

웹사이트를 통해서 물건을 구매하는 고객들에 대한 데이터셋을 가지고 있다고 생각 해 보자. 데이터 과학자는 데이터를 분석하기 위한 많은 여러가지 방법들을 가지고 있을 것이다. 예를 들어서, 한 데이터 과학자는 그 웹사이트가 가격을 올려야 하는지에 대한것, 다른 마케팅 캠페인을 통해 유입된 고객의 가치를 매기는것 등에 대하여 여러가지 결론에 도달할 수 있을 것이다. 여기에는 데이터셋을 분석하기 위한 단 하나의 "옳바른" 방법이란 것은 없다. 또한, 여러가지로 유용하고 가능성이 있는 통찰력들이 존재할 수 있다. 이책의 챕터들을 통해서, ML 시스템에 대하여 유용한 통찰력을 얻기 위한 일반적인 디자인 패턴들에 대하여 배웠다. 하지만, 에러를 분석하기 위하여 다른 방법들로도 실험을 해보는 것에 대해서 거부감을 가져서는 안된다.

자율주행 어플리케이션의 예제로 다시 돌아가 보자. 다시 설명 하자면, 자동차를 감지하는 알고리즘은 근처의 다른 자동차의 위치 또는 가속도 정보에 대한 결과를, 보행자 감지 알고리즘은 근처의 보행자들의 위치 정보에 대한 결과를 계산하고, 그리고 이 두가지 결과는 마지막으로 자동차가 움직여야 하는 경로를 계산하는데 사용된다.

앞선 챕터에서 소개된 엄밀한 방식을 따르지 않고, 이 파이프라인에 대해서 디버깅을 수행하려면, 다음과 같이 좀더 비공식적인 질문을 던져봐야 할 것이다:

  1. 자동차 감지 컴포넌트는 자동차 감지 능력이 사람-수준의 성능과 얼마나 차이가 있는가?

  2. 보행자 감지 컴포넌트는 그 능력이 사람-수준의 성능과 얼마나 차이가 있는가?

  3. 전체 시스템의 성능이 얼마나 사람-수준의 성능과 차이가 있는가? 여기서 사람-수준의 성능이라는 것은, 앞 두개의 파이프라인 컴포넌트의 결과로 부터 사람이 직접 경로를 계산해 보는 것을 의미한다. 다시 말하자면, 똑같은 입력 데이터가 주어졌을때, 경로 계산 컴포넌트의 성능이 사람의 능력과 비교해서 얼마나 차이가 있는가? 이다.

만약, 컴포넌트들 중 하나가 사람-수준의 성능과 차이가 심하다면, 그 컴포넌트의 성능을 향상시키는 것에 집중해야 하는 아주 좋은 경우를 발견한 것이다.

많은 에러 분석의 절차는 사람이 할 수 있는 무언가를 자동화하려고 할때 최고로 잘 적용된다 (사람-수준의 성능에 대한 벤치마크와 비교 가능하기 때문이다). 앞에서 다룬 대부분의 예제들은 내재적으로 이를 가정하였다. 만약에 마지막 출력 결과 또는 중간 컴포넌트의 출력 결과가 사람조차 잘 할 수 없는 무언가를 다루는 ML 시스템을 개발중이라면, 몇몇 절차들은 적용이 힘들지도 모른다.

에러분석은 사람이 해결할 수 있는 문제를 자동화 하는 것에 대한 또다른 장점이 된다 -- 에러 분석에 대한 더욱 강력한 도구가 되며, 당신이 속한 팀이 더 효율적으로 일하기 위한 우선순위를 정할 수 있게 해준다.