使用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 相关文章推荐
pyv8学习python和javascript变量进行交互
Dec 04 Python
python实现爬取千万淘宝商品的方法
Jun 30 Python
如何用Python实现简单的Markdown转换器
Jul 16 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
selenium+python自动化测试之鼠标和键盘事件
Jan 23 Python
简单介绍python封装的基本知识
Aug 10 Python
详解Python time库的使用
Oct 10 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
Python 生成VOC格式的标签实例
Mar 10 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
Django ORM实现按天获取数据去重求和例子
May 18 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中require和include路径问题详解
2014/12/25 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
Smarty模板语法详解
2019/07/20 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
javascript几个易错点记录
2014/11/26 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
详解使用webpack构建多页面应用
2017/12/21 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
Python线程中对join方法的运用的教程
2015/04/09 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
python 求10个数的平均数实例
2019/12/16 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
Python解析微信dat文件的方法
2020/11/30 Python
英国床垫在线:Mattress Online
2016/12/07 全球购物
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
新学期校长寄语
2014/01/18 职场文书
群众路线领导对照材料
2014/08/23 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
初一英语教学反思
2016/02/15 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
Python创建SQL数据库流程逐步讲解
2022/09/23 Python