关于调节学习率(learning rate)的几点建议
来源:互联网 发布:java element类 api 编辑:程序博客网 时间:2024/06/12 00:57
关于调节学习率的几点建议
1.对于不同大小的数据集,调节不同的学习率
根据我们选择的成本函数F(x)不同,问题会有区别。当平方误差和(Sum of Squared Errors)作为成本函数时,
解决此类问题的一个方法是将学习率λ 乘上1/N,N是训练集中数据量。这样每步更新的公式变成下面的形式:
相关内容可参考: Wilson et al. paper “The general inefficiency of batch training for gradient descent learning”
另外一种解决方法是:选择一个不被训练集样本个数影响的成本函数,如均值平方差(Mean Squared Errors)。
2. 在每次迭代中调节不同的学习率
在每次迭代中去调整学习率的值是另一种很好的学习率自适应方法。此类方法的基本思路是当你离最优值越远,你需要朝最优值移动的就越多,即学习率就应该越大;反之亦然。
但是这里有一个问题,就是我们并不知道实际上的最优值在哪里,我们也不知道每一步迭代中我们离最优值有多远。
解决办法是,我们在每次迭代的最后,使用估计的模型参数检查误差函数(error function)的值。如果相对于上一次迭代,错误率减少了,就可以增大学习率,以5%的幅度;如果相对于上一次迭代,错误率增大了(意味着跳过了最优值),那么应该重新设置上一轮迭代ωj 的值,并且减少学习率到之前的50%。这种方法叫做 Bold Driver.
3. 建议:归一化输入向量
归一化输入向量在机器学习问题中是一个通用的方法。在一些应用中,由于使用距离或者特征方差,要求必须归一化输入向量,因为如果不归一化将导致结果会严重被具有大方差的特征和不同的尺度影响。归一化输入能够帮助数值最优方法(例如,梯度下降法)更快,更准确地收敛。
尽管有一些不同的归一化变量的方法,[0,1]归一化(也叫做min-max)和z-score归一化是两种最为广泛应用的。
- 关于调节学习率(learning rate)的几点建议
- 关于学习java的几点建议
- 学习率Learning rate
- 学习率 Learning Rate
- Tensorflow学习率的learning rate decay
- 关于学习的几点-->给自己的建议
- 关于Enhydra Shark 学习的几点建议
- 关于SAP咨询顾问学习的几点建议
- 关于SAP咨询顾问学习的几点建议
- 关于ORACLE 数据库学习的几点建议
- 关于看视频学习的几点建议
- 关于辞职考研的几点建议
- 关于网络创业的几点建议
- 关于ESB实施的几点建议
- 关于androidUI设计的几点建议
- 关于链接的几点建议
- 关于代码审查的几点建议
- 关于GPU的几点建议
- input回车事件未实现但页面刷新
- 亲授MVC5中EF6 Code First启动慢及间隙变慢优化的实践经验
- Java面向对象基础知识点
- ABP官方文档(四十九)【集成EntityFramework】
- 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等 方法:移动(move()),设置速度(setSpeed(int speed)),设置体积(s
- 关于调节学习率(learning rate)的几点建议
- Android studio安装
- 服务器上的 Git
- 【备忘】年薪50万2017年最新北风网Spark2.0从入门到精通教程
- hive cli 常用命令
- linux下使用Bundler + CMVS-PMVS进行三维重建
- Java构造函数
- ABP官方文档(五十)【集成NHibernate】
- Java高并发综合