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

  上篇介绍了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()
复制代码

 

 

  结果

                           

 

 

 

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

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

 

posted @   Splace  阅读(742)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
阅读排行:
· 20250116 支付宝出现重大事故 有感
· 一个基于 Roslyn 和 AvalonEdit 的跨平台 C# 编辑器
· 2025 最佳免费商用文本转语音模型: Kokoro TTS
· 海康工业相机的应用部署不是简简单单!?
· 使用 pdf.js 通过文件流方式加载pdf文件
点击右上角即可分享
微信分享提示