内容简介:深度学习中涉及到很多参数,如果对于一些参数不了解,那么去看任何一个框架都会有难度,在TensorFlow中有一些模型训练的基本参数,这些参数是训练模型的前提,也在一定程度上影响着模型的最终效果。下面主要介绍几个参数。深度学习的优化算法,其实就是梯度下降,在之前的文章中我们也介绍过梯度下降,这里就不详细说明。梯度下降分为三种:
深度学习中涉及到很多参数,如果对于一些参数不了解,那么去看任何一个框架都会有难度,在TensorFlow中有一些模型训练的基本参数,这些参数是训练模型的前提,也在一定程度上影响着模型的最终效果。下面主要介绍几个参数。
-
batch_size
-
iterations
-
epochs
batch_size
深度学习的优化算法,其实就是梯度下降,在之前的文章中我们也介绍过梯度下降,这里就不详细说明。梯度下降分为三种:
-
批量梯度下降算法(BGD,Batch gradient descent algorithm)
-
随机梯度下降算法(SGD,Stochastic gradient descent algorithm)
-
小批量梯度下降算法(MBGD,Mini-batch gradient descent algorithm)
批量梯度下降算法,每一次计算都需要遍历全部数据集,更新梯度,计算开销大,花费时间长,不支持在线学习。
随机梯度下降算法,每次随机选取一条数据,求梯度更新参数,这种方法计算速度快,但是收敛性能不太好,可能在最优点附近晃来晃去,hit不到最优点。两次参数的更新也有可能互相抵消掉,造成目标函数震荡的比较剧烈。
为了克服两种方法的缺点,现在一般采用的是一种折中手段,mini-batch gradient decent,小批的梯度下降,这种方法把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也不是很大。
tf框架中的batch size指的就是更新梯度中使用的样本数。当然这里如果把batch size设置为数据集的长度,就成了批量梯度下降算法,batch_size设置为1就是随机梯度下降算法。
iterations
迭代次数,每次迭代更新一次网络结构的参数。
迭代是重复反馈的动作,神经网络中我们希望通过迭代进行多次的训练以到达所需的目标或结果。
每一次迭代得到的结果都会被作为下一次迭代的初始值。
一个迭代 = 一个(batch size)数据正向通过(forward)+ 一个(batch size)数据反向(backward)
前向传播:构建由(x1,x2,x3)得到Y(hwb(x))的表达式
反向传播:基于给定的损失函数,求解参数的过程
epochs
epochs被定义为前向和反向传播中所有批次的单次训练迭代。这意味着1个周期是整个输入数据的单次前向和反向传递。
简单说,epochs指的就是训练过程中数据将被“轮”多少次
例如在某次模型训练过程中,总的样本数是10000,batch_size=100,epochs=10,其对应的伪代码如下:
其中iterations = data length / batch size
热
相关文章
扫码关注
By:Thinkgamer
推荐系统 / 深度学习 / 大数据
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- “黑客”深度学习之“Socket网络编程详解”
- 小白深度学习入门:白话详解 ROC & AUC
- 深度学习中图像语义分割基准数据集详解
- 爱奇艺 iOS 深度实践:SiriKit 详解应用篇
- 纯无趣技术贴,关于色深、位深、图像深度详解
- [译] 代码详解:用深度学习在 Keras 中对蝴蝶进行分类
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据挖掘
(美)Jiawei Han、(加)Micheline Kamber、(加)Jian Pei / 范明、孟小峰 / 机械工业出版社 / 2012-8 / 79.00元
数据挖掘领域最具里程碑意义的经典著作 完整全面阐述该领域的重要知识和技术创新 这是一本数据挖掘和知识发现的优秀教材,结构合理、条理清晰。本书既保留了相当篇幅讲述数据挖掘的基本概念和方法,又增加了若干章节介绍数据挖掘领域最新的技术和发展,因此既适合初学者学习又适合专业人员和实践者参考。本书视角广阔、资料翔实、内容全面,能够为有意深入研究相关技术的读者提供足够的参考和支持。总之, 强烈推荐......一起来看看 《数据挖掘》 这本书的介绍吧!