注:这里的代码的修改是和上一篇二分类逻辑斯蒂模型相比而言的
一、数据处理:
1.添加代码:
all_data.append(data)
all_labels.append(labels)
2.去掉代码:
3.在
里清楚之前code的输出
4.从第二个框code的运行结果可以看出这回train的数据集是50000个,test是10000个样本
5.
改成输出10个类别
(对比原二分类代码:
)
6.激活函数由sigmoid改为softmax:
7.tensorflow 方法如果有不清楚的可以查tensorflow官网的api
8.多分类回归模型P_Y得到的是一个分布,对于每一个样本都有关于10个label的一个改了,加起来等于1
9.因为第8点,所以y和p_y在求loss的时候,需要把y也变成一个分布,这里就需要用到one_hot编码
10.计算loss的方法可以用交叉熵也可以用平方差,在这里用平方差
11.预测值用最大值来求
12.准确率用correct_prediction做均值
13.训练代码(第四框)不需要改动
14.运行结果和二分类的准确率特别高(80%)不同,因为这个网络模型没有隐含层,所以只能达到29%左右
15.注释部分是平方差损失函数,代码部分是交叉熵损失函数: