【机器学习】用摸鱼学来解释隐马尔可夫模型(HMM)
嘗試用摸魚學(xué)來(lái)解釋隱馬爾可夫模型
假如小明一周工作六天,每天工作狀態(tài)都不相同,比如有活少、活多、心情好、心情差和雙倍工資5種狀態(tài),不同工作狀態(tài)下工作效率也不相同,活少和心情差的時(shí)候摸魚時(shí)間多,活多、心情好和雙倍工資的時(shí)候摸魚時(shí)間少。
從小明的工作日常中可以提煉出5種狀態(tài)和2種觀測(cè)和觀測(cè)6天。
狀態(tài):活少、活多、心情好、心情不好、雙倍工資
觀測(cè):摸魚、認(rèn)真上班
將涉及到的可能情況展開(kāi)如下圖所示。
每一行對(duì)應(yīng)相同狀態(tài),每一列對(duì)應(yīng)每一天。其中紅色塊在矩形中的占比表示一天中摸魚的程度,也就是摸魚的觀測(cè)概率。藍(lán)色箭頭表示不同狀態(tài)間的轉(zhuǎn)移概率。那么狀態(tài)序列總共有5^6種。
假設(shè)天數(shù)為T(列數(shù)),狀態(tài)數(shù)為N(行數(shù))。
問(wèn)題1(概率計(jì)算問(wèn)題):假如觀察小明的六天,得到的觀測(cè)序列為:摸魚 -> 認(rèn)真工作 -> 摸魚 -> 認(rèn)真工作 -> 摸魚 -> 認(rèn)真工作,并且已知藍(lán)色箭頭的狀態(tài)轉(zhuǎn)移概率和摸魚的觀測(cè)概率,請(qǐng)問(wèn)該觀測(cè)序列的概率為多少?
從上圖就可以知道只要求出所有能夠得到該觀測(cè)序列的狀態(tài)序列概率之和就行了??偣灿蠳^T種狀態(tài)序列(窮舉所有藍(lán)色箭頭路徑),并且每種狀態(tài)序列需要T個(gè)觀測(cè)概率相乘(每個(gè)狀態(tài)一個(gè)觀測(cè)概率),所以總的計(jì)算復(fù)雜度為O(N^T)。這種暴力求解的方法計(jì)算復(fù)雜度太高了,可以用前向-后向算法來(lái)減少計(jì)算量。
以前向算法為例(后向算法可以認(rèn)為是狀態(tài)序列的反轉(zhuǎn),計(jì)算方法相同),簡(jiǎn)單來(lái)說(shuō),就是利用分治和動(dòng)態(tài)規(guī)劃的思想,把6天拆分成5個(gè)重復(fù)單元,然后先計(jì)算出第一個(gè)重復(fù)單元紅色虛線框中每個(gè)狀態(tài)的觀測(cè)概率,并且保存下來(lái)當(dāng)作下一個(gè)重復(fù)單元的初始狀態(tài),循環(huán)5次就得了最終的觀測(cè)概率。每個(gè)重復(fù)單元總共有N^2種狀態(tài)序列,并且每種狀態(tài)序列需要2個(gè)觀測(cè)概率相乘,所以一個(gè)重復(fù)單元的計(jì)算復(fù)雜度為O(N^2),那么總的計(jì)算復(fù)雜度為O(TN^2)。比起暴力求解觀測(cè)概率,復(fù)雜度大大降低。
問(wèn)題2(學(xué)習(xí)問(wèn)題):已知小明加上同事,總共有10人的觀測(cè)序列,請(qǐng)問(wèn)如何估計(jì)不同狀態(tài)之間的轉(zhuǎn)移概率和摸魚的觀測(cè)概率呢?
如圖所示,紅色塊和藍(lán)色箭頭是需要通過(guò)10人的觀測(cè)序列估計(jì)出來(lái)的。這里需要用到Baum-Welch算法,簡(jiǎn)單來(lái)說(shuō),就是通過(guò)EM算法構(gòu)建出帶隱函數(shù)的優(yōu)化函數(shù)Q,然后用拉格朗日函數(shù)求解。
問(wèn)題3(預(yù)測(cè)問(wèn)題):假如觀察小明的六天,得到的觀測(cè)序列為:摸魚 -> 認(rèn)真工作 -> 摸魚 -> 認(rèn)真工作 -> 摸魚 -> 認(rèn)真工作,并且已知藍(lán)色箭頭的狀態(tài)轉(zhuǎn)移概率和摸魚的觀測(cè)概率,請(qǐng)問(wèn)該觀測(cè)序列最有可能的狀態(tài)序列是什么?
這個(gè)問(wèn)題跟問(wèn)題1很相似,不同的地方在于問(wèn)題1是求該觀測(cè)序列的所有狀態(tài)序列概率之和,而問(wèn)題3求的是該觀測(cè)序列的所有狀態(tài)序列中最有可能出現(xiàn)的狀態(tài)序列。
所以求解方式和問(wèn)題1類似,只不過(guò)需要從所有可能狀態(tài)序列中找出概率最大的狀態(tài)序列。上圖綠色路徑可能就是概率最大的狀態(tài)序列。
可見(jiàn)隱馬爾可夫模型簡(jiǎn)直太有用了!老板可以通過(guò)公司的規(guī)章制度來(lái)引導(dǎo)員工的身心健康!或者根據(jù)員工的摸魚情況來(lái)預(yù)測(cè)員工的身心健康,從而更好的優(yōu)化公司的規(guī)章制度!
總結(jié)
以上是生活随笔為你收集整理的【机器学习】用摸鱼学来解释隐马尔可夫模型(HMM)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 360浏览器怎么关闭全屏看大图提示条
- 下一篇: JEECG分页条数自定义