CRF

배경

활성화 함수 안에 인풋을 넣으면 Y에 대한 확률 분포를 얻을 수 있어, 가장 확률이 높은(most likely) 결과를 찾을 수 있다. 하지만 만약에 시퀀스 데이라면 어떻게 할까? 우리는 개별 인풋에 대한 확률 분포가 아닌, 모든 시퀀스가 주어졌을 때 가장 발생할 확률이 높은 시퀀스를 찾고 싶다. 즉 p(yX)=p(y1,y2,...ykx1,x2,...,xk)p(y|X) = p(y_1, y_2, ...y_k | x_1, x_2, ..., x_k) 에 대한 분포를 알고 싶다.

Linear Chain CRF

  • Regular classification

p(yX)=Πkp(ykxk)=Πkexp(aL+1(xk)yk)/Z(xk)p(y|X) = \Pi_{k} p(y_k|x_k) = \Pi_{k} exp(a^{L+1}(x_k)_{y_k})/Z(x_k) 이를 지수함수의 곱이니 덧셈으로 표현하면 이와 같다.

p(yX)=exp(kaL+1(xk)yk)/ΠkZ(xk)p(y|X) = exp(\sum_ka^{L+1}(x_k)_{y_k}) / \Pi_kZ(x_k)
  • Sequence Classification with Linear Chain

Feature Function in a CRF

Feature Function 을 정의하기 위한 인풋은 다음과 같다.

  1. 문장 s

  2. 단어가 문장에서 몇번째 위치하는지에 대한 포지션 i

  3. 현재 단어의 레이블 li

  4. 이전 단어의 레이블 li-1

인풋 변수와, 타겟 변수 가 있다. 두가지 예제가있음음. Image Segmentation 과, Text Processing,

Image Segmentation 에서의 인풋은 픽셀 값

CS228 확률 그래피컬 모델

Last updated