使用TensorFlow实现简单线性回归模型


Posted in Python onJuly 19, 2019

本文使用TensorFlow实现最简单的线性回归模型,供大家参考,具体内容如下

线性拟合y=2.7x+0.6,代码如下:

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
 
n = 201 # x点数
X = np.linspace(-1, 1, n)[:,np.newaxis] # 等差数列构建X,[:,np.newaxis]这个是shape,这一行构建了一个n维列向量([1,n]的矩阵)
noise = np.random.normal(0, 0.5, X.shape) # 噪声值,与X同型
Y = X*2.7 + 0.6 + noise # Y
 
xs = tf.placeholder(tf.float32, [None, 1]) # 下面两行是占位符tf.placeholder(dtype, shape)
ys = tf.placeholder(tf.float32, [None, 1])
 
w = tf.Variable(1.1) # 这两行是weight变量,bias变量,括号中是初始值
b = tf.Variable(0.2)
 
ypredict = tf.add(w*xs,b) # 根据 w, b 产生的预测值
 
loss = tf.reduce_sum(tf.pow(ys-ypredict,2.0))/n # 损失函数,tf.reduce_sum()按某一维度元素求和,默认为按列
 
optimizer = tf.train.GradientDescentOptimizer(0.01).minimize(loss) # 梯度下降优化器,0.01学习率,最小化losss
 
init = tf.global_variables_initializer() # 初始化所有变量
 
with tf.Session() as sess: 
 sess.run(init) # 运行初始化 
 for i in range (1000): # 迭代1000次 
  sess.run(optimizer, feed_dict = {xs:X,ys:Y}) # 运行优化器,梯度下降用到loss,计算loss需要xs, ys所以后面需要feed_dict 
  if i%50==0: # 每隔50次迭代输出w,b,loss
     # 下面sess.run(w),sess.run(b)里面没有feed_dict是因为打印w,b不需要xs,ys,而打印loss需要 
     print ("w:",sess.run(w),"\t b:", sess.run(b), "\t loss:", sess.run(loss,feed_dict={xs:X,ys:Y})) 
  
 plt.plot(X,X*sess.run(w)+sess.run(b)) # 运行迭代之后绘制拟合曲线,这需要在sess里面运行是因为要用到w,b 
 plt.scatter(X,Y) # 绘制被拟合数据(散点) 
 plt.show() # 绘制图像

结果:

w: 1.1106868  b: 0.2086223 loss: 1.2682248
w: 1.5626049  b: 0.4772562 loss: 0.7024503
w: 1.8849733  b: 0.57508457 loss: 0.47280872
w: 2.1149294  b: 0.61071056 loss: 0.36368176
w: 2.278966  b: 0.6236845 loss: 0.30917725
w: 2.3959787  b: 0.6284093 loss: 0.2815788
w: 2.4794474  b: 0.6301298 loss: 0.26755357
w: 2.5389886  b: 0.63075644 loss: 0.26041925
w: 2.5814607  b: 0.6309848 loss: 0.2567894
w: 2.611758  b: 0.6310678 loss: 0.25494233
w: 2.6333694  b: 0.6310981 loss: 0.25400248
w: 2.6487865  b: 0.631109  loss: 0.2535242
w: 2.659784  b: 0.63111293 loss: 0.25328085
w: 2.6676288  b: 0.6311139 loss: 0.25315702
w: 2.6732242  b: 0.6311139 loss: 0.25309405
w: 2.6772156  b: 0.6311139 loss: 0.25306198
w: 2.6800632  b: 0.6311139 loss: 0.25304565
w: 2.6820953  b: 0.6311139 loss: 0.25303733
w: 2.6835444  b: 0.6311139 loss: 0.25303313
w: 2.684578  b: 0.6311139 loss: 0.25303096

使用TensorFlow实现简单线性回归模型

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中声明只包含一个元素的元组数据方法
Aug 25 Python
Python求解任意闭区间的所有素数
Jun 10 Python
python xlsxwriter创建excel图表的方法
Jun 11 Python
在Python 不同级目录之间模块的调用方法
Jan 19 Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
解决Python图形界面中设置尺寸的问题
Mar 05 Python
关于Python解包知识点总结
May 05 Python
Python pip安装模块提示错误解决方案
May 22 Python
使用openCV去除文字中乱入的线条实例
Jun 02 Python
sublime3之内网安装python插件Anaconda的流程
Nov 10 Python
python实现web邮箱扫描的示例(附源码)
Mar 30 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 #Python
简单了解django缓存方式及配置
Jul 19 #Python
python实现最小二乘法线性拟合
Jul 19 #Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 #Python
python如何实现数据的线性拟合
Jul 19 #Python
django获取from表单multiple-select的value和id的方法
Jul 19 #Python
django 信号调度机制详解
Jul 19 #Python
You might like
PHP实现单例模式最安全的做法
2014/06/13 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
php的常量和变量实例详解
2017/06/27 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
python语言中有算法吗
2020/06/16 Python
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
捷克多品牌在线时尚商店:ANSWEAR.cz
2020/10/03 全球购物
先进集体获奖感言
2014/02/13 职场文书
精彩广告词大全
2014/03/19 职场文书
十八大演讲稿
2014/05/22 职场文书
资产运营委托书范本
2014/10/16 职场文书
火烧圆明园观后感
2015/06/03 职场文书
公司处罚决定书
2015/06/24 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python