机器学习-模型评估与选择

文章介绍了模型评估的重要性和不同方法,如留出法、交叉验证和自助法。针对回归和分类模型,提出了均方误差和错误率、精度等性能度量。此外,详细讨论了AUC、ROC曲线在评估二分类模型中的作用,以及偏差、方差和泛化误差的概念,强调了它们在理解模型性能中的意义。
摘要由CSDN通过智能技术生成

为了判断模型的优劣以及是否过拟合,观察模型在测试集上的误差(泛化误差),需要尽可能使训练集和测试集中的额样本互斥,可以采用以下方法从数据集 D D D中产生训练集 S S S和测试集 T T T

评估方法

  • 留出法
    将数据集拆分为S,T, S ∩ T = ∅ ,   S ∪ T = D S \cap T=\varnothing,\ S\cup T=D ST=, ST=D
  • 交叉验证法
    将数据集 D D D拆分为 k k k份,每次选择其中1份作为测试集 T T T,其余为训练集 S S S,通过 k k k次训练取在 T T T上的平均值(回归),投票法(分类)
  • 自助法
    不改变数据集 D D D中的样本量 m m m,期望训练集 S S S中数据样本与 D D D一样。则从原始数据集 D D D中又放回的抽取 m m m个样本得到训练集 S S S,因此 T = D /   S T = D/\ S T=D/ S
    未被抽取的样本的概率为:
    l i m m → ∞ ( 1 − 1 m ) m = 1 e ≈ 0.368 lim_{m\to \infty}(1-\frac{1}{m})^{m}=\frac{1}{e}\approx 0.368 limm(1m1)m=e10.368
    未在训练集中出现样本用于测试也称为包外估计

性能度量

1. 回归模型

回归模型包括线性回归,多元线性回归以及非线性回归(径向基样条回归),常采用均方误差表示模型损失和优劣:
E ( y , y ^ ) = 1 N ∑ i = 1 N ∥ y − y ^ ∥ 2 E(y,\hat{y}) = \frac{1}{N}\sum_{i=1}^{N}\Vert y-\hat{y}\Vert^{2} E(y,y^)=N1i=1Nyy^2
其中, y y y表示真实值, y ^ \hat{y} y^表示预测值。

2. 分类模型

分类模型包括逻辑回归、决策树、支持向量机、KNN(K近邻)。

错误率与精度

E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f;D) = \frac{1}{m}\sum_{i=1}^{m}\mathbb{I}(f(x_{i})\ne y_{i}) E(f;D)=m1i=1mI(f(xi)=yi)
a c c ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) acc(f;D) = \frac{1}{m}\sum_{i=1}^{m}\mathbb{I}(f(x_{i})=y_{i}) = 1-E(f;D) acc(f;D)=m1i=1mI(f(xi)=yi)=1E(f;D)
首先建立混淆矩阵(真为True,假为False,正例:Positive,反例:Negtive),即

真实值预测值
10
1TPFN
0FPTN

查准率(Precision),查全率(Recall),P-R曲线

P = T P T P + F P ,   R = T P T P + F N , P = \frac{TP}{TP+FP},\ R = \frac{TP}{TP+FN}, P=TP+FPTP, R=TP+FNTP,
其中,
y y y轴:查准率P 表示预测为1的有多少真实为1
x x x轴:查全率R 表示真实标签为1 的有多少被预测为1
查准率和查全率是一对矛盾的变量,当查准率高时,即只选择有把握的,那么查全率就偏低;当查全率较高时,计算情况是将所有样本均预测为真,R为1,但是查准率就较低了
根据学习器预测,将所有样本按照顺序排列,即预测为1的概率越高,样本就在越前面,然后逐个添加样本并将其作为正例进行预测,计算当前的P,R值,可建立P,R曲线
当一条曲线A包裹住另外一条曲线B,表面A对应学习器的效果更好,
当曲线A,B有交点时,采用“平衡点”(BEP)进行取值,即当P=R时,取具有较大值的曲线对应学习器。

  • F1
    F 1 = 2 1 P + 1 R F1=\frac{2}{\frac{1}{P}+\frac{1}{R}} F1=P1+R12
    即查准率和查全率的调和平均值

