2017-12-03 18 views
0

私はこの質問 3-state phone model in Hidden Markov Model (HMM)HMM 3状態電話機のモデルと遷移確率

を読んで、私は*どのような3ステート手段を理解しますが、遷移行列が(状態+ 2)で作られた理由をまだ理解していない(状態+2)行列である。

これは私が得たものです。私は約21台の携帯電話のデータを持っています。

#define N_STATE  3 
    #define N_PDF  10 
    #define N_DIMENSION 39 

    typedef struct { 
     float weight; 
     float mean[N_DIMENSION]; 
     float var[N_DIMENSION]; 
    } pdfType; 

    typedef struct { 
     pdfType pdf[N_PDF]; 
    } stateType; 

    typedef struct { 
     char *name; 
     float tp[N_STATE+2][N_STATE+2]; 
     stateType state[N_STATE]; 
    } hmmType; 

    hmmType phones[] = { 
     { "f", // HMM 
     { // transition probability 
    { 0.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000 }, 
    { 0.000000e+000, 8.519424e-001, 1.480576e-001, 0.000000e+000, 0.000000e+000 }, 
    { 0.000000e+000, 0.000000e+000, 7.039050e-001, 2.960950e-001, 0.000000e+000 }, 
    { 0.000000e+000, 0.000000e+000, 0.000000e+000, 5.744837e-001, 4.255163e-001 }, 
    { 0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000 } 
}, 
{ 
    {{// state 1 
    { // pdf 1 
     8.379531e-002, 
     { -1.100132e+001, -1.507629e+000, 5.286411e+000, 5.901514e+000, 1.883457e+000, 2.984173e-001, -2.267562e+000, -1.421130e+000, -2.029700e+000, -8.125367e-001, -5.360930e-001, -2.711542e+000, 5.227489e+001, -5.095788e+000, -1.696621e+000, -7.312185e-001, 1.086982e+000, 1.082798e+000, 6.809577e-001, 9.642316e-001, 1.288318e+000, 2.270788e+000, 9.616309e-001, 3.370467e-001, 5.757959e-001, -9.360286e-001, 5.963516e-001, -5.518724e-001, -6.216772e-001, -1.133040e+000, -1.055158e+000, -2.527018e-001, -5.493749e-001, -8.677255e-002, -4.314532e-001, 4.211203e-002, 1.891589e-001, -1.295372e-001, 2.562751e-001 }, 
     { 2.583579e+001, 1.714888e+001, 1.768794e+001, 1.732637e+001, 1.677207e+001, 2.317034e+001, 1.957299e+001, 1.885118e+001, 1.923330e+001, 1.748584e+001, 1.841182e+001, 1.546110e+001, 2.689937e+001, 2.333710e+000, 2.154598e+000, 5.479347e+000, 5.589773e+000, 4.148128e+000, 3.470205e+000, 3.396770e+000, 3.723966e+000, 4.144585e+000, 3.967475e+000, 3.933262e+000, 2.597734e+000, 1.499691e+000, 5.463322e-001, 4.699343e-001, 6.001114e-001, 6.452432e-001, 5.413819e-001, 6.319258e-001, 6.051217e-001, 6.727058e-001, 7.212463e-001, 7.243521e-001, 6.977258e-001, 5.134848e-001, 2.294584e-001 } 
    ... 

構造hmmTypeにトランジションマトリックスがあることがわかります。

1)なぜ[N_STATE + 2] [N_STATE + 2]が[N_STATE] [N_STATE]でないのですか?

2)1つの電話から別の電話への移行確率を意味しますか?それから、どのように 'f'から 't'への遷移確率を知るためにそれを使うことができますか?

3)または同じ電話機内の1つの州から他の州へ

4)もし正しいとすれば、ある電話機から別の電話機への遷移確率をどのように得ることができますか?(ex 'f' - > 't')理解したようにビタビアルゴリズムで音声認識を行いたい場合、私は電話から他の電話に移行する確率が必要ですが、このデータにはそれが含まれているかどうかはわかりません。私はデータからそれを訓練するべきですか?

答えて

0

1)なぜ[N_STATE + 2] [N_STATE + 2]が[N_STATE] [N_STATE]でないのですか?

は、このコードを書いたプログラマはそのように書くことにしましたが、全体的には、彼は単にそれがからの遷移確率を意味しています5。

2)としてN_STATEを最も簡単なアプローチを宣言することができていません1つの電話から別の電話へそれから、どのように 'f'から 't'への遷移確率を知るためにそれを使うことができますか?

この移行確率は、音響モデルではなく、辞書または言語モデルでエンコードされます。

3)または同じ電話機内の1つの州から他の州へ

はい

4)とそれが正しければ、どのように私は別の電話に1本の電話からの遷移確率を得ることができます(例:「F」 - ?>「T」)私なら、私が理解できるようにビタビアルゴリズムで音声認識をしたい、私は電話から他の電話への移行確率が必要ですが、私もこのデータがそれを含むかどうかはわかりません。私はデータからそれを訓練するべきですか?

音声バイグラム言語モデルと呼ばれ、TIMIT評価で頻繁に使用されるデータからトレーニングすることができます。

関連する問題