资 源 简 介
应用背景人工神经网络(ANN)中关于反向传播算法的内容,相比单个感知器而言,采用多层网络的反向传播算法能表示出更多种类的非线性曲面,整个神经网络可以分成三层:输入层,隐藏层,输出层,通过加权线性变换,层与层之间的传递,最终得到输入层的实数值。关键技术
本人根据附件里面的文章编写的反向传播算法代码,里面含有详细的代码注释和文章例子, 可以让初学者深刻理解反向传播算法,适合初学者学习。给出BP算法训练的例子,对单个样本的训练的情况进行编写和验证。
//输入层到隐层的过程
float fNetj[m];
for (int j= 0;j < m; j++){
fNetj[j] = fTheta[n][j]; //这里权值矩阵最后一列是偏置,偏置×1还是偏置,所以直接加上,
//后面就不用乘了
for(int i = 0;i < n; i++){ //得到netj 的值 netj= X^V
fNetj[j] +=fInputdata[i]*fTheta[i][j];
}
fMidResult[j] = 1/(1 + exp(-fNetj[j]));
//cout<<"隐层的数据结果为"<
文 件 列 表
BackProp(self)
2010_4_17_第3章 多层感知器(下:BP算法).pdf
BackProp(self)
BackProp(self).sln
BackProp(self).suo