初识Tesorflow+机器学习函数方程

tensorflow分为CPU版和GPU版,GPU版处理速度快很多,如果电脑中有NVIDIA的GPU,建议安装tensorflowGPU版

安装教程,windows用户可直接pip

pip install tensorflow  # 会直接安装CPU版

pip install tensorflow-gpu   # 安装GPU版

安装好了以后来练习一下机器学习一个函数方程Y = 0.1X + 0.3

首先创建数据

x_data = np.random.rand(100).astype(np.float32)   # 创建100个类型为float32的随机数
y_data = x_data*0.1 + 0.3

设置权重和偏置

Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))    # 权重,均匀分布[min,max)
biases = tf.Variable(tf.zeros([1]))                         # 偏置

tf.random_uniform函数和tf.zeros函数具体用法在我的博客中有具体描述。

接下来定义预测的Y轴坐标,并计算预测的和实际的误差值loss

y = Weights*x_data + biases    # 预测的Y
loss = tf.reduce_mean(tf.square(y-y_data))        # 预测的Y和实际的差别

神经网络建立优化器并减少误差loss

optimizer = tf.train.GradientDescentOptimizer(0.5)      # 神经网络建立优化器‘0.5’为学习效率
train = optimizer.minimize(loss)                        # 使用优化器来减少误差

初始化变量并运行

init = tf.global_variables_initializer()       # 初始化变量
sess = tf.Session()                 # Session。run()用来运行
sess.run(init)          # 运行init

每隔20次查看一次学习结果

for step in range(301):
    sess.run(train)                 # 运行train
    if step % 20 == 0:
        print(step, sess.run(Weights), sess.run(biases))

运行结果

初识Tesorflow+机器学习函数方程

可以看出Weight和biases无限接近0.1和0.3