个人笔记:实用机器学习(b站李沐)4.1
4.1模型评估如何衡量一个模型的好坏1在监督学习中我们常会使用最小化损失函数来训练模型所以损失(loss value)是用来衡量模型质量的指标2模型的质量要由多个指标来衡量 如分类时的 模型精度、目标检测时的mAP、部署到产品时的商业指标模型对营收的增长、模型反馈的效率inference latency【例】用于搜索词在看的具体网页 -- 取出相关的网页 -- 预测用户点击广告的点击率点击率高的给用户看【因为不知道点击率会是多少所以弄成一个机器学习的问题用机器学习来判断用户的点击二分类问题】 -- 把所有的广告通过CTR(点击率)乘上甲方给的钱来排序准确率Accuracy在样本中预测正确的比例是多少衡量分类问题最常见的作法但是我们不关心对负类我们不需要的类型的准确率*比如广告点击率很低如果我全预测为负正确率仍有90%看似很高的预测准确率极不平衡二分类问题精度PrecisionTP/(TPFP)预测正类的正确率召回率RecallTP/(TPFN)实际为正类的样本中被模型找出来的比例F12pr/(pr)兼顾展示质量和覆盖面的综合指标在类似这种二分类问题中我们需要定义一个阈值θ当预测精度大于θ时是正类反之为负类一般来说θ会取0.5正负样本比较平衡的时候可以取在实际的生产中我们会去选θ比如极不平衡的二分类问题·ROC曲线和AUC曲线与x轴围成的面积x轴FPRFP/FPTN实际为负但被模型错误的判断为正的概率y轴TPRTP/TPFN就是召回率曲线的每一个点代表不同阈值θ下的xy取值当AUC为1时能被完美的区分开当AUC为0.7时有一定的区分能力但有重叠AUC0.5完全分不开和随机猜测一样ROC曲线的优势不像 Precision和Recall 需要选定一个θAUC 看的是所有阈值下的综合表现上述AD例子的一些商业指标任务是优化收入和用户的体验延迟Latency当模型部署到线上会要求模型在100毫秒内去展示数据给用户ASN平均每一页展示的广告数CTR真实用户的点击率ACP平均一次点击广告主会给多少钱收入页面的流量 * ASN * CTR * ACP平台方关心总收入和流量对于模型来说我们关心模型的AUC但是只看AUC可能会有问题一个新的模型其AUC增加了但是很有可能会发现商业的一些指标下降了AUC只是反映了一个统计值预测的CTR可能发生变换但在统计上没有发生变化可是它还是会影响实际我们的收入比如说1预测的CTR值变低了但是AUC的数值没有改变可是会引起预测用户点击的置信值降低了可能会导致展示的广告数目降低2可能新换的广告实际的CTR低模型使用的是过去的数据市场是会变化的用户可能不喜欢基于过去数据的广告3可能模型挑选的广告广告主出的价格比较低权衡模型指标与商业指标最好的方法还是将模型部署到线上用实际的数据来观察实际的商业指标。