课程概要
介绍了当我们遇到模型效果(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的示例。