仅有一个神经元的神经网络:
用以预测线性的y=0.3x+0.1 [底部有源码]

输出结果:

最终结果Weights=0.299999... =0.3 biases=0.10000....=0.1
故预测结果:这些点按照线性方程为y=0.3x+0.1的形式分布。
注释版:


源代码:
import tensorflow as tf
import numpy as np
x_data = np.random.rand(100).astype(np.float32)
y_data = 0.3*x_data + 0.1
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
biases = tf.Variable(tf.zeros([1]))
y = Weights * x_data + biases
loss = tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step,sess.run(Weights),sess.run(biases))
纸上得来终觉浅,绝知此事要躬行。希望我以后依然可以坚守代码。
本人萌新,不对的地方欢迎指正!
这篇博客介绍了如何使用TensorFlow构建一个只有一个神经元的简单神经网络,用于预测线性方程y=0.3x+0.1。通过源代码演示,解释了权重和偏置的初始化、损失函数的计算以及梯度下降优化器的应用。经过训练,网络成功地学习到了预期的线性关系。
1090

被折叠的 条评论
为什么被折叠?



