当前位置:   article > 正文

西瓜书(机器学习)第二章模型评估与选择(第二部分)_机器学习交叉验证t检验的优缺点

机器学习交叉验证t检验的优缺点

目录

性能度量

错误率和精度

查准率、查全率、F1

ROC与AUC

代价敏感错误率与代价曲线

比较检验

交叉验证t检验

McNemar检验

Friedman检验与Nemenyi检验

偏差与方差


性能度量

性能度量(Performance Metrics)用于衡量模型在测试集上的预测能力和准确度。不同的机器学习任务和应用场景需要使用不同的性能度量来评估模型的性能。以下是一些常见的性能度量:

  1. 分类任务中的性能度量:
    • 准确率(Accuracy):正确预测的样本数占总样本数的比例。
    • 精确率(Precision):正例中被正确预测的比例。
    • 召回率(Recall):被正确预测的正例占所有正例的比例。
    • F1值(F1-score):综合考虑精确率和召回率的调和平均数。
    • ROC曲线和AUC值:通过比较真阳性率和假阳性率来评估分类器的性能。
  2. 回归任务中的性能度量:
    • 均方误差(Mean Square Error,MSE):预测值和真实值之间差值的平方和的平均值。
    • 平均绝对误差(Mean Absolute Error,MAE):预测值和真实值之间差值的绝对值的平均值。
    • R平方(Coefficient of Determination):模型对样本方差的解释能力,其值越接近1,模型拟合效果越好。
  3. 聚类任务中的性能度量:
    • 轮廓系数(Silhouette Coefficient):衡量样本的聚类效果,其值越接近1,聚类效果越好。
    • 互信息(Mutual Information):衡量聚类结果与真实标签之间的相似度。

错误率和精度

错误率和精度是机器学习中用于评估分类模型性能的两个基本指标。

错误率(Error Rate)指的是在测试集上分类器预测错误的样本占总样本数的比例,即:

错误率 = 错误预测的样本数 / 总样本数

精度(Accuracy)指的是分类器在测试集上正确预测的样本数占总样本数的比例,即:

精度 = 正确预测的样本数 / 总样本数

显然,精度和错误率之和等于1。

查准率、查全率、F1

查准率(Precision)和查全率(Recall)是用于评估分类模型性能的两个重要指标,它们在解决分类问题时往往需要一起考虑。F1-score是综合考虑查准率和查全率的指标,是一个衡量分类器性能的综合指标。

查准率指的是分类器预测为正例的样本中实际为正例的样本数占预测为正例的样本总数的比例,即:

查准率 = 真正例 / (真正例 + 假正例)

P = \frac{TP}{TP + FP}

其中,真正例(TP)指的是被分类器预测为正例且实际为正例的样本数,假正例(FP)指的是被分类器预测为正例但实际为负例的样本数。

查全率指的是分类器预测为正例的样本中实际为正例的样本数占所有实际为正例的样本数的比例,即:

查全率 = 真正例 / (真正例 + 假反例)

R = \frac{TP}{TP + FN}

其中,真反例(TN)指的是被分类器预测为负例且实际为负例的样本数,假反例(FN)指的是被分类器预测为负例但实际为正例的样本数。

F1-score是查准率和查全率的调和平均数,其定义为:

F1-score = 2 * 查准率 * 查全率 / (查准率 + 查全率)

F1 = \frac{2 * P * R}{P + R}

F1-score是一个衡量分类器性能的综合指标,它综合考虑了查准率和查全率。当查准率和查全率都很高时,F1-score会更接近于1,表示分类器的性能更好。

ROC与AUC

ROC和AUC是用于评估二元分类器性能的常用指标,下面分别介绍它们的概念和应用。

ROC(Receiver Operating Characteristic)曲线是一种二元分类器的性能曲线,通过绘制真阳性率(True Positive Rate,TPR)与假阳性率(False Positive Rate,FPR)来展示分类器在所有阈值下的性能。其中,真阳性率表示实际为正例的样本中被分类器判断为正例的比例,即TPR=TP/(TP+FN),其中TP表示真正例,FN表示假反例;假阳性率表示实际为负例的样本中被分类器判断为正例的比例,即FPR=FP/(FP+TN),其中FP表示假正例,TN表示真反例。

ROC曲线的横轴为FPR,纵轴为TPR,每个点表示分类器在不同阈值下的性能。ROC曲线上的每个点代表一个阈值,而曲线下的面积AUC(Area Under Curve)则是衡量分类器性能的重要指标,AUC值越大,分类器的性能越好。AUC值的范围在0到1之间,随机猜测的分类器AUC为0.5,完美分类器AUC为1。

ROC曲线和AUC可以用于选择最优分类器、比较不同分类器的性能、优化分类器的阈值等。同时,由于ROC曲线的绘制不依赖于数据分布,因此可以在样本不平衡的情况下使用,是一个非常实用的评估指标。

代价敏感错误率与代价曲线

代价敏感错误率是指不同类别之间的错误率所引起的不同代价。在某些问题中,我们需要更关注某些类别的错误率,这时就需要引入代价敏感错误率。例如,在医疗诊断问题中,将一个健康的人诊断为患者的代价比将一个患者诊断为健康的代价更高。

代价曲线是用于可视化代价敏感错误率的一种方法,它描述了分类器在不同阈值下的性能和相应的代价。在代价曲线中,横轴是分类器在某个阈值下的错误率或误分类率,纵轴是分类器在该阈值下的代价或者损失。代价曲线的斜率越陡峭,说明分类器的代价越高。

