더북(TheBook)

3.1 분류 문제

지금까지 기초를 다졌으니, 이제는 본론으로 넘어가서 학습 시스템을 만들고 평가해 봅시다. 분류 문제부터 시작해 보겠습니다. 먼저 가지고 놀 데이터가 필요합니다. 그리고 시스템 성공을 평가할 수 있는 기준을 확립해야 합니다. 이제부터 하나씩 차근차근 알아봅시다.

몇 가지 용어를 먼저 소개하겠습니다. 출력하는 타깃 클래스가 두 개뿐인 학습 작업을 이진 분류(binary classification)라고 합니다. { 예, 아니요 }, { 빨강, 검정 }, { 진실, 거짓 } 같은 타깃을 떠올려 보세요. 대부분 이진 문제들은 수학적으로 { -1, +1 } 혹은 { 0, 1 }로 표현됩니다. 컴퓨터 과학자들은 { 거짓, 진실 }을 { 0, 1 }로 인코딩하여 사용하길 좋아합니다. 수학적 편의를 위해 실제로는 { -1, +1 }이나 { 0, 1 }을 사용하는데, 이 두 가지 방법 간에 큰 차이가 있는 것은 아닙니다. (이 두 가지 인코딩 방식으로 쓴 수식을 읽다가 잠깐 정신을 놓으면 매우 헷갈리곤 합니다. 이 책에서는 그 두 가지 방식의 차이를 명시하겠습니다.) 세 가지 이상의 타깃 클래스가 있는 문제를 다중 범주(multiclass) 문제라고 합니다.

어떤 분류 모델은 직접적인 방식으로 아웃풋을 결정합니다. 직접적인 접근 방식은 우리가 모델에서 발견하는 결과를 유연하게 다룰 수 있게 하지만, 그 높은 유연성은 우리가 가정(assumptions)을 사용하지 않는다는 것을 의미하기도 합니다. 가정은 더 나은 결정을 할 수 있게 도울 수도 있거든요. 예를 들어 어떤 범죄가 일어났을 때 가정을 사용해서 범죄 현장 근처로 잠재적인 범죄자를 한정합니다. 가정을 사용하지 않는다면 내슈빌에서 일어난 범죄로 런던, 도쿄, 뉴욕에 있는 사람들을 용의 선상에 올리게 됩니다. 용의자가 테네시에 있다는 가정을 더하면 더 나은 수사를 할 수 있겠죠.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.