zoukankan      html  css  js  c++  java
  • 【机器学习】【条件随机场CRF-3】条件随机场的参数化形式详解 + 画出对应的状态路径图 + 给出对应的矩阵表示

    1.条件随机场概念
    CRF,Conditional Random Field,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模式,其特点是假设输出随机变量构成马尔可夫随机场。

    条件随机场用于不同的预测问题。CRF条件随机场是给定随机变量X时,随机变量Y的马尔可夫随机场。

    有一种条件随机场是线性链条件随机场(Linear Chain Conditional Random Field)。线性链条件随机场可以用于标注等问题。then,在条件概率P(Y|X)中,Y是输出变量,表示标记序列,X是输入变量,表示需要标注的观测序列。也把标记序列称为状态序列(见隐马尔可夫模型)。

    2.条件随机场的参数化形式
    现在有一标注问题:输入观测序列为X=(X1,X2,X3),输出标记序列为Y=(Y1,Y2,Y3),Y1,Y2,Y3取值于{1,2}.

    假设特征t<k>,s<l>的对应的权值为λ<k>,μ<l>,公式如下所示:

    这里只注明特征取值为1的条件,取值为0的条件省略,如下:

    下同

    说明:t<k>是定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置,s<l>是定义在节点上的特征函数,称为状态特征,依赖于当前位置。这部分内容属于:条件随机场的参数形式的知识。关于条件随机场的参数化形式,详见前面博客:点我。

    3.参数化形式对应的状态路径图
    《统计学习方法》中这个示例,作者没有给出这个条件随机场的参数化形式 对应的状态路径图。看着这个参数形式t<k>和s<l>理解其对应的条件随机场,是不太形象的,也不好理解。

    所以下面人肉给出了此条件随机场的参数化形式对应的状态路径图,看着此图会发现,it's so easy~,有木有,详见下图:

    上图中给出了对t和s函数的理解,如果仔细看,应该很容易清楚其含义,然后就很容易地画出条件随机场的参数化形式对应的状态路径图~

    4.参数化形式对应的矩阵表示
    S矩阵表示定义到节点上的特征函数S(l),

    SW矩阵表示每个节点的权值

    E矩阵表示定义在边上的特征函数T(k),也称转移特征

    EW矩阵表示每个转移特征T(k)的权值

    S = np.array([[1,1], #X1:S(Y1=1), S(Y1=2)
    [1,1], #X2:S(Y2=1), S(Y2=2)
    [1,1]]) #X3:S(Y3=1), S(Y3=1)
    SW = np.array([[1.0, 0.5], #X1:SW(Y1=1), SW(Y1=2)
    [0.8, 0.5], #X2:SW(Y2=1), SW(Y2=2)
    [0.8, 0.5]])#X3:SW(Y3=1), SW(Y3=1)
    E = np.array([[[1, 1], #Edge:Y1=1--->(Y2=1, Y2=2)
    [1, 0]], #Edge:Y1=2--->(Y2=1, Y2=2)
    [[0, 1], #Edge:Y2=1--->(Y3=1, Y3=2)
    [1, 1]]])#Edge:Y2=2--->(Y3=1, Y3=2)
    EW= np.array([[[0.6, 1], #EdgeW:Y1=1--->(Y2=1, Y2=2)
    [1, 0.0]], #EdgeW:Y1=2--->(Y2=1, Y2=2)
    [[0.0, 1], #EdgeW:Y2=1--->(Y3=1, Y3=2)
    [1, 0.2]]])#EdgeW:Y2=2--->(Y3=1, Y3=2)
    也就是说上面W,SW,E,EW这四个矩阵就表示了上面参数化形式表示的条件随机场,参数化形式表示的条件随机场和矩阵形式表示的条件随机场,以及状态路径图表示的条件随机场都是等价的。

    到此,条件随机场的参数化形式解释结束了。

    (end)
    ---------------------
    作者:CV_ML_DP
    来源:CSDN
    原文:https://blog.csdn.net/u012421852/article/details/80344965
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    逆向初级-win32(四)
    逆向初级-C++(三)
    逆向初级-C语言(二)
    逆向初级-汇编(一)
    Kimabll数仓架构下如何确定模型落地哪些表
    浅谈数据仓库设计
    (转)Go语言的%d,%p,%v等占位符的使用
    (转)深入MySQL源码 学习方法 何登成专家
    (转)浅析MySQL二段锁
    (转)MySQL:为什么无法KILL在processlist中的语句
  • 原文地址:https://www.cnblogs.com/jfdwd/p/11191253.html
Copyright © 2011-2022 走看看