深度学习-基于Python语言和Tensorflow平台第3章_初识TensorFlow课件_第1页
深度学习-基于Python语言和Tensorflow平台第3章_初识TensorFlow课件_第2页
深度学习-基于Python语言和Tensorflow平台第3章_初识TensorFlow课件_第3页
深度学习-基于Python语言和Tensorflow平台第3章_初识TensorFlow课件_第4页
深度学习-基于Python语言和Tensorflow平台第3章_初识TensorFlow课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Email: topget谢琼初识TensorFlow第3章深度学习基于Python语言和Tensorflow平台了解本章引入需要神经网络解决的问题学习训练神经网络的基本方法010203target目标学习用神经网络的基本结构、表达方式和编程实现目录导航123三好学生成绩问题的引入搭建对应的神经网络训练神经网络Contents三好学生问题的引入几位家长猜测学校评判三好学生的规则Guess?学校评选三好学生的规则总分 = 德育分 * 60% + 智育分 * 30% + 体育分 * 10% 家长不知道这个规则!家长们对问题的归纳 已知学校一定是以德育分、智育分和体育分三项分数的总分来确定三好学生的

2、计算总分时,三项分数应该有各自的权重系数各自孩子的三项分数都已经知道,总分也已经知道 未知经过家长们的分析,只有三项分数各自乘以的权重系数是未知的问题演变成 求解方程式 w1x+w2y+w3z = A 中的三个w即权重其中,x、y、z、A分别对应几位学生的德育分、智育分、体育分和总分如果已知两位学生的成绩90 * w1 + 80 * w2 + 70 * w3 = 85 98 * w1 + 95 * w2 + 87 * w3 = 96 两个方程式解三个未知数依然无法求解目录导航123三好学生成绩问题的引入搭建对应的神经网络训练神经网络Contents使用神经网络来尝试解决该问题使用图中的神经网络

3、来表达该问题输入层(Input Layer)隐藏层(Hidden Layer)输出层(Output Layer)X1X2X3* W1* W2* W3yn1n2n3输入节点即德智体三项分数输出节点即总分隐藏层的神经元节点神经网络的代码import tensorflow as tfx1 = tf.placeholder(dtype=tf.float32)x2 = tf.placeholder(dtype=tf.float32)x3 = tf.placeholder(dtype=tf.float32)w1 = tf.Variable(0.1, dtype=tf.float32)w2 = tf.Var

4、iable(0.1, dtype=tf.float32)w3 = tf.Variable(0.1, dtype=tf.float32)n1 = x1 * w1n2 = x2 * w2n3 = x3 * w3y = n1 + n2 + n3sess = tf.Session()init = tf.global_variables_initializer()sess.run(init)result = sess.run(x1, x2, x3, w1, w2, w3, y, feed_dict=x1: 90, x2: 80, x3: 70)print(result)代码逐段讲解import tens

5、orflow as tf导入TensorFlow的类库(注意是全小写),并给它起一个别名tf,下面的程序中就可以用tf来代替较长的tensorflow代码逐段讲解x1 = tf.placeholder(dtype=tf.float32)x2 = tf.placeholder(dtype=tf.float32)x3 = tf.placeholder(dtype=tf.float32)定义x1,x2,x3三个占位符(placeholder),作为神经网络的输入节点,来准备分别接收德育、智育、体育三门分数作为神经网络的输入数据类型一般都设置为浮点数(小数),即使分数都是整数代码逐段讲解w1 = tf

6、.Variable(0.1, dtype=tf.float32)w2 = tf.Variable(0.1, dtype=tf.float32)w3 = tf.Variable(0.1, dtype=tf.float32)定义w1,w2,w3三个可变参数(variable,为与编程中的变量区分)初始值先随意设置为0.1代码逐段讲解n1 = x1 * w1n2 = x2 * w2n3 = x3 * w3定义三个隐藏层节点 n1、n2n3,实际上是它们的计算算式代码逐段讲解y = n1 + n2 + n3定义输出层节点 y,也就是总分的计算公式代码逐段讲解sess = tf.Session()ini

7、t = tf.global_variables_initializer()sess.run(init)定义神经网络的会话对象,并初始化所有的可变参数代码逐段讲解result = sess.run(x1, x2, x3, w1, w2, w3, y, feed_dict=x1: 90, x2: 80, x3: 70)print(result)用三门分数送入神经网络来运行该神经网络并获得该神经网络输出的节点值 y运行程序并观察神经网络的输出结果根据随意设置的可变参数初始值计算出的输出结果显然是不正确的目录导航123三好学生成绩问题的引入搭建对应的神经网络训练神经网络Contents训练神经网络的过

8、程神经网络在投入使用前,都要经过训练(train)的过程才能有准确的输出训练数据 神经网络训练时一定要有训练数据 有监督学习中,训练数据中的每一条是由一组输入值和一个目标值组成的 目标值就是根据这一组输入数值应该得到的“标准答案” 一般来说,训练数据越多、离散性(覆盖面)越强越好代码逐段讲解x1 = tf.placeholder(dtype=tf.float32)x2 = tf.placeholder(dtype=tf.float32)x3 = tf.placeholder(dtype=tf.float32)yTrain = tf.placeholder(dtype=tf.float32)给神

9、经网络增加一个输入项 目标值 yTrain,用来表示正确的总分结果代码逐段讲解y = n1 + n2 + n3loss = tf.abs(y - yTrain)optimizer = tf.train.RMSPropOptimizer(0.001)train = optimizer.minimize(loss)增加误差函数 loss,优化器optimizer 和 训练对象 traintf.abs函数用于取绝对值暂时使用RMSProp优化器,其中参数是学习率误差函数和训练对象 误差函数(又叫损失函数):用于让神经网络来判断当前网络的计算结果与目标值(也就是标准答案)相差多少。 训练对象:被神经网

10、络用于控制训练的方式,常见的训练的方式是设法使误差函数的计算值越来越小。代码逐段讲解result = sess.run(train, x1, x2, x3, w1, w2, w3, y, yTrain, loss, feed_dict=x1: 90, x2: 80, x3: 70, yTrain: 85)print(result)result = sess.run(train, x1, x2, x3, w1, w2, w3, y, yTrain, loss, feed_dict=x1: 98, x2: 95, x3: 87, yTrain: 96)print(result)训练两次并查看输出结

11、果,注意与前面的区别:训练时要在sess.run函数中加上train这个训练对象注意此处是自动折行注意如何“喂”数据训练结果w1、w2、w3和计算结果 y 已经开始有了变化循环进行多次训练for i in range(5000):result = sess.run(train, x1, x2, x3, w1, w2, w3, y, yTrain, loss, feed_dict=x1: 90, x2: 80, x3: 70, yTrain: 85)print(result)result = sess.run(train, x1, x2, x3, w1, w2, w3, y, yTrain, loss, feed_dict=x1: 98, x2: 95, x3: 87, yTrain: 96)print(result)循环训练5000轮,每轮两次训练结果w1、w2、w3已经非常接近于预期的0.6、0.3、0.1,y 也非常接近于目标值练习假设另一个学校有两位学生的三项成绩和总分如下,试用本章中的方法,求得该学校的三好学生总分计算规则。学生1:三项分数分别为92、98、90,总分94;学生2:三项分数分别为92、99、98,总分96;尝试改变可变参数w1、w2、w3的初始值,观察执行后的效果。互助互利 共同进步深度学习 基于Python语言和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论