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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

时间序列(七): 高冷贵族: 隐马尔可夫模型

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

目錄

  • 高冷貴族: 隱馬爾可夫模型
    • 引言
    • 例子
    • 描述模型
    • 基本概念*
      • 定義
      • 基本假設(shè)
      • 基本問題
    • 前向,后向算法
      • 前向算法
      • 后向算法
      • 舉例計(jì)算
    • 學(xué)習(xí)問題
      • 已知觀測(cè)序列及隱序列
      • 已知觀測(cè)序列
    • 預(yù)測(cè)問題
      • Viterbi 算法
      • 舉例計(jì)算
    • 升華
    • 參考文獻(xiàn)

高冷貴族: 隱馬爾可夫模型

引言

大家都用過Siri,Cortana之類的語音助手吧? 當(dāng)你對(duì)著手機(jī)說出'我的女朋友溫柔嗎?',Siri 或Cortana就會(huì)根據(jù)你說的這句話翻譯成一段文字,然后再作應(yīng)答. 先不管應(yīng)答部分, 你可曾想過: Siri是如何將你說的話翻譯成一段文字的?嗯,猜對(duì)了, 這里就用到了隱馬爾可夫模型(Hiden Markov Model, HMM).

例子

假設(shè)你有三個(gè)女朋友(嘿~,現(xiàn)實(shí)不可以,想想總可以吧~,/躲拖鞋…), 你每周末只能選擇陪其中一位(為了世界和平…). 而作為程序員的你,也沒有什么情調(diào),只會(huì)與女朋友做二種事情: 吃飯,看電影, 而因?yàn)楣ぷ鞣泵?你每周也只能做其中一件事,三位美麗的女士也很理解,體諒你,也都很配合,很高興.

那么問題來了, 你是如何選擇周末去陪哪個(gè)女朋友呢? 三位女士都很可愛,你不想冷落每一個(gè)人,但第一個(gè)女朋友(記為A女朋友)有點(diǎn)聒噪,因此你會(huì)稍微少去一點(diǎn)她那里. 第二,第三個(gè)女朋友去都比較安靜(分別記為B,C). 于是,你在心里默默地(或者是潛意識(shí)地)定下了去陪三位女朋友的概率:

女朋友ABC
概率0.20.40.4

比如,陪A女朋友的概率是0.2,可簡(jiǎn)單的理解為十次大約有二次會(huì)去陪她. 然而這只是你剛開始考慮的事,因?yàn)楫?dāng)你周末陪女朋友結(jié)束之后,你會(huì)根據(jù)本次的約會(huì)體驗(yàn)選擇下一周要陪伴的女朋友.之前初始的'選擇'概率就不再起作用了.

那約會(huì)結(jié)束后你是如何選擇下一周的女士呢? 因?yàn)槿慌康男愿癖容^穩(wěn)定,因此每次的體驗(yàn)都會(huì)差不多,于是你的內(nèi)心又有了一個(gè)下周去哪個(gè)女朋友的概率了:

本周陪伴\下周陪伴ABC
A0.50.20.3
B0.30.50.2
C0.20.30.5

什么意思呢? 比如你本周陪伴A了,那下周你繼續(xù)陪A的概率是0.5, 而下周去陪B的概率則為0.2, 而去陪伴C的為0.3.

還沒完~, 因?yàn)槊總€(gè)女朋友的喜好不一樣,因此你們?cè)谝黄鹱龅氖乱膊灰粯? A比較隨意,吃飯,看電影都可沒,沒差; B比較文藝,則喜歡看電影會(huì)稍微多一些; C 則是個(gè)吃貨,比較喜歡吃飯,但也會(huì)看電影.于是,你的心里又有譜了:

女朋友吃飯看電影
A0.50.5
B0.40.6
C0.70.3

也就是說,比如對(duì)于C來說, 你們?cè)谝黄鹉?0.7的概率會(huì)去吃飯,也即十次大約有7次會(huì)去吃飯, 而有約三次會(huì)去看電影.

有一天,你在朋友圈發(fā)了個(gè)狀態(tài):?吃,吃,看,看,吃.

