问题一: 机器学习的基本流程(12)


问题4ROC曲线相比P-R曲线有什么特点?
相比 P-R曲线,ROC曲线有一个特点,当正负样本的分布发生变化时,ROC曲线的形状 能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化.
这个特点 让ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性 能.这有什么实际意义呢?在很多实际问题中,正负样本数量往往很不均衡.比如,计算广告领域经常涉及转化率模型,正样本的数量往往是负样本数量的1/1000 甚至1/10000.若选择不同的测试集,P-R曲线的变化就会非常大,而ROC曲线则能够更加稳定地反映模型本身的好坏.所以,ROC曲线的适用场景更多,被广泛用于排序、推荐、广告等领域.但需要注意的是,选择P-R曲线还是ROC曲线是因实际问题而异的,如果研究者希望更多地看到模型在特定数据集上的表现,P-R曲线则能够更直观地反映其性能.
问题5在对模型进行过充分的离线评估之后,为什么还要进行在线A/B测试?
分析与解答
需要进行在线A/B测试的原因如下.
(1)离线评估无法完全消除模型过拟合的影响,因此,得出的离线评估结果 无法完全替代线上评估结果.
(2)离线评估无法完全还原线上的工程环境.一般来讲,离线评估往往不会 考虑线上环境的延迟、数据丢失、标签数据缺失等情况.因此,离线评估的结果 是理想工程环境下的结果.
(3)线上系统的某些商业指标在离线评估中无法计算.离线评估一般是针对 模型本身进行评估,而与模型相关的其他指标,特别是商业指标,往往无法直接 获得.比如,上线了新的推荐算法,离线评估往往关注的是ROC曲线、P-R曲线等 的改进,而线上评估可以全面了解该推荐算法带来的用户点击率、留存时长、PV 访问量等的变化.这些都要由A/B测试来进行全面的评估.
问题6在模型评估过程中,有哪些主要的验证方法,它们的优缺点是什么?
场景描述
在机器学习中,我们通常把样本分为训练集和测试集,训练集用于训练模型,测试集用于评估模型.在样本划分和模型验证的过程中,存在着不同的抽样 方法和验证方法.本小节主要考察面试者是否熟知这些方法及其优缺点、是否能 够在不同问题中挑选合适的评估方法.
■ 检验
检验是最简单也是最直接的验证方法,它将原始的样本集合随机划分 成训练集和验证集两部分.比方说,对于一个点击率预测模型,我们把样本按照 70%~30% 的比例分成两部分,70% 的样本用于模型训练;30% 的样本用于模型 验证,包括绘制ROC曲线、计算精确率和召回率等指标来评估模型性能.
检验的缺点很明显,即在验证集上计算出来的最后评估指标与原始分 组有很大关系.为了消除随机性,研究者们引入了“交叉检验”的思想.
■ 交叉检验
k-fold交叉验证:首先将全部样本划分成k个大小相等的样本子集;依次遍历 这k个子集,每次把当前子集作为验证集,其余所有子集作为训练集,进行模型的 训练和评估;最后把k次评估指标的平均值作为最终的评估指标.在实际实验 中,k经常取10.
留一验证:每次留下1个样本作为验证集,其余所有样本作为测试集.样本总数为n,依次对n个样本进行遍历,进行n次验证,再将评估指标求平均值得到最终 的评估指标.在样本总数较多的情况下,留一验证法的时间开销极大.事实上, 留一验证是留p验证的特例.留p验证是每次留下p个样本作为验证集,而从n个元 素中选择p个元素有 种可能,因此它的时间开销更是远远高于留一验证,故而很 少在实际工程中被应用.
■ 自助法