日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

时序分析:隐马尔可夫模型

發(fā)布時(shí)間:2023/12/31 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 时序分析:隐马尔可夫模型 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

???? 在AI綜合領(lǐng)域,HMM模型是離散貝葉斯網(wǎng)絡(luò),最主要用于非確定性(概率)推理。

?????? 上次的文章被標(biāo)記為鏈接,真是有意思。

????

一:隱馬爾科夫模型???


?????? 本人對(duì)這篇轉(zhuǎn)載做了修改!

?????? 英文鏈接:http://www.comp.leeds.ac.uk/roger/HiddenMarkovModels/html_dev/main.html

?????? 文章鏈接:http://blog.csdn.net/likelet/article/details/7056068????? 此文的公式和說(shuō)明更清晰一些,沒(méi)有分段總結(jié)。

?????? 文章原始鏈接:http://www.52nlp.cn/hmm-learn-best-practices-one-introduction

?????? 算法雜貨鋪——分類之貝葉斯網(wǎng)絡(luò)及應(yīng)用:http://www.cnblogs.com/leoo2sk/archive/2010/09/18/bayes-network.html


(一):定義及簡(jiǎn)介介紹(introduction)


通常我們總是對(duì)尋找某一段時(shí)間上的模式感興趣,這些模式可能出現(xiàn)在很多領(lǐng)域:一個(gè)人在使用電腦的時(shí)候使用的命令的序列模式;一句話中的單詞的序列;口語(yǔ)中的音素序列。總之能產(chǎn)生一系列事件的地方都能產(chǎn)生有用的模式。

考慮一個(gè)最簡(jiǎn)單的情況:有人(柯南?)試圖從一塊海藻來(lái)推斷天氣的情況。一些民間的傳說(shuō)認(rèn)為“soggy”的海藻意味著潮濕(wet)的天氣,“dry”的海藻預(yù)示著晴朗(sun)。如果海藻處于中間狀態(tài)“damp”,那就無(wú)法確定了。但是,天氣的情況不可能嚴(yán)格的按照海藻的狀態(tài)來(lái)變化,所以我們可以說(shuō)在一定程度上可能是雨天或是晴天。另一個(gè)有價(jià)值的信息是之前某些天的天氣情況,結(jié)合昨天的天氣和可以觀察到的海藻的狀態(tài),我們就可以為今天的天氣做一個(gè)較好的預(yù)報(bào)。

這是在我們這個(gè)系列的介紹中一個(gè)非常典型的系統(tǒng)。

?

  • 首先我們介紹一個(gè)可以隨時(shí)間產(chǎn)生概率性模型的系統(tǒng),例如天氣在晴天或者雨天之間變動(dòng)。
  • 接下來(lái)我們?cè)噲D去預(yù)言我們所不能觀察到的"隱形"的系統(tǒng)狀態(tài),在上面的例子中,能被觀察到的序列就是海藻的狀態(tài)嗎,隱形的系統(tǒng)就是天氣情況
  • 然后我們看一下關(guān)于我們這個(gè)模型的一些問(wèn)題,在上面那個(gè)例子中,也許我們想知道

