博客
关于我
图模型初识
阅读量:417 次
发布时间:2019-03-06

本文共 1438 字,大约阅读时间需要 4 分钟。

图模型初识

有向图模型

有向图模型是一种常见的图模型,其核心在于通过定义变量间的关系(如因果关系)来表达业务场景。这种模型通常基于已知的变量关系进行建模,例如:

  • a → c
  • b → c
  • c → d
  • d → e

这种结构不仅表达了变量间的因果关系,还体现了一种先后顺序。基于有向图模型,计算联合概率较为直接。假设我们有以下关系:

  • a → c
  • b → c
  • c → e
  • d → e

则其联合概率可以表示为:

[ p(a, b, c, d, e) = p(a) \cdot p(b) \cdot p(c|a, b) \cdot p(d|c) \cdot p(e|d) ]

这里的条件概率形式符合常识,即左侧为结论,右侧为条件。这一表达方式简洁明了,易于理解和应用。

无向图模型

无向图模型的核心在于变量间的关系并无明确方向性。常见的无向图模型可以通过能量函数或其他 scoring 函数来建模变量间的关联性。例如,图像分割任务可以通过无向图来进行聚类,形成若干簇(模块)。

假设我们有以下无向图结构:

  • a --- c
  • a ---- b ---- d ---- e
  • f --- d
  • f --- e

为了计算联合概率,我们需要定义一个能量函数或 scoring 函数,来衡量变量间的紧密度。例如,可以将图分为以下三个簇:

-簇1:a, b, c

-簇2:b, d
-簇3:d, e, f

则联合概率可以表示为:

[ p(a, b, c, d, e, f) = \frac{1}{z} \cdot \phi_1(a, b, c) \cdot \phi_2(b, d) \cdot \phi_3(d, e, f) ]

其中,( z ) 是归一化常数,计算方法根据变量类型而异(如离散型可用动态规划,连续型可用近似方法)。归一化过程至关重要,因为它将 scoring 函数转换为概率。

无向图模型的核心在于如何定义 scoring 函数。例如:

  • Naive Bayes 是一种有向图模型,当转为无向图时,变为 Logistic Regression。
  • 隐马尔可夫模型(HMM)是有向图模型,当转为无向图时,变为线性链的 CRF。

无向图模型的分割块并非固有,而是基于对变量关系的假设。例如,可以将以下结构分解为:

  • [ p(a, b, c, d, e) = \frac{1}{z} \cdot \phi_1(a, c) \cdot \phi_2(b, c) \cdot \phi_3(a, b) \cdot \phi_4(b, d) \cdot \phi_5(a, c) \cdot \phi_6(f, d) \cdot \phi_7(f, e) ]

无向图模型的应用依赖于对变量关系的深刻理解,通过定义合适的 scoring 函数,可以将复杂的变量关系建模到模型中。

有向图 vs 无向图

有向图模型采用局部归一化(Local Normalization),因为其概率计算依赖于局部的条件概率。而无向图模型则采用全局归一化(Global Normalization),因为其概率计算涉及所有变量的联合分布。

从模型应用的角度来看,有向图模型更类似于贪心算法,每次只寻求局部最优解。而无向图模型则更全面,考虑了全局关系。

通过初步认识这些图模型,我们可以为后续学习 HMM 和 CRF 模型打下基础。无向图模型的理解尤为重要,因为它与 Logistic Regression 等常见模型密切相关。

转载地址:http://utokz.baihongyu.com/

你可能感兴趣的文章
python | 一文掌握Python的上下文管理器和with语句
查看>>
python | 一文看懂Python闭包机制与变量作用域规则
查看>>
python读取含中文的json
查看>>
python | 如何用Python锁避免并发错误?
查看>>
python | 提升代码迭代速度的Python重载方法
查看>>
python | 深入理解Python并发编程中的GIL限制与解决方案
查看>>
Python | 爬虫实战——亚马逊搜索页监控(附详细源码)
查看>>
python | 高效使用Python工具自动生成模块文档的秘诀
查看>>
python 一个list去除另一个list中的值
查看>>
python 三大框架的 介绍。
查看>>
Python 下载的 11 种姿势,一种比一种高级!
查看>>
python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
查看>>
Python 中 3 个不可思议的返回功能
查看>>
python 中 dict 的另一种用法
查看>>
Python 中 PIL 读取图片出现异常旋转的解决方法
查看>>
python读取word表格内容(1)
查看>>
python 中os.path.join 双斜杠的解决办法
查看>>
python 中PIL.Image和OpenCV图像格式相互转换
查看>>
Python 中Semaphore 信号量对象、Event事件、Condition
查看>>
python 中with的使用及样例
查看>>