*해당 포스팅은 blog.insightdatascience.com의 <Always start with a stupid model, no exception>을 요약한 글입니다.
1. 기준선의 결함
- 설명변수의 복잡한 영향력을 무시한다.
- 기준선으로 만든 단순한 모델은 종종 문장의 단어 순서나 변수 간의 상관관계를 무시한다.
- 미묘한 출력을 생성하는 능력이 제한적이다.
- 기준선으로 사용하는 모델로는 선형회귀, 로지스틱 회귀, Gradient Boosted Trees, Simple Convolutional Architecture 등이 있다.
2. 그럼에도 기준선부터 시작해야 하는 이유
1) 프로젝트에서 팀을 가로막는 장애물이 무엇인지 빠르게 판단할 수 있다.
- 기준선은 1/10 미만의 시간으로 최대 90%의 결과를 제공할 수 있다.
- 정확도를 90%까지 올리는 것에 비해 90%에서 95%로 올리는 것이 더 어렵고, 시간이 많이 든다.
- 99%에서 모델을 1번 테스트하는 것보다 90%에서 모델을 10번 테스트하는 것이 모델의 정확도를 높이는 더 쉬운 방법이다.
- 99%를 1번 시행하는 것보다 90%를 10번 시행하는 것이 나은 이유 : 베이지안 논리를 따름. 1%의 특이도만으로도 역확률(사후 확률)은 크게 영향을 받는다. 약 34%의 정확도를 예상할 수 있다.
- 반면 90%를 10번의 step으로 시행하는 경우 사후확률을 계속 업데이트하며 정확도를 99%이상으로 끌어올릴 수 있다.
2) 기준선은 복잡한 모델이 잘 수행되고 있는지 평가하는 기준이 된다.
- 클래스를 분류하거나, 도메인 지식이 있어 알고리즘에 대한 결과물(기대치)를 어느정도 예상할 수 있는 경우, 프로덕트를 평가하는 최소한의 척도를 설정하는 경우에 기준선이 유용하다.
- 이 기준선이 복잡한 모델이 잘 수행되고 있는지 평가하는 중요한 기준이 될 수 있으며 정확도/복잡성 trade-off 문제를 해결하는 기준이 되기도 한다.
- 반대로 기준선이 실패한 부분을 확인하지 않고 복잡한 모델을 선택한 경우, 복잡한 모델이 제대로 작동하지 않는 경우가 발생한다.
3) 쉽게 배포할 수 있다.
- 기본적으로 기본 모델은 간단하다. 일반적으로 비교적 적은 수의 변수로 구성되며 많은 작업 없이 데이터에 빠르게 맞출 수 있다.
- 그렇기 때문에 기본 모델은 훈련 속도가 빠르고, 데이터나 모델의 오류을 탐지하기 쉬우며, 추가적인 엔지니어링이나 시간이 필요없이 빠른 추론이 가능하다.
3. 기준선으로 할 수 있는 것들
1) 기준선으로 데이터의 기본적인 특성을 이해할 수 있다.
- 머신러닝과 관련된 대부분의 문제는 단순히 더 복잡한 모델을 선택하는 것이 아니라 데이터를 이해하지 못하기 때문에 발생한다.
- 기준선을 활용하면 어떤 클래스가 분류되고 있지 않은지 탐색할 수 있다.
- 기준선을 활용하면 어떤 설명변수의 설명력이 높은지 파악할 수 있다. 변수의 중요도를 분석하는 일은 모델이 결정을 내리는 방법과 누락되는 신호를 파악하는 데 좋은 방법이다.
- 기준선이 무시하는 데이터를 확인하여 개선할 수 있다.
2) 앞으로 어떻게 작업해야하는지 방향성을 가늠할 수 있다.
- 모델이 어떤 부분을 잘 설명하고, 어떤 부분을 설명하지 못하는지 확인한 뒤에 설명하지 못하는 부분을 더 잘 처리할 수 있도록 모델을 수정할 수 있다.
- 기준선은 이 방향성을 설정하는데 중요한 시작점이 된다.
3) 기준선이 제대로 작동하지 않는다면?
- 이 경우, 복잡한 모델로 시작하는 것보다 데이터를 단순화해서 단순한 모델을 적용하는 것이 좋다.