题目要求
1.按要求完成下面的各项需求。
已知一个多特征的数据集,该数据集有5000个样本,每个样本有400个特征,储存在X.txt中,样本的label储存在Y.txt中,label从0-9分成10类。
请使用神经网络模型完成该数据集的分类。具体要求如下:
完成数据集的读取,洗牌,并将数据集合理分割成训练集和测试集
实现激活函数及其导数
实现代价函数
实现梯度下降并记录代价函数
完成模型的训练,并计算在训练集上的准确率
画出代价函数曲线
在测试集上完成了预测,并计算在测试集上的准确率
评分要求
1.完成数据集的读取(8分)
2.将数据集洗牌(6分),合理分割成训练集和测试集(6分)
3.合理选取神经网络模型结构(8分),并对神经网络权重theta进行初始化(8分)
4.实现激活函数及其导数(16分)
-实现激活函数(sigmoid)8分
-实现激活函数导数8分
5.实现梯度下降并记录代价函数(24分)
-实现正向传播算法8分
-实现反向传播算法8分
-记录代价函数8分
6.完成模型的训练,并计算在训练集上的准确率(8分)
7.画出代价函数曲线(8分)
8.在测试集上完成了预测,并计算在测试集上的准确率(8分)
题目分析
这是典型的使用神经网络算法解决多分类问题,所以需要使用one-hot编码将y标签0-9的十种结果进行编码。
首先要确定神经网络的层数框架(这里由于特征数过大,所有神经元个数也不能太少&#