卷积神经网络做回归预测,卷积神经网络推导过程

卷积神经网络做回归预测,卷积神经网络推导过程_第1张图片

1、卷积神经网络是如何反向调整参数的?

参数调整流程:

  1. 计算loss--loss是根据网络输入值和真实值求解获得,与网络参数有关

  2. 根据loss使用梯度下降法进行反向传播--梯度下降的BP算法,参考微积分链式求导法则.

结束..

可以追问的~~

谷歌人工智能写作项目:小发猫

2、如何对CNN网络的卷积层进行反向传播

在多分类中,CNN的输出层一般都是Softmax卷积神经网络反向推导。RBF在我的接触中如果没有特殊情况的话应该是“径向基函数”(RadialBasisFunction)。在DNN兴起之前,RBF由于出色的局部近似能力,被广泛应用在SVM的核函数中,当然也有我们熟悉的RBF神经网络(也就是以RBF函数为激活函数的单隐含层神经网络)。如果说把RBF作为卷积神经网络的输出,我觉得如果不是有特殊的应用背景的话,它并不是一个很好的选择。至少从概率角度上讲,RBF没有Softmax那样拥有良好的概率特性。如果题主是在什么地方看到它的源代码并且感到困惑的话,可以贴上源链接一起讨论一下。FYI.RBF的定义和计算公式参考:/link?url=7LE6KImv5IveCM90JcnctlgVY7OgCd7E_G0Yv0vyTfV3P8S3Q_rZU3CM6f0udS-b6ux2w-hejkOrGMkmj8Nqba

3、如何理解神经网络里面的反向传播算法

反向传播算法(Backpropagation)是目前用来训练人工神经网络(Artificial Neural Network,ANN)的最常用且最有效的算法。其主要思想是:
(1)将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程;
(2)由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;
(3)在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。
反向传播算法的思想比较容易理解,但具体的公式则要一步步推导,因此本文着重介绍公式的推导过程。
1. 变量定义
上图是一个三层人工神经网络,layer1至layer3分别是输入层、隐藏层和输出层。如图,先定义一些变量:
表示第层的第个神经元连接到第层的第个神经元的权重;
表示第层的第个神经元的偏置;
表示第层的第个神经元的输入,即:
表示第层的第个神经元的输出,即:
其中表示激活函数。
2. 代价函数
代价函数被用来计算ANN输出值与实际值之间的误差。常用的代价函数是二次代价函数(Quadratic cost function):
其中,表示输入的样本,表示实际的分类,表示预测的输出,表示神经网络的最大层数。
3. 公式及其推导
本节将介绍反向传播算法用到的4个公式,并进行推导。如果不想了解公式推导过程,请直接看第4节的算法步骤。
首先,将第层第个神经元中产生的错误(即实际值与预测值之间的误差)定义为:
本文将以一个输入样本为例进行说明,此时代价函数表示为:
公式1(计算最后一层神经网络产生的错误):
其中,表示Hadamard乘积,用于矩阵或向量之间点对点的乘法运算。公式1的推导过程如下:
公式2(由后往前,计算每一层神经网络产生的错误):
推导过程:
公式3(计算权重的梯度):
推导过程:
公式4(计算偏置的梯度):
推导过程:
4. 反向传播算法伪代码
输入训练集
对于训练集中的每个样本x,设置输入层(Input layer)对应的激活值:
前向传播:

计算输出层产生的错误:
反向传播错误:

你可能感兴趣的:(神经网络)