next up previous contents
次へ: 対数の加算の計算方法の例 上へ: 認識アルゴリズム 戻る: トレリス法と対数を用いたアルゴリズムの違い   目次

対数の加算の計算方法

本研究の状態の尤度の計算は対数で行うが, グリッドの計算において,状態の尤度の計算が一番の問題である.以下のような (24)から(27)のような場合分けをして,対数の足し算を行わなければならない.このア ルゴリズムとして線形補間の方法が報告されている[6].


$\displaystyle A$ $\displaystyle =$ $\displaystyle log(a)$  
$\displaystyle B$ $\displaystyle =$ $\displaystyle log(b)$  
$\displaystyle C$ $\displaystyle =$ $\displaystyle log(a+b)$  
  $\displaystyle =$ $\displaystyle log(a)+log(1+b/a)$  
  $\displaystyle =$ $\displaystyle A+log(1+exp(B-A))$ (30)

を利用して,以下のように対数同士の足し算を計算する.
  $\displaystyle if$ $\displaystyle \quad (A \gg B)\quad A:$ (31)
  $\displaystyle else if$ $\displaystyle \quad (B \gg A)\quad B:$ (32)
  $\displaystyle else if$ $\displaystyle \quad (A \ge B)\quad A+log(1+exp(B-A)):$ (33)
  $\displaystyle else if$ $\displaystyle \quad (B \ge A)\quad B+log(1+exp(A-B)):$ (34)
       

なお,この方法はHTK[2]とForwardアルゴリズムに使用されている.
next up previous contents
次へ: 対数の加算の計算方法の例 上へ: 認識アルゴリズム 戻る: トレリス法と対数を用いたアルゴリズムの違い   目次
平成20年5月16日