实验1深度学习基础实验

一、实验要求

在计算机上验证和测试多层神经网络针对不同数据集的训练效果,同时查阅相关资料。

  • 实验目的

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),对比分类效果,以及每个模型的迭代次数和训练时间,然后给出分析结论。

  

1.1(2层2-2) 1.2(2层5-5)

1.3(2层10-10)

总结

  1. 多层神经网络分类器对圆环数据集的分类几乎没有效果。
  2. 神经元数量增多或者层数增多都会使分界线更清晰。

1.4(4层2-2-2-2) 1.5(4层5-5-5-5)

1.6(4层10-10-10-10)

总结

  1. 太极和圆环数据随神经元增加区分不是很明显,甚至出现无法区分
  2. 神经元越多,迭代次数增多

2. 针对不同噪声下的太极数据集,对比2层隐藏层下不同神经元个数(2,2),(5,5),(10,10)以及4层神经元(2,2,2,2),(5,5,5,5),(10,10,10,10),对比分类效果,以及每个模型的迭代次数和训练时间,然后给出分析结论。

2.1(2层2-2) 2.2(2层5-5)

2.4(2层10-10) 2.5(4层2-2-2-2)

2.5(4层5-5-5-5) 2.6(4层10-10-10)

总结:

1.在两层神经元中,随着神经元数量增多,区分更明显

2.在四层神经元中,随着神经元数量增多,曲线变得更加曲折

3.迭代次数增加,时间增加

四、实验总结

1.对于一般简单的数据集,一两层隐藏层通常就足够了。但对于异或数据集的复杂数据集,则需要额外增加层数。单层神经网络只能用于表示线性分离函数,也就是非常简单的问题,比如分类问题中的两个类可以用一条直线整齐地分开。

2.层数越深,理论上拟合函数的能力增强,效果按理说会更好,但是实际上更深的层数可能会带来过拟合的问题,同时也会增加训练难度,使模型难以收敛。

你可能感兴趣的:(深度学习,深度学习,人工智能,python)