使用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中分数的相关使用教程
Mar 30 Python
django基础之数据库操作方法(详解)
May 24 Python
利用python获取Ping结果示例代码
Jul 06 Python
Python实现随机选择元素功能
Sep 14 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
python 删除字符串中连续多个空格并保留一个的方法
Dec 22 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
Jun 27 Python
keras小技巧——获取某一个网络层的输出方式
May 23 Python
keras slice layer 层实现方式
Jun 11 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 Python
Python如何急速下载第三方库详解
Nov 02 Python
Python request post上传文件常见要点
Nov 20 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
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
Numpy array数据的增、删、改、查实例
2018/06/04 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
python中append实例用法总结
2019/07/30 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
实习期自我鉴定
2013/10/11 职场文书
商务日语专业自荐信
2014/04/17 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
远程教育培训心得体会
2016/01/09 职场文书
高一作文之暖冬
2019/11/09 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
react antd实现动态增减表单
2021/06/03 Javascript
详解 TypeScript 枚举类型
2021/11/02 Javascript
PyTorch中permute的使用方法
2022/04/26 Python