Menskalakan variabel terbelakang dalam HMM Baum-Welch


10

Saya hanya mencoba untuk mengimplementasikan algoritma Baum-Welch yang diskalakan dan saya telah mengalami masalah di mana variabel terbelakang saya, setelah penskalaan, berada di atas nilai 1. Apakah ini normal? Bagaimanapun, probabilitas tidak boleh lebih dari 1.

Saya menggunakan faktor skala yang saya dapatkan dari variabel forward:

ct=1/sSαt(s)
mana c_t adalah faktor penskalaan untuk waktu t, alpha adalah variabel forward, s adalah status dalam hmm.

Untuk algoritma mundur saya menerapkannya di java di bawah ini:

public double[][] backwardAlgo(){
        int time = eSequence.size();
        double beta[][] = new double[2][time];

        // Intialize beta for current time
        for(int i = 0; i < 2; i++){
            beta[i][time-1] = scaler[time-1];
        }

        // Use recursive method to calculate beta
        double tempBeta = 0;
        for(int t = time-2; t >= 0; t--){
            for(int i = 0; i < 2; i++){
                for(int j = 0; j < 2; j++){
                    tempBeta = tempBeta + (stateTransitionMatrix[i][j] * emissionMatrix[j][eSequence.get(t+1)] * beta[j][t+1]);
                }
                beta[i][t] = tempBeta;
                beta[i][t] = scaler[t] * beta[i][t];
                tempBeta = 0;
            }
        }
        return beta;
    }

Timbangan disimpan dalam array yang disebut scaler. Ada 2 status dalam hmm ini. Saya juga harus mencatat bahwa faktor skala yang saya dapatkan lebih dari 1 juga.

Jawaban:


0

Saya tidak dengan sendirinya menunjukkan adanya masalah. adalah probabilitas bahwa urutan output yang diamati hingga adalah ,. Jadi, tidak masalah jika lebih dari satu. Juga, misalnya untuk , itu , yang bisa jadi lebih dari satu.sSαt(s)tt0,t1,, eSequence.get(t)ctβtime1sSβtime1(s)=|S|ct1


0

Saya punya ide lain, karena scaled mewakili ituβ

βt(s)=p(xt+1,...,xN|st=s)p(xt+1,...,xN|x1,...,xt)

jadi, saya pikir bisa lebih dari 1.β

referensi catatan ini (halaman 8)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.