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基于windows平台锁定键盘输入的方法
Mar 05 Python
全面理解Python中self的用法
Jun 04 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
详解如何将python3.6软件的py文件打包成exe程序
Oct 09 Python
Python3.6简单的操作Mysql数据库的三个实例
Oct 17 Python
Django基础三之视图函数的使用方法
Jul 18 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
python实现滑雪者小游戏
Feb 22 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 Python
python异步的ASGI与Fast Api实现
Jul 16 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
php日志函数error_log用法实例分析
2019/09/23 PHP
javascript 定义初始化数组函数
2009/09/07 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
2015/08/19 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
利用python发送和接收邮件
2016/09/27 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
Python之列表的插入&替换修改方法
2018/06/28 Python
python pygame实现球球大作战
2019/11/25 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
Unix如何在一行中运行多个命令
2015/05/29 面试题
金融专业毕业生推荐信
2013/11/26 职场文书
化工专业推荐信范文
2013/11/28 职场文书
难忘的一课教学反思
2014/04/30 职场文书
建议书的格式
2014/05/12 职场文书
工作检讨书范文
2015/01/23 职场文书
李白经典诗之一:全文无一“月”字,却句句有月
2019/07/12 职场文书
python简单验证码识别的实现过程
2021/06/20 Python
Go语言并发编程 sync.Once
2021/10/16 Golang
Ajax实现异步加载数据
2021/11/17 Javascript
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python