[ASR] Baum-Welch algorithm

누렁이·2024년 2월 8일
0

Reference:

Hidden 마코브 모델 학습하기!

  • 대부분 Obserrvation만 주어지고, hidden state 정확히 잘 모름. 그래서 이런 상황에서 state간의 방출,전이 확률 알기 위해서 expectation 사용한다!

Expectation

  • i에서 j state로 이동할 확률?
  • 에타=전이 확률/
    • O는 주어진 시퀀스 내에서! 전이 확률 구하기
    • 그냥 그리드 서치같은거군?
    • 전방 후방 확률 이용해서 베이지안식 이용해서 시퀀스가 정해졌을 때 전이확률 구한다.
      • 전방확률: 특정시간에 나타날 i일 확률을 전방의 확률의 합으로 나타내서!!
        다음 i확률 => 이게 기대확률인가?!? 아! 베이지안에서!! training 데이터 이용해서 한건가?
      • 후방확률: 특정시간에 j일 확률을 후방의 확률의 합으로 나타내서!!

=> 특정시간에 어떤 state가 나타날 확률 (i,j,k 등등)

바움-웰치 알고리즘

  • 은닉마코브모델 학습에 사용되는 알고리즘
  • Expectation-Maximization(EM) 알고리즘의 일종
  • 1) 임의로 전방후방확률 초기값!!!
  • 2) 이를 바탕으로 transition 확률 A와 emission 확률 B 초기화
  • 2) Expectation: A,B 고정시킨 상태에서 transition 기댓값, state 기댓값 계산
  • 3) Maximization: 기댓값들 고정한 상태에서 A,B 업데이트
  • 4) convergence 할 때까지 반복 (여기서 convergence는 뭐가 기준인가요..?) => a와 b가 변함이 없을때까지?!?!
    => lower, upper 바운드가 생김. iteration할 수록 값이 커지거나, 작아지거나 upper bound로 수렴!! => 이게 KL divergence / convex한 그래프면 반드시 lowerbound를 가지는 식이 된다.
    (한마디로 다 가정이네.. 경우의 수... 같이... 글쿤... 체스같은... )

그래프가 두개가 있고, 차이를 줄인다. 그때가 convergence이다! 아하아하!!
em 알고리즘으로 써도 되는구나! 콜백

원래예측 분포랑 관측치 분포 거리가 멀어서 줄인다!! 아~~

바움-웰치 수도 코드

profile
왈왈

0개의 댓글