이 게시물을 참고하였습니다.
데이터 클래스 2개, x라는 데이터 주어짐
P(ci∣x) for i=1,2
P(c1∣x)>?P(c2∣x)
두 개중 어떤 확률이 높은지 비교하면 될 것이다.
p(x)P(x∣c1)P(c1)>?p(x)P(x∣c2)P(c2)
분모가 같으므로 생략하여 비교하면 된다.
P(x∣c1)P(c1)>?P(x∣c2)P(c2)
예를 들어 c1=여자, c2=남자, x=키가 155cm 라면
P(c1)=전체데이터중여자비율 , P(c2)=전체데이터중남자비율
P(x∣c1)=여자중에키가155cm인비율
P(x∣c2)=남자중에키가155cm인비율
가능도와 사전지식의 조합으로 비교하는 것이다.
피쳐가 여러개라면 식은 복잡해진다.
P(c1∣x1,x2,⋯,xn)>?P(c2∣x1,x2,⋯,xn)
전개하면
P(c1∣x1,x2,⋯,xn)=P(c1)P(x1∣c1)P(x2∣c1,x1)P(x3∣c1,x1,x2)⋯P(xn∣c1,x1,x2,⋯xn−1)
여기서 식을 단순화하기 위해 피쳐끼리 독립이라는 naive한 가정을 한다.
P(c1∣x1,x2,⋯,xn)=P(c1)P(x1∣c1)P(x2∣c1)P(x3∣c1)⋯P(xn∣c1)
여자의 비율 x 여자중 키가155cm인 비율 x 여자중 몸무게가 55kg인 비율 x .....
이런 식으로 구하면 된다.
사전지식과 여러 피쳐에 대한 가능도를 곱해나가면 된다.
이러한 확률을 비교하여 분류기를 만드는 것이 나이브 베이즈 분류기이다.