高溫天氣與行為概率夏季是一年最熱的時候,,氣溫普遍偏高,一般把日最高氣溫達到35℃以上的天氣叫作高溫天氣,,但是一般情況下高溫天氣分為兩類,。 (1)干熱型高溫。一般是指氣溫較高,、太陽輻射強而且空氣的濕度較小的高溫天氣,。 (2)悶熱型高溫。一般是指水汽豐富,,但是氣溫相對而言并不算太高,給人感受悶熱,。 小張在不同類型下的高溫天氣下會有不同的行為,,但是歸納起來為主要為散步、垂釣,、看書三類,,分別在干熱型高溫和悶熱型高溫下對應行為的概率見下表。 假設干熱型高溫和悶熱型高溫之間會進行相互轉(zhuǎn)變,每天可能都會發(fā)生改變,,但都是二者之一,,相互轉(zhuǎn)變的概率見表。 除此之外,還已知每年進入夏季的高溫天氣時,,干熱型高溫的概率是0.6,,悶熱型高溫的概率是0.4。 因此,,總結(jié)上述內(nèi)容可以整理為下圖,。 根據(jù)上述已知信息,,則小張最近三天做的事情分別是:散步,、垂釣、看書的概率是多少,? 原理分析隱馬爾科夫模型(Hide Markov Model)是一種概率統(tǒng)計模型,,實質(zhì)是一種隱藏狀態(tài)馬爾科夫模型,在一般的馬爾科夫模型中,,狀態(tài)對于觀察者是顯示可見的,,但是在隱馬爾科夫模型中,狀態(tài)被隱藏不被觀察者顯示可見,,但是與狀態(tài)相關(guān)的某些變量則是已知可獲取的,。 在了解隱馬爾科夫模型之前,需要提前了解馬爾科夫過程,,可以將馬爾科夫過程視為一個自動機,,各個狀態(tài)之間的轉(zhuǎn)換存在一定的概率。若某個系統(tǒng)中存在N個狀態(tài),,在某個時間點t時刻都處于N個狀態(tài)中的一個狀態(tài),,將這N個狀態(tài)的集合視為{S1,S2,S3,…,SN},利用Q表示在時間1,2,3,…,t時的狀態(tài){Q1,Q2,Q3,…,Qt},,使用馬爾科夫模型,,則需要理解馬爾科夫模型在使用之前的兩點假設。 (1)當前狀態(tài)的可能性只可能與前一個狀態(tài)有關(guān),,與其他時刻無直接關(guān)系,。 (2)狀態(tài)的轉(zhuǎn)移概率與時間無直接關(guān)系,時間只是一個狀態(tài)表現(xiàn)系數(shù),。 基于假設1,,需要一個初始概率分布PI,其中PI(SN)表示在最初時刻(t=1)時當前狀態(tài)為SN的概率,,這種概率與時間t無關(guān)系,,一個馬爾科夫過程的示例如下,即在不同時刻的狀態(tài)及狀態(tài)之間的轉(zhuǎn)移概率,。 隱馬爾科夫模型適合用于有未知條件的問題,,它將隱藏的狀態(tài)映射到N個可能的變量中,,因此在某個時間t時,隱藏的狀態(tài)則會有N種可能,依次類推,,以1為時間單位,,則在t+1時隱藏狀態(tài)也會有N中可能性,在t+1時刻的狀態(tài)與時間t的狀態(tài)是密切相關(guān),,因此從時間t到時間t+1,,隱藏狀態(tài)有N2種可能性。即圖7-3中的狀態(tài)信息是N種可能變量,,因此隱馬爾科夫模型實際是包含兩重隨機過程,,一方面狀態(tài)之間的轉(zhuǎn)移是一個隨機過程;另一方面狀態(tài)和可能的變量也是一個隨機過程,,它的過程如下,。 上圖中,,將狀態(tài)S替換為了函數(shù)X,函數(shù)X表示在t時刻最大可能的狀態(tài),,因此這里也不難看出隱馬爾科夫模型的“隱”所表達的含義,。在隱馬爾科夫模型中,有五個非常重要的參數(shù),。結(jié)合醫(yī)生給疑似感冒病人看病的過程解釋該參數(shù),,中醫(yī)一般通過“望聞問切”的方法給病人看病,病人只有“正?!焙汀案忻啊眱煞N可能,,但是無法直接給出疑似病人“正常”或“感冒”,,需要對疑似病人進行觀察,目的是推斷疑似感冒病人是否真實感冒,,見下表,。 隱馬爾科夫模型作為一種有監(jiān)督的模型,,需要通過語料庫對模型進行訓練,而訓練過程中主要的任務是獲得上述五個參數(shù)的值,,求解相應的問題,。使用隱馬爾科夫模型可以求解三類常見的數(shù)學問題。 (1)已知模型的五個參數(shù),,求解某一特定序列的輸出概率,。此類問題一般用于預測可能所屬的序列概率,在獲得五個參數(shù)之后,可以采用forward算法進行后續(xù)求解,。 (2)已知模型的五個參數(shù),,求解某一特定序列的隱藏狀態(tài)序列。主要用于分析觀察序列可能對應的隱藏狀態(tài),。例如,,利用觀察狀態(tài)“流鼻涕、打噴嚏,、咳嗽”去分析疑似病人屬于隱藏“正?!被颉案忻啊钡母怕省R话悴捎镁S特比算法進行后續(xù)求解,。 (3)已知模型的最終輸出序列,,求解可能的狀態(tài)轉(zhuǎn)移概率,一般采用Baum-Welch算法及Reversed Viterbi算法進行后續(xù)求解,。 高溫天氣與行為概率根據(jù)上面“高溫天氣的類型與行為活動之間關(guān)系”圖的內(nèi)容,,且已知小張最近三天做的事情分別是散步、垂釣,、看書,,最直觀的解法是利用窮舉的方式,將所有的高溫天氣類型在每天進行窮舉,,第一天只有兩種類型,,第一天與第二天的高溫天氣類型有四種,連續(xù)三天的高溫天氣類型序列則有八種,, 計算每種情況下的散步,、垂釣、看書的概率,,此種方法雖然便于理解,,但是隨著計算的觀察序列不斷增加,計算耗費的性能則會指數(shù)級上升,。 因此,,為簡化計算性能可以利用向前算法進行推算。計算步驟如下所示,。 (1)計算第一天時小張進行散步的概率,。 如果是干熱型高溫,則 P(散步,,干熱型高溫)=P(第一天干熱型高溫)×P(散步|干熱型高溫) =0.6×0.31 =0.186 同理,,如果是悶熱型高溫,則 P(散步,,悶熱型高溫)=P(第一天悶熱型高溫)×P(散步|悶熱型高溫) =0.4×0.46 =0.184 (2)計算第二天小張進行垂釣的概率,。 根據(jù)馬爾科夫的性質(zhì),計算第二天的概率,則是依賴于第一天的結(jié)果,,因此在基于第一天的基礎上,,分別計算在兩種高溫天氣的類型下,小張進行垂釣的概率,。 如果是干熱型高溫,,則 P(第一天散步,第二天垂釣,,第二天干熱型高溫)=[P(第一天散步,,干熱型高溫)×P(第二天干熱型高溫|第一天干熱型高溫)+P(第一天散步,悶熱型高溫)×P(第二天干熱型高溫|第一天悶熱型高溫)]×P(第二天垂釣|第二天干熱型高溫) = (0.186×0.7+0.184×0.6)×0.24 = 0.057744 如果是悶熱型高溫,,則 P(第一天散步,,第二天垂釣,第二天悶熱型高溫)= [P(第一天散步,,悶熱型高溫)×P(第二天悶熱型高溫|第一天悶熱型高溫)+P(第一天散步,,干熱型高溫)×P(第二天悶熱型高溫|第一天干熱型高溫)]×P(第二天垂釣|第二天悶熱型高溫) = (0.184×0.6+0.186×0.3)×0.33 = 0.054846 (3)計算第三天小張看書的概率。 如果是干熱型高溫,,則: P(第一天散步,,第二天垂釣,第三天看書,,第三天干熱型高溫)=[(第一天散步,,第二天垂釣,第二天干熱型高溫)×P(第三天干熱型高溫| 第二天干熱型高溫)+P(第一天散步,,第二天垂釣,,第二天悶熱型高溫)×P(第三天干熱型高溫| 第二天悶熱型高溫)]×P(第三天看書| 第三天干熱型高溫) = (0.057744×0.7+0.054846×0.6)×0.45 = 0.03299778 如果是悶熱型高溫,則: P(第一天散步,,第二天垂釣,,第三天看書,第三天悶熱型高溫)=[(第一天散步,,第二天垂釣,,第二天悶熱型高溫)×P(第三天悶熱型高溫| 第二天悶熱型高溫)+P(第一天散步,第二天垂釣,,第二天干熱型高溫)×P(第三天悶熱型高溫| 第二天干熱型高溫)] ×P(第三天看書| 第三天悶熱型高溫) = (0.054846×0.6+ 0.057744×0.3)×0.21 = 0.010548468 則P(第一天散步,第二天垂釣,,第三天看書)的概率,,則為第三天干熱型高溫和悶熱型高溫之和,即 P(第一天散步,,第二天垂釣,,第三天看書)=P(第一天散步,第二天垂釣,第三天看書,,第三天悶熱型高溫)+P(第一天散步,,第二天垂釣,第三天看書,,第三天干熱型高溫)=0.0435 上述過程利用向前算法可能序列的概率預測,,是隱馬爾科夫模型的典型應用之一,是將未發(fā)生的事情進行概率性預測,,倘若將問題改為已發(fā)生的事件“求最近三天小張進行的活動是散步,、垂釣、看書,,則最近三天可能的高溫天氣類型”,,則需要利用本書3.4節(jié)中介紹的維特比算法選擇最可能的概率路徑。 隱馬爾科夫模型還被應用到語言識別領域,,科大訊飛曾利用隱馬爾科夫模型進行語音訓練,,取得了較好的效果。除此之外,,該模型還在生物基因領域也有深入應用,,主要對基因序列的分析和預測,此外還有自然語言處理領域,。在中文中也可以采用隱馬爾科夫模型進行中文分詞,、詞性分析等,并可進行機器翻譯,,如果利用隱馬爾科夫模型進行中文分詞,,則隱馬爾科夫模型訓練的五個參數(shù)見下表。 中文分詞實際是求給定漢字的序列,求漢字隱藏的狀態(tài),,即單字成詞,、詞頭、詞中,、詞尾,,通過這些狀態(tài)將漢字組成詞,達到分詞的目的,。求可能的狀態(tài)可以利用維特比算法進行求解,。 總之,有關(guān)數(shù)據(jù)序列及數(shù)據(jù)概率的問題,,都可以利用隱馬爾科夫模型的思想進行分析,,甚至求解獲得解決方案,。 本文選自《大數(shù)據(jù)時代的算法:機器學習、人工智能及其典型實例》 |
|