HMM (Hidden Markov Models)은 생성 모델이며 CRF는 차별적 모델이라는 것을 알고 있습니다. 또한 CRF (Conditional Random Fields)가 어떻게 설계되고 사용되는지 이해합니다. 내가 이해하지 못하는 것은 HMM과 어떻게 다른가? HMM의 경우 이전 노드, 현재 노드 및 전이 확률에 대한 다음 상태 만 모델링 할 수 있지만 CRF의 경우이 작업을 수행하고 임의의 수의 노드를 함께 연결하여 종속성을 형성 할 수 있음을 읽었습니다. 또는 문맥? 내가 맞습니까?
답변
McCallum의 CRF 소개에서 :
답변
“조건부 랜덤 필드는 최대 엔트로피 모델의 순차적 확장으로 이해 될 수 있습니다.” 이 문장은 “Classic Probabilistic Models and Conditional Random Fields”와 관련된 기술 보고서 에서 발췌 한 것입니다.
아마도 HMM, CRF 및 Maximum Entropy와 같은 주제에서 가장 잘 읽힐 수 있습니다.
추신 : 링크의 그림 1은 서로 잘 비교됩니다.
문안 인사,
답변
참고로 : 관심있는 사용자가 쉽게 액세스 할 수있는 리소스를 가질 수 있도록이 (불완전한) 목록을 유지하도록 친절하게 요청합니다. 현상 유지를 위해서는 개인이 CRF 및 HMM과 관련된 답변을 찾기 위해 많은 논문 및 / 또는 긴 기술 보고서를 조사해야합니다.
다른 좋은 답변 외에도 가장 주목할만한 특징을 지적하고 싶습니다.
- HMM은 관절 분포 P (y, x)를 모델링하려고하는 생성 모델 입니다. 따라서, 이러한 모델은 데이터 P (x)의 분포를 모델링하여 의존도 가 높은 기능을 강요 할 수 있습니다 . 이러한 의존성은 때때로 바람직하지 않으며 (예를 들어 NLP의 POS 태깅에서) 모델링 / 계산하기가 매우 어렵다.
- CRF는 P (y | x)를 모델링 하는 차별적 모델 입니다. 따라서 P (x)를 명시 적으로 모델링 할 필요가 없으므로 작업에 따라 더 적은 성능을 얻을 수 있습니다. 예를 들어 샘플 생성이 바람직하지 않은 설정에서 학습해야 할 매개 변수가 더 적기 때문 입니다. 복잡하고 겹치는 피처 를 사용할 때 (분배 모델링이 어려운 경우가 많으므로) 판별 모델이 더 적합 합니다.
- 이러한 중복 / 복잡한 기능이있는 경우 (POS 태그 지정에서와 같이) 기능 기능을 사용하여 모델링 할 수 있으므로 CRF를 고려할 수 있습니다 (일반적으로 이러한 기능을 기능 설계해야 함을 명심하십시오).
- 일반적으로 CRF는 기능 기능을 적용하기 때문에 HMM보다 강력 합니다. 예를 들어 1 ( = NN, = Smith, = true) 과 같은 함수를 모델링 할 수 있지만 (1 차) HMM에서는 Markov 가정을 사용하여 이전 요소. 그러므로 나는 CRF를 HMM의 일반화로 본다 .
와이티 엑스티 기음에이피(엑스티−1) - 또한 선형 CRF와 일반 CRF 의 차이점에 유의하십시오 . HMM과 같은 선형 CRF는 이전 요소에만 의존성을 부과하는 반면 일반 CRF에서는 임의의 요소에 의존성을 부과 할 수 있습니다 (예 : 첫 번째 요소는 시퀀스의 마지막에 액세스됩니다).
- 실제로 선형 CRF는 일반적으로 더 쉬운 추론을 허용하기 때문에 일반 CRF보다 더 자주 볼 수 있습니다. 일반적으로 CRF 추론은 다루기 힘든 경우가 많으므로 대략적인 추론 옵션 만 남길 수 있습니다.
- 선형 CRF의 추론은 HMM에서 와 같이 Viterbi 알고리즘 으로 수행됩니다 .
- HMM과 선형 CRF는 일반적 으로 기울기 강하, Quasi-Newton 방법과 같은 Maximum Likelihood 기술 또는 Expectation Maximization 기술 (Baum-Welch 알고리즘)을 갖춘 HMM에 대해 학습됩니다. 최적화 문제가 볼록한 경우 이러한 방법은 모두 최적의 매개 변수 세트를 생성합니다.
- [1]에 따르면 선형 CRF 매개 변수를 학습하기위한 최적화 문제는 모든 노드가 기하 급수 분포를 갖고 훈련 중에 관찰되는 경우 볼록 합니다 .
[1] 서튼, 찰스; McCallum, Andrew (2010), “조건부 임의 필드 소개”