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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NLP系列学习:前向算法和后向算法

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NLP系列学习:前向算法和后向算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在上一篇文章里,我們簡單的概述了隱馬爾科夫模型的簡單定義

在<CRF-tutorial>這一篇文章里,我們可以看到HMM經過發展之后是CRF產生的條件,因此我們需要學好隱馬爾科夫模型.

在這一部分,我比較推薦閱讀宗成慶老師的<自然語言處理>這本書,這一部分宗老師寫的很不錯,相關的資源在我之前的文章中已經上傳,有興趣的小伙伴可以閱讀下.

回到正題,說起HMM,我們知道他是一個產生型模型.這樣我們可以把它看作為一個序列化判別器,比方說我們說一句話:

上邊是我們說的話,我們說一句話,其實就可以看作為一個狀態序列,而下邊對應的,我們其實就可以看作為一個判別器,假如我們把上邊的說的話和下邊的狀態序列加上一個符號,如下圖所示

再去求Si->Oj的概率,這樣我們寫成:

這樣我們就可以引申出隱馬爾克夫模型的三大問題:

①:估計問題

②:序列問題

③:訓練問題或參數估計問題

為了更加容易理解這三個問題,我發現之前有一個博客的擲骰子的例子很生動,便特地引用過來,方便自己理解:

假設手里有三個不同的骰子。第一個骰子是我們平常見的骰子(稱這個骰子為D6), 6個面,每個面(1,2,3,4,5,6)出現的概率是1/6。第二個骰子是個四面體(稱 這個骰子為D4),每個面(1,2,3,4)出現的概率是1/4。第三個骰子有八個面 (稱這個骰子為D8),每個面(1,2,3,4,5,6,7,8)出現的概率是1/8。


現在我們開始擲骰子,我們先從三個骰子里挑一個,挑到每一個骰子的概率都是1/3。 然后我們擲骰子,得到一個數字,1,2,3,4,5,6,7,8中的一個。不停的重復上述過程,我們會得到一串數字,每個數字都是1,2,3,4,5,6,7,8中的一個。例如我們可能得到這么一串數字(擲骰子10次):1 6 3 5 2 7 3 5 2 4 .

那這時候我們就把這投擲出來的這些數字成為可見狀態鏈,但是在隱馬爾可夫模型中,我們丌僅僅有這么一串可見狀 態鏈,還有一串隱含狀態鏈。在這個例子里,這串隱含狀態鏈就是你用的骰子的序列.比如,隱含狀態鏈有可能是:D6 D8 D8 D6 D4 D8 D6 D6 D4 D8

但是一般來說,我們用的馬爾科夫鏈都是隱含狀態鏈, 因為隱含狀態(骰子)之間存在轉換概率(transition probability)。在我們這個例子里,D6的下一個狀態是 D4,D6,D8的概率都是1/3。D4,D8的下一個狀態是D4,D6,D8的轉換概率也都 一樣是1/3。這樣設定是為了最開始容易說清楚,但是我們其實是可以隨意設定轉換概 率的。比如,我們可以這樣定義,D6后面不能接D4,D6后面是D6的概率是0.9,是 D8的概率是0.1。這樣就是一個新的HMM。 同樣的,盡管可見狀態之間沒有轉換概率,但是隱含狀態和可見狀態之間有一個概率叫做輸出概率(emission probability)。就我們的例子來說,六面骰(D6)產生1的輸出概率是1/6。產生2,3,4,5,6的概率也都是1/6。我們同樣可以對輸出概率進行其他定義。比如我有一個被賭場動過手腳的六面骰子,擲出來是1的概率更大,是 1/2,擲出來是2,3,4,5,6的概率是1/10。 這時候我們再結合這個例子去理解并解決HMM中的三大問題就會容易許多了:

第一個問題:

我們知道骰子有幾種(隱含狀態數量),每種骰子是什么(轉換概率),根據擲骰子擲出的結果(可見狀態鏈),我想知道每次擲出來的都是哪種骰子(隱含狀態鏈)。

第二個問題:

還是知道骰子有幾種(隱含狀態數量),每種骰子是什么(轉換概率),根據擲骰子擲出的結果(可見狀態鏈),我想知道擲出這個結果的概率.

第三個問題:

知道骰子有幾種(隱含狀態數量),但是并不知道每種骰子是什么(轉換概率),觀測到很多次擲骰子的結果(可見狀態鏈),我想反推出每種骰子是什么(轉換概率)。

1:估計問題:

在我們知道我們有幾種篩子的時候,并且知道篩子是什么,并且已知結果,這時候我們再去推測是哪一種篩子就會容易很多,是可以通過窮舉法進行解決的,說白話就是推測所有的隱含狀態序列,并且再去計算所以的可能觀測序列的概率,但是這樣的方法也有問題,如果你的可能,就跟上邊的三個篩子一樣,還比較OK,因為你的概率還是很大,比較容易猜得對,但是你有100個長度的話,不說多了,每個長度上對應的隱含狀態為2,這樣你的時間復雜度就是O(2的100方),這個復雜度是很高的,盡管很簡單,但是還是不實用的.就跟我們查找中的直接查找一樣,盡管簡單,但是實則更困難.這樣的話,我們就采用了前向算法和后向算法來去計算這個問題.

那下邊我們就去推一下這個公式:

首先,我們要假設一個變量at(i),這個變量的意義是說我們在t時刻(1<t<T-1),位于si的狀態下,HMM輸出了序列O1......Ot,這時候at(i)可以表示為:


而我們接下來要做的是計算這個at(i),然后就可以根據at(i)來去計算在T時刻的概率,最后也就計算出P(O|u),這時候O是0-T時刻的概率,我們自然就可以計算出所有時刻的概率.

在這里,我們要用歸納思想去計算在t+1時刻的at+1(i):

這時候我們通過一張圖去直觀的表示從i到j的狀態轉移過程:

最終的計算得到的概率為:

那后向算法其實就跟前向算法類似,過程圖如下:

那么由上述所知,前向和后向算法的時間復雜度均是O(N2T),這個相比起之前,已經優化了太多,其中N是隱藏狀態的長度,T是序列的長度.

下一篇文章,我們將去學習HMM中的第二個問題:估計序列問題

參考文章:

1:www.cnblogs.com/skyme/p/465…

2:HMM經典論文《A tutorial on Hidden Markov Models and selected applications in speech recognition》


總結

以上是生活随笔為你收集整理的NLP系列学习:前向算法和后向算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 奇米成人 | 四虎影视永久地址 | 女同毛片一区二区三区 | 亚洲国产成人va在线观看天堂 | 国产一区二区 | 日本公妇乱淫免费视频一区三区 | 免费色网| 免费簧片在线观看 | 欧美一卡二卡三卡四卡 | 精品一区二区三区四 | 制服丝袜av在线播放 | www.中文字幕.com | 91捆绑91紧缚调教91 | 国产麻豆剧传媒精品国产av | 国产中文字字幕乱码无限 | 美国三级a三级18 | 色就是色亚洲色图 | 乌克兰黄色片 | 人人爱超碰 | 特黄视频免费看 | 国产人成在线观看 | xx久久| 神马国产 | 台湾男男gay做爽爽的视频 | 国产欧美二区 | 丝袜一级片| 色小姐综合网 | 四虎影酷 | 中文字幕有码在线观看 | 播金莲一级淫片aaaaaaa | 国产经典一区 | 18深夜在线观看免费视频 | 天天插天天干 | 久久久久久久久久久久久久 | 男人天堂导航 | 美美女高清毛片视频免费观看 | 国产一区二区欧美 | 91日韩在线 | 森泽佳奈在线播放 | 麻豆短视频在线观看 | 欧美日韩 一区二区三区 | 色人阁视频 | 污av| 午夜免费福利视频 | 在线欧美 | 国产精品一区二区免费看 | 精品国模一区二区三区 | 一级肉体全黄裸片中国 | 精品无码国产一区二区三区av | 欧美草草 | 日本污视频在线观看 | 中文在线а√天堂 | 加勒比一区二区三区 | 亚洲高清在线一区 | 超碰男人的天堂 | 亚洲色图久久 | 中文在线最新版天堂 | 国产精品传媒麻豆hd | 熟女一区二区三区四区 | 果冻av在线 | 久久久久亚洲av片无码下载蜜桃 | 中文字幕免费高清网站 | 天天看a | 三浦惠理子aⅴ一二三区 | 国产夫妻自拍小视频 | 一区二区三区视频在线免费观看 | 欧美com| 欧美日韩69 | 色婷婷www | 日本成人午夜 | 日本在线观看中文字幕 | 日韩免费视频一区二区 | 欧美xxxxx视频 | 在线国产观看 | 亚洲毛片在线免费观看 | 激情免费视频 | av导航在线观看 | 精品一区二区三区毛片 | av在线免费播放 | 四虎永久在线观看 | www国产亚洲精品 | 九九自拍| 亚洲精品777 | 伊人青青久 | 日本精品一区二区三区四区 | 少妇4p | 国产成人无码精品久久久久 | 久久天天躁狠狠躁夜夜躁2014 | 亚洲精品18p| 蜜臀99久久精品久久久久久软件 | 久久国产精品国产精品 | 91日韩一区二区 | 一区二区三区www | 久久欧洲 | 总裁憋尿呻吟双腿大开憋尿 | 精品视频一区二区在线 | 少妇免费视频 | 日本黄色网络 | 国产一区二区三区视频播放 |