pomegranate圖模型和概率模型工具包
pomegranate 是基于 Python 的圖模型和概率模型工具包,它使用 Cython 實現(xiàn)以加快反應(yīng)速度。它源于 YAHMM,可實現(xiàn)快速、高效和極度靈活的概率模型,如概率分布、貝葉斯網(wǎng)絡(luò)、混合隱馬爾可夫模型等。概率建模最基礎(chǔ)的級別是簡單的概率分布。以語言建模為例,概率分布就是是一個人所說的每個單詞出現(xiàn)頻率的分布。
1. 概率分布
第二個級別是以更復(fù)雜的方式使用簡單分布的概率模型。馬爾可夫鏈可以擴展簡單的概率分布,仍舊以語言建模為例,即某個單詞的概率依賴于先前所說單詞。隱馬爾可夫模型中某個單詞的概率依賴于前一個詞的潛在/隱藏狀態(tài),如名詞通常在形容詞后面。
第三個級別是概率模型的堆疊,可以建模更復(fù)雜的現(xiàn)象。如果單個隱馬爾可夫模型可以捕捉口音(如某個人的說話習(xí)慣),那么混合隱馬爾可夫模型可以將其調(diào)整以適應(yīng)特定情況。比如,一個人可能在工作時使用更為正式的語言,在與朋友交流時使用稍微隨意的語言。通過將其建模為混合隱馬爾可夫模型,我們將這個人的語言表示為各種口音的「混合」。
-
1. GMM-HMMs
-
2. 混合模型
-
3. 模型的貝葉斯分類器
2. 安裝
pomegranate 依賴項要求:
- Cython (only if building from source) - NumPy - SciPy - NetworkX - joblib
運行測試前,還要安裝 nose。
pip 安裝:
pip install pomegranate
conda 安裝:
conda install pomegranate
無需 C++編譯器,快速安裝 Windows 版本的 Wheels 已構(gòu)建完畢。
3. 驗證安裝
設(shè)置已完成,現(xiàn)在需要檢查 pomegranate 是否可以使用:
\$ python -c 'from pomegranate import *; print(NormalDistribution(0, 1).probability(0))' 0.398942280402
評論
圖片
表情
