使用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小技巧分享
Nov 22 Python
python实现将元祖转换成数组的方法
May 04 Python
python删除服务器文件代码示例
Feb 09 Python
Python将一个Excel拆分为多个Excel
Nov 07 Python
使用python进行拆分大文件的方法
Dec 10 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
pandas分区间,算频率的实例
Jul 04 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
python对象转字典的两种实现方式示例
Nov 07 Python
三个python爬虫项目实例代码
Dec 28 Python
Python selenium抓取虎牙短视频代码实例
Mar 02 Python
详解pytorch创建tensor函数
Mar 22 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文件上传类
2017/07/04 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
Vue.js在数组中插入重复数据的实现代码
2017/11/17 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
计算机专业毕业生求职信分享
2013/12/24 职场文书
小学新教师培训方案
2014/02/03 职场文书
商场促销活动方案
2014/02/08 职场文书
会员活动策划方案
2014/08/19 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
学校体育节班级口号
2015/12/25 职场文书
小学班级管理心得体会
2016/01/07 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书