TensorFlow——热身运动:简单的线性回归
过程:
先用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——热身运动:简单的线性回归的更多相关文章
- 【学习笔记】tensorflow实现一个简单的线性回归
目录 准备知识 Tensorflow运算API 梯度下降API 简单的线性回归的实现 建立事件文件 变量作用域 增加变量显示 模型的保存与加载 自定义命令行参数 准备知识 Tensorflow运算AP ...
- Android逆向进阶——让你自由自在脱壳的热身运动(dex篇)
本文作者:HAI_ 0×00 前言 来看看我们今天的主题. 让你自由自在脱壳的热身运动. 现在很多第厂家都是使用第三方的加固方式来进行加固的.或者使用自己的加固方式进行加固. 那么我们必不可少的就是脱 ...
- tensorflow rnn 最简单实现代码
tensorflow rnn 最简单实现代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf from te ...
- 用Tensorflow完成简单的线性回归模型
思路:在数据上选择一条直线y=Wx+b,在这条直线上附件随机生成一些数据点如下图,让TensorFlow建立回归模型,去学习什么样的W和b能更好去拟合这些数据点. 1)随机生成1000个数据点,围绕在 ...
- 简单的线性回归问题-TensorFlow+MATLAB·
首先我们要试验的是 人体脂肪fat和年龄age以及体重weight之间的关系,我们的目标就是得到一个最优化的平面来表示三者之间的关系: TensorFlow的程序如下: import tensorfl ...
- TensorFlow实现一个简单线性回归的例子
__author__ = "WSX" import tensorflow as tf import numpy as np import matplotlib.pyplot as ...
- 《MFC游戏开发》笔记九 游戏中的碰撞判定初步&怪物运动简单AI
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9374935 作者:七十一雾央 新浪微博:http:// ...
- TensorFlow简易学习[2]:实现线性回归
上篇介绍了TensorFlow基本概念和基本操作,本文将利用TensorFlow举例实现线性回归模型过程. 线性回归算法 线性回归算法是机器学习中典型监督学习算法,不同于分类算法,线性回归的输出是整个 ...
- AI之旅(1):出发前的热身运动
前置知识 无 知识地图 自学就像在海中游泳 当初为什么会想要了解机器学习呢,应该只是纯粹的好奇心吧.AI似乎无处不在,又无迹可循.为什么一个程序能在围棋的领域战胜人类,程序真的有那么聪明吗?如 ...
随机推荐
- 使用java来压缩图片
使用java来压缩图片,简单几句,清清爽爽 使用0.3的压缩比得到的结果如下(从2.8M压缩到268K,且图片的清晰度看不出明显差别): package carlspringtest; import ...
- Lucene-如何编写Lucene程序
Lucene版本:7.1 使用Lucene的关键点 创建文档(Document),添加文件(Field),保存了原始数据信息: 把文档加入IndexWriter: 使用QueryParser.pars ...
- 【装载】删除Oracle11G
卸载Oracle步骤:1.停止所有与ORACLE相关的服务.2. 使用OUI(Oracle Universal Installer)卸载Oracle软件. “开始”->“程序”->“O ...
- VMware虚拟机中red hat linux ping不通宿主物理主机原因
在VMware Workstation中安装了red hat enterprise linux系统,网络使用“桥接”形式,最后出现在Windows下能够Ping通虚拟主机,而虚拟主机Ping不通Win ...
- Android商城开发系列(四)——butterknife的使用
在上一篇博客:Android商城开发系列(三)——使用Fragment+RadioButton实现商城底部导航栏实现商城的底部导航栏时,里面用到了butterknife,今天来讲解一下的butterk ...
- HDU 5452 Minimum Cut (Spaning Tree)
生成树的上的一个非根结点对应一条生成树上的边,然后这个结点的子树上连出去的边就对应去掉这条边的割, 然后就可以对树外的边求LCA,在LCA上标记,利用这个信息可以算出有多少条边在子树上,以及有多少条边 ...
- Android(java)学习笔记106:Android设置文本颜色的4种方法
1. Android设置文本颜色的4种方法: (1)利用系统自带的颜色类: tv.setTextColor(android.graphics.Color.RED); (2)数字颜色表示: tv.set ...
- Bootstrap 提示工具(Tooltip)插件方法的用法
方法 下面是一些提示工具(Tooltip)插件中有用的方法: 方法 描述 实例 Options: .tooltip(options) 向元素集合附加提示工具句柄. $().tooltip(option ...
- The expected type was 'System.Int64' but the actual value was null.”
System.InvalidOperationException:“An exception occurred while reading a database value for property ...
- on() 和 click() 的区别
on() 和 click() 的区别: 二者在绑定静态控件时没有区别,但是如果面对动态产生的控件,只有 on() 能成功的绑定到动态控件中. 以下实例中原先的 HTML 元素点击其身后的 Delete ...