反向传播算法学习效率的提升
1. 研究背景与方法
在神经网络领域,反向传播算法应用广泛,但仍有改进空间。研究聚焦于提升其收敛速度和准确性,使用来自UCI机器学习库的真实分类问题数据集进行验证,涵盖玻璃、大豆和威斯康星乳腺癌三个分类问题。
1.1 实验环境与算法
实验在配备2GHz奔腾IV处理器、3.25GB内存的惠普工作站上进行,使用MATLAB 7.10.0(R2010a)。分析并模拟了三种算法:
1. 传统反向传播梯度下降(BPGD)
2. 带自适应增益的反向传播梯度下降(BPGD - AG)
3. 提出的带自适应增益、自适应动量和自适应学习率的反向传播梯度下降(BPGD - AGAMAL)
1.2 网络参数设置
为公平比较算法性能,保持网络大小、架构、初始权重和增益参数相同。所有问题的神经网络均采用一个包含五个隐藏节点的隐藏层,所有节点使用Sigmoid激活函数。初始权重在[0, 1]范围内随机初始化,训练输入模式顺序相同。
1.3 训练参数调整
训练过程中,随着增益(Gain)、动量系数(MC)和学习率(LR)值的修改,权重和偏置使用新值更新。为避免训练振荡并实现收敛,增益值上限设为1.0,增益参数初始值设为1,MC和LR初始值根据数据集随机生成。
1.4 实验流程
每次运行的数值数据存储在结果文件和总结文件中。记录每个网络的数据,计算每个算法收敛所需的迭代次数的均值、标准差(SD)和失败次数。网络超过最大迭代限制(10000次)则视为失败,当网络输出符合误差标准时达到收敛。
graph LR
A[开始] --> B[初始化网络参数]
B --> C[选择数据集]
C --> D[选择算法]
D --> E[训练网络]
E --> F{是否收敛}
F -- 是 --> G[记录结果]
F -- 否 --> H{是否达到最大迭代次数}
H -- 是 --> I[记录为失败]
H -- 否 --> E
G --> J[计算均值、SD和失败次数]
I --> J
J --> K[结束]
2. 玻璃分类问题
2.1 数据集介绍
玻璃数据集由B. German收集,用于将玻璃碎片分为六类,包括浮法处理建筑窗户、非浮法处理建筑窗户、车窗、容器、餐具或头灯。
2.2 网络架构与参数
网络架构为9 - 5 - 6,目标误差设为0.001。传统BPGD和BPGD - AG的最佳MC和LR值均为0.1,BPGD - AGAMAL的MC在[0.1, 0.3]范围内随机初始化,LR在[1.0, 2.0]范围内随机初始化。
2.3 算法性能比较
| 算法 | 均值 | 总CPU收敛时间(s) | CPU时间(s)/Epoch | SD | 准确率(%) | 失败次数 |
|---|---|---|---|---|---|---|
| BPGD | 8613 | 572.54 | 6.65×10⁻² | 2.15×10³ | 79.42 | 35 |
| BPGD - AG | 2057 | 59.57 | 2.9×10⁻² | 2.45×10 | 79.98 | 0 |
| BPGD - AGAMAL | 2052 | 56.16 | 2.74×10⁻² | 3.12×10 | 82.24 | 0 |
从表格可以看出,BPGD - AGAMAL在收敛速度、CPU时间和准确率方面均表现出色,尤其是BPGD在该数据集上表现不佳,70%的模拟结果未能学习到模式。
graph LR
A[玻璃数据集] --> B[设置网络架构9 - 5 - 6]
B --> C[设置目标误差0.001]
C --> D[选择算法参数]
D --> E[训练网络]
E --> F[记录性能指标]
F --> G[比较算法性能]
3. 大豆分类问题
3.1 数据集介绍
大豆数据集用于对19种不同的大豆疾病进行分类,分类依据包括大豆的描述(如大小、颜色是否正常)、植株特征(如叶片斑点大小、是否有光晕、植株生长是否正常、根部是否腐烂等)以及植株的生长历史信息(如过去一年或两年作物是否有变化、种子是否经过处理、温度环境的影响等)。
3.2 网络架构与参数
网络架构为35 - 5 - 19,目标误差设定为0.001。传统BPGD和BPGD - AG的最佳MC值为0.1,BPGD的最佳LR值为0.1,BPGD - AG的最佳LR值为0.4。BPGD - AGAMAL的MC在[1.0, 2.0]范围内随机初始化,LR在[3.0, 6.0]范围内随机初始化。
3.3 算法性能比较
| 算法 | 均值 | 总CPU收敛时间(s) | CPU时间(s)/Epoch | SD | 准确率(%) | 失败次数 |
|---|---|---|---|---|---|---|
| BPGD | 3038 | 311.47 | 1.02×10⁻¹ | 3.38×10³ | 94.23 | 8 |
| BPGD - AG | 1271 | 91.92 | 7.23×10⁻² | 1.92×10² | 91.08 | 0 |
| BPGD - AGAMAL | 1089 | 78.63 | 7.22×10⁻² | 8.58×10 | 94.82 | 0 |
从表格数据可知,BPGD - AGAMAL在迭代次数、CPU时间和准确率方面都优于其他两种算法。与BPGD和BPGD - AG相比,BPGD - AGAMAL的平均学习迭代次数分别减少了2.8倍和1.2倍。
graph LR
A[大豆数据集] --> B[设置网络架构35 - 5 - 19]
B --> C[设置目标误差0.001]
C --> D[选择算法参数]
D --> E[训练网络]
E --> F[记录性能指标]
F --> G[比较算法性能]
4. 乳腺癌分类问题
4.1 数据集介绍
乳腺癌数据集由威斯康星大学麦迪逊分校医院的Dr. William H. Wolberg生成,输入属性包括肿块厚度、细胞大小均匀性、细胞形状均匀性、边缘粘附量、单个上皮细胞大小、裸核频率、染色质平淡、正常核仁以及有丝分裂等。该问题旨在根据显微镜检查收集的细胞描述,将肿瘤分类为良性或恶性,以诊断威斯康星乳腺癌。
4.2 网络架构与参数
网络架构为9 - 5 - 2,目标误差设置为0.001。传统BPGD和BPGD - AG的最佳MC值为0.1,最佳LR值为0.4。BPGD - AGAMAL的MC在[3.0, 6.0]范围内随机初始化,LR在[1.0, 2.0]范围内随机初始化。
4.3 算法性能比较
| 算法 | 均值 | 总CPU收敛时间(s) | CPU时间(s)/Epoch | SD | 准确率(%) | 失败次数 |
|---|---|---|---|---|---|---|
| BPGD | 3136 | 128.13 | 4.09×10⁻² | 1.95×10³ | 68.29 | 0 |
| BPGD - AG | 590 | 14.43 | 2.45×10⁻² | 2.63×10² | 94.12 | 0 |
| BPGD - AGAMAL | 526 | 12.44 | 2.37×10⁻² | 3.12×10 | 95.47 | 0 |
从表格可以看出,BPGD - AGAMAL在收敛速度和准确率上明显优于BPGD和BPGD - AG。BPGD - AGAMAL比BPGD快83.23%,比BPGD - AG快近10.9%。
graph LR
A[乳腺癌数据集] --> B[设置网络架构9 - 5 - 2]
B --> C[设置目标误差0.001]
C --> D[选择算法参数]
D --> E[训练网络]
E --> F[记录性能指标]
F --> G[比较算法性能]
5. 结论
综合三个分类问题的实验结果,可以得出BPGD - AGAMAL算法相较于传统的BPGD和BPGD - AG算法表现更为出色。在收敛速度方面,BPGD - AGAMAL在玻璃、大豆和乳腺癌分类问题中都显著减少了迭代次数和CPU时间;在准确率方面,BPGD - AGAMAL在各个问题中都达到了较高的水平。这些结果表明,通过自适应地改变激活函数的增益参数、动量系数(MC)和学习率(LR),能够加速网络的收敛行为,并帮助网络跳出浅局部极小值。因此,BPGD - AGAMAL算法可以作为反向传播算法的一种替代训练算法,为神经网络的训练提供更高效的解决方案。
超级会员免费看

1935

被折叠的 条评论
为什么被折叠?



