【菜菜的CV进阶之路-神经网络的深入理解-十一】关于代价函数的两个假设

目录

简介

第一章-使用神经网络识别手写数字

            第一节-感知机

            第二节-sigmoid神经元

            第三节-神经网络的结构

            第四节-用简单的神经网络识别手写数字

            第五节-通过梯度下降法学习参数

            第六节-实现我们的手写体数字分类神经网络

            第七节-向深度学习进发!

第二章-反向传播算法工作原理

            第一节-热身:一个基于矩阵的快速计算神                            经网络输出的方法

            第二节-关于代价函数的两个假设

            第三节-Hadamard积--s⊙t

            第四节-反向传播背后的四个基本等式

            第五节-四个基本方程的证明(自选章节)

            第六节-反向传播算法

            第七节-反向传播算法代码

            第八节-为什么说反向传播算法很高效?

            第九节-反向传播:整体描述

注:

                哈工大原版翻译地址:https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/

                文章原版地址:《Neural Networks and Deep Learning》http://neuralnetworksanddeeplearning.com/


向传播算法的目标是计算代价函数C对神经网络中出现的所有权重w和偏置b的偏导数\frac{\partial C}{\partial w}\frac{\partial C}{\partial b}。为了使反向传播工作,我们需要对代价函数的结构做两个主要假设。在进行假设之前,在脑海中有一个代价函数的实例是很有用的。我们将会使用上一章讲到的平方代价函数作为例子。上一章的平方代价函数具有以下形式:

 其中n是训练样本总数;求和符号表示对每个独立训练样本x求和;y=y(x)是对应的希望输出;L是神经网络层数;a^{L}=a^{L}\left ( x \right )是输入为xx时激活函数的输出向量。

那么,为了能够使用反向传播算法,我们需要对代价函数C进行怎样的假设呢?第一条假设是代价函数能够被写成C=\frac{1}{n}\sum _xC_x的形式,其中C_x是每个独立训练样本x的代价函数。在代价函数为平方代价函数的情况下,一个训练样本的代价是C_x=\frac{1}{2}\left \| y-a^L\right \|^2。该假设对于本书中涉及到的其它所有代价函数都成立。我们需要上述假设的原因是,反向传播实际上是对单个训练数据计算偏导数\frac{\partial C}{\partial w}\frac{\partial C}{\partial b}。然后通过对所有训练样本求平均值获得\frac{\partial C}{\partial w}\frac{\partial C}{\partial b}。事实上,有了这个假设,我们可以认为训练样本x是固定的,然后把代价C_x去掉下标表示为C。最终我们会重新把x加回公式,但目前为了简便我们将它隐去。

我们对代价函数做的第二条假设是它可以写成关于神经网络输出结果的函数:

【菜菜的CV进阶之路-神经网络的深入理解-十一】关于代价函数的两个假设_第1张图片

 平方代价函数满足该要求,因为单一训练样本x的二次代价可以表示为:

 这是一个关于输出激活值的函数。显然,该代价函数也依赖于期望的输出y,所以你可能疑惑为什么我们不把代价视为关于y的函数。记住,输入的训练样本x是固定的,因此期望的输出y也是固定的。需要注意,我们不能通过改变权值或偏置来修改它,换句话说,它不是神经网络所学习的东西。所以把C视为只关于输出a^L的函数是有道理的。在该函数中y只是帮助定义函数的参数。

你可能感兴趣的:(计算机视觉,神经网络,理解,关于代价函数的两个假设)