1 评估指标的局限性
知识点: 准确率(Accuracy),精确率(Precision),召回率(Recall),均方根误差(RMSE)
问题:准确率的局限性 当负样本占99%时,分类器把所有样本都预测为负样本也可以获得99%的准确率。所以,当不同类别的样本比例非常不均衡时,占比大的类别往往成为影响准确率的最主要因素。为了解决这个问题,可以使用更有效的平均准确率(每个类别下的样本准确率的算术平均)作为模型评估的指标。
问题:精确率与召回率的权衡 精确率:预测为正样本的数据中,真实正样本的比例 召回率:真实正样本中,正确预测的比例
Precision值和Recall值是既矛盾又统一的两个指标,为了提高Precision值,分 类器需要尽量在“更有把握”时才把样本预测为正样本,但此时往往会因为过于保 守而漏掉很多“没有把握”的正样本,导致Recall值降低
P-R曲线
问题:平方根误差的“意外” RMSE能够很好地反应回归模型预测值与真实值的偏离程度。但在实际问题中,如果存在个别偏离程度非常大的离群点时,即使离群点数量非常少,也会让RMSE指标变得很差
解决方案:
2 ROC曲线 问题1 什么是ROC曲线? 横坐标FPR,纵坐标TPR。
FPR = FP/N TPR = TP/P
问题2 如何绘制ROC曲线? ROC曲线是通过不断移动分类器的“截断点”来生成曲线上的一组关键点:FPR,TPR
截断点就是区分正负预测结果的阈值
问题3 如何计算AUC? AUC就是ROC曲线下的面积大小,该值能够量化地反应基于ROC曲线衡量出的模型性能。
AUC越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。
问题4 ROC曲线相比P-R曲线有什么特点? 相比P-R曲线,ROC曲线有一个特点,当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。
这个特点让ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能。
3 余弦距离的应用
知识点:余弦相似度,余弦距离,欧氏距离,距离的定义
问题:为什么在一些场景中要使用余弦相似度而不是欧式距离?
两个向量夹角的余弦,关注的是向量之间的角度关系,并不关心它们的绝对大小,余弦相似度取值范围为【-1,1】,余弦距离取值【0,2】
当一对文本相似度的长度差距很大,但内容相近时,如果使用词频或词向量作为特征,它们在特征空间中的欧氏距离通常很大; 而如果使用余弦相似度的话,它们之间的夹角可能很小,因而相似度高。
余弦相似度在高维情况下依然保持“相同时为1,正交时为0,相反时为-1”的性质。而欧式距离的数值则受维度的影响,范围不固定。
若向量模长经过归一化,则使用余弦相似度和欧式距离有单调的关系。
欧式距离体现数值上的绝对差异,余弦距离体现方向上的相对差异。
问题:余弦距离是否是一个严格定义的距离?
该题考察对距离的定义的理解
距离的定义:在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公里(正定性,对称性,三角不等式)成立,则该实数可称为这对元素之间的距离。
余弦定理满足正定性(非负)和对称性,但不满足三角不等式(即在三角形中两边之和大于第三边),因此它不是严格定义的距离。
在机器学习领域,被称为距离,却不满足三条距离公里的还有KL距离,也叫做相对熵,常用于计算两个分布之间的差异,但不满足对称性和三角不等式。
4 A/B测试的陷阱
在互联网公司中,A/B测试是验证新模块、新功能、新产品是否有效,新算法、新模型的效果是否有提升,新设计是否受到用户欢迎,新更改是否影响用户体验的主要测试方法。 在机器学习领域中,A/B测试是验证模型最终效果的主要手段。
知识点:A/B测试,实验组,对照组
问题:在对模型进行过充分的离线评估之后,为什么还要进行在线A/B测试?
问题:如何进行线上A/B测试?
进行A/B测试的主要手段是进行用户分桶,即将用户分成实验组和对照组,对实验组的用户施以新模型,对对照组的用户施以旧模型。在分桶的过程中,要注意样本的独立性和采样方式的无偏性,确保同一个用户每次只能分到同一个桶中,在分桶的过程中所选取的user_id需要是一个随机数,这样才能保证桶中的样本是无偏的。
问题:如何划分实验组和对照组?
5 模型评估的方法
知识点:Holdout检验、交叉验证、自助法(Bootstrap)、微积分
问题:在模型评估过程中,有哪些主要的验证方法,优缺点?
自助法的验证过程:自助法是基于自主采样法的检验方法。对于总数为n的样本集合,进行n次有放回的随机抽样,得到大小为n的训练集。n次采样过程中,有的样本会被重复采样,有的样本没有被抽出过,将这些没有被抽出的样本作为验证集,进行模型验证。
问题:在自助法的采样过程中,对n个样本进行n次自主抽样,当n趋于无穷大时,最终由多少数据从未被选择?
6 超参数调优
为了进行超参数调优,一般采用网格搜索、随机搜索、贝叶斯优化等算法
超参数搜索算法包括:
算法
而贝叶斯优化算法则充分利用了之前的信息。贝叶斯优化算法通过对目标函数形状进行学习,找到使目标函数向全局最优值提升的参数。
具体:它学习目标函数形状的方法是,首先根据先验分布,假设一个搜集函数(acquisition函数);然后,每一次使用新的采样点来测试目标函数时,利用这个信息来更新目标函数的先验分布;最后,算法测试由后验分布给出全局最值最可能出现的位置的点。
acquisition函数是一个权衡“探索(方差大)”和“利用(均值大)”的函数
对于贝叶斯优化算法,一旦找到了局部最优值,它会在该区域不断采样,所以很容易陷入局部最优值。 为了弥补这个缺陷,贝叶斯优化算法会在探索和利用之间找到一个平衡点,“探索”就是在还未取样的趋于获取采样点;而“利用”则是根据后验分布在最可能出现全局最值的趋于进行采样。
选均值最大的点“利用”,方差大的点作为“探索”。为什么? 均值代表期望的最终结果,当然越大越好,但不能每次都挑选均值最大的,因为有的点方差很大也有可能存在全局最优解。 均值代表这个点最终的期望效果,均值越大表示模型最终指标越大,方差表示这个点的效果不确定性,越大表示这个点不确定是否可能取得最大值,非常值得探索。
7 过拟合与欠拟合
问题:在模型评估过程中,过拟合和欠拟合具体是指什么现象?
问题:说出几种降低过拟合和欠拟合风险的方法?