一个简单的梯度下降算法验证一次函数的例子
# a semple case
# -*- coding:utf-8 -*-
import tensorflow as tf
import numpy as np
#随机生成100个点,而且这100个点在y=0.1x+0.2上,以此作为训练样本
x_date = np.random.rand(100)
y_date = x_date*0.1 +0.2
b = tf.Variable(0.) #初始化偏置值
k = tf.Variable(0.) #初始化权重
y = k*x_date +b #初始化训练函数
#二次代价函数
loss = tf.reduce_mean(tf.square(y_date-y))
#定义一个梯度下降算法来训练优化器
optimizer = tf.train.GradientDescentOptimizer(0.2) #梯度下降法的学习率
#最小化代价函数
train = optimizer.minimize(loss)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for step in range(201):
sess.run(train)
if step%20==0:
print(step,sess.run([k,b]))
本文通过使用TensorFlow实现一个简单的梯度下降算法,来拟合一组由y=0.1x+0.2生成的数据点。通过迭代更新权重k和偏置b,最终使得模型能够接近原始的一次函数。
714

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



