使用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简单实现旋转图片的方法
May 30 Python
tensorflow实现简单的卷积神经网络
May 24 Python
python判断输入日期为第几天的实例
Nov 13 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
详解Python爬取并下载《电影天堂》3千多部电影
Apr 26 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
pytorch使用指定GPU训练的实例
Aug 19 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
js实现转动骰子模型
2019/10/24 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
Python  连接字符串(join %)
2008/09/06 Python
Python与Redis的连接教程
2015/04/22 Python
Python生成随机数组的方法小结
2017/04/15 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
美国汽车交易网站:Edmunds
2016/08/17 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
高中英语教学反思
2014/02/04 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
运动会广播稿100字
2014/09/14 职场文书
道德模范事迹材料
2014/12/20 职场文书
小兵张嘎观后感
2015/06/03 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL