[机器学习][基础算法]条件随机场

概率图模型

图模型

马尔科夫过程(马尔科夫链)

  • 定义:假设一个随机过程中,某刻的状态至于前一状态有关,即:
    P ( x n ∣ x 1 , x 2 , . . . x n − 1 ) = P ( x n ∣ x n − 1 ) P ( x n ∣ x 1 , x 2 , . . . , x n − 1 ) = P ( x n ∣ x n − 1 ) P(x_n|x_1,x_2,...x_{n-1})=P(x_n|x_{n-1})P(xn|x1,x2,...,xn−1)=P(xn|xn−1) P(xnx1,x2,...xn1)=P(xnxn1)P(xnx1,x2,...,xn1)=P(xnxn1)
    则其称为马尔科夫过程。
    信息论中也有类似概念。

隐马尔科夫算法

  • 定义:隐马尔科夫算法是对含有未知参数(隐状态)的马尔可夫链进行建模的生成模型,如下图所示:
    马尔可夫链
    在隐马尔科夫模型中,包含隐状态 和 观察状态,隐状态 x i x_i xi 对于观察者而言是不可见的,而观察状态 y i y_i yi 对于观察者而言是可见的。隐状态间存在转移概率,隐状态 x i x_i xi到对应的观察状态 y i y_i yi间存在输出概率。

条件随机场

