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

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

1、经验误差与过拟合

错误率 E = a / m E=a/m E=a/m=样本分类错误/样本总数

精度=1-错误率

在训练集上的误差称为训练误差经验误差

新样本上的误差称为泛化误差


2、评估方法

测试集->测试误差 作为泛化误差的近似

测试集应尽可能与训练集互斥

产生训练集S和测试集T

2.1、留出法

直接将数据集 D D D分为两个互斥的集合,训练集 S S S,测试集 T T T,正反例按照相同的比例

缺陷:如 T T T较小,评估结果会不够准确;如 T T T较大, S S S D D D的差距会变大,被评估的模型与用 D D D训练出的模型可能有较大差别,降低了评估结果的保真性

2.2、交叉验证法

D D D划分为 k k k个大小相同的互斥子集,每次用 k k k-1各子集并集作为训练集,余下的子集作为测试集,进行 k k k次训练和测试,返回 k k k次测试结果的均值

交叉验证评估结果的稳定性和保真性很大程度上取决于 k k k的取值,故称为“ k k k折交叉验证”,通常 k k k取10

在这里插入图片描述

为减少样本划分不同引入的差别, k k k折交叉验证随机使用不同的划分重复 p p p次,最终返回均值,称为“ p p p k k k折交叉验证”

如令 k k k= m m m个样本,则称为留一法,不受随机样本划分的影响,训练出的模型更接近于期望的 D D D训练出的模型;但数据量很大时,计算开销过大

2.3、自助法

解决实际评估的模型所使用的训练集小于 D D D带来的估计偏差

自助采样:每次从 D D D取一个样本放入 D ′ D' D并放回,有一部分样本多次出现,另一部分不出现,不被采样到的概率为

在这里插入图片描述

D ′ D' D作为训练集, D − D ′ D-D' DD作为测试集

优点:在数据集较小,难以划分训练、测试集时很有用

缺点:改变了初始数据集的分布,引入估计偏差

在数据量足够时,留出法和交叉验证法更常用

2.4、调参和最终模型

在进行模型评估和选择时,除了要对算法进行选择,还要对算法参数进行设定

常用做法:对每个参数选定一个范围和变化步长,在候选值中产生选定值

由于通常训练集小于 D D D,在使用训练集选定算法和参数后,应用数据集D重新训练模型,此为最终模型


3、性能度量performance measure

回归中常用的性能度量为均方误差

在这里插入图片描述

分类任务

3.1、错误率和精度

错误率为分类错误的样本数占样本总数的比例

在这里插入图片描述

精度为分类正确的样本数占样本总数的比例

在这里插入图片描述

更一般,对于概率密度函数 p ( ⋅ ) p(·) p()

在这里插入图片描述

在这里插入图片描述

3.2、查准率precision,查全率recall和F1

在这里插入图片描述

查准率 P P P,预测的正例中的真正例

在这里插入图片描述

查全率 R R R,真实正例中预测出的正例

在这里插入图片描述

两者矛盾

查准率高时,查全率低,只挑选最有把握的正例预测,则预测的正例中真正正例较多,但漏掉了很多正例

查全率高时,查准率低,把所有都判为正例,则查全率为1,查准率较低

P − R P-R PR

将预测结果按照正例的比例进行排序,前面为可能性高的样本,后面越来越低,按顺序把样本当作正例,可计算出此时的查全率和查准率,画出 P − R P-R PR

在这里插入图片描述

A曲线完全包裹C曲线,认定学习器A的性能优于C;如有交叉如AB,则不能轻易断言两者优劣

平衡点BEP,Break-Event Point为查全率=查准率时的取值,则可比较A>B>C

由于BEP过于简化,更常用F1度量

在这里插入图片描述

F1基于调和平均在这里插入图片描述

当对于查准率和查全率重视程度不同时,如疾病判断中查全率更重要,此时用 F β F_\beta Fβ

在这里插入图片描述

β \beta β>0, β \beta β=1时为标准F1, β \beta β>1是查全率有更大影响, β \beta β<1时查准率有更大影响

在n个二分类混淆矩阵上综合考察查准率和查全率

宏macro ,每个混淆矩阵上计算出查准率和查全率再求平均

在这里插入图片描述

微micro,由TP,FP,TN,FN平均值计算

在这里插入图片描述

在这里插入图片描述

3.3、ROC与AUC

