线性链条件随机场与HMM在viterbi算法中的图解对比
先整理下相關(guān)概念:
條件隨機(jī)場(chǎng)P(Y|X):
表示的是給定一組輸入隨機(jī)變量 X 的條件下另一組輸出隨機(jī)變量 Y 的馬爾可夫隨機(jī)場(chǎng),也就是說(shuō) CRF 的特點(diǎn)是假設(shè)輸出隨機(jī)變量構(gòu)成馬爾可夫隨機(jī)場(chǎng)。
什么是隨機(jī)場(chǎng)?
官方定義:
隨機(jī)場(chǎng)就是隨機(jī)過(guò)程在空間上的推廣。隨機(jī)過(guò)程的基本參數(shù)是時(shí)間變量,而隨機(jī)場(chǎng)的變量是位置向量u(x,y,z).所以隨機(jī)場(chǎng)就是定義在一個(gè)場(chǎng)域參數(shù)集合上的隨機(jī)變量系。對(duì)于場(chǎng)域內(nèi)的任一點(diǎn),都有隨機(jī)變量與它對(duì)應(yīng)。
講人話(huà):就是多維的隨機(jī)過(guò)程.
什么是馬爾科夫隨機(jī)場(chǎng):
馬爾科夫隨機(jī)場(chǎng)就是概率無(wú)向圖模型,就是聯(lián)合概率分布.
講人話(huà):就是多維隨機(jī)變量的聯(lián)合分布.
為什么引入無(wú)向圖:
為了直觀(guān)、便于分析,學(xué)術(shù)上,圖論的東西可以用于概率,概率的東西可以用于圖論,方便多學(xué)科促進(jìn).
講人話(huà):就是為了好看.
什么是生成式模型和判別式模型?
https://blog.csdn.net/appleyuchi/article/details/85319921
什么是線(xiàn)性鏈隨機(jī)場(chǎng)?
李航的書(shū)P195頁(yè)有定義:
P(Yi∣X,Y1,???,Yi?1,Yi+1,???,Yn)=P(Yi∣X,Yi?1,Yi+1)P(Y_i|X,Y_1,···,Y_{i-1},Y_{i+1},···,Y_n)=P(Y_i|X,Y_{i-1},Y_{i+1})P(Yi?∣X,Y1?,???,Yi?1?,Yi+1?,???,Yn?)=P(Yi?∣X,Yi?1?,Yi+1?)
這個(gè)判別式是什么意思呢?
也就是說(shuō):這個(gè)YiY_iYi?只和前一個(gè)詞語(yǔ)Yi?1Y_{i-1}Yi?1?或者后一個(gè)詞語(yǔ)Yi+1Y_{i+1}Yi+1?以及輸入X相關(guān)
講人話(huà),舉個(gè)可能不太恰當(dāng)?shù)睦庸?
“我要犒賞你們”
這里的你們?nèi)绻旁谝痪湓?huà)的開(kāi)頭,那么詞性就是"主語(yǔ)"
由于上面這個(gè)桔子中的"你們"放在"犒賞后面",那么"你們"的詞性就是"賓語(yǔ)"
所以這里的:
Yi?1Y_{i-1}Yi?1?=動(dòng)詞
YiY_{i}Yi?=賓語(yǔ)
上面這個(gè)例子,舉得不是太合適,只是想表明一個(gè)"詞性標(biāo)注"的觀(guān)點(diǎn):
一個(gè)詞語(yǔ)被標(biāo)注為那種詞性是和前后的詞語(yǔ)是相關(guān)的.,而這種相關(guān)性也剛好和"馬爾科夫性"相吻合,所以一拍即可,crf就被拿來(lái)對(duì)詞語(yǔ)進(jìn)行標(biāo)注了.
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
下面是重點(diǎn),linear-CRF的具體舉例:
李航書(shū)上的P196的例11.1有些問(wèn)題,沒(méi)有提供輸入的x的具體的值是什么.
劉建平的博客園也是照抄了李航書(shū)上的東西,他似乎也是沒(méi)有完全搞懂.
下面我們?cè)敿?xì)講講這個(gè)"詞性標(biāo)注"的例子.
借用一張分詞的圖:
我們的目的:
輸入一段分詞后的話(huà),
輸出每個(gè)詞語(yǔ)的詞性標(biāo)注.
我們先回顧下HMM,每次計(jì)算的概率這樣的:
當(dāng)前計(jì)算的概率·轉(zhuǎn)移概率·摸到紅(白)球的概率
然后獲取總積累概率最大的一條路徑作為"狀態(tài)序列",講人話(huà),就是想知道,這些小球是從哪幾個(gè)盒子里面摸到的.
與此對(duì)應(yīng)的linear-CRF,viterbi計(jì)算最優(yōu)路徑問(wèn)題是這樣的:
∑i=13w?Fi(yi?1,yi,x)\sum_{i=1}^{3}w·F_i(y_{i-1},y_i,x)i=1∑3?w?Fi?(yi?1?,yi?,x)
那么根據(jù)上面的圖,每一層發(fā)生了什么呢?
我們知道,如果是HMM,那么每一層表示:跳轉(zhuǎn)到某個(gè)盒子+抽取小球
對(duì)于linear-CRF而言,每一層表示:跳轉(zhuǎn)到某個(gè)盒子(詞性)+抽取小球(具體的詞語(yǔ))
但是呢,linear-CRF計(jì)算公式換了換,例如,計(jì)算第二層時(shí),
公式變成:
δ2(l)=maxj{θ1(j)+w?F2(j,l,x)}\delta_2(l)=max_j\{\theta_1(j)+w·F_2(j,l,x)\}δ2?(l)=maxj?{θ1?(j)+w?F2?(j,l,x)}
講得有點(diǎn)亂,我們來(lái)個(gè)表格對(duì)比下上面的內(nèi)容:
| 算法 | viterbi | viterbi |
| 算法目標(biāo) | P?=max1≤i≤3δ3(i)P^*=max_{1≤i≤3}\delta_3(i)P?=max1≤i≤3?δ3?(i) | maxi=13w?Fi(y(i?1),yi,x)max_{i=1}^3w·F_i(y_{(i-1)},y_i,x)maxi=13?w?Fi?(y(i?1)?,yi?,x) |
| 計(jì)算思路 | 跳轉(zhuǎn)到每一層的盒子中 然后抽紅白球(放回抽取) | 跳轉(zhuǎn)到每一層的盒子(詞性)中 然后生成某個(gè)詞語(yǔ)(放回生成) |
| 算法輸入 | 摸到的小球顏色序列, 例如:(紅,白,紅) | 生成的詞語(yǔ)序列, 例如:(我,要,去,吃,飯) |
| 算法輸出 | (第三個(gè)盒子,第三個(gè)盒子,第三個(gè)盒子) | (名詞,謂語(yǔ),動(dòng)詞,動(dòng)詞,名詞) |
| 算法第2層, 狀態(tài)為l的計(jì)算 | δ2(l)=max?1≤j≤3[δ1(j)ajl]bl(o2)\delta_2(l)=\max_{1≤j≤3}[\delta_1(j)a_{jl}]b_l(o_2)δ2?(l)=max1≤j≤3?[δ1?(j)ajl?]bl?(o2?) | δ2(l)\delta_2(l)δ2?(l)= maxj{δ1(j)+wF2(j,l,x)}max_j\{\delta_1(j)+wF_2(j,l,x)\}maxj?{δ1?(j)+wF2?(j,l,x)} |
| 上圖中的圓圈含義 | 每個(gè)圓圈代表放小球的盒子 每個(gè)盒子中都有不同顏色的小球 | 每個(gè)圓圈代表不同的詞性 每個(gè)詞性都可以依據(jù)概率生成不同的詞語(yǔ) |
其他參考鏈接:
https://www.cnblogs.com/Determined22/p/6915730.html
https://zhuanlan.zhihu.com/p/28343520
總結(jié)
以上是生活随笔為你收集整理的线性链条件随机场与HMM在viterbi算法中的图解对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 生成式模型和判别式模型(转)
- 下一篇: 通俗理解LightGBM并图解举例