TensorFlow拟合线性函数

简单的TensorFlow图构造

以单个神经元为例

x_data数据为20个随机 [0, 1) 的32位浮点数按照 shape=[20] 组成的张量

y_data为 y = 3*x_data + 0.5 也为 shape=[20]

初始化此神经元的 weight 为 [-1, 1) 之间的一个随机32位浮点数

初始化此神经元的 bias 为 0

误差(Loss)选择为神经元输出结果与y_data的差平方平均值

Optimizer概览

Optimizer的选择一般由data的size及shape决定

class tf.train.GradientDescentOptimizer

随机梯度下降优化器,SGD,stochastic gradient descent,最普通,最慢,相对比较准确

Learing Rate根据Cost选择

class tf.train.MomentumOptimizer

动量法优化器,普遍,比GradientDescent快的多,开始可能偏差较大,后来纠正很快,随时间迁移

class tf.train.AdamOptimizer 普遍

class tf.train.AdadeltaOptimizer

class tf.train.AdagradOptimizer

class tf.train.FtrlOptimizer

class tf.train.RMSPropOptimizer AlphaGo使用

Gradient Descent Optimizer

梯度下降优化器 learning rate 0.75

三个数值为weight bias loss

200步之后 3. 0.5 0.0 完美

其他Optimizer

todo: 改变 learing rate 及其他参数对其他Optimizer进行测试

Code

import tensorflow as tf

# to fitting an unary linear function

# creat data
x_data = tf.random_uniform([20], 0, 1)
y_data = x_data*3 + 0.5 # creat tensorflow stuctrue start
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
biases = tf.Variable(tf.zeros([1])) output = Weights*x_data + biases loss = tf.reduce_mean(tf.square(output - y_data))
optimizer = tf.train.AdamOptimizer(0.75)
train = optimizer.minimize(loss)
# creat tensorflow stuctrue end # run tensorflow
init = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init)
for i in range(1, 201):
sess.run(train)
if i%20 == 0:
#print("x_data:\n", x_data,"\ny_data:\n", y_data)
print(i, sess.run(Weights), sess.run(biases), sess.run(loss))

TensorFlow拟合线性函数的更多相关文章

  1. 06 使用Tensorflow拟合x与y之间的关系

    看代码: import tensorflow as tf import numpy as np #构造输入数据(我们用神经网络拟合x_data和y_data之间的关系) x_data = np.lin ...

  2. tensorflow拟合随机生成的三维数据【学习笔记】

    平台信息:PC:ubuntu18.04.i5.anaconda2.cuda9.0.cudnn7.0.5.tensorflow1.10.GTX1060 作者:庄泽彬(欢迎转载,请注明作者) 说明:感谢t ...

  3. 线性函数拟合R语言示例

    线性函数拟合(y=a+bx) 1.       R运行实例 R语言运行代码如下:绿色为要提供的数据,黄色标识信息为需要保存的. x<-c(0.10,0.11, 0.12, 0.13, 0.14, ...

  4. tensorflow 莫烦教程

    1,感谢莫烦 2,第一个实例:用tf拟合线性函数 import tensorflow as tf import numpy as np # create data x_data = np.random ...

  5. 使用MindSpore的线性神经网络拟合非线性函数

    技术背景 在前面的几篇博客中,我们分别介绍了MindSpore的CPU版本在Docker下的安装与配置方案.MindSpore的线性函数拟合以及MindSpore后来新推出的GPU版本的Docker编 ...

  6. Java 使用 Apache commons-math3 线性拟合、非线性拟合实例(带效果图)

    Java 使用 CommonsMath3 的线性和非线性拟合实例,带效果图 例子查看 GitHub Gitee 运行src/main/java/org/wfw/chart/Main.java 即可查看 ...

  7. 《用Python玩转数据》项目—线性回归分析入门之波士顿房价预测(二)

    接上一部分,此篇将用tensorflow建立神经网络,对波士顿房价数据进行简单建模预测. 二.使用tensorflow拟合boston房价datasets 1.数据处理依然利用sklearn来分训练集 ...

  8. 大叔学ML第三:多项式回归

    目录 基本形式 小试牛刀 再试牛刀 调用类库 基本形式 上文中,大叔说道了线性回归,线性回归是个非常直观又简单的模型,但是很多时候,数据的分布并不是线性的,如: 如果我们想用高次多项式拟合上面的数据应 ...

  9. 广告成本控制-PID算法

    今天我们来聊聊广告成本控制中常用的PID算法. 0.PID算法简介 首先我们可以看下维基百科中给PID算法的定义:由比例单元(Proportional).积分单元(Integral)和微分单元(Der ...

随机推荐

  1. JQuery实现table分页

    1.直接贴代码: ; //每页显示的记录条数 ; //显示第curPage页 var len; //总行数 var page; //总页数 $(function(){ len =$(; //去掉表头 ...

  2. android中加载的html获取的宽高不正确

    wap页面使用 js库是zepto,按照惯例在$(function(){})中,来获取当前可视区的宽高,但得到的宽高却与预想的相差十万八千里. 原本android手机的浏览器设定的宽高基本是360*6 ...

  3. iOS runloop 资源汇总-b

    RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理.之后会介绍一下在 iOS 中,苹果是如何利 ...

  4. zoj 2165

    很简单的DFS搜索水题,递归理解深了很easy的!打了一遍就ac了 #include<stdio.h> ][]; ,n,m; void DFS(int x,int y) { ; ;i< ...

  5. 基于 HTML5 WebGL 的 3D 网络拓扑结构图

    现在,3D 模型已经用于各种不同的领域.在医疗行业使用它们制作器官的精确模型:电影行业将它们用于活动的人物.物体以及现实电影:视频游戏产业将它们作为计算机与视频游戏中的资源:在科学领域将它们作为化合物 ...

  6. salesforce初探

      Salesforce的商业模式? 从做CRM SAAS起家,可以理解为在线CRM,不需要硬件和服务器,输入用户名和密码就能登陆使用.2007年推出PaaS平台Force.com,可以说,它依托CR ...

  7. IO通信模型(一)同步阻塞模式BIO(Blocking IO)

    几个概念 阻塞IO 和非阻塞IO 这两个概念是程序级别的.主要描述的是程序请求操作系统IO操作后,如果IO资源没有准备好,那么程序该如何处理的问题:前者等待:后者继续执行(但是使用线程一直轮询,直到有 ...

  8. python3 session cookie

    session是保存在服务器中的,而cookies是保存在客户端中的.服务器通过session id来跟踪客户,而对于客户端而言,session id是保存在cookies中的,所以只要把cookie ...

  9. Teamwork(The second day of the team)

    梦之翼 5.20工作汇报: Master:杨灵超 产品负责人:杨家安 第一次Sprint的目标和时间: 目标:这一次的sprint我们想先做成一个可以运行的可以展示,但是功能或许还不是很完善的一个模型 ...

  10. NFS的安装以及windows/linux挂载linux网络文件系统NFS

    1.创建linux的NFS服务端安装centos6.4,关闭防火墙/etc/init.d/iptables status yum install nfs-utils rpcbind [root@lin ...