Skip to Content
Artificial Intelligence

7-概率图

2019-09-10Original-language archivelegacy assets may be incomplete

图模型

  • p(x)=k=1Kp(xkx1,,xk1)p(x)=\prod_{k=1}^{K}p(x_k|x_1,\cdots,x_{k-1})
  • 联合概率表:需要 2K12^K-1 个参数
  • 图模型基本问题
    • 表示问题:如何用图结构描述变量间的依赖关系
    • 学习问题:结构学习,参数学习
    • 推断问题:已知部分变量,求其它变量条件分布概率
  • 有向图模型:贝叶斯网(信念网, Judea Pearl)
  • 无向图模型:马尔可夫网

有向图模型

  • B=G,ΘB=\langle G,\Theta\rangle
    • GG: 有向无环图 (DAG)
    • Θ\Theta: 条件概率表 (CPT)
      • θxiπi=PB(xiπi)\theta_{x_i|\pi_i}=P_B(x_i|\pi_i)
  • 联合分布:P(x1,,xn)=i=1nP(xiParent(xi))P(x_1,\cdots,x_n)=\prod_{i=1}^nP(x_i|\text{Parent}(x_i))

独立性判断

  • 三变量间的典型依赖关系
    • 同父结构: x3x4x1x_3\perp x_4|x_1
    • 顺序结构:yzxy\perp z|x
    • 冲撞结构(V-structure): xxyzy|z
      • marginal independece: zz 完全未知则独立,给定 zz 则不独立
  • 有向分离 (D-seperation,或道德化)
    • 转化为无向图 (moral graph)
      • 有向边改无向边
      • V 型结构两个父节点之间加边
    • xxyy 有向分离:Z\exists Z, x,yx,yG\ZG\backslash Z 中分属两个连通分支则 xyZx\perp y|Z
  • 马尔科夫覆盖

常见有向图模型

  • Sigmoid 信念网络
    • 变量取值为 {0,1}\{0,1\}
    • p(xk=1xπk;θ)=σ(θ0+xixπkθixi)p(x_k=1|x_{\pi_k};\theta)=\sigma(\theta_0+\sum_{x_i\in x_{\pi_k}}\theta_ix_i)
    • MM 个父节点
      • 表格记录:2M2^M 参数
      • 参数化模型:M+1M+1 参数
  • 朴素贝叶斯分类器: 条件独立性假设
  • 隐马尔科夫网

结构学习

  • 搜索最优贝叶斯网络结构: NP\text{NP}-hard
  • 评分搜索:G=argmaxGg(G:D)G^*=\arg\max_G g(G:D)
    • MDL(最小描述长度):综合编码长度最短的网络
      • s(BD)=f(θ)BLL(BD)s(B|D)=f(\theta)|B|-\text{LL}(B|D)
      • LL(BD)=i=1mlogPB(xi)\text{LL}(B|D)=\sum_{i=1}^m\log P_B(x_i)
      • AIC 准则: f(θ)=1f(\theta)=1
      • BIC 准则: f(θ)=logm2f(\theta)=\frac{\log m}{2}
  • 常用策略
    • 贪心法
    • 网络结构约束

无向图模型

  • 马尔科夫网:
    • VV: 随机变量
    • EE: 变量间的依赖关系
    • x{k}x_{\{k\}}: 第kk个团随机变量
  • 无向图为马尔科夫网络     \iff 满足以下三条性质之一
    • Pairwise Markov Property: XuXvXV\{u,v},{u,v}∉EX_u\perp X_v|X_{V\backslash\{u,v\}},\{u,v\}\not\in E
    • Local Markov Property: XvXV\ne(v)Xne(v)X_v\perp X_{V\backslash\text{ne}(v)}|X_{\text{ne}(v)}
      • ne(v)\text{ne}(v): 邻居,马尔科夫毯
    • Global Markov Property: XAXBXSX_A \perp X_B|X_SA,BA,B 两个子集间任何一条路径都经过子集SS,则给定 SS 后,A,BA,B 两个子集相互条件独立
  • 构造
    • 如果满足 P⊭(XYV{X,Y})P\not\vDash(X\perp Y|V-\{X,Y\}),则 X,YX,Y 加边
    • 给定 XX 的马尔可夫毯,XX 独立于余下的变量
  • Hammersley-Clifford 定理:p(x)>0p(x)>0 满足局部马尔科夫性质当且仅当可表为马尔科夫网上的吉布斯分布
    • 吉布斯分布:p(x)=1ZcCϕc(xc)p(x)=\frac{1}{Z}\prod_{c\in\mathcal{C}}\phi_c(x_c)
    • 势函数:ϕk(x{k})\phi_k(x_{\{k\}})
    • 配分函数:Z=xXcCϕc(xc)Z=\sum_{x\in \mathcal{X}}\prod_{c\in\mathcal{C}}\phi_c(x_c)
    • 势函数:fk(x{k})=eωkTϕk(x{k})f_k(x_{\{k\}})=e^{\omega_k^T\phi_k(x_{\{k\}})}
  • 一般定义为玻尔兹曼分布
    • ϕc(xc)=exp(Ec(xc))\phi_c(x_c)=\exp(-E_c(x_c))

