for textmining

supervised generative models

|

이번 글에서는 지도학습(supervised learning) 기반의 generative model나이브 베이즈 모델, 선형판별분석 모델 중심으로 살펴보도록 하겠습니다. 이 글은 전인수 서울대 박사과정이 2017년 12월에 진행한 패스트캠퍼스 강의를 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

generative model

generative model은 데이터 $x$가 생성되는 과정을 두 개의 확률모형, 즉 $p(y)$와 $p(x$|$y)$로 정의합니다. 지도학습 기반의 generative model은 레이블 $y$가 명시적으로 주어진 경우를 가리킵니다. 대표적으로 나이브 베이즈 모델(naive bayes models)과 선형판별분석(linear discriminant analysis)이 있습니다.

나이브 베이즈 모델

나이브 베이즈 모델을 generative modeling 관점에서 분석하면 다음과 같습니다.

여기에서 $x$는 데이터, $y$는 범주를 나타냅니다. 영화리뷰를 대상으로 나이브 베이즈 모델을 구축한다면 $x$는 리뷰, $y$는 긍정(1), 부정(0) 극성이 될 겁니다. $y$는 파라메터 $Φ_y$를 가지는 베르누이분포(성공 또는 실패 두 가지 가능한 결과에 대한 확률분포)를 따른다고 가정합니다.

$x_j$는 영화 리뷰에서 $j$번째 단어를 가리킵니다. 영화 리뷰가 부정($y=0$)일 때 $j$번째 단어가 등장할 확률 $p(x_j$|$y=0)$은 파라메터 $Φ_{j,y=0}$을 가지는 베이누이분포를 따른다고 가정합니다. 다시 말해 이 확률은 $j$번째 단어가 한번 이상 나타날 가능성을 가리킵니다.

나이브베이즈 모델의 우도 함수는 다음과 같습니다. $x$와 $y$의 결합확률(joint probability)을 베이즈룰(bayes rule)에 따라 다시 적은 겁니다.

위 식에 로그를 취하고 각각의 파라메터에 대해 미분을 하여 0이 되는 지점을 찾는 방식으로 계산하면 각각의 파라메터는 다음과 같이 분석적으로 도출할 수 있습니다. 전체 데이터(말뭉치)를 대상으로 아래처럼 각 단어별로 빈도를 세면 파라메터 추정이 종료된 겁니다.

이렇게 추정된 파라메터를 가지고 새로운 데이터 $x$에 대한 레이블 추정은 다음과 같이 베이즈룰을 이용합니다. 쉽게 말해 우도 $p(x$|$y)$와 사전확률 $p(y)$ 곱이 큰 쪽으로 $y$를 추정하는 겁니다.

선형판별분석

선형판별분석을 generative modeling 관점에서 분석하면 다음과 같습니다. 다시 말해 $p(x$|$y)$가 정규분포를 따르고, 각각의 분포는 분산이 $Σ$로 같다고 가정합니다. 아울러 $y$는 파라메터가 $Φ$인 베르누이분포를 따른다고 가정합니다.

각각의 확률함수는 다음과 같습니다.

선형판별분석 모델의 로그우도 함수는 다음과 같습니다. $x$와 $y$의 결합확률(joint probability)을 베이즈룰(bayes rule)에 따라 다시 적은 겁니다.

선형판별분석 모델의 파라메터는 위 로그 우도함수를 각각의 파라메터에 대해 미분해서 0이 되는 지점을 찾는 방식으로 분석적으로 도출할 수 있습니다. 자세한 도출 과정은 이곳을 참고하시면 좋을 것 같습니다.

어쨌든 이렇게 추정된 파라메터를 가지고 새로운 데이터 $x$에 대한 레이블 추정은 다음과 같이 베이즈룰을 이용합니다. 쉽게 말해 우도 $p(x$|$y)$와 사전확률 $p(y)$ 곱이 큰 쪽으로 $y$를 추정하는 겁니다.

Comments