标签:机器学习入门 variables var one 模型 序号 10个 hold 表达式
#mnist.train:训练数据,mnist.test:测试数据,mnist.valication:开发数据
#每份MNIST数据包含手写数字图像(后记为xs)和对应标注(后记为ys)2部分
# 训练集和测试集均包含xs和ys
# 所以训练图像是mnist.train.images、训练标注是mnist.train.labels.训练图像是mnist.train.images训练标注是mnist.train.labels
"""载入TensorFlow库,创建新的InteractionSession,使用命令将session注册为默认的session,之后的运算也默认跑在这个session不同session之间的数据和运算是相互独立的"""
"""x表示所有的手写体图片。它并不是一个固定值而是一个占位符,只有在TensorFlow运行时才会被设定真实
创建一个Placeholder,即输入数据的地方
第一个参数是数据类型,使用一个二维浮点数
第二个参数[None,784]代表tensor的shape,代表数据的尺寸,None代表不限条数的输入,784代表每条输入是一个784维的向量"""
"""tf.Variable创建变量,使用 tf.zeros 将变量 W 和 b 设为初始化全为0的张量
w的形状是一个[784,10]的张量,第一个向量列表表示每个图片都有784个像素点,第二个向量列表表示从“0”到“9”一共有10类图片。所以w用一个784维度的向量表示像素值,用10维度的向量表示分类,
而2个向量进行乘法运算(或者说2个向量的笛卡尔集)就表示“某个像素在某个分类下的证据”。
b的形状是[10],他仅表示10个分类的偏移值。
"""
"""tf.nn包含了大量神经网络的组件,tf.matmul是TensorFlow中的矩阵乘法函数
tf.matmul(x, W) 表达式表示W和x的乘积运算,对应之前等式(y=softmax(Wx+b))的Wx,这个计算结果会得到一个y1=[None, 10]的张量,表示每个图片在10个分类下权重计算结果。
tf.matmul(x, W) + b 表示执行y2=y1+b的运算,它计算每个分类的偏移量。y2还是一个[None,10]的张量。最后使用 tf.nn.softmax 进行归一计算,得到每张图片在每个分类下概率。
TensorFlow能够将forward和backward的内容自动实现,只要接下来定义好loss,训练时会自动求导并进行梯度下降"""
"""定义一个placeholder,输入的是真实的label,用来计算cross-entropy.
这里的y_ * tf.log(y)是对应交叉熵公式的乘积部分,tf.reduce_sum对应求和部分。 tf.reduce_mean则用来对每个batch数据结果求均值"""
"""TensorFlow会根据我们定义的整个计算图自动求导,并根据反向传播进行训练,在每一轮迭代时更新参数来减小loss. 后台TensorFlow会自动添加许多运算操作来实现提到的反向传播和梯度下降。 我们只需要调用封装好的优化器,提供数据给它就好 调用tf.train.GradientDescentOptimizer,设置学习速率为0.5,优化目标设为cross-entropy,得到进行训练的操作train_step"""
"""使用TensorFlow的全局参数初始化器,执行它的run方法"""
"""抽取100条样本构成一个mini-batch,并提供给placeholder 接着调用train_step对样本进行训练"""
"""tf.argmax是从一个tensor中寻找最大值的序号
tf.argmax(y,1)是求各个预测的数字中概率最大的那一个 tf.argmax(y_,1)是找样本的真是数字类别。
而tf.equal则用来判断数字类别是否就是正确的类别。 correct_prediction表示计算分类是否正确"""
"""统计全部样本预测的accuracy 先用tf.cast将之前corrext_prediction输出的bool值转换为float32,再求平均值"""
#将测试数据的特征和Label输入评测流程accuracy,计算模型在测试集上的准确率,打印结果
总结TensorFlow实现算法的流程:
(1)定义算法公式,也就是神经网络forward时的计算
(2)定义loss,选定优化器,指定优化loss
(3)迭代数据进行训练
(4)使用测试集进行验证
标签:机器学习入门 variables var one 模型 序号 10个 hold 表达式
原文地址:http://www.cnblogs.com/gongxiaojiu/p/7520216.html