[음악]
오류와 정확도로 분류기를 평가하는 법을 배워봤습니다
분류기의 정확도와 오류에 대한
이해가 중요합니다
좋은 오류, 정확도 수준이 어느 정도인지
끊임없이 고민해야 합니다
흔한 실수 중 하나는
분류의 성능이 얼마나 좋은가?
분류기를 만들 때
첫 기준점으로 삼을 건 찍기입니다
예를 들어 이와 같이 긍정 또는 부정의
이진 분류가 있다고 하면
찍기로는 평균 50%의 정확도일테니 적어도 50%는 넘어야 합니다
k 클래스라면, 예를 들어 클래스가 3개라면
찍기의 정확도는 33%죠
4 클래스면 25%, k 클래스면 1/k가 됩니다
그러니 적어도 찍기보단 훨씬 나아야죠
그렇지 않으면 별 가치가 없습니다
찍기를 나은 건 그렇다치고 분류를 정말 잘하고 있는지,
의미가 있을 정도로 잘하는지 깊이 고민해봐야 합니다
예를 들어 스팸 예측이 90% 정확도라고 합시다
자랑스러운 일인가요?
그렇게 놀라운가요?
때에 따라서 다릅니다
스팸의 경우 별로 그렇지 않죠 2010년의 데이터에 따르면 전체 이메일의
90%는 스팸이라고 합니다 90%요
그렇다면 모든 이메일을 스팸이라고 가정하면 정확도가 어떻게 되죠?
90%죠
다중 클래스 예측이라고 불리는 문제인데
단순히 가장 흔한 클래스를 예측하는 것이죠
클래스 불균형이 있을 때
굉장한 성능을 낼 수 있습니다
한 클래스가 다른 클래스들보다 월등히 많이 나타나는 현상이죠
스팸은 일반 메일보다 훨씬 그 수가 많습니다
그러므로 정확도가 높은지 판단할 때
클래스 불균형을 자세히 살펴야 하는 것이죠
물론 이 접근법도
다중 클래스가 뭔지 안다면 찍기보다 낫습니다
문제를 깊게 파고들어가서 지금 나오는
예측이 어떤 것인지, 정확도가 문제에
적합할 정도로 높은가 고민해야 합니다
스스로에게 물어보죠 클래스 불균형이 있나?
찍기와 같은 기준점 접근법,
다중 클래스 등에 비교했을 때 성능은 어떤지?
가장 중요한 건, 프로그램에서
사용자를 만족시킬 정확도가 나오는가?
스팸 필터링의 정확도가 낮으면 중요한 메시지가
스팸 폴더로 들어갈텐데 아주 피해야 하는 일이죠
[음악]