tensorflow 非线性回归
2017-11-28 23:02
141 查看
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt #线性回归 #使用numpy生成200个随机点 变成200行1列 x_data=np.linspace(-0.5,0.5,200)[:,np.newaxis] #生成一些干扰项 noise=np.random.normal(0,0.2,x_data.shape) y_data=np.square(x_data)*noise #定义样本 #行不确定,但是只有一列 x=tf.placeholder(tf.float32,[None,1]) y=tf.placeholder(tf.float32,[None,1]) #构建简单的神经网络的中间层 1个输入神经元 10个中间神经元 Weight_l1=tf.Variable(tf.random_normal([1,10])) baise_l1 = tf.Variable(tf.zeros([1,10])) #matmul矩阵的乘法 Wx_plus_b_11=tf.matmul(x,Weight_l1)+baise_l1 l1=tf.nn.tanh(Wx_plus_b_11) #定义输出层 中间层10个神经元 输出层1个神经元 Weight_12=tf.Variable(tf.random_normal([10,1])) biase_12=tf.Variable(tf.zeros([1,1])) Wx_plus_b_12=tf.matmul(l1,Weight_12)+biase_12 prediction=tf.nn.tanh(Wx_plus_b_12) #二次代价函数 loss=tf.reduce_mean(tf.square(y-prediction)) #使用梯度下降法 train_step=tf.train.GradientDescentOptimizer(0.1).minimize(loss) with tf.Session() as sess: sess.run(tf.global_variables_initializer()) for _ in range(2000): sess.run(train_step,feed_dict={x:x_data,y:y_data}) #获得预测值 predict_value=sess.run(prediction,feed_dict={x:x_data}) #画图 plt.figure() plt.scatter(x_data,y_data) # r-代表是红色的实线 lw 代表线宽为5 plt.plot(x_data,predict_value,'r-',lw=5) plt.show()
相关文章推荐
- TensorFlow学习(2):非线性回归和简单的MNIST手写数字识别
- Tensorflow-非线性回归
- 深度学习框架TensorFlow学习与应用(二)——非线性回归、MINST数据集分类
- tensorflow实现非线性回归
- 深度学习框架TensorFlow学习与应用(二)——非线性回归、MINST数据集分类
- Tensorflow学习教程------非线性回归
- tensorflow 非线性回归
- 环境搭建—Windows10下Anaconda3安装tensorflow,theano,keras,pytorch以及为keras切换不同的后端
- 手把手教你搭建谷歌TensorFlow深度学习开发环境和更高级的keras开发安装!
- TensorFlow 入门之手写识别(MNIST) 数据处理 一
- 使用TensorFlow进行简单的图像处理
- Generative Adversarial Nets(GAN) Tensorflow实现
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
- Qt通过python脚本调用Tensorflow环境搭建
- TensorFlow学习笔记--1.0 版本的更改
- Tensorflow 学习与复习 Epoch_3 (未完)
- tensorflow中的常用函数(二):placeholder,Variable和assign
- 一个TensorFlow例子
- keras模型保存为tensorflow的二进制模型
- (Tensorflow系列2)Anaconda里安装Tensorflow