使用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 相关文章推荐
Python2.7下安装Scrapy框架步骤教程
Dec 22 Python
Python解决八皇后问题示例
Apr 22 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 Python
Python3.5面向对象编程图文与实例详解
Apr 24 Python
Python调用百度根据经纬度查询地址的示例代码
Jul 07 Python
Python with语句和过程抽取思想
Dec 23 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
在echarts中图例legend和坐标系grid实现左右布局实例
May 16 Python
python 图像增强算法实现详解
Jan 24 Python
Python实现曲线拟合的最小二乘法
Feb 19 Python
python热力图实现的完整实例
Jun 25 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
php中全局变量global的使用演示代码
2011/05/18 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
PHP中localeconv()函数的用法
2019/03/26 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
js传值 判断
2006/10/26 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
详解利用canvas实现环形进度条的方法
2019/06/12 HTML / CSS
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
催款通知书范文
2015/04/17 职场文书
同事离别感言
2015/08/04 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
小学三年级作文之写景
2019/11/05 职场文书
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python