reference: https://blog.csdn.net/jningwei/article/details/79243800

learning rate:学习率,控制模型的学习进度,决定权值更新的速度。也叫做步长,即反向传播算法的 

学习率的设置

在训练开始时,根据迭代次数动态设置学习率。

刚开始时,学习率以0.01~0.001 为宜,一定轮数后,开始下降,在快结束时学习率的衰减应该在100倍以上。由于迁移学习,模型已在原始数据上收敛,应设置较小的学习率(<= 0.00001),

在新数据上进行微调。

 学习率缓解机制

目标函数损失值看lr

理想情况下的损失曲线应该是滑梯式的,绿线所示:

分析 :红线一开始就上扬,说明初始学习率过大,从而导致震荡,应该减小学习率。

黄线初始学习率较小,loss曲线收敛缓慢,易过拟合,应增大初始学习率。

紫线初始学习率过大,导致无法过拟合,应减小学习率。

权重衰减 

为了避免网络的过拟合,对cost function引入正则项,作用是减小不重要参数对最后结果的影响,有用的权重不会受到weight decay的影响。过拟合时权重值逐渐变大,在loss function增加一个惩罚项。不是为了提高收敛速度或是收敛精度,正则项指示模型的复杂度,权重衰减调节模型复杂度对损失函数的影响。

Momentum

基本思想是为了找到最优加入“惯性”的影响,当误差曲面中存在平坦区域时,SGD可以更快的学习。

Learning Rate Decay

目的是为了提高SGD的寻优化能力,每次迭代的时候减小学习率的大小。

BN的好处:BN在NeuralNetwork 的激活函数之前,将wx+b按照特征进行标准化处理。

1.Normalization可以使特征缩放至【0,1】,在反向传播时梯度在1左右,避免梯度消失。

2.提高学习速率,标准化后更快达到收敛。

3.减少模型对初始化的依赖。

 batch大小的作用

batch决定梯度下降的方向。如果batch size为全体数据集,则确定的方向可以更好的代表样本总体,更加准确的朝向极值的方向。缺点是内存的限制。

如果设置为1,即为在线学习,每次修正方向都以各自样本的梯度方向修正,难以收敛。

在合理的范围内增大batch_size可以提高内存利用率,减少跑完整个数据集的所需要的迭代次数,加快了相对于相同数据量的处理速度。一般设置为8的倍数。

           

deeplearning 重要调参参数分析的更多相关文章

  1. word2vec参数调整 及lda调参

     一.word2vec调参   ./word2vec -train resultbig.txt -output vectors.bin -cbow 0 -size 200 -window 5 -neg ...

  2. xgboost的sklearn接口和原生接口参数详细说明及调参指点

    from xgboost import XGBClassifier XGBClassifier(max_depth=3,learning_rate=0.1,n_estimators=100,silen ...

  3. XGBoost和LightGBM的参数以及调参

    一.XGBoost参数解释 XGBoost的参数一共分为三类: 通用参数:宏观函数控制. Booster参数:控制每一步的booster(tree/regression).booster参数一般可以调 ...

  4. XGBoost 重要参数(调参使用)

    XGBoost 重要参数(调参使用) 数据比赛Kaggle,天池中最常见的就是XGBoost和LightGBM. 模型是在数据比赛中尤为重要的,但是实际上,在比赛的过程中,大部分朋友在模型上花的时间却 ...

  5. DeepMind提出新型超参数最优化方法:性能超越手动调参和贝叶斯优化

    DeepMind提出新型超参数最优化方法:性能超越手动调参和贝叶斯优化 2017年11月29日 06:40:37 机器之心V 阅读数 2183   版权声明:本文为博主原创文章,遵循CC 4.0 BY ...

  6. 机器学习笔记——模型调参利器 GridSearchCV(网格搜索)参数的说明

    GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化的结果和参数.但是这个方法适合于小数据集,一旦数据的量级上去了,很难得出结果.这个时候就是需要动脑筋了.数据量比较大 ...

  7. 漫谈PID——实现与调参

    闲话: 作为一个控制专业的学生,说起PID,真是让我又爱又恨.甚至有时候会觉得我可能这辈子都学不会pid了,但是经过一段时间的反复琢磨,pid也不是很复杂.所以在看懂pid的基础上,写下这篇文章,方便 ...

  8. CatBoost算法和调参

    欢迎关注博主主页,学习python视频资源 sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?co ...

  9. GBDT调参总结

    一.GBDT类库弱学习器参数 二.回归 数据集:已知用户的30个特征,预测用户的信用值 from sklearn.ensemble import GradientBoostingRegressor f ...

随机推荐

  1. java基础梳理--朝花夕拾(一)

    简介: Java是一种撰写跨平台应用软件的面向对象语言,1995年由Sun Microsystems公司推出. 2009年04月20日,甲骨文74亿美元收购Sun,取得java的版权. 2011年7月 ...

  2. vue 中通过 ajax 获取数据时,如何避免绑定的数据中出现 property of undefined 错误

    参考链接:https://segmentfault.com/q/1010000008264089?_ea=1597485

  3. IBM 3650 M3 yum upgrade后系统无法登陆问题

    一.背景 IBM 3650 M3安装了centos7.2操作系统 今天yum upgrade升级centos7.6,重启系统后发现开不了机,报错如下: Failed to set MokListRT: ...

  4. Spring Bean自动检测

    1-自动检测bean 需要用到<context:component-scan> 注意:a) 需要include进来xmlns:context命名空间:base-package指的是我们要扫 ...

  5. 虚拟机配置nginx无法访问80端口

    在虚拟机中配置成功并正常启动nginx服务后,但浏览器无法访问服务,原因可能是linux中未开放80端口(nginx默认的端口为80). 1.执行该命令打开端口文件 vi /etc/sysconfig ...

  6. 1.Spring Boot入门及其jar包依赖模型分析

    Spring Boot介绍 Spring Boot是由Pivotal团队提供的新框架,其设计目的是简化Spring应用的搭建以及开发过程.其目标是: 为所有Spring开发提供一个从根本上更快,且方便 ...

  7. ES6学习笔记三

    1.Symbol ES5 的对象属性名都是字符串,这容易造成属性名的冲突.如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突.这就是 ES6 引入Symbol的原因 ...

  8. Python3学习笔记27-ConfigParser模块

    ConfigParser模块在Python3修改为configparser,这个模块定义了一个ConfigeParser类,该类的作用是让配置文件生效.配置文件的格式和window的ini文件相同,大 ...

  9. arx对正在操作的文件进行保存

    //对正在操作的文件进行保存 STDMETHODIMP CTHDatabase::Save(void) { // TODO: 在此添加实现代码 Acad::ErrorStatus es ; try{ ...

  10. VC,VB操作XML

    TCHAR buffer[MAX_PATH] = {}; ::GetModuleFileName(NULL, buffer, MAX_PATH); CString strPath = buffer; ...