Baum-Welch 알고리즘과 Viterbi 교육의 차이점은 무엇입니까?


18

현재 이미지 분할 문제에 대해 Viterbi 교육 을 사용하고 있습니다. Viterbi 교육 대신 Baum-Welch 알고리즘을 사용하여 어떤 장단점이 있는지 알고 싶었습니다.


3
'viterbi training'이란 정확히 무엇을 의미합니까?
bmargulies

2
내 문제에는 HMM으로 모델링되는 실제 값의 데이터 배열이 있습니다 (각각 알 수없는 매개 변수를 가진 여러 밀도 함수의 혼합). 지금은 상태 전이 probabilites를 알고 있다고 가정합니다. Viterbi Trainig의 의미는 다음 알고리즘입니다. 1) 각 데이터 포인트에 상태를 임의로 할당 (초기화) 2) 밀도 기능 파라미터의 MLE를 수행합니다. 3) 각 포인트의 상태를 재 추정합니다 (Viterbi Alg로 수행 가능). 4) 2 단계로 이동하여 중지 기준이 충족되지 않는 한 반복하십시오.
Digital Gal

1
같은 질문이 스택 오버플로에서 요청되었습니다 : viterbi training vs baum-welch algorithm
Franck Dernoncourt

답변:


21

Baum-Welch 알고리즘과 Viterbi 알고리즘은 다른 것을 계산합니다.

모델의 숨겨진 부분에 대한 전이 확률과 모델의 가시 출력에 대한 방출 확률을 알고있는 경우 Viterbi 알고리즘은 출력과 모델 사양에 따라 가장 완전한 숨겨진 상태 시퀀스를 제공합니다.

Baum-Welch 알고리즘은 모델의 관측 된 상태 (및 일반적으로 숨겨진 상태 수의 상한)를 고려할 때 가장 가능성이 높은 숨겨진 전이 확률뿐만 아니라 가장 가능성이 높은 배출 확률 세트를 제공합니다. 또한 숨겨진 상태에서 "지점"최고 가능성 포인트를 얻습니다. 이는 전체적으로 가장 가능성이 높은 단일 숨겨진 시퀀스와 약간 다릅니다.

모델을 알고 잠복 상태를 원한다면 Baum-Welch 알고리즘을 사용할 이유가 없습니다. 모델을 모르면 Viterbi 알고리즘을 사용할 수 없습니다.

추가 편집 : Peter Smit의 의견 참조; 명명법에 약간의 겹침 / 모호함이 있습니다. 몇 가지 파고는 Luis Javier Rodrıguez와 Ines Torres가 "패턴 인식 및 이미지 분석"(ISBN 978-3-540-40217-6, pp 845-857)에서 속도 대 정확성 트레이드 오프를 논의하는 장으로 이끌었습니다. 두 알고리즘.

간단히 말해서, Baum-Welch 알고리즘은 본질적으로 HMM에 적용되는 EM (Expectation-Maximization) 알고리즘입니다. 엄격한 EM 유형 알고리즘으로 최소한 로컬 최대 값까지 수렴 할 수 있으므로 단봉 문제에 대해서는 MLE을 찾으십시오. 그러나 각 단계마다 두 번의 데이터 통과가 필요하며 데이터 길이와 교육 샘플 수의 복잡성이 매우 커집니다. 그러나 숨겨진 매개 변수에 대한 전체 조건부 가능성으로 끝납니다.

Viterbi 트레이닝 알고리즘 ( "Viterbi 알고리즘"과 반대)은 MLE을 근사하여 정확도를 높이면서 속도를 향상시킵니다. 데이터를 세그먼트 화 한 다음 Viterbi 알고리즘을 적용하여 세그먼트에서 가장 가능성이 높은 상태 시퀀스를 얻은 다음 가장 가능성이 높은 상태 시퀀스를 사용하여 숨겨진 매개 변수를 다시 추정합니다. 이는 Baum-Welch 알고리즘과 달리 숨겨진 매개 변수의 전체 조건부 가능성을 제공하지 않으므로 계산 시간을 대폭 (장에서 1 ~ 2 배 정도) 절약하면서 정확도를 떨어 뜨립니다.


7
내가 옳다면 Viterbi 교육과 Viterbi 디코딩을 혼합하십시오.
Peter Smit

1
네가 옳아. Viterbi 알고리즘 만 사용하여 전환 확률을 계산하는 절차가 있다는 것을 알지 못했습니다. 이산 시간 / 이산 상태 HMM 분석과 가우시안 혼합 분포를 사용하는 이산 시간 / 연속 상태 분석간에 약간의 명칭 중복이있는 것처럼 추가로 읽을 때에 보인다. 내 대답은 혼합 모델 설정이 아닌 DTDS HMM 설정에 관한 것입니다.
Rich

@Rich : Viterbi Training에 대한 접근 가능한 자료 (예 : Rabiner의 원래 HMM 튜토리얼)를 알려 주시겠습니까?
Jacob

4
@Jacob Viterbi 교육은 Segmental K-Means라는 이름으로 진행됩니다 . Juang와 Rabiner 의이 백서 를 참조하십시오 .
alto

1
@Anoldmaninthesea. 신기원 사이의 가능성을 살펴 보는 것이 수렴을 평가하는 일반적인 방법입니다 (가능성은 항상 각 신기원마다 증가한 다음 지역 최대 점에 도달하면 중단해야 함). EM 중에 사용되지 않은 데이터의 가능성을 모니터링하여 조기 중지하는 것도 가능합니다.
alto

0

'뒤로'는 '보이지 않는 것'을 세고 싶을 때 사용됩니다. 예를 들어 EM을 사용하여 감독되지 않은 데이터를 통해 모델을 개선 할 때. Petrov의 논문이 하나의 예라고 생각합니다. 내가 생각하는 기술에서는 먼저 상당히 거친 주석이 달린 주석이 달린 데이터로 모델을 훈련시킵니다 (예 : 'Verb'에 대한 태그). 그런 다음 해당 상태에 대한 확률 질량을 약간 다른 두 가지 수량으로 임의로 분할하고, 두 상태 사이에 질량을 재분배하여 가능성을 최대화하기 위해 앞으로 뒤로 이동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.