MINST是由Yann LeCun等人建立并维护的手写数字识别数据库。该数据库总共包含60000个训练样本和10000个测试样本。其中每个样本的大小是一张28*28的手写数字图片。数字包括从0~9总共10个数字。遵照上述条件,使用如下语句建立softmax分类模型:
代码清单3.1.1
layer1 = SoftmaxReg;%建立单层softmax神经网络 layer1.inputsize = 28*28; %设置输入层大小 layer1.numClasses = 10;%设置分类数 layer1 = layer1.theta_updata;%theta值更新 layer1.options.maxIter = 100;%设置训练迭代次数为100次 layer1=layer1.SoftmaxTrain(trainData,trainLabels);%使用训练集训练模型 layer1 = layer1.SoftmaxPredict(testData, testLabels);%使用测试集测试模型
在写上述代码之前,首先将28*28的手写体数字按某种顺序拉成一个1*784的列向量。之后运行上述代码即可完成分类任务。唯一需要注意的一点是在softmax中,theta的大小与inputsize和numClass有关,所以如果inputsize和numClass发生改动则必须调用一次theta_updata。本案例中,程序运行的结果如下图所示:
训练产生的softmax模型被存在softmaxModel中,预测label被存在pred中,而十分类准确率acc在本例中是92.64%.
时间: 2024-11-08 22:41:56