以线性链条随机场为例

  • 定义:给定 X = ( x 1 , x 2 , . . . , x n ) X=(x_1,x_2,...,x_n) X=(x1,x2,...,xn) Y = ( y 1 , y 2 , . . . , y n ) Y=(y_1,y_2,...,y_n) Y=(y1,y2,...,yn) 均为线性链表示的随机变量序列,若在给随机变量序列 X 的条件下,随机变量序列 Y 的条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 构成条件随机场,即满足马尔可夫性:
    P ( y i ∣ x 1 , x 2 , . . . , x i − 1 , y 1 , y 2 , . . . , y i − 1 , y i + 1 ) = P ( y i ∣ x , y i − 1 , y i + 1 ) P(y_i|x_1,x_2,...,x_{i-1},y_1,y_2,...,y_{i-1},y_{i+1})= P(y_i|x,y_{i-1},y_{i+1}) P(yix1,x2,...,xi1,y1,y2,...,yi1,yi+1)=P(yix,yi1,yi+1)
    则称为 P(Y|X) 为线性链条件随机场。
    通过去除了隐马尔科夫算法中的观测状态相互独立假设,使算法在计算当前隐状态 x i x_i xi时,会考虑整个观测序列,从而获得更高的表达能力,并进行全局归一化解决标注偏置问题。
    隐马尔可夫
    至于公式化表示的话是指:
    p ( y ∣ x ) = 1 Z ( x ) ∏ i = 1 n exp ⁡ ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) p\left(y | x\right)=\frac{1}{Z\left(x\right)} \prod_{i=1}^{n} \exp \left(\sum_{i, k} \lambda_{k} t_{k}\left(y_{i-1}, y_{i}, x, i\right)+\sum_{i, l} \mu_{l} s_{l}\left(y_{i}, x, i\right)\right) p(yx)=Z(x)1i=1nexpi,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i)
    在最上面的概率图模型中,有如下解释:
    贝叶斯网络(信念网络)都是有向的,马尔科夫网络无向。所以,贝叶斯网络适合为有单向依赖的数据建模,马尔科夫网络适合实体之间互相依赖的建模。具体地,他们的核心差异表现在如何求 P = ( Y ) P=(Y) P=(Y) ,即怎么表示 Y = ( y 1 , . . . , y n ) Y=(y_1,...,y_n) Y=(y1,...,yn) 这个的联合概率。

    1. 有向图

    对于有向图模型,这么求联合概率: P ( x 1 , . . . , x n ) = ∏ i = 0 P ( x i ∣ π ( x i ) ) P(x_1,...,x_n)=\prod_{i=0}P(x_i|\pi(x_i)) P(x1,...,xn)=i=0P(xiπ(xi))

    举个例子,对于下面的这个有向图的随机变量
    i有向图
    应该这样表示他们的联合概率:
    P ( x 1 , . . . , x n ) = P ( x 1 ) ⋅ P ( x 2 ∣ x 1 ) ⋅ P ( x 3 ∣ x 3 ) ⋅ P ( x 4 ∣ x 2 ) ⋅ P ( x 5 ∣ x 3 , x 4 ) P(x_1,...,x_n)=P(x_1)\cdot P(x_2|x_1)\cdot P(x_3|x_3)\cdot P(x_4|x_2)\cdot P(x_5|x_3,x_4) P(x1,...,xn)=P(x1)P(x2x1)P(x3x3)P(x4x2)P(x5x3,x4)
    2. 无向图
    无向图 如果一个graph太大,可以用因子分解将 P = ( Y ) P=(Y) P=(Y) 写为若干个联合概率的乘积。咋分解呢,将一个图分为若干个“小团”,注意每个团必须是“最大团”(就是里面任何两个点连在了一块,具体……算了不解释,有点“最大连通子图”的感觉),则有: P ( Y ) = 1 Z ( x ) ∏ c ψ c ( Y c ) P(Y) = \frac{1}{Z(x)}\prod_c\psi_c(Y_c) P(Y)=Z(x)1cψc(Yc)
    , 其中 Z ( x ) = ∑ Y ∏ c ψ c ( Y c ) Z(x)=\sum_Y\prod_c\psi_c(Y_c) Z(x)=Ycψc(Yc),归一化是为了让结果算作概率。
    所以像上面的无向图:
    P ( Y ) = 1 Z ( x ) ∏ c ψ 1 ( X 1 , X 3 , X 4 ) ⋅ ψ 1 ( X 1 , X 3 , X 4 ) P(Y) = \frac{1}{Z(x)}\prod_c\psi_1(X_1,X_3,X_4)\cdot\psi_1(X_1,X_3,X_4) P(Y)=Z(x)1cψ1(X1,X3,X4)ψ1(X1,X3,X4)
    其中 ψ c ( Y c ) \psi_c(Y_c) ψc(Yc), 是一个最大团 C C C 上随机变量们的联合概率,一般取指数函数的:
    ψ c ( Y c ) = e − E ( Y c ) = e ∑ k λ k f k ( c , y ∣ c , x ) \psi_c(Y_c)=e^{-E(Y_c)}=e^{\sum_k\lambda_kf_k(c,y|c,x)} ψc(Yc)=eE(Yc)=ekλkfk(c,yc,x)
    好了,管这个东西叫做势函数。注意 e ∑ k λ k f k ( c , y ∣ c , x ) e^{\sum_k\lambda_kf_k(c,y|c,x)} ekλkfk(c,yc,x) 是否有看到CRF的影子。
    那么概率无向图的联合概率分布可以在因子分解下表示为:
    P ( Y ) = 1 Z ( x ) ∏ c ψ c ( Y c ) = 1 Z ( x ) ∏ c e ∑ k λ k f k ( c , y ∣ c , x ) = 1 Z ( x ) e ∑ c ∑ k λ k f k ( y , y i − 1 , c , i ) P(Y) = \frac{1}{Z(x)}\prod_c\psi_c(Y_c)=\frac{1}{Z(x)}\prod_c e^{\sum_k\lambda_kf_k(c,y|c,x)}=\frac{1}{Z(x)} e^{\sum_c\sum_k\lambda_kf_k(y,y_i-1,c,i)} P(Y)=Z(x)1cψc(Yc)=Z(x)1cekλkfk(c,yc,x)=Z(x)1eckλkfk(y,yi1,c,i)
    注意查看知乎
    https://www.zhihu.com/question/35866596/answer/236886066

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值