TensorFlow入门简单机器学习练习

TensorFlow简介

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。TensorFlow是由谷歌开发的,只要支持Python语言,用起来还是蛮方便的。
本文的代码是在Ubantu64位系统下用pyhton3和TensorFlow1.2运行的。

TensorFlow用于拟合函数

当我们给出一系列(x,y)值的点,这些点遵循某个函数那么怎么去找到这个函数的表达式呢?(也就是函数对应变量的参数)用TensorFlow机器学习是一种方法(似乎感觉有点大材小用了)但作为一个简单的机器学习以及TensorFlow的入门例子还是简单易懂是非适合的。

废话不多说上代码

代码里以及写的够清楚了
这里随机生成了10000组点x是随机生成的float32类型的数,y则是0.7*x^2+0.3
程序通过学习后能够找到参数0.7和0.3。
1. 先创建TensorFlow构
2. 然后初始化
3. 然后run,运行起来。

import tensorflow as tf
import numpy as np

# create data
x_data = np.random.rand(10000).astype(np.float32) #create 100 random float number
y_data = x_data*x_data*0.7 + 0.3

#create tensorflow structure start
#weights means 权重
#biases means 偏移量
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) #随机生成1维的-1.0到1.0
biases = tf.Variable(tf.zeros([1]))
y = Weights*x_data*x_data + biases
loss = tf.reduce_mean(tf.square(y-y_data)) #预测的y值与实际的差
optimizer = tf.train.GradientDescentOptimizer(0.5) #优化器:减少误差,使用梯度下降来减小误差,参数小于1
train = optimizer.minimize(loss)  #train使用optimizer来最小化loss
init = tf.global_variables_initializer()  # 初始化!重要必须要有初始化
#create tensorflow structure end

#创建tensorflow session 并初始化
sess = tf.Session()
sess.run(init)          # Very important激活init

#训练1000次每次输出Weights和biases
for step in range(1000):
    sess.run(train)
    #if step % 20 == 0:
    print(step, sess.run(Weights), sess.run(biases))

结果

这里写图片描述
每一步输出学习得到的函数的参数,训练1000次效果还是可以的。

参考

非常感谢莫烦Python的教程,简单易懂,十分用心。希望学习Python,学习Python数据处理以及机器学习TensorFlow等等可以学他的教程真的非常不错。
再次附上莫烦Python的链接,全是干货实在佩服 https://morvanzhou.github.io/

猜你喜欢

转载自blog.csdn.net/qq_33374476/article/details/76690827