zoukankan      html  css  js  c++  java
  • 条件随机场入门(五) 条件随机场的预测算法

    CRF 的预测问题是给定模型参数和输入序列(观测序列)x, 求条件概率最大的输出序列(标记序列)$y^*$,即对观测序列进行标注。条件随机场的预测算法同 HMM 还是维特比算法,根据 CRF模型可得:

    egin{aligned}
    y^* &= arg max_yP_w(y|x) \
    &=  arg max_yfrac{ exp left {w cdot F(y,x) ight}}{Z_w(x)} \
    &=  arg max_y exp left {w cdot F(y,x) ight} \
    &= arg max_y w cdot F(y,x)
    end{aligned}

    于是,条件随机场的预测问题成为求非规范化概率最大的最优路径问题

    [arg max_y w cdot F(y,x)]

    注意,这时只需计算非规范化概率,而不必计算概率,可以大大提高效率。为了求解最优路径,将优化目标写成如下形式:

    [max_y sum_{i=1}^n w cdot F_i(y_{i-1},y_i,x)]

    其中,

    [F_i(y_{i-1},y_i,x) = left {f_1(y_{i-1},y_i,x),f_2(y_{i-1},y_i,x),…,F_K(y_{i-1},y_i,x) ight }^T]

    为局部特征向量。

    下面叙述维特比算法。首先求出位置 1 的各个标记 j=1,2,…,m 的非规范化概率:

    [delta_1(j) = w cdot F_1(y_0 = start,y_1 = j,x)]

    一般地,由递推公式,求出到位置 i 的各个标记 $l =1,2,…m$ 的非规范化概率的最大值,同时记录非规范化概率最大值的路径:

    egin{aligned}
    delta_i(l) &= max_{1 le j le m} left {delta_i(l-1) + w cdot F_i(y_{i-1} = j,y_i = l,x)  ight},  & l= 1,2,...,m\
    Psi_i(l) &=argmax_{1 le j le m} left {delta_{i-1}(l) + w cdot F_i(y_{i-1} = j,y_i = l,x)  ight}, & l= 1,2,...,m
    end{aligned}

    直到i = n 时终止。这时求得非规范化概率的最大值为

    [max_y(w cdot F(y,x)) = max_{1 le j le m} delta_n(j)]

    及最优路径的终点

    [y_n^* = arg max_{1 le j le m} delta _n(j)]

    由此最优路径终点返回,不断的找到各个时刻的最优值:

    [y_i^* = Psi_{i+1}(y^*_{i+1}) , i = n-1,n-2,…,1]

    以上便是一条最优路径了,求得该最优路径:

    [y^* = (y_1^*,y_2^*,…,y_n^*)^T]

    这便为条件随机场预测的维特比算法。

  • 相关阅读:
    常见的消息队列中间件介绍
    关系型数据库和非关系型数据库区别、oracle与mysql的区别
    SQL Server 和 Oracle 以及 MySQL 数据库
    Redis,Memcache,MongoDb的特点与区别
    详解布隆过滤器的原理,使用场景和注意事项
    Redis缓存穿透、缓存击穿以及缓存雪崩
    RPC、HTTP、RESTful
    集群,分布式,微服务概念和区别理解
    电脑双屏变单屏后,界面显示问题
    JDK 15已发布,你所要知道的都在这里!
  • 原文地址:https://www.cnblogs.com/ooon/p/5827078.html
Copyright © 2011-2022 走看看