Tensorflow 学习笔记

import numpy as np
import tensorflow as tf

# 使用numpy生成100个随机点
xdata = np.random.rand(1000)
ydata = xdata * 0.1225 + 0.8843  # y=0.1225*x+0.8843

# 构造一个线性模型

b = tf.Variable(0.)
k = tf.Variable(0.)

y = k * xdata + b
# 二次代价函数
loss = tf.reduce_mean(tf.square(ydata - y))  # 误差平均值
# 定义一个梯度下降法来进行训练的优化器
optimizer = tf.train.GradientDescentOptimizer(0.2)  # 优化率0.2
# 最小化代价函数
train = optimizer.minimize(loss)

# 前面使用了变量,需要初始化
init = tf.global_variables_initializer()

with tf.Session() as ses:
    ses.run(init)
    for s in range(1001):
        ses.run(train)
        if s % 10 == 0:
            print(s, '-->>>', ses.run([k, b]))

本例使用numpy和TensorFlow。

numpy用来生成1000个x轴的坐标点,然后定义一个函数

y=0.1225x+0.8843

这样就生成了xdata和ydata.

然后使用逐次逼近(y-ydata)^2=0的状态,拟合曲线。

optimizer是一个优化器,可以理解成机器的学习速率,后面的0.2就是优化率

需要指出,k和b都是随机的,之后根据算法调整,逐渐逼近。

 

上一篇:【优化算法】Greedy Randomized Adaptive Search算法 超详细解析,附代码实现TSP问题求解


下一篇:python的np.loadtxt