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检测网页是否有日常链接
Jun 03 Python
Python单例模式实例分析
Jan 14 Python
Python实现获取网站PR及百度权重
Jan 21 Python
详解Python中使用base64模块来处理base64编码的方法
Jul 01 Python
详细解读tornado协程(coroutine)原理
Jan 15 Python
python机器学习之贝叶斯分类
Mar 26 Python
python的中异常处理机制
Aug 30 Python
eclipse创建python项目步骤详解
May 10 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 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中利用post传递字符串重定向的实现代码
2011/04/21 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
纯js代码实现简单计算器
2015/12/02 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
React优化子组件render的使用
2019/05/12 Javascript
vue设置导航栏、侧边栏为公共页面的例子
2019/11/01 Javascript
JS快速实现简单计算器
2020/04/08 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
python检测lvs real server状态
2014/01/22 Python
python基础教程之元组操作使用详解
2014/03/25 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
Python发送邮件实现基础解析
2020/08/14 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
德国足球商店:OUTFITTER
2019/05/06 全球购物
一份报关员的职业规划范文
2014/01/08 职场文书
个人现实表现材料
2014/02/04 职场文书
商场消防演习方案
2014/02/12 职场文书
学校2014年度工作总结
2014/12/06 职场文书
会计岗位职责
2015/02/03 职场文书
怒海潜将观后感
2015/06/11 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
Python if else条件语句形式详解
2022/03/24 Python