pomegranate是基于Python的图模型和概率模型工具包,它使用Cython实现以加快反应速度。它源于YAHMM,可实现快速、高效和极度灵活的概率模型,如概率分布、贝叶斯网络、混合隐马尔可夫模型等。概率建模最基础的级别是简单的概率分布。以语言建模为例,概率分布就是是一个人所说的每个单词出现频率的分布。
1.概率分布
第二个级别是以更复杂的方式使用简单分布的概率模型。马尔可夫链可以扩展简单的概率分布,仍旧以语言建模为例,即某个单词的概率依赖于先前所说单词。隐马尔可夫模型中某个单词的概率依赖于前一个词的潜在/隐藏状态,如名词通常在形容词后面。
马尔可夫链
贝叶斯分类器和朴素贝叶斯
一般混合物模型
隐马尔可夫模型
贝叶斯网络
因子图
第三个级别是概率模型的堆叠,可以建模更复杂的现象。如果单个隐马尔可夫模型可以捕捉口音(如某个人的说话习惯),那么混合隐马尔可夫模型可以将其调整以适应特定情况。比如,一个人可能在工作时使用更为正式的语言,在与朋友交流时使用稍微随意的语言。通过将其建模为混合隐马尔可夫模型,我们将这个人的语言表示为各种口音的「混合」。
1.GMM-HMMs
2.混合模型
3.模型的贝叶斯分类器
2.安装
pomegranate依赖项要求:
- Cython (only if building from source) - NumPy - SciPy - NetworkX - joblib运行测试前,还要安装nose。
pip安装:
pip install pomegranateconda安装:
conda install pomegranate无需C++编译器,快速安装Windows版本的Wheels已构建完毕。
3.验证安装
设置已完成,现在需要检查pomegranate是否可以使用:
\$ python -c 'from pomegranate import *; print(NormalDistribution(0, 1).probability(0))' 0.398942280402
评论