3.结构化机器学习项目 第一周 ML策略1

Core:学习诊断机器学习系统中的错误,训练属于自己的AI。
1.1 为什么是ML策略
思路:
3.结构化机器学习项目 第一周 ML策略1
一些分析机器学习问题的方法,朝着最有希望的方向前进。
1.2 正交化
3.结构化机器学习项目 第一周 ML策略1
油门,刹车,方向盘,分开控制好。
3.结构化机器学习项目 第一周 ML策略1
至于,early stopping 就没有那么正交化了,因为会同时影响对训练集的拟合,让拟合不太好,同时,也可以用来改善dev set的表现。一般不用。
1.3 单一数字评估指标
为问题设置一个单实数评估指标,查全率和查准率。
查准率Precision:0.95,当分类器说这图有猫时,有95%的机会真的是猫。
查全率Recall:对于所有真猫,分类器正确识别了多少。
不推荐只用这两个指标就选好的分类器。往往要将查全率和查准率结合起来考虑。集合查全率和查准率的方法就是F1分数:查全率和查准率的调和平均数。
3.结构化机器学习项目 第一周 ML策略1
好处:
3.结构化机器学习项目 第一周 ML策略1
另一个例子:
3.结构化机器学习项目 第一周 ML策略1
1.4 满足和优化指标
优化目标:accuracy
满足目标:running time。满足一定阈值即可。
3.结构化机器学习项目 第一周 ML策略1
1.5 训练/开发/测试集划分
dev set = hold out cross-validation set(保留交叉验证集)
最好能让开发集和测试集来自同一个分布。
建议:将所有的数据随机洗牌,放入dev set和test set。
3.结构化机器学习项目 第一周 ML策略1
The way you choose your training set will affect how well you can actually hit that target.
1.6 开发集合,测试集的大小
3.结构化机器学习项目 第一周 ML策略1
深度学习时代:
3.结构化机器学习项目 第一周 ML策略1
现在流行的是,把大量数据分到训练集,然后少量数据分到开发集和测试集。
3.结构化机器学习项目 第一周 ML策略1
1.7 什么时候该改变开发/测试集和指标
希望:有目标,高效迭代,改善性能。
目标放错了,要移动目标。本质上就是算法在实际应用中出问题,算法不能很好的落地。
评估指标无法正确衡量算法之间的优劣排序。所以要改变评估指标,or要改变dev set or test set.
3.结构化机器学习项目 第一周 ML策略1
3.结构化机器学习项目 第一周 ML策略1
3.结构化机器学习项目 第一周 ML策略1
改变dev,test set就是让数据更加真实,让数据更能反映实际需要处理的数据。
实际上,机器学习的步骤就是:
第一步:设定目标
第二步:瞄准和射击目标
换种说法:
把定义指标看成One step,然后在定义了指标之后,要想着如何优化系统来提高这个指标评分。如改变成本函数。
1.8为什么是人的表现
贝叶斯最优误差:理论上可能达到的最优误差。
3.结构化机器学习项目 第一周 ML策略1
1.9可避免偏差
avoidable bias
训练误差太大,从减少bias的角度来说,要做的是训练更大的神经网络,或者跑久一点梯度下降。
如果训练误差接近人的水平,而dev error太大,则reduce方差,可以使用正则化,收集更多的训练数据。
可避免误差=贝叶斯误差与训练误差之间的差值。
训练误差要尽量接近贝叶斯误差,但不希望比贝叶斯误差更好,那样会过拟合的。
专注于哪一个可能潜力更大呢?
避免bias策略和避免variance策略:
3.结构化机器学习项目 第一周 ML策略1
人类水平误差接近贝叶斯误差。
1.10理解人的表现
人类水平表现:可以帮助推动机器学习项目的进展。
Human-level error as a proxy for Bayes error.
3.结构化机器学习项目 第一周 ML策略1
均相近,难以做判断,所以进步缓慢。
1.11 超过人的表现
3.结构化机器学习项目 第一周 ML策略1
没有足够的信息判断该减少bias还是该减少方差。取得进展的效率会降低,没有明确的前进方向。
3.结构化机器学习项目 第一周 ML策略1
1.12改善你的模型的表现
如何提高学习算法性能的指导方针:
3.结构化机器学习项目 第一周 ML策略1
首先:训练集拟合很好,low avoidable bias.
然后:推广到dev set/ test set 也很好。方差不是too bad .
3.结构化机器学习项目 第一周 ML策略1
正则化:L2正则化,Dropout正则化。