代价曲线的绘制过程需要指定代价矩阵,其中每个元素都表示分类器将一个真实类别预测为另一个类别的代价。代价矩阵通常是不对称的,因为将一个正例预测为负例的代价往往比将一个负例预测为正例的代价高。

代价曲线的优化目标是找到一个最优阈值,使得分类器在该阈值下的代价最小化。常用的方法有最小化代价曲线下的面积(AUC),以及通过交叉验证等技术寻找最优阈值。

比较检验

比较检验是用于判断两个或多个模型、算法或数据集之间差异的一种方法。其目的是帮助我们选择最好的模型或算法,或者确定哪些变量对目标变量的预测更为重要。

常见的比较检验方法包括:

  1. t检验:用于检验两个样本的均值是否显著不同。

  2. 方差分析(ANOVA):用于检验三个或更多个样本的均值是否显著不同。

  3. 卡方检验:用于检验两个或多个分类变量之间是否存在显著差异。

  4. Mann-Whitney U检验:用于检验两个样本的中位数是否显著不同,适用于非正态分布的数据。

  5. Wilcoxon符号秩检验:用于检验两个相关样本的中位数是否显著不同,适用于非正态分布的数据。

比较检验通常需要指定一个显著性水平,例如0.05或0.01。如果检验的p值小于显著性水平,就可以拒绝原假设(即模型之间无显著差异),否则则不能拒绝原假设。需要注意的是,显著性检验并不一定能够确定最好的模型或算法,因为有可能存在样本量不足、多重比较等问题。因此,我们应该根据实际情况综合考虑多个因素,例如模型复杂度、训练时间、解释性等。

交叉验证t检验

交叉验证t检验是一种用于比较不同机器学习算法性能差异的统计方法。它可以通过将不同算法在相同数据集上进行交叉验证得到的性能指标结果进行比较,来判断它们之间是否存在显著的差异。

具体来说,交叉验证t检验分为以下几个步骤:

  1. 对每个算法在相同数据集上进行交叉验证,得到多次实验的性能指标结果。

  2. 对每个算法的实验结果进行平均,得到平均性能指标结果。

  3. 计算每个算法的平均性能指标结果的均值和标准差。

  4. 使用t检验检验每对算法之间的平均性能指标结果是否存在显著差异,计算t值和p值。

  5. 根据p值和显著性水平进行判断,确定算法之间是否存在显著差异。

通过交叉验证t检验,可以比较不同算法在同一数据集上的性能表现,从而选择最优的算法。

McNemar检验

McNemar检验是一种用于比较两个分类器性能是否存在显著差异的统计方法。它可以用来检验两个分类器在同一个测试集上预测结果的差异是否显著。

具体来说,McNemar检验分为以下几个步骤:

  1. 对于两个分类器,使用同一数据集进行测试,得到每个分类器的混淆矩阵。

  2. 计算两个分类器在测试集上的错误预测数量,得到4个数字:a,b,c,d,其中a表示两个分类器都预测正确的样本数,b表示第一个分类器预测正确,第二个分类器预测错误的样本数,c表示第一个分类器预测错误,第二个分类器预测正确的样本数,d表示两个分类器都预测错误的样本数。

  3. 计算统计量χ²=(|b-c|-1)²/(b+c),其中|b-c|表示b-c的绝对值。

  4. 根据自由度为1的χ²分布,计算p值。

  5. 根据p值和显著性水平进行判断,确定两个分类器之间是否存在显著差异。

通过McNemar检验,可以比较两个分类器在同一数据集上的性能表现,从而选择更优的分类器。

Friedman检验与Nemenyi检验

Friedman检验和Nemenyi检验是在多个分类算法之间进行比较时常用的统计检验方法。

Friedman检验用于比较多个分类算法在多个数据集上的平均等级排名是否有显著差异。具体来说,对于k个分类算法,假设有m个数据集,针对每个算法在每个数据集上得到一个排名,然后根据平均排名对算法进行排序。Friedman检验的零假设是所有算法的平均排名相等,备择假设是至少有一对算法的平均排名不相等。通过计算Friedman统计量和对应的p值来检验零假设的拒绝与否。

当拒绝零假设时,需要进一步进行两两比较以确定哪些算法具有显著差异。这时可以使用Nemenyi检验,它是一种多重比较方法,通过计算任意两个算法的平均排名之差和一定置信水平下的临界值来判断两个算法是否有显著差异。如果两个算法之间的平均排名之差大于临界值,则认为它们有显著差异。Nemenyi检验通常会将比较结果以图形方式呈现,即绘制一个Nemenyi图,其中算法之间的差异用颜色和线条粗细来表示。

偏差与方差

在机器学习中,模型的误差通常可以分解为偏差和方差两个部分。偏差是指模型预测值与真实值之间的差异,即模型本身的拟合能力。方差是指模型在不同数据集上预测值的差异,即模型的泛化能力。

高偏差意味着模型对数据的拟合程度不够,通常是因为模型过于简单,不能很好地捕捉数据中的复杂关系。高方差意味着模型对训练数据过于敏感,不能很好地泛化到新的数据集,通常是因为模型过于复杂,过拟合了训练数据。

为了找到偏差和方差之间的平衡点,需要使用适当的模型选择和调整方法。例如,可以使用正则化方法来减少模型复杂度,或使用集成学习方法来结合多个模型的预测结果,从而降低方差并提高泛化性能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/889592
推荐阅读
相关标签
  

闽ICP备14008679号