• LR采用的Sigmoid函数与最大熵(ME) 的关系


    LR采用的Sigmoid函数与最大熵(ME) 的关系

    从ME到LR

    先直接给出最大熵模型的一般形式,后面再给出具体的推导过程。

    [egin{align*} P_w(y|x) &= dfrac{1}{Z_w(x)}expleft(sum_{i=1}^{n}w_if_i(x,y) ight)\ mbox{where } Z_w(x) &= sum_yexpleft(sum_{i=1}^nw_if_i(x,y) ight) end{align*}]

    下面我们只考虑二分类问题,则有原式

    [egin{align*} P_w(y|X) &= dfrac{exp(W_0X)}{exp(W_0X) + exp(W_1X)}\ &= dfrac{1}{1 + exp((W1-W0)X)}\ &= dfrac{1}{1 + exp(WX)} end{align*}]

    这特么不就是用于二分类的Sigmoid函数么,也就是说LR采用Sigmoid函数除了因为Sigmoid函数具有一些漂亮的数学性质,比如(f=sigmoid(x)),那么(f‘(x) =(1-f(x))*f(x)),更重要的是这样找出来的模型是熵最大的。那么为什么要熵最大?最大熵原理是概率模型学习的一个准则,最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型

    最大熵模型推导

    最大熵模型是一个带约束的最优化问题

    [egin{align*} E_{ ilde{P}}(f) &= E_{P}(f)\ mbox{where } E_{ ilde{P}}(f) &= sum_{x,y} ilde{P}(x,y)f(x,y)\ mbox{and } E_{P}(f) &= sum_{x,y} ilde{P}(x)P(y|x)f(x,y) end{align*}]

    目标函数为

    [H(P) = -sum_{x,y} ilde{P}(x)P(y|x)log P(y|x) ]

    写成更加正式的形式如下

    [egin{align*} min_{Pin mathcal{C}}& -H(P) = sum_{x, y} ilde{P}(x)P(y|x)log P(y|x)\ mbox{s.t. }& E_{P}(f) - E_{ ilde{P}}(f) = 0 \ &sum_yP(y|x) = 1 end{align*}]

    引入拉格朗日乘子有

    [egin{align*} L(P,w) &=-H(P) + w_0left(1 - sum_yP(y|x) ight) + sum_{i=1}^nw_i(E_{ ilde{p}}(f_i)-E_P(f_i))\ &= sum_{x,y} ilde{P}(x)P(y|x)log P(y|x) + w_0left(1 - sum_y P(y|x) ight)\ &+ sum_{i=1}^nw_ileft(sum_{x,y} ilde{P}(x,y)f_i(x,y) - sum_{x,y} ilde{P}(x)P(y|x)f_i(x,y) ight) end{align*}]

    由原始问题的极小极大问题转为极大极小的对偶问题有

    [egin{align*} dfrac{partial L(P,w)}{partial P(y|x)} &= sum_{x,y} ilde{P}(x)(log P(y|x) + 1) - sum_yw_0 -sum_{x,y}left( ilde{P}(x)sum_{i=1}^nw_if_i(x,y) ight)\ &= sum_{x,y} ilde{P}(x)left(log P(y|x)+1-w_0-sum_{i=1}^nw_if_i(x,y) ight) end{align*}]

    令其为0,解得

    [P(y|x) = expleft(sum_{i=1}^nw_if_i(x,y) +w_0 - 1 ight) = dfrac{exp(sum_{i=1}^nw_if_i(x,y))}{exp(1-w_0)} ]

    由于$$sum_yP(y|x)=1$$有

    [exp(1-w_0) = sum_yexpleft(sum_{i=1}^nw_if_i(x,y) ight) ]

    即$$egin{align}
    P_w(y|x) &= dfrac{1}{Z_w(x)}expleft(sum_{i=1}^nw_if_i(x,y) ight)
    mbox{where } Z_w(x) &= sum_yexpleft(sum_{i=1}^nw_if_i(x,y) ight)
    end{align
    }$$

    看到这个形式的模型是不是突然就有一种似曾相识的感觉?对的,除了LR、ME以外,CRF也是这种形式的。这种模型有一个统一的的名称,对数线性模型。

  • 相关阅读:
    全排列(next_permutation)
    Codeforces Round #321 (Div. 2)C(tree dfs)
    cf_ducational Codeforces Round 16_D(gcd)
    cf455a(简单dp)
    cf584a(水题)
    cf112a(水题)
    冒泡排序
    Python内置类型性能分析
    常见时间复杂度
    MongoDB 备份
  • 原文地址:https://www.cnblogs.com/crackpotisback/p/8658355.html
Copyright © 2020-2023  润新知