其他分享
首页 > 其他分享> > Day01-《西瓜书》-模型评估与选择(DataWhale)

Day01-《西瓜书》-模型评估与选择(DataWhale)

作者:互联网

一、绪论

出处
Datawhale吃瓜教程(https://www.bilibili.com/video/BV1Mh411e7VU)

案例:

水果摊旁,挑个根蒂蜷缩,敲起来声音浊响的青绿西瓜。期待是皮薄后瓤甜的瓜

1.1 引言

机器学习

研究如何通过计算的手段,利用经验来改善系统自身的性能。

学习算法

在计算机上从数据中产生模型的算法

模型

泛指从数据中学到的结果

机器学习分类

根据训练数据是否拥有标记信息

1.2 基本术语

数据

学习

通过对训练集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } \{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\} {(x1​,y1​),(x2​,y2​),...,(xm​,ym​)}进行学习,建立一个从输入空间 X \mathcal{X} X到输出空间 Y \mathcal{Y} Y的映射 f : X → Y f : \mathcal{X} \rightarrow \mathcal{Y} f:X→Y

测试

1.3 假设空间

归纳(induction)

演绎(deduction)

版本空间(version space)

与训练集一直的“假设集合”

模型都有归纳偏好

二、模型评估与选择

2.1 经验误差与过拟合

错误率(error rate):分类错误的样本数a占样本总数m的比例

​ E = a m E = \frac{a}{m} E=ma​

精度(accuracy): 1 − E 1-E 1−E

误差(error):模型的实际预测输出与样本的真实输出之间的差异

【我们希望的是泛化误差最小化,但是在新样本不确定的情况下,我们努力使经验误差最小化】

2.2 评估方法

我们通过实验测试来对学习器的泛化误差进行评估进而选择合适的模型,因此需要一个测试集(testing set)来测试学习器对新样本的判别能力,将测试集上的测试误差作为泛化误差的近似。

假设测试样本也是从样本真实分布中独立同分布采样而得。一般测试集尽可能与训练集互斥(测试样本尽量不再训练集中出现)

当我们只有一个包含m个样例得数据集D,既要训练也要测试,此时需要对D进行适当得处理,从中产生出训练集S和测试集T

2.2.1 留出法(hold-out)

直接将数据集D划分为两个互斥得集合,其中一个集合作为训练集S,另一个作为测试集T。 D = S ∪ T D=S\cup T D=S∪T , S ∩ T = ∅ S\cap T=\varnothing S∩T=∅,在S上训练出模型后,用T来评估测试误差,作为泛化误差得估计。

注意:

不足

2.2.2 交叉验证法(cross validation)

在这里插入图片描述

步骤:

【交叉验证法评估结果的稳定性和保真性取决于k的取值,一般k取10】

优化

由于将数据集D划分为k个子集同样存在多种划分方式,为减少因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次。最终的评估结果是这p次k折交叉验证结果的均值。

留一法

假定数据集D中包含m个样本,令k=m,则交叉验证法变为留一法。

留一法缺点:

2.2.3 自助法(bootstrapping)

我们希望评估的是用D训练出来的模型,但是留出法和交叉验证法中,保留了一部分样本用于测试,因此实际评估的模型所使用的训练集比D小,这样会引入因训练样本规模不同而导致的估计偏差。

自助法可以减少训练样本规模不同造成的影响,同时还能比较高效地进行实验估计。

步骤:

优点

缺点

2.2.4 调参与最终模型

大多数算法都有参数(parameter)需要设定,参数配置不同,学习模型的性能往往有显著差异。在模型评估与选择时,除了对适用学习算法进行选择,还需对算法参数进行设定,俗称“调参(parameter tuning)”

调参方法

对每个参数选定一个范围和变化步长

最终模型选择

给定包含m个样本的数据集D,在模型评估与选择过程中由于需要留出一部分数据进行评估测试,实际上只使用了一部分数据训练模型。因此,在模型选择完成后,学习算法和参数配置已选定,此时需要用数据集D重新训练模型,这个模型在训练过程中使用了所有m个样本,才是我们最终交付的模型

2.3 性能度量(performance measure)

性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果;意味着模型的”好坏“是相对的,什么样的模型是好的,取决于算法、数据和任务需求。

