李宏毅机器学习深度学习:机器学习任务攻略
# 课程概要
介绍了当我们遇到模型效果(loss)不理想时,进行模型优化的分析方法和思路。
# Part 1> 原因分析
可能的原因:
- 数据集标签不够(标签之间的因果关联性不强)
- 模型简单(神经元层数不够)
- 优化问题(optimization)
- 训练过拟合 (ovefiting)
- 训练集和测试集 统计学数据分布不匹配(mismatch)
## 判断方法
#### 是不是训练集和测试集mismatch
训练集如果loss很低,但测试集loss高,则可以分析 训练集和测试集的区别
mismatch的情况示例:
e.g.1 用动物园的图像分类模型,识别野生动物
e.g.2 用亚洲人的特征识别模型,识别欧洲人的特征
#### 是不是过拟合
训练集如果loss很低,但测试集loss高,且不太可能是mismatch的情况,说明很可能是过拟合
#### 模型简单
加了神经元,没有优化效果:加了神经元,训练集和测试集的loss依然很高
则排除是模型简单的原因;
#### 是不是optimization问题
不是上述两个,则可能是optimization
# Part 2> 解决思路
## 应对overfiting:
#### 方法一:增加/丰富数据集
- 收集真实数据
- 通过小样本扩增法(e.g. 图像左右反转、镜像等合理调整)
#### 方法二:增加限制条件
- 简化模型——减少参数
- 减少关联性较少的标签(features)
- 减少训练次数
- 【预告】regularization数据归一化处理
- 简化模型——减少少神经元(dropout)
- 【预告】全连接网络、CNN部分讲
# Part 3> 验证效果
通过公开数据集、私有数据集和自己的数据集中划分出的validtion set验证。
### public数据集验证:
目的:公众说服力
示例:MINST手写数字
### private数据集验证:
目的:公众说服力 / 领域内说服力。
示例:医患数据集(医患数据涉及病人隐私,常为非公开数据集)
### validation数据集验证:
目的:证明神经网络/模型结构设计合理性、可解释性(逻辑自洽);也可以证明 泛用性(可迁移性)通用性
方法:validation 数据集划分(N-flod Cross法划分, “交叉验证”取平均值)
图为N-flod中N为3的示例。
原文地址:https://blog.csdn.net/WBingJ/article/details/144328234
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!