ROC

y y y轴:真正例率 T P R TPR TPR(true positive rate):实际为正样本预测成正样本的概率
T P R = T P T P + F N = T P P TPR = \frac{TP}{TP+FN}=\frac{TP}{P} TPR=TP+FNTP=PTP
x x x轴:假正例率 F P R FPR FPR(false positive rate)实际为负样本预测成正样本的概率
F P R = F P F P + T N = F P N FPR = \frac{FP}{FP+TN}=\frac{FP}{N} FPR=FP+TNFP=NFP
其中, P , N P,N P,N分别表示真实的正样本个数和真实的负样本个数
ROC曲线的实现:根据学习器预测对所有样本进行预测,并排序,预测为真的概率越大越靠近前面,然后将每个样本作为正例进行预测,逐步计算当前点的 T P R ,   F P R TPR,\ FPR TPR, FPR,将所有点按顺序连接起来则得到ROC曲线
可以发现:

  • 真正率和假正率这两个指标跟正负样本的比例是无关的
  • 所以当样本比例失衡的情况下,准确率不如真正率、假正率这两个指标好用
  • 当测试集中的正负样本分布发生变化了,ROC曲线可以保持不变

ROC,AUC和P-R曲线的区别:
当出现类别不均衡现象,即正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。

AUC

AUC值即为ROC曲线与坐标轴的面积,这个面积的数值不会大于1。
又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。

AUC就是:随机抽出一对样本 ( 正样本 i , 负样本 j ) ,然后用训练得到的分类器来对这两个样本进行预测,预测得到正样本概率 p r e d i pred_{i} predi>大于负样本概率 p r e d j pred_{j} predj的概率,即正例排在负例前面的概率

使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。AUC越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。

  • 代价敏感错误率
    当预测错误所造成的代价不同时,需要赋予错误预测不同的代价
    E ( f ; D ; c o s t ) = 1 m ( ∑ x i ∈ D + I ( f ( x i ) ≠ y i ) c o s t 10 + ∑ x i ∈ D − I ( f ( x i ) ≠ y i ) c o s t 01 ) E(f;D;cost) = \frac{1}{m}(\sum_{x_{i}\in D^{+}}\mathbb{I}(f(x_{i})\ne y_{i})cost_{10}+\sum_{x_{i}\in D^{-}}\mathbb{I}(f(x_{i})\ne y_{i})cost_{01}) E(f;D;cost)=m1(xiD+I(f(xi)=yi)cost10+xiDI(f(xi)=yi)cost01)

更多关于AUC,ROC可见: ROC曲线、 AUC值(ROC曲线下的面积)【只能用于二分类模型的评价】【不受类别数量不平衡的影响;不受阈值取值的影响】

偏差与方差

泛化误差
E ( f ; D ) = b i a s 2 ( x ) + v a r ( x ) + ε 2 E(f;D)=bias^{2}(x)+var(x)+\varepsilon^{2} E(f;D)=bias2(x)+var(x)+ε2
其中, f ( x ; D ) f(x;D) f(x;D)为训练集上学的模型 f f f在测试集 x x x上的预测输出。
期望为 f ˉ ( x ) = E D [ f ( x ; D ) ] \bar{f}(x)=\mathbb{E}_{D}[f(x;D)] fˉ(x)=ED[f(x;D)],
偏差: b i a s 2 = ( f ˉ ( x ) − y ) bias^{2} = (\bar{f}(x) - y) bias2=(fˉ(x)y),即预测值与真实值之间的误差
方差: v a r ( x ) = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] var(x) = \mathbb{E}_{D}[(f(x;D)-\bar{f}(x))^{2}] var(x)=ED[(f(x;D)fˉ(x))2]
噪声: ε 2 = E D [ ( y D − y ) 2 ] \varepsilon^{2}=\mathbb{E}_{D}[(y_{D}-y)^{2}] ε2=ED[(yDy)2],即真实数据与数据集上的噪声之间的均方误差

