zoukankan      html  css  js  c++  java
  • 概率图基础

    概率图模型分类

    • 有向图:静态贝叶斯、动态贝叶斯(隐马尔可夫模型)
    • 无向图:马尔可夫网络(条件随机场、玻尔兹曼机)

    隐马尔可夫模型

    评估问题

    $HMM<S,O,Theta>, Theta=<pi ,A, B>$

    隐藏状态S,观测状态O,初始状态的概率分布$pi$,隐藏状态转移概率A,观测状态转移概率B

    计算观测序列概率

    • $p(O|Theta)=sum_{S}^{ }p(O,S|Theta)=sum_{S}^{ }p(O|S,Theta)p(S|Theta)$
    • $p(O|S,Theta)=prod_{i}^{ }p(O_i|S_i,Theta)=prod_{i}^{ }B(O_i,S_i)$
    • $p(S|Theta)=pi(S_0)prod_{i}^{ }p(S_{i+1}|S_i)$

    递归公式(前向算法)

    • $p(O_1^t|Theta)=sum_i^{ } p(O_1^t,S_{t+1}=i|Theta)=sum_i^{ }alpha_t(i)$
    • $alpha_{t+1}(i)=sum_j^{ } p(O_1^t,O_{t+1},S_t=j,S_{t+1}=i|Theta)=sum_j^{ } p(O_{t+1},S_{t+1}=i|S_t=j,O_1^t,Theta)p(O_1^t,S_t=j|Theta)$
      • $=sum_j^{ } p(O_{t+1},S_{t+1}=i|S_t=j,Theta)alpha_t(i)=sum_j^{ } B(O_{t+1},i)A(i,j)alpha_t(i)$

    解码问题

    解码问题:求解隐藏序列$arg\,max_Sp(S|O,Theta)$,viterbi/A*算法
    • ­输入为音子时,观察与状态之间为多对一关系
    • ­$arg\,max_Sp(S|O,Theta)=arg\,max_Sp(O|S,Theta)p(S|Theta)=arg\,max_Sprod_{i}^{ }B(O_i,S_i)pi(S_0)prod_{i}^{ }A(S_{i+1},S_i)$
    • ­序列空间约束:$given\,S_{n+1}, S_n=arg\,max_sB(O_{n+1}, S_{n+1})A(S_{n+1}, s)$
    • ­递归公式:$delta_i(t)=max_{q_{1}^{t-1}}p(O_{1}^{t},q_{1}^{t-1},q_t=i)$;$delta_{i+1}(t)=max_{i}[delta_i(t)A(j,i)]B(O_{t+1},j)$

    学习问题

    参数估计$arg\,max_{Theta}p(O|Theta)$
    • ­引入中间变量,采用 EM/向前向后算法
    • ­后向变量:$eta_t(j)=p(O_{t+1}^T |q_t=j,Theta)$
    • $xi_t(i,j)=p(q_t=i,q_{t+1}=j|O,Theta)=frac{p(q_t=i,q_{t+1}=j,O|Theta)}{p(O|Theta)}=frac{alpha_t(i)A(j,i)B(O_{t+1},j)eta_{t+1}(j)}{sum_{i}^{ }alpha_T(i)}$
    • $pi(i)=p(q_1=i|O)=sum_{i}^{ }xi_1(i,j)=gamma_1(i)$
    • $A(j,i)=frac{sum_{t}^{ }p(q_t=i,q_{t+1}=j|O)}{sum_{t}^{ }p(q_t=i|O)}=frac{sum_{t}^{ }xi_t(i,j)}{sum_{t}^{ }gamma_t(i)}$
    • $B(O_T,i)=frac{sum_{t}^{ }p(q_t=i,O_t|O)}{sum_{t}^{ }p(q_t=i|O)}=frac{sum_{t}^{ }gamma_t(i)delta(o=O_t)}{sum_{t}^{ }gamma_t(i)}$

    条件随机场

    马尔可夫随机场MRF

    • 无向图表示的联合概率分布
    • 成对马尔可夫性:任意不相邻的节点a,b在其它节点已知的条件下概率独立
      •  $p(a,b|C)=p(a|C)p(b|C)$
    • 团:完全子图
    • 联合概率等于所有最大团的联合概率的乘积
      •  $p(x)=frac{1}{Z}prod_cPsi (X_c)$

    条件随机场CRF

    • 如果 Y 为 MRF,那么P(Y|X)为CRF
    • 线性链随机场:$p(Y_i|X,Y)=p(Y_i|X,Y_{i-1},Y_{i+1})$
      • $=frac{1}{Z(x)}exp(sum_{i,k}^{ } w_kf_k(y_{i-1},y_i,x,i))=frac{1}{Z(x)}exp( W^TF(y,x))$
    • 预测问题:$arg\,max_yfrac{1}{Z(x)}exp( W^TF(y,x))=arg\,max_yexp( W^TF(y,x))$
    • 学习问题:$arg\,max_wfrac{1}{Z(x)}exp( W^TF(y,x))$

    概率采样算法

    定理:[细致平稳条件](detailed balance condition)

    • 如果非周期马氏链的转移矩阵P和分布$pi(x)$满足$forall i,j\,pi(i)P_{ij}=pi(j)P_{ji}$,则$pi(x)$是马氏链的平稳分布

    Metropolis-Hastings

    • 根据转移矩阵P的马氏链,构造平稳分布为p(x)的马氏链
    • 需要串联一个因子$alpha$,$pi(i)P_{ij}alpha_{ij}=pi(j)P_{ji}alpha_{ji}$,满足细致平稳条件。相当于修正转移矩阵。
    • $alpha=min(1,frac{pi(i)P_{ij}}{pi(j)P_{ji}})$

    Metropolis/MCMC伪代码

    • 初始化状态x0
    • 根据转移矩阵P ,生成状态y
    • 生成r=uniform(),如果r<α(x,y),接受xn+1=y
    • 迭代直到收敛,采样为分布

    模拟退火

    • 避免极小值,逐渐降低温度,使得Metropolis算法快速收敛

    玻尔兹曼机

    Gibbs采样算法

    • 观察到任意$p(x_1,x_C)p(x_2|x_C)=p(x_2,x_C)p(x_1|x_C)$,满足细致平稳条件
    • 每次按照边缘条件分布概率,改变一个分量
    • 收敛到联合分布,通常为Gibbs分布:$p_x=frac{1}{Z}e^{-frac{E_x}{k_BT}}$

    Boltzmann机

    • 状态向量分为可见部分$x_a$和隐藏部分$x_b$
    • $p(x)=frac{1}{Z}e^{-E(x)}$,这里$E(x)=frac{1}{2}x^TWx$
    • $p(x_j|[x_i|i eq j])=phi(xsum_{i eq j}^{ } w_{ji}x_i)$
    • 最大化似然函数:$L(w)=sum log(p(x_a))=-sum E(x)-sum log(Z)$
    • 配分函数Z难以计算

    受限Boltzmann机

    • 具有随机性的可见层v和一层隐藏层h,无向的二分图
    • 能量定义为:$E(v,h)=-a^Tv-b^Th-h^TWv$
    • p(h|v)与 p(v|h)易于计算和采样,因此可以采用CD、SML(PCD)、比率匹配等技术。

    CD算法

    • 取 m 个样本,得到 ML 的正项
    • Gibbs 采样到平衡,得到负项估计
    • 得到上升梯度

    参考文献

    • Deep learning, www.deeplearning.net
    • 俞栋、邓力,解析深度学习:语言识别实践,电子工业出版社,2016.7
  • 相关阅读:
    用C#如何创建、读取cookie
    根据拼音首字母搜索
    物理路径和相对路径 斜杠和反斜杠
    FileUpLoad导入文件类型
    JS获取FckEditor的值
    DateTime 的24小时和12小时制
    JS中Date对象getYear()方法和getFullYear()方法区别
    SQL Server 索引结构及其使用(二)
    带你学习JQuery:事件冒泡和阻止默认行为
    DropDownList 发现
  • 原文地址:https://www.cnblogs.com/liuyunfeng/p/8085749.html
Copyright © 2011-2022 走看看