Tensorflow实现神经网络拟合线性回归


Posted in Python onJuly 19, 2019

本文实例为大家分享了Tensorflow实现神经网络拟合线性回归的具体代码,供大家参考,具体内容如下

一、利用简单的一层神经网络拟合一个函数 y = x^2 ,其中加入部分噪声作为偏置值防止拟合曲线过拟合

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
 
# 生成-0.5到0.5间均匀发布的200个点,将数据变为二维,200行一列的数据
x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis]
 
# 生成一些噪音数据
noise = np.random.normal(0, 0.02, x_data.shape)
 
# 定义y与x的关系
y_data = np.square(x_data) + noise
 
# 定义两个占位符
x = tf.placeholder(tf.float32, [None, 1]) # 形状为n行1列,同x_data的shape
y = tf.placeholder(tf.float32, [None, 1])
 
# 定义神经网络
 
# 定义中间层,因为每个x是一维,所以只需1个神经元,定义中间层的连接神经元是10
# 矩阵:[a, b]×[b, c] = [a, c] 
L1_weights = tf.Variable(tf.random_normal([1, 10])) 
L1_bias = tf.Variable(tf.zeros([1, 10]))
L1_weights_bias = tf.matmul(x, L1_weights) + L1_bias
L1 = tf.nn.tanh(L1_weights_bias)
 
# 定义输出层,每个x只有一个神经元
L2_weights = tf.Variable(tf.random_normal([10, 1]))
L2_bias = tf.Variable(tf.zeros([1, 1]))
L2_weights_bias = tf.matmul(L1, L2_weights) + L2_bias
L2 = tf.nn.tanh(L2_weights_bias)
 
# 定义损失函数
loss = tf.reduce_mean(tf.square(y - L2))
 
# 梯度下降最小化损失函数
optimizer = tf.train.GradientDescentOptimizer(0.1)
 
train_step = optimizer.minimize(loss)
 
# 全局变量初始化
init = tf.global_variables_initializer()
 
# 定义会话
with tf.Session() as sess:
 sess.run(init)
 for _ in range(2000):
  sess.run(train_step, feed_dict={x:x_data, y:y_data})
  
 # 获取预测值
 predict = sess.run(L2, feed_dict={x:x_data})
 
 # 画图
 plt.figure()
 # 画出散点
 plt.scatter(x_data, y_data)
 # 画出拟合的曲线
 plt.plot(x_data, predict)
 
 plt.show()

二、代码运行效果如下:

Tensorflow实现神经网络拟合线性回归

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编写屏幕截图程序方法
Feb 18 Python
Python数组遍历的简单实现方法小结
Apr 27 Python
浅谈function(函数)中的动态参数
Apr 30 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
使用python制作一个解压缩软件
Nov 13 Python
python实现拼接图片
Mar 23 Python
python 抓取知乎指定回答下视频的方法
Jul 09 Python
使用Pytorch搭建模型的步骤
Nov 16 Python
python中pow函数用法及功能说明
Dec 04 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
May 04 Python
使用TensorFlow实现简单线性回归模型
Jul 19 #Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 #Python
简单了解django缓存方式及配置
Jul 19 #Python
python实现最小二乘法线性拟合
Jul 19 #Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 #Python
python如何实现数据的线性拟合
Jul 19 #Python
django获取from表单multiple-select的value和id的方法
Jul 19 #Python
You might like
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
一篇文章带你从零快速上手Rollup
2020/09/07 Javascript
详解python eval函数的妙用
2017/11/16 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
python操作mysql代码总结
2018/06/01 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
python 画条形图(柱状图)实例
2020/04/24 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
美国健康和保健平台:healtop
2020/07/02 全球购物
优秀毕业生推荐信
2013/11/02 职场文书
五年级音乐教学反思
2014/02/06 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
学校节能减排方案
2014/06/13 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
运动与健康自我评价
2015/03/09 职场文书
贫困证明怎么写
2015/06/16 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers
redis 解决库存并发问题实现数量控制
2022/04/08 Redis
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技
Django中celery的使用项目实例
2022/07/07 Python