使用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 代码优化详解
Oct 27 Python
python实现连接mongodb的方法
May 08 Python
Python 功能和特点(新手必学)
Dec 30 Python
python学生信息管理系统(完整版)
Apr 05 Python
Python实现将Excel转换成为image的方法
Oct 23 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
Django实现发送邮件功能
Jul 18 Python
基于python3实现倒叙字符串
Feb 18 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
OpenCV-Python实现油画效果的实例
Jun 08 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
PHP6 先修班 JSON实例代码
2008/08/23 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
ThinkPHP控制器详解
2015/07/27 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
Jquery Ajax请求代码(2)
2011/01/07 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
实现jquery放大镜的两种方法
2018/02/22 jQuery
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python实现俄罗斯方块游戏
2020/03/25 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
财务管理专业毕业生求职信范文
2013/09/21 职场文书
学校食品安全实施方案
2014/06/14 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
五年级作文之劳动作文
2019/11/12 职场文书