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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

条件随机场(CRF) - 4 - 学习方法和预测算法(维特比算法)

發布時間:2023/11/28 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 条件随机场(CRF) - 4 - 学习方法和预测算法(维特比算法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聲明:

???????? 1,本篇為個人對《2012.李航.統計學習方法.pdf》的學習總結,不得用作商用,歡迎轉載,但請注明出處(即:本帖地址)。

???????? 2,由于本人在學習初始時有很多數學知識都已忘記,所以為了弄懂其中的內容查閱了很多資料,所以里面應該會有引用其他帖子的小部分內容,如果原作者看到可以私信我,我會將您的帖子的地址付到下面。

???????? 3,如果有內容錯誤或不準確歡迎大家指正。

???????? 4,如果能幫到你,那真是太好了。

?

學習方法
???????? 條件隨機場模型實際上是定義在時序數據上的對數線性模型,其學習方法包括極大似然估計和正則化的極大似然估計。

???????? 具體的優化實現算法有改進的迭代尺度法IIS、梯度下降法以及擬牛頓法。

?改進的迭代尺度法(IIS)
???????? 已知訓練數據集,由此可知經驗概率分布

??????????????????

???????? 可以通過極大化訓練數據的對數似然函數來求模型參數。

???????? 訓練數據的對數似然函數為

??????????????????

???????? 當Pw是一個由

??????????????????

???????? 給出的條件隨機場模型時,對數似然函數為

??????????????????

???????? IIS通過迭代的方法不斷優化對數似然函數改變量的下界,達到極大化對數似然函數的目的。

???????? 假設模型的當前參數向量為w=(w1,w2, ..., wK)T,向量的增量為δ=(δ1,δ2, ..., δK)T,更新參數向量為w +δ=(w1+δ1, w2 +δ2, ..., wk +δk)T。在每步迭代過程中,IIS通過一次求解下面的11.36和11.37,得到δ=(δ1,δ2, ..., δK)T。

???????? 關于轉移特征tk的更新方程為:

??????????????????

???????? 關于狀態特征sl的更新方程為:

??????????????????

???????? 這里T(x, y)是在數據(x, y)中出現所有特征數的綜合:

??????????????????

???????? 于是算法整理如下。

?

?算法:條件隨機場模型學習的改進的迭代尺度法

???????? 輸入:特征函數t1,t2, ..., tK1,s1, s2, ..., sK2;經驗分布

???????? 輸出:參數估計值 ;模型。

???????? 過程:

??????????????????

?

?擬牛頓法
???????? 對于條件隨機場模型

??????????????????

???????? 學習的優化目標函數是

??????????????????

???????? 其梯度函數是

??????????????????

???????? 擬牛頓法的BFGS算法如下:

?

?算法:條件隨機場模型學習的BFGS算法

????????

?

預測算法
???????? 條件隨機場的預測問題是給定義條件隨機場P(Y|X)和輸入序列(觀測序列)x,求條件概率最大的輸出序列(標記序列)y*,即對觀測序列進行標注。

???????? 條件隨機場的預測算法是著名的維特比算法。

???????? 在介紹維特比算法之前,我先用通俗的語言描述下它。

???????? 假設我們遇到了這么個問題:

?????????????????? 大學時你讓室友幫你帶飯(如果你上過大學,別告訴我你別干過這事....),然后你室友問你想吃啥?你回答:“你吃啥我吃啥,不過回來時幫忙帶瓶雪碧,謝啦”。于是有趣的事就發生了:你室友給你帶回了飯和雪碧并興高采烈的說:“我去,食堂換大廚了,那個小賣部的收銀員換成了個漂亮妹子!!”然后你問他:“你去的哪個食堂和小賣部?”,他想了想回答:“你猜。”

?????????????????? 好了,你猜吧~

?????????????????? 我猜你妹啊(╯‵□′)╯︵┻━┻

???????? 嘛,先別慌掀桌,不管如何你室友幫你帶了飯,所以咱們就滿足下他那小小的惡作劇,就當做是給他跑腿的辛苦費好了。

???????? PS:假設你學校有2個小賣部和2個食堂。

???????? 于是,mission start!

???????? 首先,問他:你先去得小賣部?他回答:是的。

???????? OK,買東西的先后順序搞定了。

???????? 那就開始想:

?????????????????? 第一步:從宿舍到小賣部A和B的距離都差不多,不好判斷;

?????????????????? 第二步:從小賣部A、B到食堂1、2有四種路線(A1, A2,B1, B2),然后這四種路線中到食堂1最短的是B1,到食堂2最短的是A2;

?????????????????? 第三步:看看他給帶來的飯,嗯....這個飯我記得食堂1有賣,食堂2不知道,就當沒有吧,那就假設他去的是食堂1;

?????????????????? 第四步:既然他去的是食堂1,按照這貨的習慣,絕壁選個最近的小賣部,所以他會選擇距離食堂1最近的小賣部B;

?????????????????? 第五步:對他說:“你先去小賣部B然后去食堂1對吧”,他說:“我次奧,你咋知道的”。

????????

???????? 好了,例子舉完了,我們來看看維特比算法,其實維特比算法就是上面的過程:先從前向后推出一步步路徑的最大可能(從出發點到第一個目的地集合的每個可能性,從第一個目的地集合到第二個目的地集合的每個可能性,以此類推),然后在確定終點之后在反過來選擇前面的路徑(確定終點是食堂1了,那因為室友選擇到食堂1的路線B1的可能性大于路線A1,所以按照路線,終點的上一個目的地集合里,室友就選擇的小賣部B,以此類推),最終確定最優路徑。

?

???????? 現在,你對維特比算法是什么就有概念了吧,下面來看看其數學描述。

?

???????? 在上面的例子中你會發現:“每個路徑可能性”的確定是十分重要的。既然如此,我們就得看看條件隨機場的“每個路徑可能性”,即:條件隨機場的局部特征向量。

???????? 由

??????????????????

???????? 可得:

??????????????????

???????? 于是,條件隨機場的預測問題成為求非規范化概率最大的最優路徑問題

??????????????????

???????? 這里,路徑表示標記序列,其中

??????????????????

???????? 注意,這時只需計算非規范化概率,而不必計算概論,可以大大提高效率。

???????? 為了求解最優路徑,將11.52式寫成如下形式:

??????????????????

???????? 其中

??????????????????

???????? 就是局部特征向量。

????????

???????? 下面敘述維特比算法。

? ? ? ? ?PS:關于Viterbi算法,個人推薦看我的第二次總結:http://blog.csdn.net/xueyingxue001/article/details/52396494 。個人感覺會比下面更清晰,而且下面的例子中有一處和書中的計算結果不一致,這可能會影響你對Viterbi算法的理解。

? ? ? ? ?首先求出位置1的各個標記j=1,2,...,m的非規范化概率:

??????????????????

???????? ???????? PS:m指的位置1的數量,比如上面的例子中位置1只有2個(小賣部1和小賣部2),那m就為2。下面同理。

???????? 一般的,有遞推公式,求出到位置i的各個標記l=1,2,...,m的非規范化概率的最大值,同時記錄非規范化概率最大值的路徑:

??????????????????

???????? 直到i=n時終止。這時求得非規范化概率的最大值為:

??????????????????

???????? 最優路徑的終點

??????????????????

???????? 由此最優路徑終點返回

??????????????????

???????? 求得最優路徑

?????????????????? y*= (y1*, y2*, ..., yn*)T。

???????? 綜上所述,得到條件隨機場預測的維特比算法。

?算法:條件隨機場預測的維特比算法

????????

?

???????? 下面通過一個例子來說明維特比算法。

?例子
???????? 對于之前用過的例11.1(如下圖),用維特比算法求給定的輸入序列(觀測序列)x對應的輸出序列(標記序列)y* = (y1*, y2*, y3*);

?

?

???????? 解:

?????????????????? 下面是步驟截圖,在后面我會有講解

??????????????????

???????? 解釋:

?????????????????? 首先,例11.1實際上就是在敘述下圖:

?

???????? 第一步初始化:

?????????????????? 因為y1=1和y1=2是最初,所以就不用考慮轉移的情況了(實際上也沒有“表達從y0轉移到y1的情況”的t函數(轉移函數)),直接從狀態函數(s函數中找),發現,s1和s2分別對應y1=1和y1=2,說明y1=1和y1=2這個狀態都是存在的,而s1和s2的權值分別是1和0.5,且上面列出的s函數們和t函數們值都為1,所以y1=1和y2=1的可能性分別是1和0.5。

?????????????????? 所以,到達y1的非規范化概率最大值為:δ1(1) = 1,δ1(2) = 0.5。

???????? 第二步遞推:

?????????????????? i=2(達第二處目的地集合{y2=1, y2=2}):

?????????????????? 首先是路線(僅說明到達y2=1的情況):

??????????????????????????? 上圖可知,到達y2=1的路線有如下幾條:

??????????????????????????? ???????? 路線1:從y1=1出發 ----(經過t2)---->到達y2=1;

??????????????????????????? ???????? 路線2:從y1=2出發 ----(經過t4)---->到達y2=1;

?????????????????? 接著是狀態(僅說明到達y2=1的情況):

??????????????????????????? 根據題目可知:i=2時的狀態函數只有s2和s3,而y2=1對應的函數是s3

?????????????????? 所以到達y2=1的非規范化概率最大值為:

??????????????????????????? δ2(1) = max{1+λ2t2 + u3s3,0.5 + λ4t4 + u3s3}= 2.4 (注:這里手算一遍之后發現是2.3)

??????????????????????????? PS1:這里相對于原題我多加了個u3s3,因為用上面這種思路可以解釋通其他所有的δi,如果這種想法有問題,還請告知,不勝感激。

? ? ? ? ? ? ? ? ? ? ? ? ? ? PS2:如果按照書上的結果再加上u3s3的話,這里應該是2.4,但手算一遍之后發現是2.3,如果的確是2.4的話,還請告知,不勝感激。

? ? ? ? ? ? ? ? ? ? ? ? ? ??PS3:因為PS2,所以建議先不要管δ2(1) 是2.3還是2.4,就按照當成是2.4,這樣之后的內容才會和書中同步,才不會影響你理解Viterbi算法。

?????????????????? 非規范化概率最大值的路徑為:

??????????????????????????? ψ2(1) = 1

?????????????????? δ2(2)同理。

?????????????????? i=3也一樣(只不過對于δ3(1)中的u5s5,我認為應該是u3s3,先不說s3對應的是y3=1的情況,而且原題中根本沒有s5函數)。

???????? 第三部終止:

?????????????????? 這步就簡單了,在δ3(l)中δ3(1) = 4.3最大,所以y3中取1的可能性最大,即y3*=1。

???????? 第四步返回:

?????????????????? 然后反著推:

??????????????????????????? 從y2的哪個值到y3可能性最大呢?在第二部已經解出:ψ3(1) = 2,即y2到達y3=1的路線中權值最大的是y2=2,即y2*=2。

??????????????????????????? 同理,從y1=1到y2=2的可能性最大,即y1*=1。

???????? 最后就得到標記序列

?????????????????? y*= (y1*, y2*, y3*)= (1, 2, 1)
---------------------
作者:血影雪夢
來源:CSDN
原文:https://blog.csdn.net/xueyingxue001/article/details/51499087
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

總結

以上是生活随笔為你收集整理的条件随机场(CRF) - 4 - 学习方法和预测算法(维特比算法)的全部內容,希望文章能夠幫你解決所遇到的問題。

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