在前面我们详细的讨论过softmax损失函数以及SVM损失函数,以及应用了支持向量机进行图片分类的任务,不妨先复习一下支持向量机相关的思想内核:支持向量机想要寻求一组映射关系f(x)=wx+b,先将每一个图片的所有像素值都转换成矩阵,然后寻求一个权重矩阵w,使得f(x)=wx+b最后的得分矩阵(或向量)对应了每一个测试数据在每一个类别上的具体分数,最后的决策依据倾向于选择分数最高的类别。我们最后要讨论的便是如何寻找最优的权重矩阵w,我们便引入了一个概念叫做损失函数。首先是svm损失函数,其思想是:对于一个测试数据,我们倾向于正确类别的分数要高于错误类别一定的范围,才不会造成分类有误。换言之,只要我们正确类别的分数高于其他类别一定的安全边界,就可以认为我们没有损失,即图像分类正确;而softmax的思想则是更加类似于将其划归为一个概率事件,将分数取一个指数后归一化,然后根据正确类别的分数判断分类为此类别的概率有多大,将分数取一个对数后的值作为损失,并以此作为决策依据。可见我们不同的损失函数之间的计算方法虽然不同,但是核心思想都是一样的,即最小化损失函数,那么如何最小化损失函数呢,那便是应用梯度下降去求解,详细请见前文SVM 和 softmax的具体思想。我们支持向量机只要训练出一个较优的权重矩阵即可,我们便可以根据权重矩阵进行矩阵乘法运算,进而进行决策。但是问题也是显而易见的,我们仅仅进行了一次映射,并不能体现更多的细节,所以我们考虑采用多次映射的方法得到最终的分类分数。
提到SVM支持向量机,其也可看做是一个最简单的神经网络,他只有一个输入层,然后便是输出信号。我们今天要实现的两层神经网络相较于支持向量机而言多了一个隐藏层,换言之,是经过双层映射得到分数函数,下面先简要介绍一下神经网络的基础知识:
首先,人工神经网络是科学家通过研究动物神经元的行为而发明的一种计算模型。动物界的神经元是可以接受并感知外界的刺激,并分泌一种化学物质叫做神经递质,神经递质作用于突触后膜产生电信号,当冲动超过冲动阈值时,便向前面的神经元传递电信号。我们的人工神经网络又分为好多种类,例如前馈神经网络,卷积神经网络等,详细的分类见下图
(图片源自水印)
那么每个神经元之间是如何建立联系的呢?我们看下图,首先中间的圆圈是神经元,叫
标签:分数,Network,Neural,矩阵,损失,神经网络,向量,函数 From: https://www.cnblogs.com/Lbmttw/p/16858127.html