ROC 受试者工作特征 Receiver Operating Characteristic

与P-R曲线类似,但横轴为”假正例率“FPR 真实反例中被预测为正例的比率

在这里插入图片描述

纵轴为”真正例率“ TPR ,等于召回率R,真实正例中预测出的正例

在这里插入图片描述

在这里插入图片描述

如何利用有限个测试样例绘制ROC图

给定 m + m^+ m+=TP+FN个正例和 m − m^- m=TN+FP个反例,根据学习器预测结果对样例进行排序

  • 把分类阈值设到最大,则全为反例,TPR和FPR均为0,对应点(0,0)
  • 依次将每个样例划分为正例
  • 前一个标记点为 ( x , y ) (x,y) (x,y)
  • 若当前样例为真正例,则TP=TP+1,新坐标点为 ( x , y + 1 / m + ) (x,y+1/m^+) (x,y+1/m+)
  • 若当前样例为假正例,则FP=FP+1,新坐标点为 ( x + 1 / m − , y ) (x+1/m^-,y) (x+1/m,y)
  • 然后用线段连接

如何比较优劣

  • 与P-R图类似,包裹曲线由于被包裹曲线
  • 如两个学习器的ROC曲线交叉,则难以断言,合理的判据是比较ROC曲线下的面积AUC,Area Under ROC Curve

特性

  • 排序损失为 l r a n k l_{rank} lrank,对每一对正反例,若正例的预测值小于反例,即排序在反例之后,记一个罚分,此时曲线沿x轴增加,AUC变小;若相等,则记0.5个罚分在这里插入图片描述

  • l r a n k l_{rank} lrank为ROC曲线之上的面积在这里插入图片描述

  • 若一个正例在ROC曲线上对应标记点的坐标为 ( x , y ) (x,y) (x,y),则 x x x恰是排序在其之前的反例所占的比例,即假正例率


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

实际生活中不同类型的错误所造成的后果不同,如医疗误诊。为权衡不同类型错误所造成的不同损失,可为错误赋予”非均等代价“ unequal cost

代价矩阵,重要的是 c o s t 01 cost_{01} cost01 c o s t 10 cost_{10} cost10的比值而不是绝对值

在这里插入图片描述

正例预估错误的代价为 c o s t 01 cost_{01} cost01,反例预估错误的代价为 c o s t 10 cost_{10} cost10,代价敏感错误率为

在这里插入图片描述

非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价,此时使用代价曲线 cost curve

横轴为取值[0,1]的正例概率代价, p p p为样例为正例的概率

在这里插入图片描述

纵轴为取值为[0,1]的归一化代价,FPR为假正例率,真实反例中被预测为正例的比率,

FNR=1-TPR假反例率,真实正例中被预测为反例的比率

在这里插入图片描述

绘制

  • ROC曲线上每一点对应了代价平面上的一条线段
  • 设ROC曲线上点的坐标为(TPR,FPR)
  • 在代价平面上连一条(0,FPR)到(1,FNR)线段
  • 连接完所有线段后,取所有线段的下界,围成的面积为在所有条件下学习器的期望总体代价

在这里插入图片描述

4、比较检验

测得性能度量后如何比较

若在测试集上观察到学习器A比B好,则A的泛化性能是否在统计意义上由于B,以及这个结论的把握有多大

4.1、假设检验

当以错误率 ϵ \epsilon ϵ为性能度量

“假设”是对学习器泛化错误率分布的某种判断或猜想,但泛化错误率不能直接获得,只能获得测试错误率 ϵ ^ \hat{\epsilon} ϵ^,根据测试错误率推出泛化错误率的分布

泛化错误率为学习器在一个样本上犯错的概率 ϵ \epsilon ϵ

测试错误率为在 m m m个测试样本中恰有 ϵ ^ ∗ m \hat{\epsilon}*m ϵ^m个样本被误分类的概率

如将 m ′ m' m个样本误分类,泛化错误率为 ϵ \epsilon ϵ的学习器被测得测试错误率为 ϵ ^ \hat{\epsilon} ϵ^的概率公式为在这里插入图片描述

给定 ϵ ^ \hat{\epsilon} ϵ^,对上式求 ϵ \epsilon ϵ的偏导数,得到 P P P ϵ \epsilon ϵ= ϵ ^ \hat{\epsilon} ϵ^时最大, ∣ ϵ − ϵ ^ ∣ |\epsilon-\hat{\epsilon}| ϵϵ^增大时 P P P减小,符合二项分布

