zoukankan      html  css  js  c++  java
  • 最大熵模型

      曾经被问,Logistic回归为什么用sigmoid函数。一时语塞······

      Logistic回归采用sigmoid函数与最大熵有关。

      最大熵原理是概率模型学习的一个准则。最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。

      假设离散随机变量X的概率分布是P(X),则其熵是

              (1)

    熵满足下列不等式:

            

    式中,是X的取值个数,当且仅当X的分布是均匀分布是右边的等号成立。这就是说,当X服从均匀分布时,熵最大。

      最大熵模型的定义

      最大熵原理是统计学习的一般原理,将它应用到分类得到最大熵模型。

      假设分类模型是一个条件概率分布表示输入,表示输出,分别是输入和输出的集合。这个模型表示的是对于给定的输入X,以条件概率输出Y。给定一个训练数据集

            

    可以确定联合分布的经验分布和边缘分布的经验分布,分别以表示,这里

            

            

    其中,表示训练数据中样本出现的频数,表示训练数据中输入x出现的频数,N表示训练样本容量。

      用特征函数(feature function)描述输入x和输出y之间的某一个事实。其定义是

             if x与y满足某一事实 else 0

    它是一个二值函数。

      特征函数关于经验分布的期望值,用表示:

             

      特征函数关于模型与经验分布的期望值,用表示:

            

    如果模型能够获取训练数据中的信息,那么就可以假设这两个期望值相等,即

              (2)

              (3)

    我们将式(2)或式(3)作为模型学习的约束条件。假如有n个特征函数,那么就有n个约束条件。

      定义(最大熵模型) 假设满足所有约束条件的模型集合为

              (4)

    定义在条件概率分布 上的条件熵为

              (5)

    则模型集合中条件熵最大的模型称为最大熵模型。式中的对数为自然对数。

      最大熵模型的学习

      最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。

      对于给定的训练数据集以及特征函数,最大熵模型的学习等价于约束最优化问题:

            

              

                

    按照最优化问题的习惯,将求最大值问题改写为等价的求最小值问题:

              (6)

                (7)

                      (8)

    将约束最优化的原始问题转换为无约束最优化的对偶问题。通过求解对偶问题求解原始问题。

      首先,引进拉格朗日乘子,定义拉格朗日函数

            

                 

                    (9)

    最优化的原始问题是

              (10) 

     对偶问题是

               (11)

    由于拉格朗日函数是P的凸函数,原始问题(10)的解与对偶问题(11)的解释等价的。这样,可以通过求解对偶问题(11)来求解原始问题(10)。

      首先,求解对偶问题(11)内部的极小化问题是w的函数,将其记作

              (12)

     称为对偶函数。同时,将其解记作

              (13)

      具体地,求的偏导数

            

                  

    令偏导数等于0,在的情况下,解得

            

    由于,得

              (14) 

     其中,

               (15)

    称为规范化因子;是特征函数;是特征的权值。由式(14)、式(15)表示的模型就是最大熵模型。这里,w是最大熵模型中的参数向量。

      之后,求解对偶问题外部的极大化问题

              (16)

    将其解记为,即

              (17)

      这就是说,可以应用最优化算法求对偶函数的极大化,得到,用来表示。这里,是学习到的最优模型(最大熵模型)。也就是说,最大熵模型的学习归结为对偶函数的极大化。

      下面证明对偶函数的极大化等价于最大熵模型的极大似然估计。

      已知训练数据的经验概率分布,条件概率分布的对数似然函数表示为

            

    下面解释一下这个式子如何得到。条件概率分布的似然函数表示为

            

    于是,有

            

    因为对求最大值和对求最大值是一样的,而且

            

    因此,条件概率分布的对数似然函数表示为

            

    当条件概率分布是最大熵模型(14)和(15)时,对数似然函数

            

                   

                     (18)

    再看对偶函数。由式(9)和式(12)可得

            

                

                  

                    (19)

    最后一步用到

             

    比较式(18)和式(19),可得

            

    既然对偶函数等价于对数似然函数,于是证明了最大熵模型学习中的对偶函数极大化等价于最大熵模型的极大似然估计这一事实。

      这样,最大熵模型的学习问题就转换为具体求解对数似然函数极大化或对偶函数极大化的问题。

      可以将最大熵模型写成更一般的形式。

              (20)

    其中,

              (21)

    这里,为输入,为输出,为权值向量,为任意实值特征函数。

      最大熵模型与Logistic Regression模型有类似的形式,他们又称为对数线性模型(log linear model)。模型学习就是在给定的训练数据条件下对模型进行极大似然估计或正则化的极大似然估计。

  • 相关阅读:
    集合使用技巧
    集合总结
    Eclipse快捷键大全
    集合去掉重复元素的两种方式
    Collection集合的三种遍历方式
    win基本流程
    url
    StringBuffer7
    StringBuffer8
    StringBuffer6
  • 原文地址:https://www.cnblogs.com/Peyton-Li/p/7624800.html
Copyright © 2011-2022 走看看