机器学习--Softmax回归


      SVM只选自己喜欢的男神,Softmax把所有备胎全部拉出来评分,最后还归一化一下

1.引入---为何种问题存在

2.Softmax回归的预设函数、代价函数

    2.1Softmax函数

    2.2Softmax回归的预设函数

    2.3Softmax回归的代价函数

3.梯度下降法求解最优值

4.softmax regression模型参数的特点(参数冗余)

5.Softmax回归与Logistic 回归的关系

 

 

1.引入---为何种问题存在

线性回归解决的连续值的预测,逻辑回归解决的是离散值的预测,而且针对二分类问题。那么问题来了,如果是离散值预测,但是是多类别预测,也就是有多个类别标签,这种情况怎么办呢?Softmax回归针对的就是这种问题。

 

 

2.Softmax回归的预设函数、代价函数

 

  2.1Softmax函数(wiki

  Softmax函数,或称归一化指数函数[1]:198,是逻辑函数的一种推广。它能将一个含任意实数的K维向量 {\displaystyle \mathbf {z} } “压缩”到另一个K维实向量 {\displaystyle \sigma (\mathbf {z} )} 中,

使得每一个元素的范围都在{\displaystyle (0,1)}之间,并且所有元素的和为1。

 

 

这个函数的作用就是使得P(i)在负无穷到0的区间趋向于0,在0到正无穷的区间趋向于1。同样,softmax函数加入了e的幂函数正是为了两极化:正样本的结果将趋近于1,而负样本的结果趋近于0。这样为多类别分类提供了方便(可以把P(i)看作是样本属于类别i的概率)

 

 

  2.2Softmax回归的预设函数

softmax regression主要用于解决多元分类问题,假设对于样本,样本有K个类别,即。例如对于手写体识别来说 。softmax回归主要是估算对于输入样本  属于每一类别的概率,所以softmax回归的假设函数如下:

其中 是模型的参数,乘以的目的是为了使概率在[0,1]之间且概率之和为1。因此,softmax回归将样本标记为类别  的概率为:

  2.3 Softmax回归的代价函数

其中, 是示性函数,所谓示性函数即,举例来说就是:

 

 

其他博客有一种说法:

 

但感觉解释并不合理,这种推理类似于倒推,由特殊情况推导一般情况。

 我的推导过程,不知道对不对。

推导过程如下:(没搞懂)

  极大似然估计法:

假设当前输入为x1,x2,,xmx1,x2,⋯,xm,yiyi表示xixi的正确标签类别,似然函数可定义为:

使得似然函数最大化:

等价于:

使得似然函数最大化的参数就是极大似然估计希望得到的参数,因此可以定义以下损失函数, 然后用梯度下降逼近最优解

 

 

 

3.梯度下降法求解最优值

1.法一:

 

这里面几个容易踩得坑:1.对求偏导,这个  不要和 这里的  混淆了,还有就是除  项外其他项为0。2.红色框起来的地方结果为1,因为仅有一种类别满足条件是真,其他是0。
2.法二:如果上面的推导过程没看明白,可以看看下面这种推导方法,之所以要拆成两项,是因为分母中总含有  这一项,于是我们可以下列的方法拆成两项:

 

好吧,不得不承认编辑公式是一件费时费力的事情。。。

4.softmax regression模型参数的特点(参数冗余)

Softmax 回归有一个不寻常的特点:它有一个“冗余”的参数集。为了便于阐述这一特点,假设我们从参数向量  中减去了向量  这时,每一个  都变成了 。此时假设函数变成了以下的式子:

  • 换句话说,从  中减去  完全不影响假设函数的预测结果!这表明前面的 softmax 回归模型中存在冗余的参数。更正式一点来说, Softmax 模型被过度参数化了。对于任意一个用于拟合数据的假设函数,可以求出多组参数值,这些参数得到的是完全相同的假设函数 
  • 进一步而言,如果参数 是代价函数的极小值点,那么同样也是它的极小值点,其中  可以为任意向量。
  • 因此使  最小化的解不是唯一的。(有趣的是,由于  仍然是一个凸函数,因此梯度下降时不会遇到局部最优解的问题。但是 Hessian 矩阵是奇异的/不可逆的,这会直接导致采用牛顿法优化就遇到数值计算的问题)
  • 注意,当 时,我们总是可以将  替换为 (即替换为全零向量),并且这种变换不会影响假设函数。因此我们可以去掉参数向量 (或其他  中的任意一个)而不影响假设函数的表达能力。
  • 实际上,与其优化全部的 个参数(其中),我们可以令,只优化剩余的个参数,这样算法依然能够正常工作。

在实际应用中,为了使算法实现更简单清楚,往往保留所有参数,而不任意地将某一参数设置为 0。但此时我们需要对代价函数做一个改动:加入权重衰减。权重衰减可以解决 softmax 回归的参数冗余所带来的数值问题。

 

5.Softmax回归与Logistic 回归的关系

 

其实softmax回归是logistic回归的一般形式,logistic回归是softmax回归在   时的特殊形式,下面通过公式推导来看下当   时softmax回归是如何退化成logistic回归的:
当   时,softmax回归的假设函数为:

 

前面说过softmax回归的参数具有冗余性,从参数向量  中减去向量 ,完全不影响结果。现在我们令 ,并且两个参数向量都减去 ,则有:

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM