我是靠谱客的博主 等待中心,这篇文章主要介绍3-1 Tensorflow --非线性回归-神经网络,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import tensorflow as tf import numpy import matplotlib.pyplot as plt # 生成200个随机样本点 作为X # x_data = numpy.linspace(-0.5, 0.5, 200) # 从-0.5到0.5产生200个点,均匀分布的 # print(x_data) # 这个样是一维的,我们线性回归需要二维的 x_data = numpy.linspace(-0.5, 0.5, 200)[:, numpy.newaxis] # print(x_data) # 构造噪音 noise = numpy.random.normal(loc=0, scale=0.02, size=x_data.shape) # 符合高斯分布的值(loc:期望,scale:标准差 μ=0,σ=1正态分布) # 构造Y y_data = numpy.square(x_data) + noise # 定义两个占位符placeholder x = tf.placeholder(tf.float32, [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 prediction = tf.nn.tanh(Wx_plus_b_L2) # 代价函数 loss = tf.reduce_mean(tf.square(prediction - y)) # 梯度下降 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}) # 活得预测值 prediction_values = sess.run(prediction, feed_dict={x:x_data}) # 画图 plt.scatter(x_data, y_data) plt.plot(x_data, prediction_values, 'r-', lw=5) # r- 红色实线 lw 线宽 plt.show()

在这里插入图片描述

最后

以上就是等待中心最近收集整理的关于3-1 Tensorflow --非线性回归-神经网络的全部内容,更多相关3-1内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(96)

评论列表共有 0 条评论

立即
投稿
返回
顶部