我正在研究一個需要使用隱馬爾可夫模型的項目。我下載了凱文墨菲的工具箱。我對使用有一些問題。在工具箱網頁中,他說dhmm_em和dhmm_logprob的第一個輸入是符號序列數據。在他們的例子中,他們給行向量作爲數據。所以,當我將我的符號序列作爲行向量時,我會得到錯誤;kevin murphy的嗯matlab工具箱斷言錯誤
??? Error using ==> assert at 9
assertion violated:
Error in ==> fwdback at 105
assert(approxeq(sum(alpha(:,t)),1))
Error in ==> dhmm_logprob at 17
[alpha, beta, gamma, ll] = fwdback(prior,
transmat, obslik, 'fwd_only', 1);
Error in ==> mainCourseProject at 110
loglik(train_act) =
dhmm_logprob(orderedSymbols,
hmm{train_act}.prior,
hmm{train_act}.trans,
hmm{act}.emiss);
但是,在給出這個錯誤之前,代碼適用於某些符號向量。當我將數據作爲列向量提供時,函數可以正常工作,沒有錯誤。那麼,爲什麼我會得到這個錯誤?你可能會說我應該給不是單個向量,而是向量集,我也試圖在一個結構中收集我的特徵向量並給出行向量,但是沒有任何變化,我仍然斷言錯誤。順便說一下,我的符號序列沒有任何零,我所做的一切幾乎與他們的例子中所顯示的一樣,所以如果有人能夠幫助我,我會非常感激。