1.神经网络学习
实验背景
人工神经网络也简称为神经网络或称作连接模型,它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
实验目的
- 掌握 BP 神经网络的基本原理和基本的设计步骤
- 了解 BP 算法中各参数的作用和意义
实验数据
Fashion-MNIST数据集,数据集中包含 60000 张训练样本,10000 张测试样本,可将训练样本划分为49000 张样本的训练集和1000 张样本的验证集,测试集可只取1000 张测试样本。其中每个样本都是 28×28 像素的灰度照片,每个像素点包括RGB三个数值,数值范0~255,所有照片分属10个不同的类别。
实验步骤
- 用神经网络对给定的数据集进行分类
- 不能使用 pytorch 等框架,也不能使用库函数,所有算法都要自己实现
- 整个神经网络包括 3 层——输入层,隐藏层,输出层。输入层有 28*28*3 个神经元,隐藏层有 50个神经元,输出层有 10 个神经元(对应 10 个类别)
- 可以试着修改隐藏层神经元数,层数,学习率,正则化权重等参数探究参数对实验结果的影响。
- 给出模型在测试集上的精准度,提交实验代码,提交实验模型参数数据
参考资料
- NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。在进行前传测试和后传算法的时候,尽量使用numpy库的矩阵运算,比单个单个的参数计算效率快上几十倍。
- <<机器学习>> 周志华 P97~116
实验结果
最后训练集的准确率在82%~84%左右,测试集的准确率在82~84%左右。