指数族分布-广义线性模型--softmax关系

0 引言

  由于要学习softmax回归,所以探究了一下softmax的推导过程。期间主要参考了一些博客和Andrew Ng 机器学习课程,在此一并感谢大家的无私与慷慨。要想明白softmax回归,需先搞清楚广义线性模型GLM,要想明白GLM又要先知道指数族分布,下面详细解释一下三者之间的关系。

1 指数族分布(The exponential family)

   指数族分布是指可以表示为指数形式的概率分布。指数族分布的一般表达式如下为:
  

P(y;η)=b(y)exp(ηTT(y)a(η))

  其中,η为分布的 *自然参数*;T(y)是 充分统计量,通常T(y)=y.当参数a、b、T都已知的情况下,便可获得一个以η为参数的函数族。我们常见的 伯努利分布高斯分布都属于指数族分布,以下把他们改写成指数族分布形式。

1.1 伯努利分布

  伯努利分布是对0、1问题进行建模。对于Bernoulli( φ ), yϵ{0,1},有 p(y=1;φ)=φ ; p(y=0;φ)=1φ 。将其表示成指数族格式如下:
  

伯努利分布

对比指数族分布形式,可知:
这里写图片描述

表明伯努利分布也是指数分布族的一种。从上式子可以看出, η 的形式与logistic函数一致,这是因为logistic模型对问题的前置概率估计其实就是伯努利分布。

1.2高斯分布

  为了方便推导,另 σ 为1:

这里写图片描述

   对比指数族分布公式:
b(y)=12πexp(12y2)
T(y)=y
η=μ
可以看出,伯努利分布、高斯分布均属于指数族分布。其实,常见的概率分布模型大都遵循指数分布:

  • 伯努利分布(Bernoulli):对0、1问题进行建模
  • 多项式分布(Multinomial):对K个离散结果的事件建模;如softmax
  • 泊松分布(Poisson):对计数过程进行建模,如网站访问量计数
  • 伽马分布(Gamma)与指数分布(exponential):对有间隔的正数进行建模,如公交车到站时间问题。
  • β 分布:对小数建模
  • Dirichlet分布:对概率分布进行建模
  • Wishart分布:协方差分布进行建模
  • 高斯分布
     研究指数族分布是为了引出广义线性模型,以下介绍GLM:

2 广义线性模型(General Linear Model )GLM

2.1 GLM假设  

  仔细观察伯努利分布和高斯分布的指数分布族形式中的η变量。可以发现,在伯努利的指数分布族形式中,η与伯努利分布的参数φ是一个logistic函数(下面会介绍logistic回归的推导)。此外,在高斯分布的指数分布族表示形式中,η与正态分布的参数μ相等,下面会根据它推导出普通最小二乘法(Ordinary Least Squares)。通过这两个例子,我们大致可以得到一个结论, η以不同的映射函数与其它概率分布函数中的参数发生联系,从而得到不同的模型,广义线性模型正是将指数分布族中的所有成员(每个成员正好有一个这样的联系)都作为线性模型的扩展,通过各种非线性的连接函数将线性函数映射到其他空间,从而大大扩大了线性模型可解决的问题
  GLM的形式化定义,有如下三个假设:
(1) y|x; 给定样本 x 与参数θ,样本分类 y 服从指数分布族中的某个分布;
(2)给定一个x,我们需要的目标函数为 hθ(x)=E[T(y)|x] ;
(3) η=θTx
通过GLM三个假设,可以推导出logistic模型和普通最小二乘模型。推导过程如下:

2.2 logistic回归推导

伯努利目标函数:

hθ(x)=E[T(y)|x]=E[y|x]=1p(y=1|x;θ)+0p(y=0|x;θ)
=φ
=11+eη
=11+eθTx

  • 公式第一行由GLM假设(2)得出;
  • 公式第二行由伯努利分布得出
  • 公式第三行由伯努利指数分布族表示得出
  • 公式第四行由GLM假设(3)进行变量替换得出
2.3 高斯最小二乘推导

高斯分布目标函数:

