데이터로부터의 추론, 추정, 의사결정
분류기를 만드는 근본적으로 다른 두 가지 방법이 있으며, 이 구분은 머신러닝 전체를 관통합니다. 판별 모델은 클래스 사이의 경계를 곧바로 학습합니다. 생성 모델은 각 클래스가 자신의 데이터를 어떻게 만들어 내는지를 학습하고, 경계는 그 부산물로 끌어냅니다.
형식적으로 말하면, 판별 모델은 조건부 확률 p(y|x)를 곧바로 추정하여 «이 특징이 주어졌을 때 어느 레이블인가?»에 답합니다. 생성 모델은 결합 확률 p(x, y)를 추정한 다음(흔히 p(x|y)와 p(y)를 거쳐), 베이즈 규칙으로 p(y|x)를 얻습니다.
두 명의 미술 학생을 생각해 보세요. 한 명은 기초부터 털, 수염, 귀가 어떻게 조화를 이루는지 마스터하며 고양이를 그리는 법을 배웁니다: 이것은 각 클래스가 어떻게 데이터를 생성하는지 학습하는 생성형(generative) 모델입니다. 다른 한 명은 한 번도 그리지 않지만, 어떤 사진에서든 고양이와 개를 구별하는 데에 아주 뛰어납니다: 이것은 오직 클래스들 사이의 경계만을 학습하는 판별형(discriminative) 모델입니다. 화가는 새로운 고양이를 창조할 수 있습니다; 구분하는 사람은 단지 선을 긋기만 할 뿐이고, 종종 그것에 더 날카롭습니다.