博客
关于我
图模型初识
阅读量: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演练))
查看>>
python 录音左右声道_Python分离立体声wav压缩文件的左右声道
查看>>
Python 循环异或对文件进行加解密
查看>>
Python开发环境搭建(附VMware安装包及虚拟机环境)
查看>>
python 微信扫码登录_python实现微信第三方网站扫码登录(Django)
查看>>
Python 快速下载依赖
查看>>
python实现非参数统计的Cochran检验 (附完整源码)
查看>>
python 怎么验证是否安装成功 scrapy
查看>>
Python 手写数字识别-1
查看>>
Python实现接口自动化测试库(JSON与Requests)详解
查看>>
Python 手写数字识别-3-sklearn中的几种算法
查看>>
python实现SSIM和MSSSIM计算 (附完整源码)
查看>>
Python 打开文件注意事项
查看>>
python 批量修改文件名_python windows下批量修改文件名
查看>>
Python 抓取网页乱码问题 以及EXCEL乱码
查看>>
python 抓取网页内容
查看>>
python 按照当前日期创建文件
查看>>
Python 接口并发测试详解
查看>>
Python 接口自动化 —— requests框架
查看>>
python 接口自动化数据结构(如列表、字典、元组)
查看>>