hθ(x)=E[T(y)|x]=E[y|x]
=μ
=η
=θTx

  • 第一行由GLM假设(2)得出
  • 第二行由高斯分布 y|x;θN(μ,σ2) 计算得到
  • 第三行由高斯分布的指数族分布表示得出
  • 第四行由GLM假设(3)得到

      将η与原始概率分布中的参数联系起来的函数成为正则相应函数(canonical response function), φ=11+eη 、μ=η即是正则响应函数。正则响应函数的逆成为正则关联函数(canonical link function)。
      所以,对于广义线性模型,需要决策的是选用什么样的分布,当选取高斯分布时,我们就得到最小二乘模型,当选取伯努利分布时,我们得到 logistic 模型,这里所说的模型是假设函数 h 的形式。
      最后总结一下:广义线性模型通过假设一个概率分布,得到不同的模型,而梯度下降和牛顿方法都是为了求取模型中的线性部分 θTx 的参数θ
      另外一个重要的多分类模型softmax regression,同样可以通过广义线性模型推导得出,具体见下一小结。

3 softmax回归–多分类模型

3.1 softmax模型推导  

  在Logistic回归中,样本适用于二分法,即 yi{0,1} ,而softmax回归适用于多种类分类,其中 yi{1,2,...,k} ,其中 k 是类别种数,比如手写字符识别中k=10,表示要分类识别10个数字。设

p(y=i;ϕi)=ϕi
那么:
i=1kϕi=1
ϕk=1i=1k1ϕi
为了将多项式模型表示成指数族,先引入 T(y) ,它是一个 k1 维向量,那么
  

这里写图片描述

与之前不一样,此处 T(y) 不等于 y ,它是一个k1维向量。接下来,我们使用 T(y)i 表示 T(y) 的第i个元素。
  引入函数 I ,使得:
  
I(True)=1,I(False)=0
,则此时 T(y) 向量中的某个元素 i 可以表示成:
T(y)i=I(y=i)
E[T(y)i]=y=1kT(y)iϕi=y=1kI(y=i)ϕi=ϕi
如下,将 K 分类转换成指数族分布形式,推导如下:
 
这里写图片描述
对比指数族分布,可知:
 
这里写图片描述
由于
ηi=logϕiϕkϕi=ϕkeηi
最终可得:
ϕk(eη1+eη2+...+eηk)=1eηk=1kj=1eηj
目标函数:
  这里写图片描述

3.2 softmax 回归参数求解

接下来建立对数似然函数:

这里写图片描述
其中, θ k(n+1) 的矩阵,代表这 k 个类的所有训练参数,每个类的参数是一个n+1维的向量。 θ 表示为:

这里写图片描述
同logistic回归一样,softmax同样可以通过梯度下降法或牛顿迭代法求解,对对数似然函数求导,得到: 这里写图片描述可通过梯度上升法更新参数,
θl=θl+αL(θ)θl
,注意这里的 θl 是第 l <script type="math/tex" id="MathJax-Element-145">l</script>个类的所有参数,它是一个 向量
3.3 softmax 回归参数求解调整
  比较有趣的时,softmax regression中对参数的最优化求解不只一个,每当求得一个优化参数时,如果将这个参数的每一项都减掉同一个数,其得到的损失函数值也是一样的。这说明这个参数不是唯一解。用数学公式证明过程如下所示:
   这里写图片描述
  那这个到底是什么原因呢?从宏观上可以这么理解,因为此时的损失函数不是严格非凸的,也就是说在局部最小值点附近是一个”平坦”的,所以在这个参数附近的值都是一样的了。那么怎样避免这个问题呢?其实加入规则项就可以解决(比如说,用牛顿法求解时,hession矩阵如果没有加入规则项,就有可能不是可逆的从而导致了刚才的情况,如果加入了规则项后该hession矩阵就不会不可逆了),加入规则项后的损失函数表达式如下:
   这里写图片描述
  偏导表达式:
   这里写图片描述
  softmax regression和k binary classifiers之间的区别和使用条件。总结就这么一个要点:如果所需的分类类别之间是严格相互排斥的,也就是两种类别不能同时被一个样本占有,这时候应该使用softmax regression。反正,如果所需分类的类别之间允许某些重叠,这时候就应该使用binary classifiers了。
参考博文:
http://blog.csdn.net/acdreamers/article/details/44663305
http://blog.csdn.net/dream_angel_z/article/details/46288167
http://deeplearning.stanford.edu/wiki/index.php/Softmax_Regression
http://www.cnblogs.com/tornadomeet/archive/2013/03/23/2977621.html

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值