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单线程实现多个定时器示例
Mar 30 Python
Python with用法实例
Apr 14 Python
Python Django使用forms来实现评论功能
Aug 17 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
利用python求相邻数的方法示例
Aug 18 Python
python图像常规操作
Nov 11 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
pytorch 模型可视化的例子
Aug 17 Python
详解Python3定时器任务代码
Sep 23 Python
Python如何实现的二分查找算法
May 27 Python
python语言是免费还是收费的?
Jun 15 Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
用PHP实现文件上传二法
2006/10/09 PHP
php 用sock技术发送邮件的函数
2007/07/21 PHP
PHP 强制下载文件代码
2010/10/24 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
JavaScript学习笔记(十)
2010/01/17 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
Python Trie树实现字典排序
2014/03/28 Python
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
Python异常的检测和处理方法
2018/10/26 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
迟到检讨书800字
2014/01/13 职场文书
博士生求职信
2014/07/06 职场文书
商品陈列协议书
2014/09/29 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
导游词之日月潭
2019/11/05 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Golang二维数组的使用方式
2021/05/28 Golang