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装饰器decorator介绍
Nov 21 Python
深入理解Python中range和xrange的区别
Nov 26 Python
Python yield与实现方法代码分析
Feb 06 Python
解决Pycharm无法import自己安装的第三方module问题
May 18 Python
python 使用正则表达式按照多个空格分割字符的实例
Dec 20 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
python+mysql实现个人论文管理系统
Oct 25 Python
Python中无限循环需要什么条件
May 27 Python
python温度转换华氏温度实现代码
Dec 06 Python
4种非常实用的python内置数据结构
Apr 28 Python
Python实现8种常用抽样方法
Jun 27 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
一个oracle+PHP的查询的例子
2006/10/09 PHP
很实用的一个完整email发送程序
2006/10/09 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
2015/12/07 PHP
ThinkPHP下表单令牌错误与解决方法分析
2017/05/20 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
深入理解Python中各种方法的运作原理
2015/06/15 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
几个常见的消息中间件(MOM)
2014/01/08 面试题
车间统计员岗位职责
2014/01/05 职场文书
高二地理教学反思
2014/01/24 职场文书
运动会通讯稿100字
2015/07/20 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
什么是SOLID
2022/03/24 Javascript