這引起了你朋友圈的三個(gè)人的興趣:

你老媽, 你老媽對(duì)你的情況比較了解,她知道你對(duì)這三位女朋友的想法(即知道上面三張表), 她現(xiàn)在比較感興趣的是,下周她兒子去干嘛(也比較八卦~).

你表姐, 你表姐因?yàn)樽≡诹硪粋€(gè)城市,所以溝通比較少,因而你對(duì)三位女朋友的感覺(上面三張表)她并不知道,只知道你同時(shí)和三位女生談戀愛,所以她現(xiàn)在想根據(jù)你的發(fā)出的狀態(tài)判斷出你對(duì)三位女生的感覺(上面三張表).

你同事, 你同事也是你的基友,因此對(duì)你的事比較了解,沒事你會(huì)跟說說三個(gè)女生在你心里的感受(上面三張表),但為防止他八卦,你并沒有把每周去哪位女朋友那里告訴他.這下可勾起了他的好奇心,于是想根據(jù)你的狀態(tài)猜出你每周都是陪伴的誰.

好了,隱馬爾可夫模型講完了~

什么? Are you kidding me ?

沒有,真的,這就是馬爾可夫模型. 下面?zhèn)€圖來表示下.

描述模型

這張圖表示的就是你這五周以來與女朋友們的互動(dòng)情況. 在隱馬爾可夫模型中, 粉色圈圈那一行代表的是女朋友的情況,從微信狀態(tài)的角度,它是一個(gè)隱藏在后面的狀態(tài)(沒有發(fā)在狀態(tài)里啊~). 因此稱為(隱)狀態(tài)序列(這就是HMM中'隱'字的意思),而且這個(gè)狀態(tài)鏈呢么是一個(gè)馬爾可夫模型或叫做馬爾可夫鏈. 什么是馬爾可夫鏈? 就是說當(dāng)前狀態(tài)只決定于前一個(gè)狀態(tài). 在本本例中,你本周去哪個(gè)女朋友那里,完全由你上周在哪個(gè)女朋友那里來決定. 而綠色框框則被稱為觀測(cè)序列, 即別人從朋友圈能看到你什么都做了什么.

上面的三張表,即是描述模型的變量,第一張表我們稱為初始狀態(tài)向量,第二張表稱為轉(zhuǎn)移概率矩陣,第三張表則是觀測(cè)概率矩陣.

而后面三個(gè)人的想要知道的東西就是HMM的三個(gè)基本問題:概率計(jì)算問題,學(xué)習(xí)問題,以及預(yù)測(cè)問題.

(三個(gè)問題的求解方式在后面~~~)

HMM 應(yīng)用非常廣泛,特別是在自然語言處理,語音識(shí)別,信號(hào)處理,生物序列分析(DNA, 蛋白質(zhì)等)等等大放異彩.HMM是時(shí)間序列模型,處理時(shí)間序列是其本職工作.

PS: 一如既往, 只做了解的,讀到這里就可停下了,想深入一些的,請(qǐng)繼續(xù)~

基本概念*

HMM是一個(gè)時(shí)序概率模型,描述由一個(gè)隱藏的馬爾可夫鏈隨機(jī)生成不可觀測(cè)的狀態(tài)隨機(jī)序列,再由各個(gè)狀態(tài)生成一個(gè)觀測(cè)而產(chǎn)生觀測(cè)隨機(jī)序列的過程.具體請(qǐng)看上圖.

現(xiàn)在咱們一般化地討論一下, 設(shè):

?

(y1,y2,…,yn),(x1,x2,…,xn)(y1,y2,…,yn),(x1,x2,…,xn)


分別為狀態(tài)序列與觀測(cè)序列, 因狀態(tài)序列是一個(gè)馬爾可夫鏈,故 所有變量的聯(lián)合概率分布為:

P(x1,y1,…,xn,yn)=P(y1)P(x1|y1)Πni=2P(yi|yi?1)P(xi|yi)P(x1,y1,…,xn,yn)=P(y1)P(x1|y1)Πi=2nP(yi|yi?1)P(xi|yi)


