CRF는 위의 확률을 최대화 시켜야 한다.
인자들 설명
Conditional Random Field ( 조건부 무작위장 )
- 통계적 모델링 방법중 하나이다. 주로 구조적 예측에서 사용된다.
- 판별적 비방향성 그래프 모형의 형태이다.
- 입력 시퀀스 X와 출력 라벨 시퀀스 Y가 존재한다면, 확률 P(Y|X)를 모델링한다.
- 일반적이 classifier는 이웃하는 표본을 고려하지 않지만, 이와 다르게 조건부 무작위장은 고려하여 예측한다.
- 특징
- 1. fully connected graph대신에 시퀀스 모델에 적합하다. CRF는 보통 체인 구조로 구성되며 이는 시간,문장 데이터를 모델링하기 적합
- 2. local dependency
- CRF는 y i가 입력과 이웃라벨 y i-1과 조건부 독립임을 가정함.
- CRF의 유형
- 1. linear-chain CRF
- 가장 일반적인 형태이며, 시퀀스 데이터에 적합
- 2. General CRF
- 더 복잡한 그래프 구조를 모델링하며, 이미지 분할같은 2d데이터를 처리
- 장점
- 입력 X에 대해서 어떠한 분포도 가정하지 않음.
- 시퀀스 전체에서 최적의 라벨링을 고려
- 연속된 상태와 입력간의 복잡한 의존성을 모델링 가능
- 단점
CRF의 작동과정
- 1. 입력 X와 출력 Y간의 관계를 학습하기 위해서 feature function을 사용함. 그래서 먼저 feature function을 정의해야함.
- feature function의 역할?
- 특성 함수는 사람이 수작업을 해야하는 단점 존재..... 아래 식1과 같이 이진 형태로 정의함.
- 전이 특성 함수는 이전 라벨과 현재 라벨간의 관계를 모델링
- ex) '동사' 다음에 '명사'가 올 가능성이 높다는 패턴을 캡처
- 상태 특성 함수는 현재 라벨과 입력의 특정 부분 간의 관계를 모델링
- ex) 단어 'Apple'이 나오면, 라벨 y i가 '기업 이름'일 가능성이 높음
전이 특성 함수
상태 특성 함수
식1. 특성함수 정의 형태
- 2-1. 확률 분포 모델링 ( 조건부확률)
- CRF는 시퀀스 X가 주어졌을 때, Y의 조건부 확률 P(Y|X)를 모델링한다.
확률은 아래 식2와 같이 정의된다.
- 이는 입력X가 주어졌을때, 출력 Y가 발생할 확률이다.
식2. CRF는 이 확률을 최대화하는 Y를 찾아야한다.
- 2-2. 확률 분포 모델링 ( 로그 선형 모델 score function )
- 조건부 확률을 계산하기 위해서, CRF는 특성 함수의 선형 결합을 사용해서 Y와 X간의 '점수'를 계산한다.
점수를 계산하기 위해서 아래의 식(식3)을 이용한다.
- 이는 Y와 X의 적합성을 측정한다. 점수가 높을수록 해당되는 Y가 X에 잘맞는 라벨링임을 의미한다.
식3
- 2-3. 확률 분포 모델링 ( 정규화 상수 )
- 정규화 상수는 조건부 확률 P( Y | X )의 분모를 구성한다. 이는 확률분포의 총합이 1이 되게 보장한다.
- 2-4. 확률 분포 모델링 ( 정리 )
- CRF에서 위의 3가지 식은 각각의 역할을 가지며 모두 같이 작동한다.
- 2-1의 식은 최종적으로 출력 Y의 확률을 계산
- 2-2의 식은 P(Y|X)의 지수 부분을 정의하며, Y와 X의 점수를 계산
- 2-3의 식은 확률을 정규화하여 분포의 총합이 1이 되도록 보장한다.
- 3. 학습과정
- CRF는 P(X|Y)의 로그-우도를 최대화하는 방식으로 학습한다.
학습 과정에서는 주어진 입력과 실제 라벨 간의 차이를 최소화 하도록 가중치를 조정한다.
로그 우도에 대한 식
손실함수. 최적화는 SGD,L-BFGS 등 사용
- 4. 학습된 CRF를 사용해서 입력 X에 대한 최적의 출력 라벨 시퀀스 Y를 예측한다.