使用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 07 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
Oct 20 Python
详谈python3中用for循环删除列表中元素的坑
Apr 19 Python
python 执行文件时额外参数获取的实例
Dec 18 Python
Python3如何对urllib和urllib2进行重构
Nov 25 Python
python+django+selenium搭建简易自动化测试
Aug 19 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
Oct 02 Python
python 进程池pool使用详解
Oct 15 Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 Python
python开发飞机大战游戏
Jul 15 Python
Python实现数据的序列化操作详解
Jul 07 Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 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
用libtemplate实现静态网页生成
2006/10/09 PHP
模仿OSO的论坛(五)
2006/10/09 PHP
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
Javascript常考语句107条收集
2010/03/09 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
深入理解Python异常处理的哲学
2019/02/01 Python
python实现字符串加密成纯数字
2019/03/19 Python
python标准库OS模块详解
2020/03/10 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
秋游活动策划方案
2014/02/16 职场文书
团队拓展活动方案
2014/08/28 职场文书
体育教师个人总结
2015/02/09 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
学习经验交流会总结
2015/11/02 职场文书
什么是SOLID
2022/03/24 Javascript