### 回答1: 机器学习模型评估选择和验证是指评估模型的性能、从多个模型选择最佳模型,并验证模型的泛化能力。常用的评估方法包括准确率、精确率、召回率、F1 分数、ROC 曲线和 AUC 等。常用的选择方法包括交叉验证、超参数调优、学习曲线分析等。 ### 回答2: 机器学习的目标是通过训练来构建模型,以便能够高效地预测未知数据。但是,模型的准确性不仅取决于所使用的算法,还取决于其它因素,例如数据和参数设置。 模型评估能够帮助我们了解模型性能的好坏。评估算法的过程通常涉及到数据划分、交叉验证和各种评估指标。一般来说,数据划分的过程将数据集拆分成训练集和测试集。用训练集来构建模型并进行参数调整,然后使用测试集来衡量模型的性能。交叉验证是在数据集合上的一个更安全和更可靠的方法,它将原始数据集划分成K个互斥的子集,并使用K-1个子集来训练模型,用剩余的子集来评估模型的性能。 选择正确的模型非常关键,因为模型的性能可以直接影响结果的准确性。选择模型的一个重要因素是如何表示数据集。数据可以使用多种方式表示,而不同的数据表示方式有不同的优劣。选择适当的模型是当然的,但是我们还应该使用技术来优化模型,并防止模型过度拟合或欠拟合。 模型验证是评估模型如何执行任务的最终步骤。验证后,我们可以使用模型进行预测并将其应用于新数据。如果模型的性能不符合要求,可以通过重新评估、更改数据集或改变模型参数来尝试改善。模型验证是机器学习流程中非常重要的一部分,可以确保我们的模型效果良好,从而为我们提供可靠的预测结果。 总之,机器学习是一种建立复杂模型的方法,不同的算法、数据表示方式和参数会影响其性能。为了找到最佳模型,我们需要进行模型评估选择和验证等工作。这些步骤是机器学习流程的关键组成部分,可以帮助我们构建高效且准确的模型,从而应对各种实际应用场景。 ### 回答3: 机器学习是一种人工智能领域的重要技术,它允许计算机从历史数据中学习,建立预测模型,并用于未来的数据预测和决策。模型评估选择与验证是机器学习过程中的重要一环,以保证模型的准确性、稳定性和泛化能力。 模型评估的目的是检验模型的表现,并度量其优劣。常用的评估指标包括精确度、召回率、F1值等,这些指标可以用于比较不同模型之间的性能表现。评估模型时,通常需要将数据集划分为训练集和测试集,训练集用于训练模型,而测试集用于评估模型性能。评估模型的结果可以指导我们调整模型的参数,提高模型的预测精度。 模型选择是在多个模型选择最合适的模型。常用的模型选择方法包括交叉验证、留一法等。交叉验证是将数据集分成k个子集,每个子集轮流作为测试集进行模型评估,其余部分用于训练模型,最后将测试集误差取平均值作为综合误差来评估模型的性能。 模型验证是对模型的泛化能力的验证。泛化能力是指模型对未知数据的预测精度,即模型是否能够对新数据进行较好的预测。在模型验证中,需要将数据集划分为训练集、验证集和测试集。在训练集中训练模型,在验证集上调整模型参数,并在测试集上验证模型的泛化能力。常用的验证方法包括留存法、k折交叉验证等。 综上所述,模型评估选择与验证对于机器学习中的预测模型非常重要。这些技术可以保证模型的准确性和稳定性,并提高模型的泛化能力,为数据分析和预测提供可靠依据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值