欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python vertibi算法實現(xiàn)原理解析

 更新時間:2023年07月25日 17:12:49   作者:龍仔  
這篇文章主要為大家介紹了python vertibi算法實現(xiàn)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目闡釋

viterbi算法實現(xiàn)。 用python實現(xiàn)viterbi的hidden state 和 表現(xiàn)層的轉(zhuǎn)移動態(tài)規(guī)劃問題,歸結(jié)到相鄰兩個step之間存在 state轉(zhuǎn)移概率,state2emibission轉(zhuǎn)移概率。

計算后可以得到每個step的每個state max_probablity

由于step_n依賴于 step_n-1,跟 step_n-2無關(guān),所以可以一直如此往復(fù),得到最后的max_prob
整個問題抽象為,下一個step依賴于上一個step的所有state,所以只需要計算每一層step的所有state的prbo即可。

難點

三層for循環(huán),為了保留,計算每個step的state的概率,所以要 next_state 嵌套在 source_state之外。

states=['Rainy','Sunny']
observations=['walk','shop','clean']
observations=('walk','clean','walk')
emission_probability={'Rainy':{'walk':0.1,'shop':0.4,'clean':0.5},
                   'Sunny': {'walk': 0.6, 'shop': 0.3, 'clean': 0.1}
                    }
trans_probability={'Rainy':{'Rainy':0.7,'Sunny':0.3},
                     'Sunny':{'Rainy':0.4,'Sunny':0.6}
                     }
start_probability={'Rainy':0.6,'Sunny':0.4}
def vertibi(states,objservations,start_prob,trans_prob,emi_prob):
    T={state:[start_prob[state],[state],start_prob[state]] for state in states}
    for objservation in objservations:
        U={}
        for next_state in states:
            total=0
            argmax=None
            valmax=0
            for source_state in states:
                prob,v_path,v_prob=T[source_state]
                p=emi_prob[source_state][objservation]*trans_prob[source_state][next_state]
                prob*=p
                v_prob*=p
                if v_prob>valmax:
                    valmax=v_prob
                    argmax=v_path+[next_state]
                    total+=prob
            U[next_state]=[total,argmax,valmax]
        T=U
    total = 0
    argmax = None
    valmax = 0
    for state in states:
        prob, v_path, v_prob=T[state]
        if v_prob>valmax:
            argmax=v_path
            total=prob
            valmax=v_prob
    return total,argmax,valmax
total,argmax,valmax=vertibi(states,observations,start_probability,trans_probability,emission_probability)
print(total)
print(argmax)
print(valmax)

以上就是python vertibi算法實現(xiàn)原理解析的詳細(xì)內(nèi)容,更多關(guān)于python vertibi算法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • pip matplotlib報錯equired packages can not be built解決

    pip matplotlib報錯equired packages can not be built解決

    這篇文章主要介紹了pip matplotlib報錯equired packages can not be built解決,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python matplotlib實現(xiàn)坐標(biāo)投影的示例代碼

    python matplotlib實現(xiàn)坐標(biāo)投影的示例代碼

    這篇文章主要為大家詳細(xì)介紹了python matplotlib實現(xiàn)坐標(biāo)投影,文中的示例代碼講解詳細(xì),具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • python中的sort方法使用詳解

    python中的sort方法使用詳解

    這篇文章主要介紹了python中的sort方法,需要的朋友可以參考下
    2014-07-07
  • 對python中數(shù)據(jù)集劃分函數(shù)StratifiedShuffleSplit的使用詳解

    對python中數(shù)據(jù)集劃分函數(shù)StratifiedShuffleSplit的使用詳解

    今天小編就為大家分享一篇對python中數(shù)據(jù)集劃分函數(shù)StratifiedShuffleSplit的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python代碼如何實現(xiàn)余弦相似性計算

    python代碼如何實現(xiàn)余弦相似性計算

    這篇文章主要介紹了python代碼如何實現(xiàn)余弦相似性計算,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • python實現(xiàn)播放音頻和錄音功能示例代碼

    python實現(xiàn)播放音頻和錄音功能示例代碼

    這篇文章主要給大家介紹了關(guān)于python播放音頻和錄音的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 簡單講解Python中的閉包

    簡單講解Python中的閉包

    這篇文章主要介紹了Python中的閉包,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • python圖形用戶接口實例詳解

    python圖形用戶接口實例詳解

    這篇文章主要為大家詳細(xì)介紹了python圖形用戶接口實例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • python 讀取DICOM頭文件的實例

    python 讀取DICOM頭文件的實例

    今天小編就為大家分享一篇python 讀取DICOM頭文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python中pylint使用方法(pylint代碼檢查)

    python中pylint使用方法(pylint代碼檢查)

    Pylint 提供了簡單的方式來分析 Python 代碼,其高可配置性很容易使一個部門的人員使用統(tǒng)一的代碼風(fēng)格。 本文將通過理論介紹和示例分析闡述如何 Pylint 來規(guī)范 Python 代碼
    2018-04-04

最新評論