tensorflow实战google深度学习框架阅读笔记——神经网络优化算法
最近在阅读《tensorflow实战google深度学习框架》,对里面讲到的内容,重点部分做下摘抄和笔记,以备后面查阅。部分内容为本人个人理解,如果错误,请指正,如果侵权,请联系删除,谢谢。转载请注明出处,谢谢。
神经网络优化算法
这里主要讲反向传播算法和梯度下降算法:
梯度下降主要用于优化单个参数的取值,而反向传播则给出了一个高效的方式在所有参数上使用梯度下降算法,从而时神经网络模型在训练数据上的损失函数尽可能小。
反向传播算法是训练神经网络的核心算法,他可以根据定义好的损失函数优化神经网络中参数的取值,从而时神经网络模型在训练数据集上的损失函数达到一个较小值。
Tensorflow如何实现神经网络的训练过程
神经网络的训练大都遵循一下过程:
学习率的设置——指数衰减法
学习率既不能过大,也不能过小。因为如果过大,可能不会收敛到极小值,而是会在极小值左右来回移动,而如果过小,需要迭代的次数过多。
所以,tensorflow提供了一种更加灵活的设置方法:指数衰减法
过拟合问题
滑动平均模型——概念
滑动平均模型,又称为移动平均法,滑动平均法
移动平均法是一种简单平滑预测技术,它的基本思想是:根据时间序列资料、逐项推移,依次计算包含一定项数的序时平均值,以反映长期趋势的方法。因此,当时间序列的数值由于受周期变动和随机波动的影响,起伏较大,不易显示出事件的发展趋势时,使用移动平均法可以消除这些因素的影响,显示出事件的发展方向与趋势(即趋势线),然后依趋势线分析预测序列的长期趋势。
移动平均法的种类
移动平均法可以分为:简单移动平均和加权移动平均。
一、简单移动平均法
简单移动平均的各元素的权重都相等。简单的移动平均的计算公式如下: Ft=(At-1+At-2+At-3+…+At-n)/n式中,
·Ft–对下一期的预测值;
·n–移动平均的时期个数;
·At-1–前期实际值;
·At-2,At-3和At-n分别表示前两期、前三期直至前n期的实际值。
二、加权移动平均法
加权移动平均给固定跨越期限内的每个变量值以不同的权重。其原理是:历史各期产品需求的数据信息对预测未来期内的需求量的作用是不一样的。除了以n为周期的周期性变化外,远离目标期的变量值的影响力相对较低,故应给予较低的权重。加权移动平均法的计算公式如下:
Ft=w1At-1+w2At-2+w3At-3+…+wnAt-n式中,
·w1–第t-1期实际销售额的权重;
·w2–第t-2期实际销售额的权重;
·wn–第t-n期实际销售额的权
·n–预测的时期数;w1+ w2+…+ wn=1
在运用加权平均法时,权重的选择是一个应该注意的问题。经验法和试算法是选择权重的最简单的方法。一般而言,最近期的数据最能预示未来的情况,因而权重应大些。例如,根据前一个月的利润和生产能力比起根据前几个月能更好的估测下个月的利润和生产能力。但是,如果数据是季节性的,则权重也应是季节性的。移动平均法的优缺点
使用移动平均法进行预测能平滑掉需求的突然波动对预测结果的影响。但移动平均法运用时也存在着如下问题:
1、加大移动平均法的期数(即加大n值)会使平滑波动效果更好,但会使预测值对数据实际变动更不敏感;
2、移动平均值并不能总是很好地反映出趋势。由于是平均值,预测值总是停留在过去的水平上而无法预计会导致将来更高或更低的波动;
3、移动平均法要由大量的过去数据的记录。