目录
简介
用图的形式表示随机变量之间条件依赖关系的概率模型,是概率论和图论的结合。图中的节点表示随机变量,缺少边表示条件独立假设。
术语
- 团(clique):任何一个全连通(任意两个顶点间都有边相连)的子图
- 最大团(maximal clique):不能被其他团所包含的团
- CPD,conditional probability distribution,可以用表格表示,表格被称为因子(factor)或势函数(potential function)
- DAG,directed acyclic graph,有向无环图
- 条件概率分布
- 条件独立
- 势函数
- 贝叶斯网络
- 马尔科夫随机场
- 马尔科夫性质:当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔可夫性质。具有马尔可夫性质的过程通常称之为马尔可夫过程。
种类
根据图有无方向分为两类:
- 有向图:如贝叶斯网络
- 无向图:马尔科夫随机场(Markov Random Fields)
贝叶斯网络
贝叶斯网络的一个基本要求是图必须是有向无环图。
马尔科夫随机场
- 条件独立:如果节点 A 和 B 之间没有路径能使得该路径上的所有节点都被观察到,那么 A 和 B 就是相互独立的。换种说法:如果在 A 和 B 之间至少有一条路径上的所有中间节点都未被观察到,那么 A 和 B 就不是相互独立的。
- 参数估计:我们定义一些描述其概率分布的参数,然后使用梯度下降来寻找能最大化被观察数据的可能性的参数值。
参数估计和推理
参数估计
根据观察数据求得模型参数。
推理
根据模型参数进行预测。
问题求解方法
- 变量消除(variable elimination)
- 置信度传播(Belief Propagation)
- 近似推理
变量消除
置信度传播
近似推理
- 基于采样的近似推理
- 变分法近似推理
开源工具
- CRF++:开源的C++实现,优化算法使用的是L-BFGS
- MALLET:通用的Java自然语言处理包,包含了分类、序列标注等多种算法
- NLTK:通用的python自然语言处理工具包,很多工具是从MALLET转换到python接口
参考
- Classical Probabilistic Models and Conditional Random Fields
- 读懂概率图模型:你需要从基本概念和参数估计开始