过程:

先用numpy建立100个数据点,再用梯度下滑工具来拟合,得到完美的回归线。

 # _*_coding:utf-8_*_
import tensorflow as tf
import numpy as np # 用numpy建立100个数据点,y=x*0.1+0.3
x_data = np.random.rand(100).astype("float32")
y_data = x_data*0.1+0.3 # 建立权值变量W和偏移量变量b
W = tf.Variable(tf.random_uniform([1],-1.0,1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b # 最小化均方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5) #train里面有最优化函数
train = optimizer.minimize(loss) #gradient descent 作用的是代价函数 # 变量使用前要初始化
init = tf.initialize_all_variables() # 载入图(在一个session被建立并且run()函数被运行前,TensorFlow不会进行任何实质的计算)
sess = tf.Session() # 会话将图的 op 分发到如 CPU 或 GPU 之类的 设备 (Devices()) 上, 同时提供 执行 op 的方法
sess.run(init) # 调整线
for step in xrange(201):
sess.run(train)
if step % 20 == 0:
print (step, sess.run(W), sess.run(b))

运行结果:

(0, array([ 0.32897317], dtype=float32), array([ 0.2412499], dtype=float32))
(20, array([ 0.15775403], dtype=float32), array([ 0.26956022], dtype=float32))
(40, array([ 0.11639664], dtype=float32), array([ 0.29135802], dtype=float32))
(60, array([ 0.1046551], dtype=float32), array([ 0.29754651], dtype=float32))
(80, array([ 0.10132162], dtype=float32), array([ 0.29930344], dtype=float32))
(100, array([ 0.10037522], dtype=float32), array([ 0.29980224], dtype=float32))
(120, array([ 0.10010655], dtype=float32), array([ 0.29994386], dtype=float32))
(140, array([ 0.10003026], dtype=float32), array([ 0.29998407], dtype=float32))
(160, array([ 0.10000858], dtype=float32), array([ 0.29999548], dtype=float32))
(180, array([ 0.10000245], dtype=float32), array([ 0.29999873], dtype=float32))

符合:y=x*0.1+0.3

TensorFlow——热身运动:简单的线性回归的更多相关文章

  1. 【学习笔记】tensorflow实现一个简单的线性回归

    目录 准备知识 Tensorflow运算API 梯度下降API 简单的线性回归的实现 建立事件文件 变量作用域 增加变量显示 模型的保存与加载 自定义命令行参数 准备知识 Tensorflow运算AP ...

  2. Android逆向进阶——让你自由自在脱壳的热身运动(dex篇)

    本文作者:HAI_ 0×00 前言 来看看我们今天的主题. 让你自由自在脱壳的热身运动. 现在很多第厂家都是使用第三方的加固方式来进行加固的.或者使用自己的加固方式进行加固. 那么我们必不可少的就是脱 ...

  3. tensorflow rnn 最简单实现代码

    tensorflow rnn 最简单实现代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf from te ...

  4. 用Tensorflow完成简单的线性回归模型

    思路:在数据上选择一条直线y=Wx+b,在这条直线上附件随机生成一些数据点如下图,让TensorFlow建立回归模型,去学习什么样的W和b能更好去拟合这些数据点. 1)随机生成1000个数据点,围绕在 ...

  5. 简单的线性回归问题-TensorFlow+MATLAB·

    首先我们要试验的是 人体脂肪fat和年龄age以及体重weight之间的关系,我们的目标就是得到一个最优化的平面来表示三者之间的关系: TensorFlow的程序如下: import tensorfl ...

  6. TensorFlow实现一个简单线性回归的例子

    __author__ = "WSX" import tensorflow as tf import numpy as np import matplotlib.pyplot as ...

  7. 《MFC游戏开发》笔记九 游戏中的碰撞判定初步&怪物运动简单AI

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9374935 作者:七十一雾央 新浪微博:http:// ...

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

    上篇介绍了TensorFlow基本概念和基本操作,本文将利用TensorFlow举例实现线性回归模型过程. 线性回归算法 线性回归算法是机器学习中典型监督学习算法,不同于分类算法,线性回归的输出是整个 ...

  9. AI之旅(1):出发前的热身运动

    前置知识   无 知识地图 自学就像在海中游泳   当初为什么会想要了解机器学习呢,应该只是纯粹的好奇心吧.AI似乎无处不在,又无迹可循.为什么一个程序能在围棋的领域战胜人类,程序真的有那么聪明吗?如 ...

随机推荐

  1. db2数据库备份

    一.离线备份 db2  list  database  directory -----查看有哪些数据库,确定需要备份哪个数据库 db2  disconnect  current -----断开以数据库 ...

  2. 对比java和python对比

    对比java和python 对比java和python 2011年04月18日 1.难易度而言.python远远简单于java. 2.开发速度.Python远优于java 3.运行速度.java远优于 ...

  3. 如何将SAP Multi Target应用部署到SAP云平台的Cloud Foundry环境去

    SHINA是SAP HANA Interactive Education的缩写,是一个demo应用,用于演示如何开发SAP HANA原生应用. 这个应用包含了sample数据以及HANA数据库表,vi ...

  4. UVA 11992 Fast Matrix Operations (降维)

    题意:对一个矩阵进行子矩阵操作. 元素最多有1e6个,树套树不好开(我不会),把二维坐标化成一维的,一个子矩阵操作分解成多条线段的操作. 一次操作的复杂度是RlogC,很容易找到极端的数据(OJ上实测 ...

  5. vue 修改端口

  6. HTML之基本语法(链接标签、路径的介绍和使用)

    一.链接标签 语法:<a href="目标地址">这个标签上展示的内容</a> 作用:可以实现在当前页面跳转到新页面的操作 属性 1.target这个属性可 ...

  7. React脚手架less的安装

    最近在用react.js 结合蚂蚁金服的 Ant Design Mobile 做一个单页面的应用程序,遇到了一个很棘手的问题——那就是 react脚手架不支持less,看了不少优秀博主如何在react ...

  8. modelformset

    class StudyRecordDeialView(View): def get(self, request, class_record_id): class_record_obj = models ...

  9. Luogu [P3951] 小凯的疑惑

    题目详见:[P3951]小凯的疑惑 首先说明:此题为一道提高组的题.但其实代码并没有提高组的水平.主要考的是我们的推断能力,以及看到题后的分析能力. 分析如下: 证明当k>ab-a-b时,小凯可 ...

  10. 代码块(block)的使用

    Objective-C语法之代码块(block)的使用 代码块本质上是和其他变量类似.不同的是,代码块存储的数据是一个函数体.使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值. 脱 ...