常见无向图模型

  • 对数线性模型(最大熵模型)
    • ϕc(xcϕc)=exp(θcTfc(xc))\phi_c(x_c|\phi_c)=\exp(\theta_c^Tf_c(x_c))
    • logp(x;θ)=cCθcTfc(xc)logZ(θ)\log p(x;\theta)=\sum_{c\in\mathcal{C}}\theta_c^Tf_c(x_c)-\log Z(\theta)
    • 条件最大熵模型(Softmax 回归模型):p(yx;θ)=exp(θTf(x,y))yexp(θTfy(x,y))p(y|x;\theta)=\frac{\exp(\theta^Tf(x,y))}{\sum_{y}\exp(\theta^Tf_y(x,y))}
  • 条件随机场(CRF):p(yx;θ)=1Z(x;θ)exp(cCθcTfc(x,yc))p(y|x;\theta)=\frac{1}{Z(x;\theta)}\exp(\sum_{c\in\mathcal{C}}\theta_c^Tf_c(x,y_c))
    • 线性链条件随机场
  • 马尔科夫逻辑网 (MLN) = Markov Net + 一阶逻辑
    • 判断一个知识库中是否包含公式 FFFF 在所有满足知识库的世界中恒真
      • 公式附加权值的一阶逻辑知识库
      • 基本思想:将一阶逻辑的限制放松,即一个可能世界违反公式越多,其发生的概率越小
    • LL{(Fi,wi)}\{(F_i,w_i)\}
      • FiF_i: 一阶逻辑闭规则(无变元)
      • wiw_i: 实数表示权重
      • CC: 有限常数集
    • 马尔科夫逻辑网 ML,CM_{L,C}
      • LL 中的任意闭原子对应一个二值结点,真为 11,假为 00
      • LL 任意闭规则对应一个特征值,若规则为真,特征值为 11 否则为 00。权重为 ωi\omega_i
      • P(X=x)=1Zexp(i=1Fωini(x))P(X=x)=\frac{1}{Z}\text{exp}(\sum_{i=1}^F\omega_in_i(x))
        • nin_i: FiF_iXX 中所有取真值的公式的数量

参数学习

无隐变量

  • 有向图:L(D,θ)=1Nn=1Nk=1Klogp(xk(n)xπk(n);θk)L(D,\theta)=\frac{1}{N}\sum_{n=1}^N\sum_{k=1}^K\log p(x_k^{(n)}|x_{\pi_k}^{(n)};\theta_k)
  • 无向图:L(D,θ)=1Nn=1Nlogp(cCθcTfc(xc(n)))logZ(θ)=Exp~(x)fc(xc)Exp(x;θ)fc(xc)=1Nn=1Nfc(xc(n))xp(x;θ)fc(xc)L(D,\theta)=\frac{1}{N}\sum_{n=1}^N\log p(\sum_{c\in\mathbb{C}}\theta_c^Tf_c(x_c^{(n)}))-\log Z(\theta)=E_{x\sim\tilde p(x)}f_c(x_c)-E_{x\sim p(x;\theta)}f_c(x_c)=\frac{1}{N}\sum_{n=1}^Nf_c(x_c^{(n)})-\sum_xp(x;\theta)f_c(x_c)
    • 采样近似第二个期望
    • 坐标上升法:固定其它参数,优化一个参数

有隐变量

  • EM 算法

推断

  • 条件概率查询:p(qe)=zp(q,e,z)q,zp(q,e,z)p(q|e)=\frac{\sum_z p(q,e,z)}{\sum_{q,z}p(q,e,z)}
  • 因果推理
    • 已知网络中的祖先节点而计算后代节点的条件概率
  • 诊断推理
    • 已知后代节点计算祖先节点,贝叶斯定理
  • 支持推理
    • 原因间的相互影响

精确推断

  • 精确推断:NP-hard
  • 变量消除法
  • 信念传播算法(BP, 合积算法,消息传递算法)
    • 链上的 BP 算法
      • p(xt)=1Zt=1T1ϕ(xt,xt+1)p(x_t)=\frac{1}{Z}\prod_{t=1}^{T-1}\phi(x_t,x_{t+1})
      • p(xt)=1Zx1xt1xt+1xTt=1T1ϕ(xt,xt+1)p(x_t)=\frac{1}{Z}\sum_{x_1}\cdots\sum_{x_{t-1}}\sum_{x_{t+1}}\cdots\sum_{x_T}\prod_{t=1}^{T-1}\phi(x_t,x_{t+1})
      • p(xt)=1Zμt1,t(xt)μt+1,t(xt)p(x_t)=\frac{1}{Z}\mu_{t-1,t}(x_t)\mu_{t+1,t}(x_t)
      • μt1,t(xt)=xt1ϕ(xt1,xt)μt2,t1(xt1)\mu_{t-1,t}(x_t)=\sum_{x_{t-1}}\phi(x_{t-1},x_t)\mu_{t-2,t-1}(x_{t-1})
      • μt+1,t(xt)=xt+1ϕ(xt,xt+1)μt+2,t+1(xt+1)\mu_{t+1,t}(x_t)=\sum_{x_{t+1}}\phi(x_t,x_{t+1})\mu_{t+2,t+1}(x_{t+1})
    • 树结构上的 BP 算法
    • 图结构上的 BP 算法:联合树算法