在预测任务中,给定样例集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D=\{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\} D={(x1​,y1​),(x2​,y2​),...,(xm​,ym​)},其中 y i y_i yi​是 x i x_i xi​的真实标记。要评估学习器 f f f的性能,就要将预测结果 f ( x ) f(x) f(x)与真实标记 y y y进行比较。

回归中的==”均方误差”==(mean squared error):
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D) =\frac{1}{m}\sum_{i=1}^m(f(x_i)-y_i)^2 E(f;D)=m1​i=1∑m​(f(xi​)−yi​)2
对于数据分布 D \mathcal D D和概率密度函数 p ( ⋅ ) \mathcal p(·) p(⋅),均方误差可描述为
E ( f ; D ) = ∫ x ∼ D ( f ( x ) − y ) 2 p ( x ) d x E(f;D)=\int_{x \sim D}(f(x)-y)^2p(x)dx E(f;D)=∫x∼D​(f(x)−y)2p(x)dx

2.3.1 错误率和精度

适用于二分类多分类

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ E(f;D) &= \fra…

$$
\begin{align}
acc(f;D) &= \frac{1}{m}\sum_{i=1}^{m}I(f(x_i)= y_i) \
&= \int_{x\sim D}I(f(x)=y)p(x)dx \
&=1-E(f;D)

\end{align}
$$

2.3.2 查准率、查全率与F1

在这里插入图片描述

查准率(precision)、查全率(recall)适用于基于信息检索结果的性能度量

P = T P T P + F P P = \frac{TP}{TP+FP} P=TP+FPTP​

R = T P T P + F N R = \frac{TP}{TP+FN} R=TP+FNTP​

理解

查准率和查全率是一对矛盾的度量。查准率高时,查全率往往偏低;查全率高时,查准率偏低。

如果希望所有的好瓜被选出来,则通过增加选瓜的数量来实现,此时查准率就会较低;希望选出的瓜中好瓜的比例尽可能高,则可挑选最有把握的瓜,此时会漏掉不少好瓜,使查全率较低

在这里插入图片描述

【根据学习器的预测结果对样例进行排序,排在前面的是学习器认为“最可能”是正例的样本,排在后面的是学习器认为“最不可能”是正例的样本,按次顺序逐个将样本作为正例进行预测,每次可以计算出当前的查全率、查准率,得到P-R曲线】

F1度量:找到合适的学习器
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ F1 &= \frac{2\…
在一些应用中,对查准率和查全率的重视程度有所不同,在商品推荐中,为了尽可能少打扰用户,更希望推荐内容是用户感兴趣的,此时查准率很重要。在逃犯信息检索系统中,更希望尽可能少漏掉逃犯,查全率更重要。

因此,F1的一般形式 F β F_\beta Fβ​:
F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_\beta = \frac{(1+\beta ^2) \times P \times R}{(\beta ^2 \times P)+R} Fβ​=(β2×P)+R(1+β2)×P×R​

n个二分类混淆矩阵的查准率和查全率

现在各个混淆矩阵上分别计算出查准率和查全率,记为 ( P 1 , R 1 ) , ( P 2 , R 2 ) , . . . , ( P n , R n ) (P_1,R_1),(P_2,R_2),...,(P_n,R_n) (P1​,R1​),(P2​,R2​),...,(Pn​,Rn​),再计算平均值,得到宏查准率(macro-P)、宏查全率(macro-R)、宏F1
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ macro-P &= \fr…

先将各混淆矩阵的对应元素进行平均,得到TP、FP、TN、FN的平均值,分别记为 T P ‾ \overline{TP} TP、 F P ‾ \overline{FP} FP、 T N ‾ \overline{TN} TN、 F N ‾ \overline{FN} FN,再基于这些平均值计算出微查准率(micro-P)、微查全率(micro-R)、微F1
$$
\begin{align}
micro-P &= \frac{\overline{TP}}{\overline{TP}+\overline{FP}} \
micro-R &= \frac{\overline{TP}}{\overline{TP}+\overline{FN}} \
micro-F1 &=\frac{2\times micro-P \times micro-R}{micro-P+micro-R}

\end{align}
$$

标签:西瓜,训练,Day01,样本,DataWhale,查全率,测试,模型,查准率
来源: https://blog.csdn.net/liying_tt/article/details/118696677