softmax、GLM

转自:http://blog.****.net/acdreamers/article/details/44663305

在上一篇文章中,讲述了广义线性模型。通过详细的讲解,针对某类指数分布族建立对应的广义线性模型。

中,将继续来探讨广义线性模型的一个重要例子,它可以看成是Logistic回归的扩展,即softmax回归

 

我们知道Logistic回归只能进行二分类,因为它的随机变量的取值只能是0或者1,那么如果我们面对多分类问题

办?比如要将一封新收到的邮件分为垃圾邮件,个人邮件,还是工作邮件;根据病人的病情预测病人属于哪种病;对于

诸如MNIST手写数字分类(MNIST是一个手写数字识别库,相见http://yann.lecun.com/exdb/mnist/)。诸

如此类问题都涉及到多分类,那么今天要讲的softmax回归能解决这类问题。

 

 

在Logistic回归中,样本数据的值softmax、GLM,而在softmax回归中softmax、GLM,其中softmax、GLM是类别种数,

如在手写识别中softmax、GLM,表示要识别的10个数字。设

 

          softmax、GLM

 

那么

 

          softmax、GLM

 

而且有

 

          softmax、GLM

 

为了将多项式模型表述成指数分布族,先引入softmax、GLM,它是一个softmax、GLM维的向量,那么

 

   softmax、GLM

 

应用于一般线性模型,softmax、GLM必然是属于softmax、GLM个类中的一种。用softmax、GLM表示softmax、GLM为真,同样当softmax、GLM为假时,有

softmax、GLM,那么进一步得到联合分布的概率密度函数为

 

      softmax、GLM

 

对比一下,可以得到

 

      softmax、GLM   

 

由于

 

       softmax、GLM

 

那么最终得到

 

       softmax、GLM

 

可以得到期望值为

 

       softmax、GLM

 

接下来得到对数似然函数函数为

 

        softmax、GLM

 

其中softmax、GLM是一个softmax、GLM的矩阵,代表这softmax、GLM个类的所有训练参数,每个类的参数是一个softmax、GLM维的向量。所以在

softmax回归中将softmax、GLM分类为类别softmax、GLM的概率为

 

        softmax、GLM

 

跟Logistic回归一样,softmax也可以用梯度下降法或者牛顿迭代法求解,对对数似然函数求偏导数,得到

 

softmax、GLM

 

然后我们可以通过梯度上升法来更新参数

 

   softmax、GLM

 

注意这里softmax、GLM是第softmax、GLM个类的所有参数,它是一个向量。

 

在softmax回归中直接用上述对数似然函数是不能更新参数的,因为它存在冗余的参数,通常用牛顿方法中的Hessian

矩阵也不可逆,是一个非凸函数,那么可以通过添加一个权重衰减项来修改代价函数,使得代价函数是凸函数,并且

得到的Hessian矩阵可逆。更多详情参考如下链接。

 

链接:http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92

 

这里面也讲述了K个二元分类器与softmax的区别,值得学习。

 

 

参考资料:

(1)http://www.cnblogs.com/tornadomeet/archive/2013/03/22/2975978.html

(2)http://www.cnblogs.com/tornadomeet/archive/2013/03/23/2977621.html

(3)http://demo.netfoucs.com/lingerlanlan/article/details/38410123

(4)http://freemind.pluskid.org/machine-learning/softmax-vs-softmax-loss-numerical-stability/

(5)http://blog.****.net/celerychen2009/article/details/9014797

 


转自:http://blog.****.net/acdreamers/article/details/44663091

今天我来介绍一种在机器学习中应用的比较多的模型,叫做广义线性模型(GLM)。这种模型是把自变量的线性预测

函数当作因变量的估计值。在机器学习中,有很多模型都是基于广义线性模型的,比如传统的线性回归模型,最大熵

模型,Logistic回归,softmax回归,等等。今天主要来学习如何来针对某类型的分布建立相应的广义线性模型。

 

Contents

 

   1. 广义线性模型的认识

   2. 常见概率分布的认识

 

 

1. 广义线性模型的认识

 

   首先,广义线性模型是基于指数分布族的,而指数分布族的原型如下

 

   softmax、GLM

 

   其中softmax、GLM为自然参数,它可能是一个向量,而softmax、GLM叫做充分统计量,也可能是一个向量,通常来说softmax、GLM

 

   实际上线性最小二乘回归和Logistic回归都是广义线性模型的一个特例。当随机变量softmax、GLM服从高斯分布,那么

   得到的是线性最小二乘回归,当随机变量softmax、GLM服从伯努利分布,则得到的是Logistic回归。

 

   那么如何根据指数分布族来构建广义线性模型呢? 首先以如下三个假设为基础

 

   (1)给定特征属性softmax、GLM和参数softmax、GLM后,softmax、GLM的条件概率softmax、GLM服从指数分布族,即softmax、GLM

   (2)预测softmax、GLM的期望,即计算softmax、GLM

   (3)softmax、GLMsoftmax、GLM之间是线性的,即softmax、GLM

 

   在讲解利用广义线性模型推导最小二乘和Logistic回归之前,先来认识一些常见的分布,这是后面的基础。

 

 

2. 常见概率分布的认识

  

  (1)高斯分布

 

      关于高斯分布的内容我就不再多讲了,如果把它看成指数分布族,那么有

 

      softmax、GLM

 

         对比一下指数分布族,可以发现

 

      softmax、GLM

 

      所以高斯分布实际上也是属于指数分布族,线性最小二乘就是基于高斯分布的。

 

     

  (2)伯努利分布

 

      伯努利分布又叫做两点分布或者0-1分布,是一个离散型概率分布,若伯努利实验成功,则伯努利随机变

      量取值为1,如果失败,则伯努利随机变量取值为0。并记成功的概率为softmax、GLM,那么失败的概率就是softmax、GLM

      所以得到其概率密度函数为

 

                          softmax、GLM

 

         如果把伯努利分布写成指数分布族,形式如下

 

       softmax、GLM

 

      对比指数分布族,有

 

      softmax、GLM

 

      Logistic回归就是基于伯努利分布的,之前的Sigmoid函数,现在我们就可以知道它是如何来的了。如下

  

      softmax、GLM

 

      如果

 

      softmax、GLM

 

      那么softmax、GLM叫做正则响应函数,而softmax、GLM叫做正则关联函数

    

 

  (3)泊松分布

  

      泊松分布是一种离散型概率分布,其随机变量softmax、GLM只能取非负整数值0,1,2,... 且其概率密度函数为

 

      softmax、GLM

 

      其中参数softmax、GLM是泊松分布的均值,也是泊松分布的方差,表示单位时间内随机事件的平均发生率。在实际

      的实例中,近似服从泊松分布的事件有:某电话交换台收到的呼叫,某个网站的点击量,来到某个公共

      汽车站的乘客,某放射性物质发射出的粒子,显微镜下某区域内的白血球等计数问题。

 

      泊松分布的内容:http://zh.wikipedia.org/wiki/%E6%B3%8A%E6%9D%BE%E5%88%86%E4%BD%88

 

 

   关于概率论中的分布主要介绍这几个,其中还有很多分布都属于指数分布族,比如伽马分布,指数分布,多

   元高斯分布,Beta分布,Dirichlet分布,Wishart分布等等。根据这些分布的概率密度函数可以建立相

   应的模型,这些都是广义线性模型的一个实例。