- 实验目的
- 掌握神经网络及深度学习建模分析
- 掌握使用神经网络实现分类的方法
- 掌握使用Keras框架实现深度学习的方法
- 了解各分类器之间的差异
- 实验环境
操作系统: Windows 11
应用软件:Jupyter Notebook
实验内容与结果
- 实验总结
神经网络可以有多个隐藏层,每个隐藏层拥有若干个神经元,每层神经元与下一层神经元全连接,同层神经元之间不连接,也不存在跨层神经元连接。值得注意的是,由单个感知器构成的一个简单的决策模型只能处理线性可分问题,学习能力非常有限。对于大量的线性不可分问题,需考虑使用多层神经元。并且,神经网络在用于非线性回归、分类等多种机器学习的分类时,如果是二分类问题,输出层只需要一个节点;如果是多分类问题就需要多个输出节点,每个节点对应一种类型,输出值表示属于该类型的概率。
事实上,神经网络学习采用迭代的方法实现评价模型的拟合程度。神经网络的学习过程就是根据训练数据集来调整神经元之间的“连接权重”,以及每个神经元的偏置项,使得最终输出层能够更好地拟合训练集的真实值。
随着神经网络的神经元数量增大,训练神经网络所需要的数据量也大幅增加。网络模型学习的计算量和神经元数量的平方成正比,神经网络中的隐藏层越多,意味着网络模型训练所需的时间越长。
深度学习也具有许多隐藏层,并且每个隐藏层都具有很多节点的神经网络。深度学习框架Keras采用“模型”构建神经网络,定义神经网络结构,定义神经网络的损失函数,使用数据集训练模型、预测、性能分析。Keras一般常用模型层为:Dense层、Activation层、Dropout层。其中,Keras模型编译函数:model.compile()函数,训练函数model.fit()函数,模型评估model.evaluate()函数,模型预测model.predict()函数。