欲得到聯(lián)合概率分布,其需要右邊三個(gè)部分,P(y1)P(x1|y1)P(y1)P(x1|y1)?為初始條件;?P(yi|yi?1)P(yi|yi?1)?為轉(zhuǎn)移條件;?P(xi|yi)P(xi|yi)?則為觀測(cè)條件. 因此,

設(shè):

Q 是所有可能的狀態(tài)集合, V 是所有可能的觀測(cè)集合.

?

Q={q1,q2,…,qN},V={v1,v2,…,vM}Q={q1,q2,…,qN},V={v1,v2,…,vM}


其中,N 是所有可能的狀態(tài)數(shù), M 是所有可能的觀測(cè)數(shù).

I 是長(zhǎng)度為T 的狀態(tài)序列, O 是對(duì)應(yīng)的觀測(cè)序列:

?

I={i1,i2,…,iT}O=(o1,o2,…,oT)I={i1,i2,…,iT}O=(o1,o2,…,oT)


A 是狀態(tài)轉(zhuǎn)移概率矩陣:

A=[aij]NXNA=[aij]NXN


其中,

aij=P(ii+1=qj|it=qi),i=1,2,…,N,j=1,2,…,Naij=P(ii+1=qj|it=qi),i=1,2,…,N,j=1,2,…,N


是在 t 時(shí)刻 處于狀態(tài) qi 的條件下在 時(shí)間 t+1 轉(zhuǎn)移到狀態(tài) qj 的概率.

B 是觀測(cè)概率矩陣

?

B[bj(k)]NXMB[bj(k)]NXM


其中

bj(k)=P(ot=vk|it=qj),k=1,2,…,M,j=1,2,…,Nbj(k)=P(ot=vk|it=qj),k=1,2,…,M,j=1,2,…,N


是在 t 時(shí)刻 處于狀態(tài) q_j 的條件下生成觀測(cè)數(shù) vk 的概率.

ππ?是初始狀態(tài)概率向量

?

π=(πi)π=(πi)


其中

πi=P(i1=qi),i=1,2,…,Nπi=P(i1=qi),i=1,2,…,N


是時(shí)刻 t = 1處于狀態(tài) qi 概率.

有了上述準(zhǔn)確, HMM就基本上搞定了:

定義

?

λ=(A,B,π)λ=(A,B,π)

這就是HMM,其中括號(hào)內(nèi)的三個(gè)部分稱為HMM三元素.

