码迷,mamicode.com
首页 > 其他好文 > 详细

TensorFlow简易学习[2]:实现线性回归

时间:2017-11-24 16:56:09      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:git   ioc   f11   cme   pcl   dsc   github   pll   lwp   

  上篇介绍了TensorFlow基本概念和基本操作,本文将利用TensorFlow举例实现线性回归模型过程。

线性回归算法

  线性回归算法是机器学习中典型监督学习算法,不同于分类算法,线性回归的输出是整个实数空间R(故也可用线性回归做分类)。关于线性回归网络资料很多,算法具体推演不做叙述,这里简要概括基本点。

  目标函数y(不考虑噪声形式):

        技术分享图片

  损失函数Loss:

           技术分享图片

  求解方法梯度下降:

        技术分享图片

TensorFlow实现

  代码

   

#!/usr/bin/pyton

import tensorflow as tf
import numpy as np 
import matplotlib.pyplot as plt 

x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1 + 0.3

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)

sess = tf.Session()
#initialize_local_variables no more support in new version
if int((tf.__version__).split(.)[1]) < 12 and int((tf.__version__).split(.)[0]) < 1:
    init = tf.initialize_all_variables()
else:
    init = tf.global_variables_initializer()

sess.run(init)
plt.figure()
for step in range(201):
    sess.run(train)

plt.scatter(x_data, sess.run(y))
plt.plot(x_data, sess.run(y), color = red)
plt.show()
sess.close()

 

 

  结果

                            技术分享图片

 

 

 

 --------------------------------------

说明:本列为前期学习时记录,为基本概念和操作,不涉及深入部分。文字部分参考在文中注明,代码参考莫凡 

 

TensorFlow简易学习[2]:实现线性回归

标签:git   ioc   f11   cme   pcl   dsc   github   pll   lwp   

原文地址:http://www.cnblogs.com/space-place/p/7890824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!