题目要求
某品牌运动鞋数据集有上万个样本,共有10个品种运动鞋,标记为0-9。每个样本的特征数据储存data.txt中,样本的标签文件存储在labels.txt中。
请完成该数据集的分类识别。可以用自己写的神经网络函数代码,也可以调用相关神经网络库函数。库函数导入,数据集的加载,适当缩放特征;将数据集随机分成训练集和测试集;调用神经网路相关库函数,或者自己编写的神经网络函数;建立适当的神经网络模型,包括神经网络结构,各种相关参数等;用训练集完成模型的训练,并计算在训练集上的准确率Accuracy及输出;用以上训练模型计算测试集的Precision,Recall和F1分数及输出
题目分析
本题目案例为运动鞋类别,其实就是我们学习神经网络的经典案例手写数字识别的更变版本,属于多分类问题。每逢碰到这种问题我们的解决思路一定要清晰,首先,一定是在心中设计好我们即将要使用的神经网络的架构,比如有几层隐藏层,每层的神经元个数是多少。我们都知道,大部分情况来说,多层大型的神经网络的模型效果比小型加入正则化的模型要好,那么此时我们要对数据进行观察,本次数据是10000个样本,每个样本有784个特征,那么对这种数据的训练,我们的神经网络的搭建就必须往大了搭,想必如果搭建成单层隐藏层,每个隐藏层十来个神经元的网络,拟合效果必然是很差的。这是常识,也是我们以后要多加注意积累的经验。
本次训练我选择至少两层隐层起步,第一层个数为400,第二层个数为100,进行尝试。
这里对数据的特征缩放,我们建议选择归一化缩放