2.3.3 Softmax回归介绍

Softmax回归

到现在我们的分类问题都只能识别0和1的问题,比如说是猫或者不是猫,那么更复杂的问题怎么办呢?Softmax回归就能让你在多分类中识别是哪一个分类,而不只是二分类中识别。

这里写图片描述

如图所示,这里我们用C来表示想要分类的总类别。符合编程习惯,我们第一个数是从0开始的。这里我们的输出层有4个。因为它必须输出四个数,所以这四个数的预测值概率加起来应该等于1.

这里写图片描述

在Softmx网络中,最后一层,你也会像往常一样计算各层的线性部分。整个网络的计算流程大概如上图所示,最后根据哪个概率大输出预测值。

Sofxmax还可以做什么,我们可以举一个例子

这里写图片描述

如图所示,这里Softmax网络在没有隐藏层的情况下做的回归分类。比如说这里我们有两个输入,有四个输出,并最终生成预测。如图所示,这里虽然是线性分类,但是的确可以让这些数据分到三个类别当中。图中的颜色显式了Softmax分类器的输出的阈值,左上角的输出的着色是根据三种输出中概率最高的那种。这个图片显示了Softmax在没有隐藏层的情况下可以做到的事情。等有了更多的隐藏层的时候就可以学习得到更复杂的非线性决策边界,来区分不同的分类。

训练一个Softmax分类器

这里写图片描述

如图所示,这是我们定义成本函数的方式。因为对于真实的值而言,比如说是cat,那么对应的y值是1,而 y ^ 是一个概率值,于是Loss Function中y就不起作用,而要保证loss function尽可能的小就需要y的预测值尽可能的大(虽然不可能大过1),所以这么写loss function还是有一定的实际意义的。

上面说的是单样本训练,那么整个训练集的损失函数J又是如何呢?如图所示,就是对整个训练样本去在loss function然后取平均值。

扫描二维码关注公众号,回复: 1051454 查看本文章

注意到的是每一个小样本都是4×1的向量,那么大样本Y就是一个矩阵形式,是4×m的。

最后我们看一下Softmax输出层如何实现梯度下降。

这里写图片描述

如图所示,我们之前讲了该算法的前向传播过程,那么反向传播过程是什么样的呢?

反向传播的关键步骤是对最后一层的z进行求导操作,

d z [ L ] = y ^ y

但是,如果你要用深度学习框架的话,那么更多的只需要关注于前向传播就够了,因为深度学习框架会自动的帮你把反向传播过程搭建好。

吴教主深度学习和神经网络课程总纲

猜你喜欢

转载自blog.csdn.net/einstellung/article/details/80100384
今日推荐