zoukankan      html  css  js  c++  java
  • 学习笔记——逻辑斯蒂回归与最大熵模型

    逻辑斯蒂回归(logistic regression)是统计学习中的经典分类方法。最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型(maximum entropy)。都属于对数线性模型。

    逻辑斯蒂回归模型


    • 逻辑斯蒂分布:设(X)是连续随机变量,(X)服从服从下列分布函数和密度函数(分布函数是一条S形曲线):$$F(x) = P(X leq x) = frac{1}{1+e^{-(x-mu)/gamma}}$$$$f(x) = F^{'}(x) = frac{e^{-(x-mu)/gamma}}{gamma (1+e^{-(x-mu)/gamma})^2}$$

    • 二项逻辑斯蒂回归模型:
      这里,(x in R^n)是输入,(Y)是输出,为0或1,(w in R^n)为权值向量,(b in R)为偏置。

    [P(Y=1 | x) = frac{exp (w cdot x + b)}{1 + exp (w cdot x + b)}$$$$P(Y=0 | x) = frac{1}{1 + exp (w cdot x + b)} ]

    为了方便,将$w$和$x$向量进行扩充,逻辑斯蒂回归如下:
    $$P(Y=1 | x) = frac{exp (w cdot x)}{1 + exp (w cdot x)}$$$$P(Y=0 | x) = frac{1}{1 + exp (w cdot x)}$$
    
    • 在逻辑斯蒂回归模型中,输出(Y=1)的对数几率(odds,(p/(1-p)))是输入(x)的线性函数。
      换个角度看,逻辑斯蒂回归模型将线性函数(w cdot x)转换成概率,线性函数的值越接近正无穷,概率值越接近1;线性函数的值越接近负无穷,概率值约接近0。

    • 模型参数估计:
      给定数据集,使用极大似然估计法估计模型参数,推导如下:

      设:(P(Y=1|x) = pi (x), P(Y=0|x) = 1-pi (x))
      那么似然函数为:$$prod_{i=1}^N [pi (x_i)]^{y_i} [1-pi(x_i)]^{1-y_i}$$求一下对数然后进行化简,得到对数似然函数为:$$L(w) = sum _{i=1}^N [y_i (w cdot x_i) - log (1 + exp (w cdot x))]$$
      对上面的式子(L(w))求极大值,得到(w)的估计值,然后通常采用梯度下降法或拟牛顿法。

    • 简单推广一下即可得到多项逻辑斯蒂回归模型(multi-nominal logistics regression model)。

    最大熵模型


    最大熵原理

    • 最大熵原理:认为在所有可能的概率模型中,熵最大的模型就是最好的模型。
      用约束条件来确定概率模型的集合,那么最大熵原理可以表述为在满足约束条件的模型集合中选取熵最大的模型。

      直观地看,概率模型必须满足已有的事实(约束条件),在没有更多信息的情况下,那些不确定的部分都是”等可能的“,用熵的最大化来表示等可能性。
      熵:(H(P) = -sum_x P(x) log P(x)),熵满足(0 leq H(P) leq log |X|)

    最大熵模型的定义

    • 给出一组训练数据集,它们是已有的信息,怎样将它们作为约束条件呢?

      根据训练数据集,确定联合分布(P(X,Y))的经验分布,和边缘分布(P(X))的经验分布:$$ ilde{P} (X=x,Y=y) = frac{v(X=x,Y=y)}{N}$$ $$ ilde{P}(X=x) = frac{v(X=x)}{N}$$其中(v(cdot))表示训练数据中统计的频数,(N)表示训练样本容量。

      (f(x,y))取值为0或1。
      计算特征函数(f(x,y))关于经验分布( ilde{P}(X,Y))的期望值:$$E_{ ilde{P}} (f) = sum_{x,y} ilde{P} (x,y) f(x,y)$$计算特征函数关于模型(P(Y|X))与经验分布( ilde{P}(X))的期望值:$$E_p (f) = sum_{x,y} ilde{P}(x) P(y|x)f(x,y)$$如果模型能够获取训练数据中的信息,那么假设这两个期望值相等:$$E_{ ilde{P}} (f) = E_p (f) $$把这个作为约束条件。如果有n个特征函数(f_i(x,y), i = 1,2,...,n),那么就有(n)个约束条件。

    • 最大熵模型:

      假设满足所有约束条件的模型集合为:$$mathcal{C} = { P in mathcal{P} | E_p(f_i) = E_{ ilde{P}} (f_i), i =1,2,...,n}$$定义在条件概率分布(P(Y|X))上的条件熵为$$H(P) = -sum_{x,y} ilde{P} (x) P(y|x) log P(y|x)$$则模型集合中条件熵最大的模型称为最大熵模型。

    最大熵模型的学习

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

    本章后续部分比较复杂,学习完凸优化以后再来补:

    • 最大熵模型这个约束最优化问题的求解和如何使用
    • 证明对偶函数的极大化等价于最大熵模型的极大似然估计
    • 模型学习的最优化算法:
      • 梯度下降法
      • 改进的迭代尺度算法IIS
      • 拟牛顿法BFGS算法

    (注:本文为读书笔记与总结,侧重算法原理,来源为[《统计学习方法》](http://book.douban.com/subject/10590856/)一书第六章)
    作者:[rubbninja](http://www.cnblogs.com/rubbninja/) 出处:[http://www.cnblogs.com/rubbninja/](http://www.cnblogs.com/rubbninja/) 关于作者:目前主要研究领域为机器学习与无线定位技术,欢迎讨论与指正!
  • 相关阅读:
    C# 利用Log4Net进行日志记录
    驰骋工作流引擎JFlow与activiti的对比之2种结构化模式
    驰骋工作流引擎JFlow与activiti的对比之4种高级分支同步模式
    工作流引擎JFlow与activiti 对比分析(一)5种基本控制流模式的对比
    "整数"组件:<int> —— 快应用组件库H-UI
    "短整数"组件:<short> —— 快应用组件库H-UI
    "字节型整数"组件:<byte> —— 快应用组件库H-UI
    "图片验证码"组件:<vcode> —— 快应用组件库H-UI
    "手机验证码"组件:<smscode> —— 快应用组件库H-UI
    "邮政编码"组件:<postcode> —— 快应用组件库H-UI
  • 原文地址:https://www.cnblogs.com/rubbninja/p/4959404.html
Copyright © 2011-2022 走看看