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 相关文章推荐
Python2.x与Python3.x的区别
Jan 14 Python
python正则实现提取电话功能
Feb 24 Python
python实现C4.5决策树算法
Aug 29 Python
Python 中的lambda函数介绍
Oct 10 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
使用Python开发SQLite代理服务器的方法
Dec 07 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
Pytorch GPU显存充足却显示out of memory的解决方式
Jan 13 Python
Python bytes string相互转换过程解析
Mar 05 Python
使用Django清空数据库并重新生成
Apr 03 Python
通过cmd进入python的步骤
Jun 16 Python
Python经常使用的一些内置函数
Apr 11 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
改造一台复古桌面收音机
2021/03/02 无线电
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019/03/29 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python简单操作excle的方法
2018/09/12 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
医院党员公开承诺书
2014/08/30 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
Python制作动态字符画的源码
2021/08/04 Python