花书+吴恩达深度学习(十九)构建模型策略(训练模型顺序、偏差方差、数据集划分、数据不匹配)
目录
0. 前言
1. 调试模型顺序
2. 偏差方差的解决方法
3. 数据集的选取划分
4. 数据不匹配问题
5. 评估指标的选取
6. 贝叶斯最佳误差
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~
花书+吴恩达深度学习(十八)迁移学习和多任务学习
花书+吴恩达深度学习(十九)构建模型策略(训练模型顺序、偏差方差、数据集划分、数据不匹配)
花书+吴恩达深度学习(二十)构建模型策略(超参数调试、监督预训练)
0. 前言
本篇文章主要记录,构建模型,调试模型中的一些技巧方法和注意事项。
- 训练集:用于训练模型参数的数据集
- 开发集:用于调试模型超参数的数据集(相当于平时所说的测试集)
- 测试集:只用于测试模型性能的数据集
1. 调试模型顺序
第一步,降低训练集上的代价函数。
如果不能有效的降低,可以尝试更大的神经网络,或更好的优化方法。
第二步,降低开发集上的代价函数。
如果不能有效的降低,考虑可能是过拟合,使用正则化,或使用更大的训练集。
第三步,降低测试集上的代价函数。
如果不能有效的降低,考虑可能是开发集太小和测试集不匹配,使用更大的开发集。
第四步,使其在真实世界中表现良好。
如果不能有效的表现,考虑可能是开发集或测试集设置选择的不正确,或者代价函数不能有效的评估误差。
附吴恩达深度学习这部分的课件:
2. 偏差方差的解决方法
偏差,是指模型不能很好的学习到数据的普遍特性,所谓欠拟合。
- 训练更大的神经网络
- 使用更好的优化算法
- 搜索更好的超参数
- 使用不同的神经网络架构
方差,是指模型过于好的学习了数据,甚至学习了一些数据的个性,所谓过拟合。
- 更多的训练数据
- 使用正则化
- 搜索更好的超参数
- 使用不同的神经网络架构
贝叶斯最佳误差和训练集误差的差距,等效为偏差。
训练集误差和开发集误差的差距,等效为方差。
附吴恩达深度学习这部分的课件:
3. 数据集的选取划分
通常在选取数据集时,会随机选取。
因为为了使模型不失一般性,训练集开发集测试集应服从同一分布。
按照以前的数据量划分,可以划分为, 或者 ,诸如此类。
在大数据的情况下,例如有 条数据,可能开发集和测试集仅各 数据就足够,,诸如此类。
4. 数据不匹配问题
按照模型的一般性来说,训练集开发集和测试集的数据应属于同一分布。
但如果真实环境中,数据的分布与训练集不同,最好使得开发集和测试集的分布与真实环境相似。
例如,在图像识别中,训练集的数据是高清的,但是真实环境的图像是低像素的,最好使得开发集和测试集的数据也是低像素的。这样可以确保训练出来的模型可以在真实环境中识别图像。
当数据的分布不同时,方差的分析与之前不同。可能仅因为分布的不同,造成训练集误差和开发集误差的差距,称为数据不匹配,并不是过拟合的高方差。
此时,可将数据如下划分:
从训练集中划分一部分作为训练开发集。
因训练集和训练开发集属于同一分布,当训练集误差和训练开发集误差有差距的时候,呈现的是高方差问题。
因训练开发集和开发集不属于同一分布,但都用于测试,当训练开发集误差和开发集误差有差距的时候,呈现的是数据不匹配问题。
解决数据不匹配的方法:使得训练集和开发集测试集的数据分布尽量相似,可将开发集和测试集部分数据分配至训练集,或者人工数据合成。
5. 评估指标的选取
对于 Precision 和 Recall ,不同的任务看重不同的指标。
例如,判断病人患病的情况,患病被判断为不患病代价更大(正类被判断成反类),更看重查全率 Recall 。给用户推荐商品的情况,推荐了很讨厌的商品比没有推荐到喜欢的商品代价更大(反类被判断成正类),更看重查准率 Precision 。
可以在代价函数上,对于判错的不同情况加上权重:
如果任务对不同的评估指标没有偏好。
那么尽量采用单一的评估指标,有利于比较不同模型。
例如,使用 F1-score 代替 Precision 和 Recall 。
6. 贝叶斯最佳误差
贝叶斯最佳误差是指,穷尽各种方法,可以达到的最低的误差。
在模型训练的时候,可以根据训练集误差和贝叶斯最佳误差的差距,来衡量偏差。
通常,以人类最好的误差,来近似贝叶斯最佳误差。
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~
花书+吴恩达深度学习(十九)构建模型策略(训练模型顺序、偏差方差、数据集划分、数据不匹配)相关推荐
- 花书+吴恩达深度学习(九)优化方法之二阶近似方法(牛顿法, CG, BFGS, L-BFGS)
目录 0. 前言 1. 牛顿法 2. 共轭梯度法(CG) 3. BFGS 4. L-BFGS 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(五)正则化 ...
- 花书+吴恩达深度学习(八)优化方法之 Batch normalization
目录 0. 前言 1. Batch normalization 训练 2. Batch normalization 测试 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书 ...
- 花书+吴恩达深度学习(七)优化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)
目录 0. 前言 1. 指数加权平均(exponentially weighted averages) 2. Momentum 动量 3. Nesterov 动量 4. AdaGrad 5. RMSP ...
- 花书+吴恩达深度学习(六)优化方法之 Mini-batch(SGD, MBGD, BGD)
目录 0. 前言 1. Batch gradient descent(BGD) 2. Stochastic gradient descent(SGD) 3. Mini-batch gradient d ...
- 花书+吴恩达深度学习(五)正则化方法(防止过拟合)
目录 0. 前言 1. 参数范数惩罚 2. Dropout 随机失活 3. 提前终止 4. 数据集增强 5. 参数共享 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+ ...
- 花书+吴恩达深度学习(二十)构建模型策略(超参数调试、监督预训练、无监督预训练)
目录 0. 前言 1. 学习率衰减 2. 调参策略 3. 贪心监督预训练 4. 贪心逐层无监督预训练 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十 ...
- 花书+吴恩达深度学习(十八)迁移学习和多任务学习
目录 0. 前言 1. 迁移学习 2. 多任务学习 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十八)迁移学习和多任务学习 花书+吴恩达深度学习(十 ...
- 花书+吴恩达深度学习(十六)序列模型之双向循环网络 BRNN 和深度循环网络 Deep RNN
目录 0. 前言 1. 双向循环网络 BRNN(Bidirectional RNN) 2. 深度循环网络 Deep RNN 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花 ...
- 花书+吴恩达深度学习(十五)序列模型之循环神经网络 RNN
目录 0. 前言 1. RNN 计算图 2. RNN 前向传播 3. RNN 反向传播 4. 导师驱动过程(teacher forcing) 5. 不同序列长度的 RNN 如果这篇文章对你有一点小小的 ...
最新文章
- 记录低频的混沌电压波形-双晶体管混沌信号
- C++基础8【难】 回顾:数组指针,函数指针,函数指针做函数参数 C语言多态
- 被coding.net坑了, Git 动态Pages要停掉...
- boost之asio同步io使用实例
- python模仿windows文件管理_python – 在Windows中显示文件的资源管理器属性对话框...
- Unable to resolve target 'android-5'
- LeetCode刷题(41)--Sort Color
- php sqlite创建表,php – 使用SQLite创建列表树
- Search Insert Position - LeetCode
- 苹果手机屏幕尺寸_苹果有意推出 折叠屏手机,屏幕尺寸或为 7.2 寸!
- 「π」里藏着所有人的银行卡密码和生日?
- 可视化篇:Echarts2.0引入百度地图
- 【OpenCV】边缘检测:Sobel、拉普拉斯算子
- 舅妈的计算机课1-9,山东省济南市历下区2017届九年级教学三模语文试题(word版含答案)...
- IBM斥资340亿美元完成收购红帽;亚马逊云计算Q2营收数据新鲜出炉;甲骨文推出Oracle专用自治数据库云……...
- 高光谱数据集下载Indian_pines, Salinas, Pavia Centre and University, Cuprite, Kennedy Space Center, Botswana等
- 不朽凡人 第四百八十七章 生死轮
- 程序员女朋友礼物python代码_一位程序猿送给女朋友的礼物
- 为什么你睡了11个小时仍然觉得疲累?
- 混凝土弹性波速计算公式_混凝土弹性检测