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. CentOS 7 安装配置 MySQL

    https://blog.imzhengfei.com/centos-7-an-zhuang-pei-zhi-mysql/ MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前 ...

  2. TCP通信实现对接硬件发送与接收十六进制数据 & int与byte的转换原理 & java中正负数的表示

    今天收到的一份需求任务是对接硬件,TCP通信,并给出通信端口与数据包格式,如下: 1.首先编写了一个简单的十六进制转byte[]数组与byte[]转换16进制字符串的两个方法,如下: /** * 将十 ...

  3. About me & OI这一年

    1 最近碰到一些 OIers 问我学 OI 的经历 回忆了一下,我做的第一道题是A+B Problem,时间:2018年2月15日 呀,正好一年了 2 我是来自 HB 的 OIer 一枚 现在高一,就 ...

  4. Hash算法【转】

    转自:http://www.cnblogs.com/wangjy/archive/2011/09/08/2171638.html Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度 ...

  5. Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台

    Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台: https://gitee.com/leecho/cola-cloud

  6. MySQL主从复制故障1595报错【原创】

    服务器环境 架构图 架构搭成后,在B机器上发现主从报错Last_IO_Errno: 1595 Last_IO_Error: Relay log write failure: could not que ...

  7. 待解决close

    关于close语句放在哪里,貌似会对结果产生影响 #include <iostream> #include <fstream> using namespace std; int ...

  8. Python os.chdir() 方法

    概述 os.chdir() 方法用于改变当前工作目录到指定的路径. 语法 chdir()方法语法格式如下: os.chdir(path) 参数 path -- 要切换到的新路径. 返回值 如果允许访问 ...

  9. C# List 作为参数传递的值变化

    一.示例演示 namespace TestConsole { class Program { static void Main(string[] args) { Console.WriteLine(& ...

  10. hibernate框架学习之持久化对象OID

    持久化对象唯一标识——OID 1)数据库中使用主键可以区分两个对象是否相同2)Java语言中使用对象的内存地址区分对象是否相同3)Hibernate中使用OID区分对象是否相同Hibernate认为每 ...