一个实现多层感知器神经网络前馈完全连接的乙状结肠激活函数。训练使用反向传播算法,选择有弹性的梯度下降法,动量反向传播,学习速率降低。训练结束时,均方误差(MSE)达到零或一个预定义的最大数量的时代。
更多细节和结果讨论,访问我的博客:http://heraqi.blogspot.com.eg/2015/11/mlp-neural-network-with-backpropagation.html。
配置参数的代码如下:
1 -隐藏层个数和每个隐层神经元。这是由变量nbrOfNeuronsInEachHiddenLayer表示。有一个神经网络与3个隐藏层神经元数4、10日和5分别;这个变量设置为10 5 [4]。
2 -输出层的傻瓜。通常输出单元的数量等于类的数量,但它仍然可以少(≤log2 (nbrOfClasses))。这是由变量nbrOfOutUnits表示。输入层单元的数量从训练样本获取维度。
3 -选择如果乙状结肠激活函数是单极或极性的。这是由变量unipolarBipolarSelector表示。
4 -学习率η。
5 -时代的最大数量的训练停止除非MSE达到零。这是由变量nbrOfEpochs_max表示。
6 -选项来启用或禁用动量反向传播。这是由变量enable_learningRate_momentum表示。
7 -α动量反向传播率。这是由变量momentum_alpha表示。
8 -选项来启用或禁用弹性梯度下降法。这是由变量enable_resilient_gradient_descent表示。
9 -弹性梯度下降法参数:η+,η,Δmin,Δmax,所代表的变量learningRate_plus learningRate_negative deltas_min, deltas_max。
10 -选项来启用或禁用学习速率降低。这是由变量enable_decrease_learningRate表示。
11 -学习速率降低参数:和。它是由变量learningRate_decreaseValue和min_learningRate。
图的代码还包含一个参数决定边界分离的类和均方误差曲线。时代的数量之后,将绘制一个图,并保存在指定的机器。数据保存在一个文件夹命名结果除了m文件。这个参数是由变量draw_each_nbrOfEpochs表示。变量dataFileName鲨鲨输入点文件名称字符串。
引用作为
Hesham Eraqi (2023)。MLP神经网络反向传播(//www.tianjin-qmedu.com/matlabcentral/fileexchange/54076-mlp-neural-network-with-backpropagation), MATLAB中央文件交换。检索。
MLP_NN /
版本 | 发表 | 发布说明 | |
---|---|---|---|
1.0.0.0 | 更新描述。 - 7 z zip转换。 |