TensorFlow拟合线性函数
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拟合线性函数的更多相关文章
- 06 使用Tensorflow拟合x与y之间的关系
看代码: import tensorflow as tf import numpy as np #构造输入数据(我们用神经网络拟合x_data和y_data之间的关系) x_data = np.lin ...
- tensorflow拟合随机生成的三维数据【学习笔记】
平台信息:PC:ubuntu18.04.i5.anaconda2.cuda9.0.cudnn7.0.5.tensorflow1.10.GTX1060 作者:庄泽彬(欢迎转载,请注明作者) 说明:感谢t ...
- 线性函数拟合R语言示例
线性函数拟合(y=a+bx) 1. R运行实例 R语言运行代码如下:绿色为要提供的数据,黄色标识信息为需要保存的. x<-c(0.10,0.11, 0.12, 0.13, 0.14, ...
- tensorflow 莫烦教程
1,感谢莫烦 2,第一个实例:用tf拟合线性函数 import tensorflow as tf import numpy as np # create data x_data = np.random ...
- 使用MindSpore的线性神经网络拟合非线性函数
技术背景 在前面的几篇博客中,我们分别介绍了MindSpore的CPU版本在Docker下的安装与配置方案.MindSpore的线性函数拟合以及MindSpore后来新推出的GPU版本的Docker编 ...
- Java 使用 Apache commons-math3 线性拟合、非线性拟合实例(带效果图)
Java 使用 CommonsMath3 的线性和非线性拟合实例,带效果图 例子查看 GitHub Gitee 运行src/main/java/org/wfw/chart/Main.java 即可查看 ...
- 《用Python玩转数据》项目—线性回归分析入门之波士顿房价预测(二)
接上一部分,此篇将用tensorflow建立神经网络,对波士顿房价数据进行简单建模预测. 二.使用tensorflow拟合boston房价datasets 1.数据处理依然利用sklearn来分训练集 ...
- 大叔学ML第三:多项式回归
目录 基本形式 小试牛刀 再试牛刀 调用类库 基本形式 上文中,大叔说道了线性回归,线性回归是个非常直观又简单的模型,但是很多时候,数据的分布并不是线性的,如: 如果我们想用高次多项式拟合上面的数据应 ...
- 广告成本控制-PID算法
今天我们来聊聊广告成本控制中常用的PID算法. 0.PID算法简介 首先我们可以看下维基百科中给PID算法的定义:由比例单元(Proportional).积分单元(Integral)和微分单元(Der ...
随机推荐
- Asp.net的sessionState四种模式配置方案
sessionState节点的配置 web.config关于sessionState节点的配置方案,sessionState有四种模式:off,inProc,StateServer,SqlServer ...
- Django学习-7-ORM操作
select * from tb where id > 1 # 对应关系 models.tb.objects.filter(1id__gt=) models.tb. ...
- Ajax跨域解决实例
HTML 在本例中我们跨域http://www.sucaihuo.com/jquery/demo/43/jsonp.php?callback=.你也可以试试其他域名.下面表单中,我们提交后的结果反馈到 ...
- sql一张表中两个字段指向同一个外键
在项目开发中遇到这么一个例子,首先产品表 tb_product ----------------------------- id name 1 手机 2 电脑 3 笔记本 ...
- java第一个程序——Hello World
Hello World 如果没有下载jdk以及配置环境变量的萌新请自行百度,教程非常的详细(参考:https://jingyan.baidu.com/article/6dad5075d1dc40a12 ...
- 关于js的语句类型运算符等
JavaScript的基本语句有以下几种: 1.for(判断条件){执行内容}: 2.if(条件){...}else{ ....}: 3.while(条件){....}:先判断条件再执行: do{.. ...
- 什么是Docker??
Docker是一个轻量级虚拟机,也是一种Linux容器,它突破了以往的沙盒技术,解放了应用部署,让PaaS的应用场景更为广泛. docker是通过内核虚拟化技术((namespaces及cgr ...
- 26.Django模板语言和分页
继承 extends 子版只能继承一个父模板 1.父模板 master.html <!DOCTYPE html> <html lang="en"> < ...
- 【解高次同余方程】51nod1038 X^A Mod P
1038 X^A Mod P 基准时间限制:1 秒 空间限制:131072 KB 分值: 320 X^A mod P = B,其中P为质数.给出P和A B,求< P的所有X. 例如:P = 11 ...
- Unity3D打包 将发布的exe文件打包成一个Windows安装文件(自解压文件)
Unity打包Standalone时 会出现一个exe文件和一个data文件夹 可是我们平常见过的软件 基本没有这种像这种结构的 一般都是一个安装文件,然后点击安装,选择路径,生成快捷方式- 本篇博客 ...