基本假設(shè)

  • 齊次馬爾可夫性假設(shè), 即假設(shè) 在任意時(shí)刻 t 的狀態(tài) 只有前一狀態(tài)有關(guān),與其他任何狀態(tài),觀測(cè)都無關(guān):

    ?

    P(it|it?1,ot?1,…,i1,o1)=P(it|it?1)P(it|it?1,ot?1,…,i1,o1)=P(it|it?1)

  • 觀測(cè)獨(dú)立性假設(shè), 即假設(shè)任意時(shí)刻的觀測(cè) 只與該時(shí)刻的馬爾可夫鏈狀態(tài)有關(guān),與其他任何時(shí)刻狀態(tài),觀測(cè)都無關(guān):

    ?

    P(ot|iT,oT,,˙it+1,ot+1,it?1,ot?1,…,i1,o1)=P(ot|it)P(ot|iT,oT,,˙it+1,ot+1,it?1,ot?1,…,i1,o1)=P(ot|it)

  • 基本問題

  • 概率計(jì)算問題, 給定定?λ=(A,B,π)λ=(A,B,π)?和觀測(cè)序列O=(o1,o2,…,oT)O=(o1,o2,…,oT)?, 計(jì)算在模型?λλ?下 觀測(cè)序列 O 出現(xiàn)的概率P(O|λ)P(O|λ), 也可說是HMM與觀測(cè)的匹配程度.
  • 學(xué)習(xí)問題, 給定觀測(cè)序列?O=(o1,o2,…,oT)O=(o1,o2,…,oT)?,估計(jì)模型?λ=(A,B,π)λ=(A,B,π)?使得在該模型下,?P(O|λ)P(O|λ)?最大.
  • 預(yù)測(cè)問題,也稱解碼問題, 給定定?λ=(A,B,π)λ=(A,B,π)?和觀測(cè)序列O=(o1,o2,…,oT)O=(o1,o2,…,oT)?, 求使?P(O|λ)P(O|λ)?最大的狀態(tài)序列?I=(i1,i2,…,iT)I=(i1,i2,…,iT),即最有可能的狀態(tài)序列.
  • 接下來,對(duì)于這三個(gè)問題,我們將各個(gè)擊破.

    前向,后向算法

    對(duì)于第一個(gè)問題, 最簡(jiǎn)單的方法就是暴力計(jì)算,把每種情況都考慮一遍, 不用我說,你也知道這不可行. 倒不是因?yàn)閺?fù)雜,是因?yàn)樗悴黄?它的時(shí)間復(fù)雜度是恐怖的?O(TNT)O(TNT)?.

    不過還真有比較不錯(cuò)的算法,而且還有兩種!

    上圖可表示為一HMM列.左,右兩邊虛線內(nèi)我們分別用αt(j),βt(j)αt(j),βt(j)來表示,其中

    ?

    αt(j)=P(o1,o2,…,ot,it=qj|λ);βt(j)=P(ot+1,ot+2,…,oT|it=qj,λ)αt(j)=P(o1,o2,…,ot,it=qj|λ);βt(j)=P(ot+1,ot+2,…,oT|it=qj,λ)


    這兩個(gè)就是我們分別用于前向,后向算法的關(guān)鍵因子.

    再明確一下,我們的目標(biāo)是求解?P(O|λ)P(O|λ)?.

    前向算法

  • 初始狀態(tài)?o1o1, 考慮出現(xiàn)o1o1?概率:

    ?

    P(o1|λ)=∑j=1NP(o1,i1=qj|λ)=∑j=1Nα1(j)=∑j=1Nπjbj(o1)P(o1|λ)=∑j=1NP(o1,i1=qj|λ)=∑j=1Nα1(j)=∑j=1Nπjbj(o1)


    ?
  • 當(dāng)?shù)玫?P(o1,o2,…,ot|λ)P(o1,o2,…,ot|λ)?, 現(xiàn)在要求P(o1,o2,…,ot,ot+1|λ)P(o1,o2,…,ot,ot+1|λ)?,可以先從αt+1(j)αt+1(j)?出發(fā):

  • ?

    αt+1(j)=====P(o1,o2,…,ot,ot+1,it+1=qj|λ)∑Nk=1P(o1,o2,…,ot,ot+1,it+1=qj,it=qk|λ)∑Nk=1P(o1,o2,…,ot,it=qj|λ)ajkbj(ot+1)∑Nk=1αt(j)ajkbk(ot+1)bj(ot+1)∑Nk=1αt(j)ajkαt+1(j)=P(o1,o2,…,ot,ot+1,it+1=qj|λ)=∑k=1NP(o1,o2,…,ot,ot+1,it+1=qj,it=qk|λ)=∑k=1NP(o1,o2,…,ot,it=qj|λ)ajkbj(ot+1)=∑k=1Nαt(j)ajkbk(ot+1)=bj(ot+1)∑k=1Nαt(j)ajk

    而:

    ?

    P(o1,o2,…,ot,ot+1|λ)=∑j=1Nαt+1(j)P(o1,o2,…,ot,ot+1|λ)=∑j=1Nαt+1(j)

  • 最終:
  • ?

    P(O|λ)=∑j=1NαT(j)P(O|λ)=∑j=1NαT(j)

    這就是前向算法.

    后向算法

    前向算法是從前向后, 后向算法則是從后向前的. 回顧:

    ?

    βt(j)=P(ot+1,ot+2,…,oT|it=qj,λ)βt(j)=P(ot+1,ot+2,…,oT|it=qj,λ)

  • 第一步,由?ββ?定義,可知 當(dāng)t = T時(shí),

    ?

    βT(j)=1βT(j)=1


    也就是說,目前的觀測(cè)序列到時(shí)刻T,而βTβT?則關(guān)注的是 T+1 時(shí)刻, 這從現(xiàn)有已知條件中,對(duì)T+1 時(shí)刻沒有任何限制的,即oT+1oT+1?的任何取值都可接受,顯然在這情況下, 上式(概率)值為1.
  • 當(dāng)已知 t+1時(shí)刻, 推導(dǎo) t 時(shí)刻:

    ?

    βt(j)====P(ot+1,ot+2,…,oT|it=qj,λ)∑Nk=1P(ot+2,…,oT|ot,it=qj,it+1=qk,λ)∑Nk=1P(ot+2,…,oT|it+1=qk,λ)ajkbk(ot+1)∑Nk=1ajkbk(ot+1)βt+1(j)βt(j)=P(ot+1,ot+2,…,oT|it=qj,λ)=∑k=1NP(ot+2,…,oT|ot,it=qj,it+1=qk,λ)=∑k=1NP(ot+2,…,oT|it+1=qk,λ)ajkbk(ot+1)=∑k=1Najkbk(ot+1)βt+1(j)

  • 因此:

    ?

    P(O|λ)=∑j=1Nπjbj(o1)β1(j)P(O|λ)=∑j=1Nπjbj(o1)β1(j)

  • 舉例計(jì)算

    現(xiàn)在咱們來計(jì)算上面'三個(gè)女朋友'的例子,老媽想知道的問題. 現(xiàn)在我們簡(jiǎn)化一下問題,你的微信狀態(tài)變成'吃,看,吃'. 計(jì)算方式一模一樣,只是簡(jiǎn)化了一點(diǎn),方便我行文. 這里要計(jì)算的是'吃,看,吃'的概率正常應(yīng)該是多少(有些人可能要疑惑:這個(gè)跟大媽的問題不太一樣啊~,其實(shí)是一樣的, 因?yàn)槲覀兛梢约僭O(shè)這'吃,看,吃'與下周出現(xiàn)的活動(dòng)組成一個(gè)序列,并求出概率,概率最大的情況,就是你下周最有可能的活動(dòng):

    前向計(jì)算

    概率上面三個(gè)表:

  • 初始狀態(tài)
  • ?

    α1(1)=π1b1(o1)=0.2?0.5=0.1α1(2)=π2b2(o1)=0.4?0.4=0.16α1(3)=π1b3(o1)=0.4?0.7=0.28α1(1)=π1b1(o1)=0.2?0.5=0.1α1(2)=π2b2(o1)=0.4?0.4=0.16α1(3)=π1b3(o1)=0.4?0.7=0.28

  • 遞推計(jì)算

    ?

    α2(1)=[∑3i=1α1(i)ai1]b1(o2)=0.154?0.5=0.077α2(1)=[∑i=13α1(i)ai1]b1(o2)=0.154?0.5=0.077


    同理可算法其他,這里就不全寫了,
  • 最后

    ?

    P(O|λ)=∑i=1Na3(i)=0.13022P(O|λ)=∑i=1Na3(i)=0.13022


    ?
  • 后向計(jì)算

  • β3(j)=1β3(j)=1

  • 遞推計(jì)算:

    ?

    β2(1)=∑j=13ai1bi(o3)β3(1)=0.51β2(1)=∑j=13ai1bi(o3)β3(1)=0.51


    其他同理.
  • 最終:?P(O|λ)=∑3i=1πibi(o1)β1(i)=0.13022P(O|λ)=∑i=13πibi(o1)β1(i)=0.13022

  • 前向,后向算法結(jié)果是一樣的!

    至此,第一個(gè)問題解決了. 這個(gè)問題可以用于時(shí)間序列預(yù)測(cè)問題,應(yīng)用方式同上.

    學(xué)習(xí)問題

    有時(shí)我們并不知道HMM模型的具體形態(tài),因此需要一些手段得到它.

    在做此類問題時(shí)也可大致分為兩種情:

    已知觀測(cè)序列及隱序列

    這里了也必須已知,N 是所有可能的狀態(tài)數(shù), M 是所有可能的觀測(cè)數(shù).

    比如,對(duì)于中文分詞,我們手上有數(shù)據(jù)集, 而且我們可以很容易地定義每個(gè)字隱狀態(tài)(隱狀態(tài): 起始字,中間字,終止字,及獨(dú)立字等等),這樣, 在兩序列已知的情況下,根據(jù)大數(shù)定律,應(yīng)用最大似然求出各狀態(tài)轉(zhuǎn)移矩陣,觀測(cè)矩陣及一個(gè)初始向量.

    已知觀測(cè)序列

    這里了也必須已知,N 是所有可能的狀態(tài)數(shù), M 是所有可能的觀測(cè)數(shù).

    這里的方法就是 EM 算法, 不過因?yàn)樵贖MM中,因此有個(gè)別名叫 Baum-Welch 算法.

    預(yù)測(cè)問題

    第三個(gè)問題是預(yù)測(cè)問題.預(yù)測(cè)的是給定觀測(cè)序列,背后最有可能的馬爾可夫鏈.

    這個(gè)問題目前有兩種方法,第一種稱為近似算法.此算法尋找各個(gè)時(shí)刻的最優(yōu)解,最后連成一列. 為什么會(huì)被稱為近似算法? 因?yàn)檫@樣得到的每個(gè)時(shí)刻的最優(yōu),最終并不一定是整個(gè)序列的最優(yōu)解.

    因此目前最好的方法是維特比(Viterbi)算法.

    Viterbi 算法

    此算法是用動(dòng)態(tài)規(guī)劃的方式解決HMM的預(yù)測(cè)問題.即把隱狀態(tài)列看成是最優(yōu)路徑上的每一步,找最大概率路徑,即轉(zhuǎn)化成尋找最優(yōu)路徑.

    在動(dòng)態(tài)規(guī)劃中, 最優(yōu)路徑具有這樣的特性: 最優(yōu)路徑在 t 時(shí)刻通過 結(jié)點(diǎn) i, 那么 這一路徑對(duì)于從 i 到 最后的剩余路徑也是最優(yōu)的.否則必有另一路徑比此更優(yōu),這是矛盾的.基于此 Viterbi 算法 遞推的計(jì)算在 t 時(shí)刻的最優(yōu)路徑,直至最后.根據(jù)最后的最優(yōu)路徑反向確定最優(yōu)路徑上的各點(diǎn)隱狀態(tài).

    設(shè) t 時(shí)刻的最優(yōu)路徑是

    ?

    δt(j)=maxi1,i2,…,it?1P(it=qj,it?1,…,i1,ot,…,o1|λ),j=1,2,…,Nδt(j)=maxi1,i2,…,it?1P(it=qj,it?1,…,i1,ot,…,o1|λ),j=1,2,…,N


    于是

    δt+1(k)==maxi1,i2,…,itP(it=qj,it?1,…,i1,ot,…,o1|λ)max1≤j≤N[δt(j)ajk]bk(ot+1)δt+1(k)=maxi1,i2,…,itP(it=qj,it?1,…,i1,ot,…,o1|λ)=max1≤j≤N[δt(j)ajk]bk(ot+1)


    這樣,

  • 最初狀態(tài):

    ?

    δ1(j)=πjbj(o1)δ1(j)=πjbj(o1)

  • 已知?δt(j)δt(j)?遞推?δt+1(k)δt+1(k)

    ?

    δt+1(k)=max1≤j≤N[δt(j)ajk]bk(ot+1)δt+1(k)=max1≤j≤N[δt(j)ajk]bk(ot+1)

  • 最后狀態(tài),得到全局最優(yōu)路徑

    ?

    pathbest=max1≤j≤NδT(j)pathbest=max1≤j≤NδT(j)

  • 反向推導(dǎo) 最優(yōu)隱狀態(tài)序列, 令在 t+1 時(shí)刻 狀態(tài)在qkqk?的最優(yōu)路徑中,第 t 個(gè)結(jié)點(diǎn):

    ?

    ψt+1(k)=argmax1≤j≤N[δt(j)ajk]ψt+1(k)=arg?max1≤j≤N[δt(j)ajk]


    于是最終列:

    k?1,k?2,…,k?Tk1?,k2?,…,kT?


    其中

    k?t=ψt+1(j)kt?=ψt+1(j)

  • 舉例計(jì)算

    還是'三個(gè)女朋友的例子',還是'吃,看,吃',

    首先,

    ?

    δ1(1)=0.1,δ1(2)=0.16,δ1(3)=0.28δ1(1)=0.1,δ1(2)=0.16,δ1(3)=0.28


    遞推 t = 2,

    δ2(1)=max1≤j≤3[δ1(j)aj1]b1(o2)=0.028δ2(1)=max1≤j≤3[δ1(j)aj1]b1(o2)=0.028


    同理:

    δ2(2)=0.0504,δ2(3)=0.042δ3(1)=0.00756,δ3(2)=0.01008,δ3(3)=0.0147δ2(2)=0.0504,δ2(3)=0.042δ3(1)=0.00756,δ3(2)=0.01008,δ3(3)=0.0147


    最終狀態(tài):

    pathbest=max1≤j≤3δ3(j)=0.0147pathbest=max1≤j≤3δ3(j)=0.0147


    即?i3=3i3=3

    反向推斷:

    ?

    i2=ψ2+1(3)=argmax1≤j≤N[δ2(j)aj3]=3i2=ψ2+1(3)=arg?max1≤j≤N[δ2(j)aj3]=3


    最后

    i1=ψ1+1(3)=argmax1≤j≤N[δt(j)aj3]=3i1=ψ1+1(3)=arg?max1≤j≤N[δt(j)aj3]=3


    因此最終狀態(tài)[3,3,3], 也就是說你這三周一直在陪C 女朋友的概率最大.

    升華

    思考,機(jī)器學(xué)習(xí)的算法哲學(xué)是什么? 是根據(jù)有限的已知去推斷未知. 這又可分為兩種, 一種是根據(jù)知識(shí),對(duì)未來給出一個(gè)確定性判斷,比如decision tree; 還有一是對(duì)未來的不確定性懷敬畏,對(duì)未知只做概率性預(yù)測(cè),如果一定要給出個(gè)結(jié)果,那只好用最大化概率法給出. 兩種方法沒有孰優(yōu)孰劣,只是適用范圍,場(chǎng)景,數(shù)據(jù)不同而已.

    本文分享的HMM 是貝葉斯網(wǎng)絡(luò)的一個(gè)特例. 在推導(dǎo)過程中用到了一些貝葉斯網(wǎng)絡(luò)相關(guān)的知識(shí).貝葉斯網(wǎng)絡(luò)是用有向無環(huán)圖來表示變量間的依賴關(guān)系.

    貝葉斯網(wǎng)絡(luò)則屬于更大范疇的概率圖模型(Probabilistic Graphical Model, PGM). 而概率圖模型則是概率模型的一種具體實(shí)現(xiàn).

    概率模型就是上面所說的,對(duì)未知進(jìn)行概率性預(yù)測(cè). 其核心是對(duì)未知進(jìn)行概率分布預(yù)測(cè),這右可分為兩種: '生成(generative)模型'與'判別(discriminative)模型'.具體地, 可觀測(cè)變量集 O, 興趣變量集 Y(即所要求解的變量),其他相關(guān)變量 R.

    生成式關(guān)心的是聯(lián)合概率分布: P(Y, R, O); 而 判別式則關(guān)注條件概率 P(Y, R | O).

    參考文獻(xiàn)

  • Artificial Intelligence: A modern approach, 3rd edition, 2010, Stuart Russell and Peter Norvig.

  • 統(tǒng)計(jì)學(xué)方法,2012,李航.(注: 文中例子根據(jù)本書中例子改編~)
  • 機(jī)器學(xué)習(xí), 2016, 周志華.
  • Pattern Recognition and Machine Learning, 2006 ,Christopher M. Bishop.
  • HMM, 2017,Wikipedia.

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

    總結(jié)

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

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