?

  • 如果我們觀察一個(gè)星期每一天的海藻的狀態(tài),我們是否能知相應(yīng)的其天氣情況
  • 如果給出一個(gè)海藻狀態(tài)的序列,我們是否能判斷是冬天還是夏天?我們假設(shè),如果海藻干(dry)了一段時(shí)間,那就意味著是夏天如果海藻潮濕(soggy)了一段時(shí)間,那可能就是冬天。
  • ?


    ?

    (二):生成模式(Generating Patterns)

    ?


    • 確定的模式(Deterministic Patterns)

    考慮交通燈的例子,一個(gè)序列可能是紅-紅/橙-綠-橙-紅。這個(gè)序列可以畫(huà)成一個(gè)狀態(tài)機(jī),不同的狀態(tài)按照這個(gè)狀態(tài)機(jī)互相交替

    我們可以注意到,每一個(gè)狀態(tài)都只依賴于此前的狀態(tài),如果當(dāng)前的是綠燈,那么接下來(lái)就是橙燈,這就是一個(gè)確定型的系統(tǒng)。確定型的系統(tǒng)更容易理解和分析,只要這些狀態(tài)轉(zhuǎn)移都是已知的。

    ?

    ?

    • 不確定的模式(Non-Deterministic Patterns)

    為了讓之前那個(gè)天氣的例子更貼近現(xiàn)實(shí),我們可以添加一個(gè)狀態(tài)-多云。和交通燈的例子不同,我們不能得到一個(gè)確定的狀態(tài)轉(zhuǎn)移系統(tǒng),但是我們還是希望能得到一個(gè)天氣的模式。

    一種辦法就是假設(shè)這個(gè)模型的每個(gè)狀態(tài)都只依賴于之前的狀態(tài),這個(gè)假設(shè)被稱為馬爾科夫假設(shè),這個(gè)假設(shè)可以大大的簡(jiǎn)化這個(gè)問(wèn)題。顯然,這個(gè)假設(shè)可能是一個(gè)非常糟糕的假設(shè),導(dǎo)致很多重要的信息都丟失了。

    當(dāng)涉及到天氣的時(shí)候,馬爾科夫假設(shè)假設(shè)如果我們知道之間一些天的天氣的信息,不考慮風(fēng)力、氣壓等因素,那么我們就能預(yù)言今天的天氣。當(dāng)然,和其他許多例子一樣,這個(gè)列子也是不合實(shí)際的。但是,這樣一個(gè)簡(jiǎn)化的系統(tǒng)可以有利于我們的分析,所以我們通常接受這樣的假設(shè),因?yàn)槲覀冎肋@樣的系統(tǒng)能讓我們獲得一些有用的信息,盡管不是十分準(zhǔn)確的。

    一個(gè)馬爾科夫過(guò)程就是指過(guò)程中的每個(gè)狀態(tài)的轉(zhuǎn)移只依賴于之前的n個(gè)狀態(tài),這個(gè)過(guò)程被稱為1個(gè)n階的模型,其中n是影響轉(zhuǎn)移的狀態(tài)的數(shù)目。最簡(jiǎn)單的馬爾科夫過(guò)程就是一階過(guò)程,每一個(gè)狀態(tài)的轉(zhuǎn)移只依賴于其之間的那一個(gè)狀態(tài)。注意這和確定型的系統(tǒng)不一樣,因?yàn)檫@種裝因是有概率的,而不是確定的。下面這個(gè)圖展示了天氣這個(gè)例子中所有可能的一階轉(zhuǎn)移:

    注意一個(gè)含有M個(gè)狀態(tài)的一階過(guò)程有M的平方個(gè)狀態(tài)轉(zhuǎn)移。每一個(gè)轉(zhuǎn)移的概率叫做狀態(tài)轉(zhuǎn)移概率(state transition probability),就是從一個(gè)狀態(tài)轉(zhuǎn)移到另一個(gè)狀態(tài)的概率。這所有的M的平方個(gè)概率可以用一個(gè)狀態(tài)轉(zhuǎn)移矩陣來(lái)表示。注意這里有一個(gè)假設(shè),概率不隨時(shí)間的變化而變化,這又是一個(gè)不現(xiàn)實(shí)但很重要的假設(shè)。下面就是一個(gè)狀態(tài)轉(zhuǎn)移矩陣的列子:

    這個(gè)矩陣的意思是,如果昨天是晴天,那么今天又50%的可能是晴天,37.5%的概率是陰天,12.5%的概率會(huì)下雨,很明顯,每一行的和都是1。

    為了初始化這樣一個(gè)系統(tǒng),我們需要一個(gè)初始的概率向量:

    這個(gè)向量表示第一天是晴天。

    到這里,我們就為一階馬爾科夫過(guò)程定義了以下三個(gè)部分:

    • 狀態(tài):晴天、陰天和下雨
    • 初始向量:定義系統(tǒng)在時(shí)間為0的時(shí)候的狀態(tài)的概率
    • 狀態(tài)轉(zhuǎn)移矩陣:每種天氣轉(zhuǎn)換的概率

    所有的能被這樣描述的系統(tǒng)都是一個(gè)馬爾科夫過(guò)程。

    ?

    • 總結(jié)(Summary)

    我們?yōu)榱苏业诫S時(shí)間變化的模式,就試圖去建立一個(gè)可以產(chǎn)生模式的過(guò)程模型。我們使用了具體的時(shí)間步驟、狀態(tài)、并且做了馬爾科夫假設(shè)。有了這些假設(shè),這個(gè)能產(chǎn)生模式系統(tǒng)就是一個(gè)馬爾科夫過(guò)程。一個(gè)馬爾科夫過(guò)程包括一個(gè)初始向量和一個(gè)狀態(tài)轉(zhuǎn)移矩陣。關(guān)于這個(gè)假設(shè)需要注意的一點(diǎn)是狀態(tài)轉(zhuǎn)移概率不隨時(shí)間變化。


    (三):隱含模式(Hidden Patterns)


    ?????? 當(dāng)馬爾科夫過(guò)程不夠強(qiáng)大的時(shí)候,我們又該怎么辦呢?

    ?

    ????? 在某些情況下馬爾科夫過(guò)程不足以描述我們希望發(fā)現(xiàn)的模式。回到之前那個(gè)天氣的例子,一個(gè)隱居的人可能不能直觀的觀察到天氣的情況,但是有一些海藻。民間的傳說(shuō)告訴我們海藻的狀態(tài)在某種概率上是和天氣的情況相關(guān)的。在這種情況下我們有兩個(gè)狀態(tài)集合,一個(gè)可以觀察到的狀態(tài)集合(海藻的狀態(tài))和一個(gè)隱藏的狀態(tài)(天氣的狀況)。我們希望能找到一個(gè)算法可以根據(jù)海藻的狀況和馬爾科夫假設(shè)來(lái)預(yù)測(cè)天氣的狀況。

    ???? 一個(gè)更現(xiàn)實(shí)的例子是語(yǔ)音識(shí)別,我們聽(tīng)到的聲音是聲帶、喉嚨和一起其他的發(fā)音器官共同作用的結(jié)果。這些因素相互作用,共同決定了每一個(gè)單詞的聲音,而一個(gè)語(yǔ)音識(shí)別系統(tǒng)檢測(cè)的聲音(可以觀察的狀態(tài))是人體內(nèi)部各種物理變化(隱藏的狀態(tài)、引申一個(gè)人真正想表達(dá)的意思)產(chǎn)生的。

    ??????? 某些語(yǔ)音識(shí)別設(shè)備把內(nèi)部的發(fā)音機(jī)制作為一個(gè)隱藏的狀態(tài)序列,把最后的聲音看成是一個(gè)和隱藏的狀態(tài)序列十分相似的可以觀察到的狀態(tài)的序列。在這兩個(gè)例子中,一個(gè)非常重要的地方是隱藏狀態(tài)的數(shù)目和可以觀察到的狀態(tài)的數(shù)目可能是不一樣的。在一個(gè)有三種狀態(tài)的天氣系統(tǒng)(sunny、cloudy、rainy)中,也許可以觀察到四種潮濕程度的海藻(dry、dryish、damp、soggy)。在語(yǔ)音識(shí)別中,一個(gè)簡(jiǎn)單的發(fā)言也許只需要80個(gè)語(yǔ)素來(lái)描述,但是一個(gè)內(nèi)部的發(fā)音機(jī)制可以產(chǎn)生不到80或者超過(guò)80種不同的聲音。

    ?????? 在上面的這些情況下,可以觀察到的狀態(tài)序列和隱藏的狀態(tài)序列是概率相關(guān)的。于是我們可以將這種類型的過(guò)程建模為又一個(gè)隱藏的馬爾科夫過(guò)程和一個(gè)和這個(gè)馬爾科夫過(guò)程概率相關(guān)的并且可以觀察到的狀態(tài)集合。

    ????? 下圖顯示了天氣的例子中隱藏的狀態(tài)和可以觀察到的狀態(tài)之間的關(guān)系。我們假設(shè)隱藏的狀態(tài)是一個(gè)簡(jiǎn)單的一階馬爾科夫過(guò)程,并且他們兩兩之間都可以相互轉(zhuǎn)換。


    ????????下圖則明確的表示出模型的演化,其中綠色的圓圈表示隱藏狀態(tài),紫色圓圈表示可觀察到狀態(tài),箭頭表示狀態(tài)之間的依存概率。一個(gè)?HMM?可用一個(gè)5元組 { N, M, π,A,B?}表示,其中 N 表示隱藏狀態(tài)的數(shù)量,我們要么知道確切的值,要么猜測(cè)該值,M 表示可觀測(cè)狀態(tài)的數(shù)量,可以通過(guò)訓(xùn)練集獲得,?π=i}為初始狀態(tài)概率,A={aij}為隱藏狀態(tài)的轉(zhuǎn)移矩陣?Pr(xt(i)?| xt-1(j)),B={bik} 表示某個(gè)時(shí)刻因隱藏狀態(tài)而可觀察的狀態(tài)的概率,即混淆矩陣,Pr(ot(i)?| xt(j))。在狀態(tài)轉(zhuǎn)移矩陣和混淆矩陣中的每個(gè)概率都是時(shí)間無(wú)關(guān)的,即當(dāng)系統(tǒng)演化時(shí),這些矩陣并不隨時(shí)間改變。對(duì)于一個(gè) N 和 M 固的?HMM?來(lái)說(shuō),用 λ={ π, A,?B?} 表示 HMM 參數(shù)。



    ??????? 隱藏的狀態(tài)和可以觀察到的狀態(tài)之間有一種概率上的關(guān)系,也就是說(shuō)某種隱藏狀態(tài)H被認(rèn)為是某個(gè)可以觀察的狀態(tài)O1是有概率的,假設(shè)為P(O1|H)。如果可以可以觀察的狀態(tài)有三種,那么很顯然P(O1|H)+?P(O2|H)+?P(O3|H)?= 1。這里我和原文的意思不太相同,原文說(shuō)的意思是P(O1|H1)+?P(O1|H2)+P(O1|H3)= 1,但是這和下面的例子又不同。

    ?????? 這樣,我們也可以得到一個(gè)另一個(gè)矩陣,稱為混淆矩陣。這個(gè)矩陣的內(nèi)容是某個(gè)隱藏的狀態(tài)被分別觀察成集中不同的可以觀察的狀態(tài)的概率,在天氣的例子中,這個(gè)矩陣如下圖:

    注意到圖中每一行的和為1,但是每一列的和不為1,這里我覺(jué)得可能是原文出錯(cuò)了,或者隱藏狀態(tài)還有其他。

    ?

    總結(jié)

    我們已經(jīng)看到有一些過(guò)程是和一個(gè)隱藏的馬爾科夫過(guò)程概率相關(guān)的。在這種情況下,可以觀察到的狀態(tài)和隱藏的狀態(tài)的數(shù)目可能是不一樣的。我們可以把這種過(guò)程建模為隱馬爾科夫模型(HMM)。這個(gè)模型包含兩個(gè)狀態(tài)集合和三個(gè)概率集合。

    • 隱藏的狀態(tài):一個(gè)隱藏的馬爾科夫過(guò)程
    • 可以觀察到的狀態(tài):如名
    • 初始向量:初始狀態(tài)的隱藏狀態(tài)的概率
    • 狀態(tài)轉(zhuǎn)移矩陣:隱藏狀態(tài)的狀態(tài)轉(zhuǎn)移概率
    • 混淆矩陣:隱藏狀態(tài)被觀察成各個(gè)可以觀察到的狀態(tài)的概率

    我們可以認(rèn)為隱馬爾科夫模型是在一個(gè)不可觀察的馬爾科夫過(guò)程上添加了一個(gè)可以觀察到的狀態(tài)集合,加上這個(gè)過(guò)程到這個(gè)集合的一些概率關(guān)系得到的。


    (四):隱馬爾科夫模型(Hidden Markov Models)


    定義隱馬爾科夫模型可以用一個(gè)三元組(π,A,B)來(lái)定義:

  • π 表示初始狀態(tài)概率的向量
  • A =(aij)(隱藏狀態(tài)的)轉(zhuǎn)移矩陣 P(Xit|Xj(t-1)) t-1時(shí)刻是j而t時(shí)刻是i的概率
  • B =(bij)混淆矩陣? P(Yi|Xj)在某個(gè)時(shí)刻因隱藏狀態(tài)為Xj而觀察狀態(tài)為Yi的概率
  • 值得注意的是,在狀態(tài)轉(zhuǎn)移矩陣中的每個(gè)概率都是時(shí)間無(wú)關(guān)的,也就是說(shuō)我們假設(shè)這個(gè)概率是固定的,不隨時(shí)間變化。當(dāng)然,這是馬爾科夫模型最不切合實(shí)際的一個(gè)假設(shè)。

    ?

    隱馬爾科夫模型的使用

    如果一個(gè)模型可以被描述成一個(gè)隱馬爾科夫模型,有三個(gè)問(wèn)題可以得到解決。

    前兩個(gè)是模式識(shí)別的問(wèn)題:

    ?????? 1)根據(jù)隱馬爾科夫模型得到一個(gè)可觀察狀態(tài)序列的概率(評(píng)價(jià));

    ??????? 2)找到一個(gè)隱藏狀態(tài)的序列使得這個(gè)序列產(chǎn)生一個(gè)可觀察狀態(tài)序列的概率最大(解碼)。

    第三個(gè)問(wèn)題就是根據(jù)一個(gè)可以觀察到的狀態(tài)序列產(chǎn)生一個(gè)隱馬爾科夫模型(學(xué)習(xí))。

    ?

    1. 評(píng)價(jià)

    假設(shè)我們有很多隱馬爾科夫模型(也就是說(shuō)一個(gè)三元組的集合)描述不同的系統(tǒng)和一個(gè)可觀察狀態(tài)序列集。我們也許想知道哪一個(gè)隱馬爾科夫模型最可能產(chǎn)生某個(gè)可觀察狀態(tài)序列。比如說(shuō),我們也許有一個(gè)海藻的“Summer”模型和一個(gè)“Winter”模型,因?yàn)楹T逶谙奶旌投斓臓顟B(tài)應(yīng)該是不同的,我們希望根據(jù)一個(gè)可觀察狀態(tài)(海藻的潮濕與否)序列來(lái)判斷現(xiàn)在是夏天還是冬天。

    我們可以使用前向算法來(lái)計(jì)算在某個(gè)特定的HMM下一個(gè)可觀察序列的概率,然后據(jù)此找到最可能的模型。

    這種類型的應(yīng)用通常出現(xiàn)在語(yǔ)音設(shè)別中,通常我們會(huì)使用很多HMM,每一個(gè)針對(duì)一個(gè)特別的單詞。一個(gè)可觀察狀態(tài)的序列是從一個(gè)可以聽(tīng)到的單詞向前得到的,然后這個(gè)單詞就可以通過(guò)找到滿足這個(gè)可觀察狀態(tài)序列的最大概率的HMM來(lái)識(shí)別。

    ?

    2. 解碼

    根絕可觀察狀態(tài)的序列找到一個(gè)最可能的隱藏狀態(tài)序列。

    和上面一個(gè)問(wèn)題相似的并且更有趣的是根據(jù)可觀察序列找到隱藏序列。在很多情況下,我們隊(duì)隱藏狀態(tài)更有興趣,因?yàn)槠浒艘恍┎荒鼙恢苯佑^察到的有價(jià)值的信息。比如說(shuō)在海藻和天氣的例子中,一個(gè)隱居的人只能看到海藻的狀態(tài),但是他想知道天氣的狀態(tài)。這時(shí)候我們就可以使用Viterbi算法來(lái)根據(jù)可觀察序列得到最優(yōu)可能的隱藏狀態(tài)的序列,當(dāng)然前提是已經(jīng)有一個(gè)HMM。

    另一個(gè)廣泛使用Viterbi算法的領(lǐng)域是自然語(yǔ)言處中標(biāo)引詞性。句子中的單詞是可以觀察到的,詞性是隱藏的狀態(tài)。通過(guò)根據(jù)語(yǔ)句的上下文找到一句話中的單詞序列的最有可能的隱藏狀態(tài)序列,我們就可以得到一個(gè)單詞的詞性(可能性最大)。這樣我們就可以用這種信息來(lái)完成其他一些工作。

    ?

    3.學(xué)習(xí)

    從一個(gè)觀察集中得到一個(gè)隱馬爾科夫模型。

    第三個(gè)問(wèn)題也是最困難的問(wèn)題,根絕觀察到的序列集來(lái)找到一個(gè)最有可能的HMM,也就是說(shuō)確定一個(gè)最有可能的三元組(π,A,B)。當(dāng)A,B矩陣都不是直觀可測(cè)量(通過(guò)經(jīng)驗(yàn)得到)的的時(shí)候,可以使用前向后向算法來(lái)解決這個(gè)問(wèn)題。

    ?

    總結(jié):

    盡管做出了一些不太符合實(shí)際的假設(shè),但是用三元組描述的HMMs在描述真實(shí)系統(tǒng)并進(jìn)行分析的時(shí)候具有很大的價(jià)值,并且可以解決下面這些問(wèn)題:

  • 用前向算法找到最有可能的隱馬爾科夫模型
  • 用Viterbi算法根據(jù)觀察序列找到最有可能的隱藏序列
  • 用前向后向算法決定最有可能產(chǎn)生某個(gè)觀察集的隱馬爾科夫模型的參數(shù)

  • (五):前向算法(Forward Algorithm)

    ?

    1如果計(jì)算一個(gè)可觀察序列的概率???

    ?

    1.窮舉搜索

    ?加入給定一個(gè)HMM,也就是說(shuō)(,A,B)這個(gè)三元組已知,我們想計(jì)算出某個(gè)可觀察序列的概率。考慮天氣的例子,我們知道一個(gè)描述天氣和海藻狀態(tài)的HMM,而且我們還有一個(gè)海藻狀態(tài)的序列。假設(shè)這個(gè)狀態(tài)中的某三天是(dry,damp,soggy),在這三天中的每一天,天氣都可能是晴朗,多云或者下雨,我們可以用下圖來(lái)描述觀察序列和隱藏序列:

    在這個(gè)圖中的每一列表示天氣的狀態(tài)可能,并且每個(gè)狀態(tài)都指向相鄰的列的每個(gè)狀態(tài),每個(gè)狀態(tài)裝換在狀態(tài)轉(zhuǎn)移矩陣中都有一個(gè)概率。每一列的下面是當(dāng)天的可觀察的海藻的狀態(tài),在每種狀態(tài)下出現(xiàn)這種可觀察狀態(tài)的概率是由混淆矩陣給出的。

    一個(gè)可能的計(jì)算可觀察概率的方法是找到每一個(gè)可能的隱藏狀態(tài)的序列,這里有3^3 = 27種,這個(gè)時(shí)候的可觀察序列的概率就是?Pr(dry,damp,soggy | HMM) = Pr(dry,damp,soggy | sunny,sunny,sunny) + Pr(dry,damp,soggy | sunny,sunny ,cloudy) + Pr(dry,damp,soggy | sunny,sunny ,rainy) + . . . . Pr(dry,damp,soggy | rainy,rainy ,rainy)。

    很顯然,這種計(jì)算的效率非常低,尤其是當(dāng)模型中的狀態(tài)非常多或者序列很長(zhǎng)的時(shí)候。事實(shí)上,我們可以利用概率不隨時(shí)間變化這個(gè)假設(shè)來(lái)降低時(shí)間的開(kāi)銷。

    ?

    2.使用遞歸來(lái)降低復(fù)雜度

    我們可以考慮給定HMM的情況下,遞歸的計(jì)算一個(gè)可觀察序列的概率。我們可以首先定義一個(gè)部分概率,表示達(dá)到某個(gè)中間狀態(tài)的概率。接下來(lái)我們將看到這些部分概率是如何在time=1和time = n(n > 1)的時(shí)候計(jì)算的。

    假設(shè)一個(gè)T時(shí)間段的可觀察序列是:

    2a.部分概率

    下面這張圖表示了一個(gè)觀察序列(dry,damp,soggy)的一階轉(zhuǎn)移

    我們可以通過(guò)計(jì)算到達(dá)某個(gè)狀態(tài)的所有路徑的概率和來(lái)計(jì)算到達(dá)某個(gè)中間狀態(tài)的概率。比如說(shuō),t = 2時(shí)刻clody的概率用三條路徑的概率之和來(lái)表示:

    我們用t(j)來(lái)表示在t時(shí)刻是狀態(tài)j的概率,t ( j )= Pr( observation | hidden state is j ) x Pr(all paths to state j at time t)。

    最后一個(gè)觀察狀態(tài)的部分概率就表示了整個(gè)序列最后達(dá)到某個(gè)狀態(tài)的所有可能的路徑的概率和,比如說(shuō)在這個(gè)例子中,最后一列的部分狀態(tài)

    是通過(guò)下列路徑計(jì)算得到的:

    因?yàn)樽詈笠涣械牟糠指怕适撬锌赡艿穆窂降母怕屎?#xff0c;所以就是這個(gè)觀察序列在給定HMM下的概率了。

    ?

    2b.計(jì)算 t = 1時(shí)候的部分概率

    計(jì)算部分概率的公式是:?t ( j )= Pr( observation | hidden state is j ) x Pr(all paths to state j at time t)

    當(dāng)t = 1的時(shí)候,沒(méi)有路徑到某個(gè)狀態(tài),所以這里是初始概率,?Pr( state | t = 1) =?(state),這樣我們就可以計(jì)算t=1時(shí)候的部分概率為:

    因?yàn)樵诔跏嫉臅r(shí)候,是狀態(tài)j的概率不僅和這個(gè)狀態(tài)本身相關(guān),還和觀察狀態(tài)有關(guān),所以這里用到了混淆矩陣的值,k1表示第一個(gè)觀察狀態(tài),bjk1表示隱藏狀態(tài)是j,但是觀察成k1的概率。

    ?

    2c.計(jì)算 t > 1時(shí)候的部分概率

    還是看計(jì)算部分概率的公式:?t ( j )= Pr( observation | hidden state is j ) x Pr(all paths to state j at time t)

    這個(gè)公式的左邊是從混淆矩陣中已知的,我只需要計(jì)算右邊部分,很顯然右邊是所有路徑的和:

    需要計(jì)算的路徑數(shù)是和觀察序列的長(zhǎng)度的平方相關(guān)的,但是t時(shí)刻的部分概率已經(jīng)計(jì)算過(guò)了之前的所有路徑,所以在t+1時(shí)刻只需要根據(jù)t時(shí)刻的概率來(lái)計(jì)算就可以了:

    這里簡(jiǎn)單解釋下,bjkt+1 就是在t+1時(shí)刻的第j個(gè)隱藏狀態(tài)被認(rèn)為是當(dāng)前的觀察狀態(tài)的概率,后面一部分是所有t時(shí)刻的隱藏狀態(tài)到t+1時(shí)候的隱藏狀態(tài)j的轉(zhuǎn)移的概率的和。這樣我們每一步的計(jì)算都可以利用上一步的結(jié)果,節(jié)省了很多時(shí)間。

    ?

    2d.降低計(jì)算復(fù)雜度

    我們可以比較窮舉和遞歸算法的復(fù)雜度。假設(shè)有一個(gè)HMM l ?=(,A,B),其中有n個(gè)隱藏狀態(tài),我們有一個(gè)長(zhǎng)度為T的觀察序列。

    窮舉算法的需要計(jì)算所有可能的隱藏序列:

    需要計(jì)算:

    很顯然窮舉算法的時(shí)間開(kāi)銷是和T指數(shù)相關(guān)的,而如果采用遞歸算法,由于我們每一步都可以利用上一步的結(jié)果,所以是和T線性相關(guān)的。(這里認(rèn)為n是一個(gè)常數(shù))

    ?

    3.總結(jié)

    這里我們的目的是在某個(gè)給定的HMM下,計(jì)算出某個(gè)可觀察序列的概率。我們通過(guò)先計(jì)算部分概率的方式遞歸的計(jì)算整個(gè)序列的所有路徑的概率,大大節(jié)省了時(shí)間。在t=1的時(shí)候,使用了初始概率和混淆矩陣的概率,而在t時(shí)刻的概率則可以利用t - 1時(shí)刻的結(jié)果。

    ?

    2、前向算法的定義

    我們使用前向算法去計(jì)算T長(zhǎng)度序列的概率:

    每一個(gè)y就是觀察狀態(tài)。在t=1時(shí)刻的中間節(jié)點(diǎn)的部分狀態(tài)可以用下面的公式計(jì)算:

    對(duì)于t>1的情況,部分概率的計(jì)算可以用下面的公式:

    這里,我覺(jué)得是原作者的筆誤,后面的應(yīng)該是bjkt+1

    這樣我們就可以用遞歸的方式來(lái)計(jì)算所有可能的路徑的概率和,最后,所有的部分概率的計(jì)算公式為

    使用天氣的例子,計(jì)算t = 2時(shí)刻的cloud狀態(tài)的概率方法如圖:

    3、總結(jié)

    我們使用前向算法在給定的一個(gè)HMM下計(jì)算某個(gè)可觀察序列的概率。前向算法主要采用的是遞歸的思想,利用之前的計(jì)算結(jié)果。有了這個(gè)算法,我們就可以在一堆HMM中,找到一個(gè)最滿足當(dāng)前的可觀察序列的模型(前向算法計(jì)算出來(lái)的概率最大)。


    (六):維特比算法(Viterbi Algorithm)

    ?

    找到可能性最大的隱藏序列

    通常我們都有一個(gè)特定的HMM,然后根據(jù)一個(gè)可觀察序列去找到最可能生成這個(gè)可觀察序列的隱藏序列。

    ?

    1.窮舉搜索

    我們可以在下圖中看到每個(gè)狀態(tài)和觀察的關(guān)系。

    通過(guò)計(jì)算所有可能的隱藏序列的概率,我們可以找到一個(gè)可能性最大的隱藏序列,這個(gè)可能性最大的隱藏序列最大化了Pr(observed sequence | hidden state combination)。比如說(shuō),對(duì)于上圖中的可觀察序列(dry damp soggy),最可能的隱藏序列就是下面這些概率中最大的:

    Pr(dry,damp,soggy | sunny,sunny,sunny),

    Pr(dry,damp,soggy | sunny,sunny,cloudy),

    Pr(dry,damp,soggy | sunny,sunny,rainy),

    . . . .

    Pr(dry,damp,soggy | rainy,rainy,rainy)

    這個(gè)方法是可行的,但是這種計(jì)算的代價(jià)是昂貴。和前向算法一樣,我們可以利用轉(zhuǎn)移概率在時(shí)間上的不變性來(lái)降低計(jì)算的復(fù)雜度。

    ?

    2.使用遞歸降低復(fù)雜度

    在給定了一個(gè)可觀察序列和HMM的情況下,我們可以考慮遞歸的來(lái)尋找最可能的隱藏序列。我們可以先定義一個(gè)部分概率,既是到達(dá)某個(gè)中間狀態(tài)的概率。接下來(lái)我們將討論如果計(jì)算t = 1和t = n( n > 1)的部分概率。

    注意這里的部分概率和前向算法中的部分概率是不一樣的,這里的部分概率表示的是在t時(shí)刻最可能到達(dá)某個(gè)狀態(tài)的一條路徑的概率,而不是所有概率之和。

    ?

    2a.部分概率和部分最優(yōu)路徑

    考慮下面這個(gè)圖以及可觀察序列(dry,damp,soggy)的一階轉(zhuǎn)移

    對(duì)于每一個(gè)中間狀態(tài)和終止?fàn)顟B(tài)(t = 3)都有一個(gè)最可能的路徑。比如說(shuō),在t=3時(shí)刻的三個(gè)狀態(tài)都有一個(gè)如下的最可能的路徑:

    我們可以稱這些路徑為部分最優(yōu)路徑。這些部分最優(yōu)路徑都有一個(gè)概率,也就是部分概率。和前向算法中的部分概率不一樣,這里的概率只是一個(gè)最可能路徑的概率,而不是所有路徑的概率和。

    ?我們可以用?(i,t)來(lái)表示在t時(shí)刻,到狀態(tài)i的所有可能的序列(路徑)中概率最大的序列的概率,部分最優(yōu)路徑就是達(dá)到這個(gè)最大概率的路徑,對(duì)于每一個(gè)時(shí)刻的沒(méi)一個(gè)狀態(tài)都有這樣一個(gè)概率和部分最優(yōu)路徑。

    最后,我們通過(guò)計(jì)算t = T時(shí)刻的每一個(gè)狀態(tài)的最大概率和部分最優(yōu)路徑,選擇其中概率最大的狀態(tài)和它的部分最優(yōu)路徑來(lái)得到全局的最優(yōu)路徑。

    ?

    2b.計(jì)算t = 1時(shí)刻的部分概率

    當(dāng)t=1時(shí)刻的時(shí)候,到達(dá)某個(gè)狀態(tài)最大可能的路徑還不存在,但是我們可以直接使用在t=1時(shí)刻某個(gè)狀態(tài)的概率和這個(gè)狀態(tài)到可觀察序列k1的轉(zhuǎn)移概率:

    2c.計(jì)算t >1 時(shí)刻的部分概率

    接下來(lái)我們可以根據(jù)t - 1時(shí)刻的部分概率來(lái)求t 時(shí)刻的部分概率

    我們可以計(jì)算所有到狀態(tài)X的路徑的概率,找到其中最可能的路徑,也就是局部最優(yōu)路徑。注意到這里,到達(dá)X的路徑必然會(huì)經(jīng)過(guò)t - 1時(shí)刻的A、B和C,所以我們可以利用之前的結(jié)果。達(dá)到X的最可能的路徑就是下面三個(gè)之一:

    (sequence of states), . . ., A, X(sequence of states), . . ., B, Xor (sequence of states), . . ., C, X

    我們需要做的就是找到以AX、BX和CX結(jié)尾的路徑中概率最大的那個(gè)。

    根據(jù)一階馬爾科夫的假設(shè),一個(gè)狀態(tài)的發(fā)生之和之前的一個(gè)狀態(tài)有關(guān)系,所以X在某個(gè)序列的最后發(fā)生的概率只依賴于其之前的一個(gè)狀態(tài):

    Pr (most probable path to A) . Pr (X | A) . Pr (observation | X)

    有個(gè)了這個(gè)公式,我們就可以利用t - 1時(shí)刻的結(jié)果和狀態(tài)轉(zhuǎn)移矩陣和混淆矩陣的數(shù)據(jù):

    將上面這個(gè)表達(dá)式推廣一下,就可以得到t時(shí)刻可觀察狀態(tài)為kt的第i個(gè)狀態(tài)的最大部分概率的計(jì)算公式:

    其中aji表示從狀態(tài)j轉(zhuǎn)移到狀態(tài)i的概率,bikt表示狀態(tài)i被觀察成kt的概率。

    ?

    2d.后向指針

    考慮下圖

    在每一個(gè)中間狀態(tài)和結(jié)束狀態(tài)都有一個(gè)部分最優(yōu)概率?(i,t)。但是我們的目的是找到最可能的隱藏狀態(tài)序列,所以我們需要一個(gè)方法去記住部分最優(yōu)路徑的每一個(gè)節(jié)點(diǎn)。

    考慮到要計(jì)算t時(shí)刻的部分概率,我們只需要知道t-1時(shí)刻的部分概率,所以我們只需要記錄那個(gè)導(dǎo)致了t時(shí)刻最大部分概率的的狀態(tài),也就是說(shuō),在任意的時(shí)刻,系統(tǒng)都必須處在一個(gè)能在下一時(shí)刻產(chǎn)生最大部分概率的狀態(tài)。我們可以利用一個(gè)后向指針來(lái)記錄導(dǎo)致某個(gè)狀態(tài)最大部分概率的上一個(gè)狀態(tài),形式化的描述為:

    這里argmax表示能最大化后面公式的j值,同樣可以發(fā)現(xiàn)這個(gè)公式之和t-1時(shí)刻的部分概率和轉(zhuǎn)移概率有關(guān),因?yàn)楹笙蛑羔樦皇菫榱苏业健拔覐哪睦飦?lái)”,這個(gè)問(wèn)題和可觀察沒(méi)有關(guān)系,所以這里不需要再乘上混淆因子。

    ?

    2e.優(yōu)點(diǎn)

    使用viterbi算法對(duì)一個(gè)可觀察狀態(tài)進(jìn)行解碼有兩個(gè)重要的優(yōu)點(diǎn):

  • 通過(guò)使用遞歸來(lái)減少?gòu)?fù)雜度,這點(diǎn)和之前的前想算法是一樣的
  • 可以根據(jù)可觀察序列找到最優(yōu)的隱藏序列,這個(gè)的計(jì)算公式是:
  • where

    這里就是一個(gè)從左往右翻譯的過(guò)程,通過(guò)前面的翻譯結(jié)果得到后面的結(jié)果,起始點(diǎn)是初始向量。

    ?

    2.補(bǔ)充

    但在序列某個(gè)地方有噪聲干擾的時(shí)候,某些方法可能會(huì)和正確答案相差的較遠(yuǎn)。

    但是Viterbi算法會(huì)查看整個(gè)序列來(lái)決定最可能的終止?fàn)顟B(tài),然后通過(guò)后向指針來(lái)找到之前的狀態(tài),這對(duì)忽略孤立的噪聲非常有用。

    ?

    3.總結(jié)

    Viterbi算法提供了一個(gè)根據(jù)可觀察序列計(jì)算隱藏序列的很高效的方法,它利用遞歸來(lái)降低計(jì)算復(fù)雜度,并且使用之前全部的序列來(lái)做判斷,可以很好的容忍噪聲。

    在計(jì)算的過(guò)程中,這個(gè)算法計(jì)算每一個(gè)時(shí)刻每一個(gè)狀態(tài)的部分概率,并且使用一個(gè)后向指針來(lái)記錄達(dá)到當(dāng)前狀態(tài)的最大可能的上一個(gè)狀態(tài)。最后,最可能的終止?fàn)顟B(tài)就是隱藏序列的最后一個(gè)狀態(tài),然后通過(guò)后向指針來(lái)查找整個(gè)序列的全部狀態(tài)。

    ?

    (七):前向后向算法(Forward-Backward Algorithm

    ?

    ????? 和隱馬爾科夫模型相關(guān)的有趣的問(wèn)題就是判斷一個(gè)模型的實(shí)用性(前向算法)和找到一個(gè)隱藏在可觀察序列背后的隱藏序列(Viterbi算法)。當(dāng)然,這兩個(gè)過(guò)程都需要知道HMM的一些信息,比如轉(zhuǎn)移矩陣,混淆矩陣以及初始的π向量。

    ???? 但是在很多實(shí)際的情況下,HMM不能被直接的判斷,這就變成了一個(gè)學(xué)習(xí)問(wèn)題,前向后向算法可以根據(jù)一系列可觀察序列來(lái)對(duì)HMM進(jìn)行評(píng)測(cè)。一個(gè)可能的例子就是一個(gè)很大的語(yǔ)音處理數(shù)據(jù)庫(kù),語(yǔ)音序列可能被建模為一個(gè)馬爾科夫鏈,可觀察的序列可以被建模為可識(shí)別的狀態(tài),但是不能直接獲得一些其他的相關(guān)信息。

    ????? 前向后向算法理解起來(lái)并不困難,但是卻要比前向算法和Viterbi算法要復(fù)雜,所以這里我們不再詳細(xì)的介紹。總的來(lái)說(shuō),這個(gè)算法先對(duì)一些參數(shù)進(jìn)行猜測(cè),然后再通過(guò)評(píng)估這些參數(shù)的價(jià)值來(lái)修改這些參數(shù),使得和給定的訓(xùn)練數(shù)據(jù)的誤差變小,這其實(shí)是機(jī)器學(xué)習(xí)中的梯度下降的思想。

    ????? 前向后向算法的名稱來(lái)源于對(duì)于每一個(gè)狀態(tài),這個(gè)算法既要計(jì)算到達(dá)這一狀態(tài)的前一個(gè)狀態(tài)的概率,也要計(jì)算產(chǎn)生終止?fàn)顟B(tài)的后向狀態(tài)的概率,這兩個(gè)概率都可以通過(guò)遞歸的方法來(lái)實(shí)現(xiàn)。對(duì)HMM參數(shù)的調(diào)整可以提高中間概率的準(zhǔn)確性,并且這些調(diào)整是算法迭代的基礎(chǔ)。


    詳細(xì)介紹:

    根據(jù)觀察到的序列集來(lái)找到一個(gè)最有可能的 HMM。?

      在很多實(shí)際的情況下,HMM?不能被直接的判斷,這就變成了一個(gè)學(xué)習(xí)問(wèn)題,因?yàn)閷?duì)于給定的可觀察狀態(tài)序列 O 來(lái)說(shuō),沒(méi)有任何一種方法可以精確地找到一組最優(yōu)的HMM 參數(shù)λ 使 P(O | λ) 最大,于是人們尋求使其局部最優(yōu)的解決辦法,而前向后向算法(也稱為Baum-Welch算法)就成了HMM學(xué)習(xí)問(wèn)題的一個(gè)近似的解決方法。

      前向后向算法首先對(duì)于HMM 的參數(shù)進(jìn)行一個(gè)初始的估計(jì),但這個(gè)很可能是一個(gè)錯(cuò)誤的猜測(cè),然后通過(guò)對(duì)于給定的數(shù)據(jù)評(píng)估這些參數(shù)的的有效性并減少它們所引起的錯(cuò)誤來(lái)更新HMM 參數(shù),使得和給定的訓(xùn)練數(shù)據(jù)的誤差變小,這其實(shí)是機(jī)器學(xué)習(xí)中的梯度下降的思想。

      對(duì)于網(wǎng)格中的每一個(gè)狀態(tài),前向后向算法既計(jì)算到達(dá)此狀態(tài)的“前向”概率,又計(jì)算生成此模型最終狀態(tài)的“后向”概率,這些概率都可以通過(guò)前面的介紹利用遞歸進(jìn)行高效計(jì)算。可以通過(guò)利用近似的 HMM 模型參數(shù)來(lái)提高這些中間概率從而進(jìn)行調(diào)整,而這些調(diào)整又形成了前向后向算法迭代的基礎(chǔ)。

      另外,前向后向算法是?EM 算法的一個(gè)特例,它避免了?EM 算法的暴力計(jì)算,而采用動(dòng)態(tài)規(guī)劃思想來(lái)解決問(wèn)題,Jelinek 在其書(shū)《Statistical Methods for Speech Recognition》中對(duì)前向后向算法與?EM 算法的關(guān)系進(jìn)行了詳細(xì)描述,有興趣的讀者可以參考這本書(shū)。

      類似于上面講到的前向算法,我們也可以定義后向變量 βt(i) 來(lái)計(jì)算給定當(dāng)前隱藏狀態(tài) i 時(shí),部分觀察序列 ot+1,ot+2,…,oT的概率,即:

      與前向算法類似,我們也可以通過(guò)迭代算法有效計(jì)算 βt(i),計(jì)算公式如下:

      其中

      進(jìn)一步我們可以發(fā)現(xiàn)

      因此

      下面開(kāi)始介紹前向后向算法

      首先我們需要定義兩個(gè)輔助變量,這兩個(gè)變量可以用前文介紹過(guò)的前向變量和后向變量進(jìn)行定義。

      第一個(gè)變量定義為 t 時(shí)狀態(tài) i 和 t+1 時(shí)狀態(tài) j 的概率,即

      該變量在網(wǎng)格中所代表的關(guān)系如下圖所示:

      

      該等式等價(jià)于

      利用前向變量和后向變量,上式可以表示為

      第二個(gè)變量定義為后驗(yàn)概率,也就是在給定觀察狀態(tài)序列和HMM的情況下,t 時(shí)狀態(tài) i 的概率,即

      利用前向變量和后向變量,上式可以表示為

      因此,下式為在任意時(shí)刻狀態(tài) i 的期望,也就是從狀態(tài) i 轉(zhuǎn)移到觀察狀態(tài) o 的期望

      同樣,下式也就是從狀態(tài) i 轉(zhuǎn)移到狀態(tài) j 的期望

      我們可以發(fā)現(xiàn)定義的這兩個(gè)變量之間的關(guān)系為

      下面介紹前向后向算法的參數(shù)學(xué)習(xí)過(guò)程,在學(xué)習(xí)的過(guò)程中,不斷更新?HMM 的參數(shù),從而使得 P(O | λ) 最大。我們假設(shè)初始的HMM?參數(shù)為??λ={ π,?A, B?},首先計(jì)算前向變量 α 和后向變量 β,再根據(jù)剛剛介紹的公式計(jì)算期望 ξ 和 ζ,最后,根據(jù)下面的3個(gè)重估計(jì)公式更新 HMM 參數(shù)

      如果我們定義當(dāng)前的HMM 模型為?λ={ π,A,B?},那么可以利用該模型計(jì)算上面三個(gè)式子的右端;我們?cè)俣x重新估計(jì)的HMM 模型為那么上面三個(gè)式子的左端就是重估的HMM 模型參數(shù)。Baum 及他的同事在70年代證明了因此如果我們迭代地計(jì)算上面三個(gè)式子,由此不斷地重新估計(jì)HMM 的參數(shù),那么在多次迭代后可以得到HMM 模型的一個(gè)最大似然估計(jì)。不過(guò)需要注意的是,前向后向算法所得的這個(gè)最大似然估計(jì)是一個(gè)局部最優(yōu)解。

    ?


    ?

    總結(jié)(summary)

    ?

    通常一個(gè)特別的模式不是單獨(dú)的出現(xiàn),而是作為某一個(gè)時(shí)間段下的序列出現(xiàn)。對(duì)于以時(shí)間為單位的過(guò)程有一個(gè)假設(shè),一個(gè)狀態(tài)的出現(xiàn)之和其前N個(gè)時(shí)間單位的狀態(tài)有關(guān)系,這樣就是一個(gè)N階馬爾科夫鏈,最簡(jiǎn)單的情況就是一階馬爾科夫鏈。

    很多情況下,真實(shí)的狀態(tài)序列是不能被直接觀察到的,但是可以在一定概率下被間接觀察到,這個(gè)觀察的結(jié)果就是另一個(gè)可觀察的序列,這樣我們就可以定義一個(gè)隱馬爾科夫模型,這個(gè)模型在現(xiàn)在的某些領(lǐng)域體現(xiàn)了很大的價(jià)值,尤其是語(yǔ)音識(shí)別。

    這種關(guān)于真實(shí)序列的模型有三個(gè)相關(guān)的問(wèn)題:

  • 評(píng)價(jià):一個(gè)給定的模型在多大的概率下能產(chǎn)生某個(gè)可觀察的序列,這個(gè)問(wèn)題可以用前向算法來(lái)解決。
  • 解碼:給定一個(gè)模型和某個(gè)可觀察序列,最可能的隱藏序列是什么,這個(gè)問(wèn)題可以用Viterbi算法來(lái)解決。
  • 學(xué)習(xí):給定某個(gè)可觀察序列,怎么知道這個(gè)模型的一些參數(shù),這個(gè)問(wèn)題可以用前向后向算法來(lái)解決。
  • 隱馬爾科夫模型在分析真實(shí)系統(tǒng)的時(shí)候表現(xiàn)出了巨大的價(jià)值,但是它也有一些缺點(diǎn),一個(gè)最大的缺點(diǎn)就是由于之前的假設(shè)導(dǎo)致的過(guò)于簡(jiǎn)化——一個(gè)狀態(tài)只依賴其之間的狀態(tài),而且這種依賴是時(shí)間無(wú)關(guān)的。

    ?

    一個(gè)更詳細(xì)的關(guān)于HMMs的介紹可以參見(jiàn)

    L R Rabiner and B H Juang, `An introduction to HMMs', iEEE ASSP Magazine, 3, 4-16.


      參考資料:

      1.http://blog.csdn.net/eaglex/article/details/6376826

      2. http://en.wikipedia.org/wiki/Markov_chain

      3. http://en.wikipedia.org/wiki/Hidden_Markov_model

      4. Lawrence R. Rabiner, A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition.Proceedings of the IEEE, 77 (2), p. 257–286, February 1989.

      5. L. R. Rabiner and B. H. Juang, “An introduction to HMMs,”IEEE ASSP Mag., vol. 3, no. 1, pp. 4-16, 1986.

      6.?http://jedlik.phy.bme.hu/~gerjanos/HMM/node2.html

      7.?http://www.cs.brown.edu/research/ai/dynamics/tutorial/Documents/HiddenMarkovModels.html

      8. 隱馬爾可夫模型簡(jiǎn)介,劉群

    ?????? 9.這個(gè)................................................................................................



    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

    總結(jié)

    以上是生活随笔為你收集整理的时序分析:隐马尔可夫模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。