logistic回归(二分类)和Softmax回归的关系、logistic回归(多分类)和Softmax的关系

转自:https://blog.csdn.net/danieljianfeng/article/details/41901063

logistic回归(二分类):

定义逻辑回归hypothesis为

其中,为sigmoid函数,可以理解为预测为正类的概率。

损失函数为:

 

对loss函数求导得到:

到现在为止,我们已经得到了loss函数以及关于参数的偏导数,只需要通过梯度下降就可以得到参数的解,OK,大功告成。 

如果需要预测一个为止数据x,属于那个类,只需要带入 。最简单的决策方法,如果大于等于0.5属于类别1,反之属于类别0,当然也可以属于其他的决策方法。

softmax回归:

Softmax回归处理多分类问题,我们假设函数 形式如下:
 


和逻辑回归一样,得到loss函数为:

 


 
其中的1{.}是一个指示性函数,即当大括号中的值为真时,该函数的结果就为1,否则其结果就为0。


然后计算损失函数的偏导函数,得到:


 
之后就可以用如果要用梯度下降法,或者L-BFGS法求得未知参数。


 
看上面的推到我们可以发现,对每一个参数减去一个参数,最后的结果没有影响。其实softmax 回归中对参数的最优化解不只一个,每当求得一个优化参数时,如果将这个参数的每一项都减掉同一个数,其得到的损失函数值也是一样的,这说明解不是唯一的。


之所以会出现这样的现象,因为损失函数不是严格非凸的,也就是说在局部最小值点附近是一个”平坦”的,所以在这个参数附近的值都是一样的了。
为避免出现这样的情况,加入正则项(比如说,用牛顿法求解时,hession矩阵如果没有加入规则项,就有可能不是可逆的从而导致了刚才的情况,如果加入了规则项后该hession矩阵就不会不可逆了),加入正则项后的loss函数表达式为:
 
此时loss函数的偏导函数为:
 

同样的,我们在逻辑回归中,也可以加上正则项。

 

逻辑回归与Softmax回归的联系:

我们在刚开始的时候说softmax 回归是逻辑回归的一般形式,现在我们看看两者之间的联系。当类别数k = 2 时,softmax 回归退化为逻辑回归,softmax 回归的假设函数为:
 
利用softmax回归参数冗余的特点,我们令 ,并且从两个参数向量中都减去向量,得到:

 


 
因此,用来表示,我们就会发现 softmax 回归器预测其中一个类别的概率为,另一个类别概率的为,这与 逻辑回归是一致的。

与神经网络的关系:


神经网络是一个多层次的分类模型,其实logistic回归和softmax回归可以看出最简单的神经网络,结构如下图所示:

 


  
一般的神经网络有输入层,隐含层以及输出层构成,而上图中只有输入层和输出层,而没有隐含层。神经网络处理二分类时,输出层为一个节点,但处理K(K>2)分类问题时,数据节点为K个,这个logistic回归和softmax回归保持一致。值得注意的,在神经网络中的最后一层隐含层和输出层就可以看成是logistic回归或softmax回归模型,之前的层只是从原始输入数据从学习特征,然后把学习得到的特征交给logistic回归或softmax回归处理。
因此,可以把处理分类问题的神经网络分成两部分,特征学习和logistic回归或softmax回归。

 

logistic回归(多分类)和softmax的关系:

我们已经知道,普通的logistic回归只能针对二分类(Binary Classification)问题,要想实现多个类别的分类,我们必须要改进logistic回归,让其适应多分类问题。

关于这种改进,有两种方式可以做到。

第一种方式是直接根据每个类别,都建立一个二分类器,带有这个类别的样本标记为1,带有其他类别的样本标记为0。假如我们有个类别,最后我们就得到了个针对不同标记的普通的logistic分类器。

第二种方式是修改logistic回归的损失函数,让其适应多分类问题。这个损失函数不再笼统地只考虑二分类非1就0的损失,而是具体考虑每个样本标记的损失。这种方法叫做softmax回归,即logistic回归的多分类版本。

我们首先简单介绍第一种方式。

对于二分类问题,我们只需要一个分类器即可,但是对于多分类问题,我们需要多个分类器才行。假如给定数据集,它们的标记,即这些样本有个不同的类别。

我们挑选出标记为的样本,将挑选出来的带有标记的样本的标记置为1,将剩下的不带有标记的样本的标记置为0。然后就用这些数据训练出一个分类器,我们得到(表示针对标记的logistic分类函数)。

按照上面的步骤,我们可以得到个不同的分类器。针对一个测试样本,我们需要找到这个分类函数输出值最大的那一个,即为测试样本的标记:

下面我们介绍softmax回归。

对于有个标记的分类问题,分类函数是下面这样:

在这里,我们将上式的所有的组合起来,用矩阵来表示,即:

这时候,softmax回归算法的代价函数如下所示(其中):

我们可以把logistic回归的损失函数改为如下形式:

很显然,softmax是logistic的推广,一般化。

但是,需要特别注意的是,对于,softmax回归和logistic回归的计算方式是不同的(不大明白哪里不同),不管是二分类还是多分类,都是一个主要区别。

对于选择softmax分类器还是个logistic分类器,取决于所有类别之间是否互斥。所有类别之间明显互斥用softmax分类器,所有类别之间不互斥有交叉的情况下最好用个logistic分类器。

 

 

 

参考:https://www.baidu.com/link?url=nbX0sgFtzJgB2fETKftMhijth6ikMK1GbPg5ysDS_EH6I76jSmbGvj19ov58HYDYwKtYfelTyN0lTmO0rjbhT_&wd=&eqid=e2b1a1140001a52c000000035b4c3aaf

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值