推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于TensorFlow的线性回归模拟及Python实现

更新时间:2019-12-24 10:13:01 大小:536K 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

深度学习已经成为近几年来的研究热点。在诸多深度学习研究工具中,TensorFlow是最流行、最常用系统之一。对TensorFlow进行介绍,并给出一个线性回归案例,使用Python语言进行实现。由此,既可以对TensorFlow的入门学习者助一臂之力,又可以使深度学习的爱好者从中受益。


部分文件列表

文件名 大小
基于TensorFlow的线性回归模拟及Python实现.pdf 536K

部分页面预览

(完整内容请下载后查看)
开发案例  
文章编号1007-1423201829-0092-03  
DOI10.3969/j.issn.1007-1423.2018.29.020  
基于 TensorFlow 的线性回归模拟及 Python 实现  
刘玉坤立国  
顶山学院计算机学件学顶山 467000)  
摘要:  
深度学习已经成为近几年来的研究热点。在诸多深度学习研究工具中TensorFlow 是最流行常用系统之一。对  
TensorFlow 进行介绍给出一个线性回归案例使Python 语言进行实现。由此可以对 TensorFlow 的入门学习  
者助一臂之力可以使深度学习的爱好者从中受益。  
关键词:  
深度学习TensorFlow线性回归  
进行深层神经网络的大规模训练。TensorFlow 已经成  
0
引言  
为世界上最受欢迎的开源机器学习框架支持的语  
言有 C++Python具有快速活并适合产品级大规  
模应用等特点TensorFlow 也支持多系统要的  
支持系统有 LinuxMac OS XWindows TensorFlow  
让每个开发者和研究者都能方便地使用人工智能来解  
决多样化的挑战[3]。  
在这个人工智能的时代为一个有理想抱负的  
程序员者学生好者懂深度学习这个超热的  
话题乎已经跟时代脱节了[1]。深度学习目前已经成  
为了人工智能领域的突出话题。它因自然语言处  
人机博弈语音识别的卓越表现而闻名至  
为人类所不及。当今对深度学习的关注度也在不断攀  
升。在诸多深度学习系统中TensorFlow 是一款最受欢  
迎学习系统[2]。在本文介绍了 TensorFlow述了一个  
线性回归的案例及其 Python 实现。  
2
线性回归  
在神经网络中类网络的最终层通常包含某种  
形式的逻辑回归算法于将连续数据转换为形如 0  
1 的虚拟变飞行员的选拔中据一些  
学生的身高重和健康情况判断他们是否合而  
真正意义上的回归算法则用于将一组连续的输入映射  
至另一组连续的输出[3]。描述两个变量 x y 之间关  
系的简单线性回归模型可以用下面的方程表示 y=a+  
bx+ea b 称为参数e 是误差项。在本次讨论  
中为了简化模型。设计线性模型如下设一个模型  
1
TensorFlow简介  
TensorFlow 2015 11 9 日谷歌推出的开源  
机器学习框架TensorFlow 是由 Jeff Dean 为首的开发  
团队由第一代深度学习系统 DistBilief 改进而来的。但  
是对于大规模的神经网络训练要求更大的部署空间,  
DistBilief 已力不从心TensorFlow 允许用户通过赋值  
和并行执行一个核心的模型数据流图来轻松实现多种  
并行度。其可以由许多不同的计算设备协作来更新一  
套共享参数或者其他状态。因此好多用户已经转向  
TensorFlow。这些用户依靠 TensorFlow 进行研究和生  
任务多种多样如在手机上运行计算机视觉模  
型的推理及使用数百个示例记录对数千亿个参数  
wi + b  
的输入 y xi 满足一下关系y=  
型的输出  
i
为输入的加权和。下面通过 TensorFlow 来实现一元的  
线性回归模型的训练过训练数据测出线性回归  
y=w*x+bw b 的值通过验证数据证  
得到的函数是否符合预期。  
现代计算机 2018.10 中  
开发案例  
数。一般在上面这个函数的后面还会加一个最小化代  
3
Python实现  
价函数成深度学习中的训练对象。在 TensorFlow  
中调整假设函数使用梯度下降算法找最优解。  
optimizer = tf.train.GradientDescentOptimizer0.08)  
train = optimizer.minimizecost)  
1块引入  
模块是 Python 中的一个重要概念Python 的程序  
是由一个个模块组成的。在使用一个模块的函数或类  
之前先要导入该模块[4]。首先引入 TensorFlow 模  
了清晰了解训练结果入绘图表入测试数  
据模模块代码从。  
with tf.Sessionas sessio#初始化所有变量值  
init = tf.global_variables_initializer)  
sessio.runinit#初始化 W b 的值  
print "cost=",sessio.runcost,"W=",sessio.runW,"b=",  
sessio.runb)  
import tensorflow as tf matplotlib.pyplot as pyp testdata as td  
2到训练数据  
通过 testData 来模拟第三方接口getTrainData 得  
到训练数据参数dataLength到数据的个回  
维数组[0]代表 x[1]代表 y,  
getValidateData 得到验证数据参数dataLength 得到数  
据的个数。  
for k in range500#循环运行  
sessio.runtrain)  
print"cost=", sessio.runcost, "W=", sessio.runW,  
"b=", sessio.runbW b  
print "训练完成")  
pyp.plotpractice_x, practice_y, 'ro', label='train data')  
#构造图形结构  
trainData = td.getTrainDate200)  
practice_x = [v[0] for v in trainData]  
pyp.plot practice_x, sessio.runy, label='tain result')  
pyp.legend)  
practice_y = [v[1] for v in trainData]  
3造预测的线性回归函数 y=W*x+b  
W = tf.Variabletf.random_uniform[1])  
pyp.show)  
b = tf.Variabletf.zeros[1])  
4
程序运行界面效果  
y = W * practice_x + b  
该程序运行的结果效果如图 1 所示。通过图像显  
4断假设函数的好坏先构造代价函数  
2
使TensorFlow 进行线性回归模拟求解很好地实  
现一次函数的参数模拟求解且使用该一次函数求  
值并且加上随机误差的点均匀地分布在直线附近。非  
常直观1:  
1
2n  
cos t =  
||y x - aL||  
里我们使用二次代价函数其  
( )  
x
cost 表示代价函数x 表示样本y 表示实际值a 表  
示输出值n 表示样本的总数。为简单起见使用一个  
样 本 为 例 进 行 说 明 此 时 二 次 代 价 函 数 为  
(y - a)2  
cost=  
2
cost = tf.reduce_meantf.squarey-practice_y)  
5数优化。学习learning_rate理解为每  
一次梯度下降的步长般设置学习率小于 0.1处  
我们设置为 0.08。当学习率过大时能导致参数在  
最低点附近来回震荡终到达不了最优点学习率  
过小时期梯度下降的速度极其慢费时间。所以  
最优的方法是前期学习率设置大点梯度迅速下降,  
随后慢慢将学习率减小求达到最优点[5]。深度学习  
常见的是对于梯度的优化就是说化器最后其实  
就是各种对于梯度下降算法的优化。在本程序中我们  
使 用 了 tf.GradientDescentOptimizerlearning_rate)函  
1 效果模拟图  
5
结语  
本文首先介绍了 TensorFlow后给出了线性回归  
现代计算机 2018.10 中  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载