近似推断

  • 环路信念传播:使用信念传播算法在含环图上获得近似解

变分推断

  • 变分推断(变分贝叶斯):寻找简单分布 q(z)q^*(z) 近似条件概率密度 p(zx)p(z|x)
  • 泛函优化问题:q(z)=arg minq(z)QKL(q(z)p(zx))=argmaxq(z)QELBO(q,x)q^*(z)=\argmin_{q(z)\in Q}\text{KL}(q(z)\|p(z|x))=\arg\max_{q(z)\in Q}\text{ELBO}(q,x)
  • 候选分布族 QQ
    • 平均场分布族:q(z)=m=1Mqm(zm),zmZq(z)=\prod_{m=1}^Mq_m(z_m),z_m\subseteq Z
    • 神经网络拟合 p(zx)p(z|x)
  • ELBO(q,x)=m=1Mqm(zm)(logp(x,z)m=1Mlogqm(zm))dz=qj(mjqmlogp(x,z)dzm)dzjqjlogqjdzj+C\text{ELBO}(q,x)=\int \prod_{m=1}^Mq_m(z_m)(\log p(x,z)-\sum_{m=1}^M\log q_m(z_m))dz=\int q_j(\int\prod_{m\neq j}q_m\log p(x,z)dz_m)dz_j-\int q_j\log q_j dz_j+C
    • ELBO(q,x)=qjlogp~(x,zj)dzjqjlogqjdzj+C\text{ELBO}(q,x)=\int q_j\log \tilde p(x,z_j)dz_j-\int q_j\log q_j dz_j+C
    • logp~(x,zj)=Eq(z\j)logp(x,z)+C\log \tilde p(x,z_j)=E_{q(z_{\backslash j})}\log p(x,z) + C 关于 zjz_j 未归一化分布
    • 最优化 qj(zj)=p~(x,zj)q_j^*(z_j)=\tilde p(x,z_j)
  • 坐标上升法:迭代优化 qj(zj),j=1,,Mq_j^*(z_j),j=1,\cdots,M,使其收敛到局部最优解

采样法

  • 随机采样:cdf 递增,则在 cdf 逆函数上进行均匀采样
  • 拒绝采样
    • 未归一化分布 p^(x)\hat p(x)
    • 采样样本 x^\hat x
    • 提议分布(参考分布) q(x),k,x,kq(x)p^(x)q(x),\exists k,\forall x,kq(x)\geq \hat p(x)
    • 接受概率:α(x^)=p^(x^)kq(x^)\alpha(\hat x)=\frac{\hat p(\hat x)}{kq(\hat x)}
  • 重要性采样:从参考分布中采样
    • Ep[f(x)]=xf(x)p(x)dx=Eq(f(x)ω(x)]E_p[f(x)]=\int_x f(x)p(x)dx=E_q(f(x)\omega(x)]
    • 重要性权重:ω(x)=p(x)q(x)\omega(x)=\frac{p(x)}{q(x)}
    • 未归一:Ep(f(x))=xp^(x)f(x)dxxp^(x)dxn=1Nf(x(n)ω^(x(n)))n=1Nω^(x(n))E_p(f(x))=\frac{\int_x\hat p(x)f(x)dx}{\int_x\hat p(x)dx}\approx\frac{\sum_{n=1}^Nf(x^{(n)}\hat\omega(x^{(n)}))}{\sum_{n=1}^N\hat\omega(x^{(n)})}
  • 拒绝采样和重要性采样的效率随空间维数的增加而指数降低
  • MCMC 方法采样
    • 预烧期(Burn-in Period)
    • 相邻样本高度相关:每间隔 MM 次随机游走取一个样本
  • Metropolis-Hastings 算法
    • 根据 q(xxt)q(x|x_t) 采样 x^\hat x
    • 以如下概率接受:A(x^,xt)=min(1,p(x^)q(xtx^)p(xt)q(x^xt))A(\hat x,x_t)=\min(1,\frac{p(\hat x)q(x_t|\hat x)}{p(x_t)q(\hat x|x_t)})
  • Metropolis 算法:MH 算法中提议分布对称
    • A(x^,xt)=min(1,p(x^)p(xt))A(\hat x,x_t)=\min(1,\frac{p(\hat x)}{p(x_t)})
  • Gibbs Sampling:使用全条件概率作为提议分布,A=1A=1
    • p(xmx\m)=p(xnx1,,xm1,xm+1,,xM)p(x_m|x_{\backslash m})=p(x_n|x_1,\cdots,x_{m-1},x_{m+1},\cdots,x_M)
    • 按下标顺次采样