对应代码已同步上传资源内,如所需请自行下载。
一、实验要求
在计算机上验证和测试多层神经网络针对不同数据集的训练效果,同时查阅相关资料。
二、实验目的
1、掌握sklearn开发环境
2、掌握sklearn.neural_network 下的神经网络分类器 MLPClassifier;
3、掌握sklearn.linear_model 下的感知机分类器Perceptron;
三、实验内容
实验步骤
1.请针对如下四种数据集,对比2层隐藏层下不同神经元个数(2,2),(5,5),(10,10)以及4层神经网络(2,2,2,2),(5,5,5,5),(10,10,10,10),对比分类效果,以及每个模型的迭代次数和训练时间,然后给出分析结论。
(10,10),Wall time: 435 ms(迭代时间为图一,下同)#输出最大迭代次数:194
(5,5),Wall time1: 580 ms,#输出最大迭代次数:301
(5,5,5,5),Wall time1: 468ms,#输出最大迭代次数:137
(10,10,10,10),Wall time1: 476ms,#输出最大迭代次数:163
结论:同一隐藏层下,增加神经元个数,能够增加拟合程度,增加隐藏层数,能够减少迭代次数,拟合程度增加
上课讲解:在一定程度上,神经元层数与个数越多越好。神经元个数越多算法识别的范围越大,神经元的层数对应算法识别的深度。
2. 针对不同噪声下的太极数据集,对比2层隐藏层下不同神经元个数(2,2),(5,5),(10,10)以及4层神经元(2,2,2,2),(5,5,5,5),(10,10,10,10),对比分类效果,以及每个模型的迭代次数和训练时间,然后给出分析结论。
(10,10,10,10),Wall time1: 542ms,#输出最大迭代次数:189
(5,5,5,5),Wall time1: 900ms,#输出最大迭代次数:326
(10,10),Wall time1: 763ms,#输出最大迭代次数:356
(5,5),Wall time1: 696ms,#输出最大迭代次数:392
结论:隐藏层数增加,神经元数增加,拟合程度越大。隐藏层数增加,迭代次数减少,噪声增大,迭代次数减少。
上课讲解:从图中看不出具体规律,这几种神经元都可以处理这种简单分类
四、实验总结
本次实验重在观察,但由于实验数据量小,结论可能存在偏差。