二次代价函数的不足:
以sigmoid**函数为例,由于初始化是随机的,假设目标值为0,第一次随机初始化使得输入为0.82,那么还可以,多次迭代之后可以收敛到0.09,但如果第一次随机初始化到0.98,由于sigmoid**函数的性质,就会使得梯度特别小,从而即使迭代次数特别大,也很难收敛到一个较好的值。故实验二的输出0.2很不理想。
这个时候就需要引入交叉熵损失。当然我们可以更换**函数,但这个为了引出交叉熵函数但作用,我们不换**函数。
逻辑回归中使用的就是交叉熵损失函数。
对sigmoid函数再多一嘴,sigmoid函数的产生是由最大熵原理而来的,可以参考这篇文章https://blog.csdn.net/zynash2/article/details/79261039
但日常使用的理解其实可以很简单
具体看文末链接,总结一下就是交叉熵损失函数的梯度更新中可以避免对**函数求导(抵消掉了),从而摆脱了**函数的限制,实现了真正的误差越大,梯度越大。
Softmax函数
在逻辑回归二分类问题中,我们通常使用sigmoid将输出映射到[0,1]区间中以0.5为界限来分类。
LR是一个传统的二分类模型,它也可以用于多分类任务,其基本思想是:将多分类任务拆分成若干个二分类任务,然后对每个二分类任务训练一个模型,最后将多个模型的结果进行集成以获得最终的分类结果。常用的策略有One VS One和One VS All。
softmax回归是LR在多分类的推广。https://www.cnblogs.com/lianyingteng/p/7784158.html
Softmax的求导
softmax的计算与数值稳定性
Softmax回归
- softmax回归也需要建立多个lr二分类器,不过只是在最后表决的时候用softmax函数做了一下处理。
- softmax的梯度推导,其中为符号函数要不是0要不是1,sign(y(i)=j).
多分类LR与Softmax回归
有了多分类的处理方法,那么我们什么时候该用多分类LR?什么时候要用softmax呢?
总的来说,若待分类的类别互斥,我们就使用Softmax方法;若待分类的类别有相交,我们则要选用多分类LR,然后投票表决。
参考文章:https://blog.csdn.net/u014313009/article/details/51043064