如图,若 ϵ \epsilon ϵ=0.3,则10个样本中测得3个被误分类的概率最大

在这里插入图片描述

使用二项检验考虑假设 ϵ ⩽ ϵ 0 \epsilon\leqslant\epsilon_0 ϵϵ0,则在 1 − α 1-\alpha 1α的置信度内能观察到的最大错误率为

在这里插入图片描述

ϵ ‾ \overline{\epsilon} ϵ得到后如小于 ϵ 0 \epsilon_0 ϵ0,则在 α \alpha α显著度内,即以 1 − α 1-\alpha 1α置信度,确信假设成立

当使用多次重复留出法或交叉验证法进行训练、测试,会得到多个测试错误率,此时使用t检验

假设得到k个测试错误率,则

在这里插入图片描述

考虑到k个测试错误率可看作泛化错误率 ϵ 0 \epsilon_0 ϵ0的独立采样,则变量 τ t \tau_t τt服从自由度为 k − 1 k-1 k1 t t t分布

在这里插入图片描述

在这里插入图片描述

对假设“ μ = ϵ 0 \mu=\epsilon_0 μ=ϵ0",可计算出测试错误率均值为 ϵ 0 \epsilon_0 ϵ0时,在 1 − α 1-\alpha 1α概率内能观察到的最大错误率,即临界值。

若平均错误率 μ \mu μ ϵ 0 \epsilon_0 ϵ0之差 ∣ μ − ϵ 0 ∣ |\mu-\epsilon_0| μϵ0位于临界值范围 [ t − α / 2 , t α / 2 ] [t_{-\alpha/2},t_{\alpha/2}] [tα/2,tα/2]内,则假设在置信度1- α \alpha α内成立


4.2、交叉验证t检验

如检验两个学习器效果是否相同,使用k折交叉验证法得到k对错误率,看其差值是否在置信度内。


4.3、McNemar检验

对二分类问题

在这里插入图片描述

如量学习器性能相同,则应有 e 01 = e 10 e_{01}=e_{10} e01=e10

在这里插入图片描述

符合自由度为1的 χ 2 \chi^2 χ2分布,即标准正态分布的平方。


4.4、Friedman检验与Nemenyi后续检验

一组数据集上进行多个算法的比较

  • 对每个数据集上的算法进行评分,并求平均在这里插入图片描述

  • 没看懂


4.5、偏差与方差

对测试样本 x x x,另 y D y_D yD x x x在数据集中的标记, y y y x x x的真实标记,有可能出现噪声使 y D ≠ y y_D\neq y yD=y f ( x ; D ) f(x;D) f(x;D)为模型 f f f的预测输出

学习算法的期望预测为在这里插入图片描述

使用样本数相同的不同训练集产生的方差为在这里插入图片描述

噪声为在这里插入图片描述

期望输出与真实标记的差别称为偏差bias,在这里插入图片描述

算法的期望返泛化误差为在这里插入图片描述

拆解为

在这里插入图片描述

于是在这里插入图片描述

即泛化误差可分解为偏差,方差,噪声之和

偏差,度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力

方差,度量了同样大小的训练集变动所导致的学习性能的变化,即刻画可数据扰动所造成的影响

噪声,表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度

一般,偏差和方差有冲突,称为偏差-方差窘境bias-variance dilemma。

训练不足时,拟合能力不够强,则训练数据的扰动较小,此时偏差主导了泛化错误率。

训练加深,拟合能力加强,训练数据发生的扰动会被学习器学到,方差逐渐主导了泛化错误率,若训练数据自身的非全局特性被学习器学到,则会发生过拟合

在这里插入图片描述

了学习算法本身的拟合能力

**方差,**度量了同样大小的训练集变动所导致的学习性能的变化,即刻画可数据扰动所造成的影响

噪声,表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度

一般,偏差和方差有冲突,称为偏差-方差窘境bias-variance dilemma。

训练不足时,拟合能力不够强,则训练数据的扰动较小,此时偏差主导了泛化错误率。

训练加深,拟合能力加强,训练数据发生的扰动会被学习器学到,方差逐渐主导了泛化错误率,若训练数据自身的非全局特性被学习器学到,则会发生过拟合

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lucas_ch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值