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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

简述维特比算法(Viterbi Algorithm)

發(fā)布時間:2023/12/20 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简述维特比算法(Viterbi Algorithm) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

維特比算法是一個特殊但應用最廣的動態(tài)規(guī)劃算法。利用動態(tài)規(guī)劃,可以解決任何一個圖中的最短路徑問題。而維特比算法是針對一個特殊的圖——籬笆網(wǎng)絡(Lattice)的有向圖最短路徑的問題而提出的。它之所以重要,是因為凡是使用隱含馬爾可夫模型描述的問題都可以使用它來解碼,包括今天的數(shù)字通信、語音識別、機器翻譯、拼音轉漢字、分詞等。下面用輸入法拼音轉漢字來說明。

假定用戶盲打時輸入的拼音是,對應的漢字是(為簡單起見,以字為單位來解釋維特比算法),那么隱含的狀態(tài)序列即為在輸出序列發(fā)生的條件下概率最大的那條序列:

輸入為可見序列,產(chǎn)生他們的隱含序列。下圖為隱含的馬爾可夫模型

這是一個相對簡單的隱含馬爾可夫鏈,沒有狀態(tài)跳躍,也沒有狀態(tài)自環(huán)。是狀態(tài)之間的轉移概率,是每個狀態(tài)的產(chǎn)生概率。現(xiàn)在,這個馬爾可夫鏈的輸出已固定,但是狀態(tài)不固定,比如拼音“zhong”為輸出,狀態(tài)可能為“中”、“種”等。我們不妨抽象一點,把表示為狀態(tài)的第j個可能的值。如果把每個狀態(tài)按照不同的值展開,可得到下面的籬笆網(wǎng)絡(Lattice):

上圖中每個狀態(tài)可能有3,4個值,實際上它們可以有任意個值

維特比算法的基礎可以概括為下面三點:

  • 如果概率最大的路徑P(或者說最短路徑)經(jīng)過某個點,如圖中的,那么這條路徑上從起始點S到的這一段子路徑Q,一定是S到之間的最短路徑。
  • 從S到E路徑必定經(jīng)過第i時刻的某個狀態(tài)
  • 結合上述兩點,假定當我們從狀態(tài)i進入到狀態(tài)i+1時,從S到狀態(tài)i的各個可能值的最短路徑都已找到,那么只需考慮起到S到狀態(tài)i各個結點的最短路徑到狀態(tài)i+1的各個結點的最短路徑即可。
  • 基于上述三點,維特比總結了如下算法:

    第一步,從起點S出發(fā),對于第一個狀態(tài)的各個結點,不妨假定有個,計算出S的距離d(S,)

    第二步,這是整個算法的關鍵。對于第二個狀態(tài)的所有結點,要計算出S到它們的最短距離。我們知道,對于特定的結點,從S到它的路徑可以經(jīng)過狀態(tài)1到中任何一個結點,我們需要找到這些路徑的最小值。這樣對于第二個狀態(tài)的每個結點,需要進行次乘法運算,假定這個狀態(tài)有個結點,把S到這些結點的距離都算一遍,就有次運算。

    接下來,類似的從第二個狀態(tài)走到第三個狀態(tài),一直走到最后一個狀態(tài),就得到了整個網(wǎng)格從頭到尾的最短路徑。每一步狀態(tài)轉換的復雜度為。如果假定在這個隱含馬爾可夫鏈中結點最多的狀態(tài)有D個結點,也就是這個那個網(wǎng)格的寬度為D,那么任何一步的復雜度不超過,由于網(wǎng)格長度為N,所以整個維特比算法的復雜度是.

    總結

    以上是生活随笔為你收集整理的简述维特比算法(Viterbi Algorithm)的全部內容,希望文章能夠幫你解決所遇到的問題。

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