tensorflow 使用 4 非线性回归
# 输入一个 x 会计算出 y 值 y 是预测值,如果与 真的 y 值(y_data)接近就成功了 import tensorflow as tf
import numpy as np
# py 的画图工具
import matplotlib.pyplot as plt # 用 numpy 生成个 200 个属性点 从 -0.5 到 0.5 间平均生成 200 个点
#x_data = np.linspace(-0.5, 0.5, 200) # 这只是生成了一维的数组
# 用下边这句可以生成二维数组
x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis] # 生成随机值,和 x_data 的形状是一样的 ( 噪点 )
noise = np.random.normal(0, 0.02, x_data.shape) # x_data 的平方+随机数
y_data = np.square( x_data ) + noise # 定义二个占位符
x = tf.placeholder( tf.float32, [None, 1] ) # [None, 1] 行不定,列只有一列
y = tf.placeholder( tf.float32, [None, 1] ) # 构建神经网络中间层 一行十列
Weights_L1 = tf.Variable( tf.random_normal([1, 10]))
biases_L1 = tf.Variable( tf.zeros([1, 10]) ) # 求出信号的总和 矩阵相乘,
Wx_plus_b_L1 = tf.matmul(x, Weights_L1) + biases_L1
# 中间层的输出
L1 = tf.nn.tanh( Wx_plus_b_L1 ) # 输出层 十行一列
Weights_L2 = tf.Variable( tf.random.normal([10, 1]))
biases_L2 = tf.Variable( tf.zeros([1, 1]) )
# 求出信号的总和 矩阵相乘,
Wx_plus_b_L2 = tf.matmul(L1, Weights_L2) + biases_L2
# 得出最后的预测结果
pred = tf.nn.tanh( Wx_plus_b_L2 ) # 二次代价函数
loss = tf.reduce_mean( tf.square(y - pred) ) # 梯度下降法的优化器 最小化代价函数
train = tf.train.GradientDescentOptimizer( 0.2 ).minimize( loss ) with tf.Session() as sess:
# 初始化变量
sess.run( tf.global_variables_initializer() )
# 训练 2000 次
for _ in range( 2000 ):
sess.run( train, feed_dict={x:x_data, y:y_data} ) # 得到预测值
value = sess.run( pred, feed_dict={x:x_data} )
# 用画图形式展现 plt.figure()
plt.scatter(x_data, y_data)
plt.plot(x_data, value, 'r-', lw=5)
plt.show()

tensorflow 使用 4 非线性回归的更多相关文章
- TensorFlow(三):非线性回归
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt # 非线性回归 # 使用numpy生成200个随机 ...
- Tensorflow学习教程------非线性回归
自己搭建神经网络求解非线性回归系数 代码 #coding:utf-8 import tensorflow as tf import numpy as np import matplotlib.pypl ...
- tensorflow非线性回归(03-1)
这个程序为简单的三层结构组成:输入层.中间层.输出层 要理清各层间变量个数 import numpy as np import matplotlib.pyplot as plt import tens ...
- TensorFlow.NET机器学习入门【3】采用神经网络实现非线性回归
上一篇文章我们介绍的线性模型的求解,但有很多模型是非线性的,比如: 这里表示有两个输入,一个输出. 现在我们已经不能采用y=ax+b的形式去定义一个函数了,我们只能知道输入变量的数量,但不知道某个变量 ...
- 【原创 深度学习与TensorFlow 动手实践系列 - 2】第二课:传统神经网络
第二课 传统神经网络 <深度学习>整体结构: 线性回归 -> 神经网络 -> 卷积神经网络(CNN)-> 循环神经网络(RNN)- LSTM 目标分类(人脸识别,物品识别 ...
- 机器学习与Tensorflow(2)——神经网络及Tensorflow实现
神经网络算法以及Tensorflow的实现 一.多层向前神经网络(Multilayer Feed-Forward Neural Network) 多层向前神经网络由三部分组成:输入层(input la ...
- 截图:【炼数成金】深度学习框架Tensorflow学习与应用
创建图.启动图 Shift+Tab Tab 变量介绍: F etch Feed 简单的模型构造 :线性回归 MNIST数据集 Softmax函数 非线性回归神经网络 MINIST数据集分类器简单版 ...
- Tensorflow目录
0.Tensorflow安装 1.创建会话,启动会话 2.变量 3.Fech_feed 4.线性回归 5.非线性回归 6.MNIST数据集简单分类 7.交叉熵 8.Dropout 9.正则化 10.优 ...
- tensorflow学习框架(炼数成金网络版学习记录)
chapter1 #变量 import tensorflow as tf x = tf.Variable([1,2]) a = tf.constant([3,3]) #增加一个减法op sub = t ...
随机推荐
- JAVA通过http访问其他服务端API
项目要实现这么一个功能,用户通过点击按钮,通过axios来访问python的API(算法,java不好做)得到一个结果存储到数据库并且返回到页面. 但是python不是在tomcat上面运行的,所以不 ...
- js 正则表达式,分组,非捕获或 环视的使用
定位一个字符串中,匹配与定位重复字符中的最后一个字符: 例子: <script type="text/javascript"> var str="http:/ ...
- 使用antd Table + mobx 处理数组 出现的一系列问题
在store中定义了一个数组: @observable list = [...] 若是在table组件中直接使用list: <Table className={styles.table} col ...
- fatal error: Eigen3/Core: 没有那个文件或目录
解决方法: 在CMakeLists.txt文件里添加: include_directories("/usr/include/eigen3")
- 记一次解决netty半包问题的经历
最近学习了netty,想写一个简单的rpc,结果发现发送消息时遇到难题了,网上搜了一下,这种情况是半包问题和粘包问题,主要是出现在并发高一些的时候. talk is cheap 客户端编码: prot ...
- Redis 简介与命令操作
redis 是 key-value 的数据,所以每个数据都是一个键值对,键的类型是字符串: 值的类型分为五种:string.hash.list.set(集合).zset(有序集合). 数据操作的全部命 ...
- CSS 实现滚动进度条效果
参考:https://www.w3cplus.com/css/pure-css-create-scroll-indicator.html 前言:细化总结.参考的文章作者已经写的很详细了.这里在从初学者 ...
- Lua教程
Lua中的类型与值 Lua中的表达式 Lua中的语句 Lua中的函数 Lua中的闭包 Lua 中 pairs 和 ipairs 的区别 Lua中的迭代器与泛型for Lua中的协同程序 Lua中__i ...
- django-form字段form 和插件widgets
26)django-form字段和插件widgets 创建Form类时,主要涉及到 [字段] 和 [插件],字段用于对用户请求数据的验证,插件用于自动生成HTML 一:常用字段 1.Django中Fo ...
- kvm虚拟机中鼠标不同步的问题解决方法
环境:Centos7.6安装kvm创建windows虚拟机,通过novnc连接到虚拟机上发现存在鼠标位置偏移问题 解决方法: 方法一: 经测试,windows系列虚拟机关闭鼠标加速亦可缓解该问题,不过 ...