softmax 回归
源网址:https://www.jianshu.com/p/ca15977641c1
针对逻辑回归,我们只有(0,1)这两个选项,但是在现实世界中,我们的预测结果可能会有多种。
比如,预测图片中的动物(可能是猫,狗,小鸡,考拉等)。
以下面的图片为例,我们可以看到我们将结果分为4类
C = number of classes = 4 (0,...,3)
我们看神经网络的最后一层,他有四个圆圈,也就意味着他有4个结果。
P(Other|x) : 在给定X的前提下,Other的概率。
P(Cat|x) : 在给定X的前提下,Cat的概率。
P(Dog|x) : 在给定X的前提下,Dog的概率。
P(Chick|x) : 在给定X的前提下,Chick的概率。
这四个概率相加 =1
P(Othe|x) + P(Cat|x) + P(Dog|x)+P(Chick|x)=1
我们再来看这张深度学习的图。
也就是因为softmax回归,我们需要将Z[l]变化未总和为“1”的概率,因此我们有以下几步操作:
1. 将Z[l]上面的值全部加上e指数。
2. 求得每个圆圈的数字,然后除以这四个指数的和。(可以看出,这四个概率的总和一定是1)
3. 这样每个数字的概率,就是啦。
我们来形象的了解下softmax回归
如果softmax回归,的classer是2,它就变成了逻辑回归。
我们来看看softmax的cost function
以上两个矩阵y的第二行是1,表明他是Cat,但是y_hat的概率是0.2,就说明这个模型建立的不够好。
那么,我们如何计算他们的cost function呢?
可以看出,矩阵y只有一个1,其他都是0,可见,无论对错,预测的概率越小,y'j越接近0,-logy'j越大,loss也就越大。那么优化器就会调节权值,将该类别的概率提高,减小loss。
下面,我们考虑有m个训练样本集的情况。
这里要说明的是,由于softmax回归,出现的是一个(4,1)的矩阵,因此当有m个训练样本是,他的返回值,也是(4,m)的矩阵。
可以看到,矩阵的每一列,就是一个y 或者y_hat的值,这里举得例子m为3。
关于向量的模和向量的范数的理解
https://blog.csdn.net/Tomxiaodai/article/details/81698878
softmax和cross-entropy是什么关系?(讲解了softmax及和交叉熵的关系)
https://www.zhihu.com/question/294679135
简单的交叉熵损失函数,你真的懂了吗?
https://zhuanlan.zhihu.com/p/38241764