使用tensorflow实现线性回归


Posted in Python onSeptember 08, 2018

本文实例为大家分享了tensorflow实现线性回归的具体代码,供大家参考,具体内容如下

一、随机生成1000个点,分布在y=0.1x+0.3直线周围,并画出来

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

num_points = 1000
vectors_set = []
for i in range(num_points):
  x1 = np.random.normal(0.0,0.55)
  //设置一定范围的浮动
  y1 = x1*0.1+0.3+np.random.normal(0.0,0.03)
  vectors_set.append([x1,y1])

x_data = [v[0] for v in vectors_set]
y_data = [v[1] for v in vectors_set]

plt.scatter(x_data,y_data,c='r')
plt.show()

二、构造线性回归函数

#生成一维的w矩阵,取值为[-1,1]之间的随机数
w = tf.Variable(tf.random_uniform([1],-1.0,1.0),name='W')
#生成一维的b矩阵,初始值为0
b = tf.Variable(tf.zeros([1]),name='b')
y = w*x_data+b

#均方误差
loss = tf.reduce_mean(tf.square(y-y_data),name='loss')
#梯度下降
optimizer = tf.train.GradientDescentOptimizer(0.5)
#最小化loss
train = optimizer.minimize(loss,name='train')


sess=tf.Session()
init = tf.global_variables_initializer()
sess.run(init)

#print("W",sess.run(w),"b=",sess.run(b),"loss=",sess.run(loss))
for step in range(20):
  sess.run(train)
  print("W=",sess.run(w),"b=",sess.run(b),"loss=",sess.run(loss))

//显示拟合后的直线
plt.scatter(x_data,y_data,c='r')
plt.plot(x_data,sess.run(w)*x_data+sess.run(b))
plt.show()

三、部分训练结果如下:

W= [ 0.10559751] b= [ 0.29925063] loss= 0.000887708
W= [ 0.10417549] b= [ 0.29926425] loss= 0.000884275
W= [ 0.10318361] b= [ 0.29927373] loss= 0.000882605
W= [ 0.10249177] b= [ 0.29928035] loss= 0.000881792
W= [ 0.10200921] b= [ 0.29928496] loss= 0.000881397
W= [ 0.10167261] b= [ 0.29928818] loss= 0.000881205
W= [ 0.10143784] b= [ 0.29929042] loss= 0.000881111
W= [ 0.10127408] b= [ 0.29929197] loss= 0.000881066

拟合后的直线如图所示:

使用tensorflow实现线性回归

结论:最终w趋近于0.1,b趋近于0.3,满足提前设定的数据分布

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

Python 相关文章推荐
python自动化测试之setUp与tearDown实例
Sep 28 Python
零基础写python爬虫之HTTP异常处理
Nov 05 Python
Python元字符的用法实例解析
Jan 17 Python
Python模块文件结构代码详解
Feb 03 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
python3 配置logging日志类的操作
Apr 08 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 Python
Python3 webservice接口测试代码详解
Jun 23 Python
详解Python中list[::-1]的几种用法
Nov 16 Python
Python基础详解之描述符
Apr 28 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 Python
Python  unittest单元测试框架的使用
Sep 08 #Python
tensorflow实现逻辑回归模型
Sep 08 #Python
Django实现表单验证
Sep 08 #Python
python实现排序算法解析
Sep 08 #Python
TensorFlow实现Logistic回归
Sep 07 #Python
tensorflow实现简单逻辑回归
Sep 07 #Python
Tensorflow使用支持向量机拟合线性回归
Sep 07 #Python
You might like
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
javascript操作excel生成报表示例
2014/05/08 Javascript
常用jQuery代码分享
2015/07/14 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
jQuery回到顶部的代码
2016/07/09 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
[01:11:02]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python创建系统目录的方法
2015/03/11 Python
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
python列表操作之extend和append的区别实例分析
2015/07/28 Python
浅谈python对象数据的读写权限
2016/09/12 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
英国电信商店:BT Shop
2019/12/17 全球购物
实习护理工作自我评价
2013/09/25 职场文书
高考自主招生自荐信
2013/10/20 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
民族学专业大学生职业规划范文:清晰未来的构想
2014/09/20 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
单位作风建设自查报告
2014/10/23 职场文书
学生检讨书范文
2015/01/27 职场文书
企业员工辞职信范文
2015/05/12 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB