2.2评估方法
通常,我们通过实验测试学习器的泛化误差来进行评估进而做出选择,以测试集的测试误差作为泛化误差的近似,测试集与训练集应该尽可能互斥。
训练集与测试集处理方法:
1、留出法
直接将数据集D划分成两个互斥的集合,其中一个作为训练集S,一个作为测试集T,即D=S∪T,S∩T=?.
注意:训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差从而对最终结果产生影响,例如在分类任务中至少要保证样本的类别比例相似。
分层采样:保留类别比例的采样方式。
2、交叉验证法
先将数据集D划分为k个大小相似的互斥子集,即D=D1∪D2∪D3…∪Dk,Di∩Dj=?(i≠j).
每个子集尽可能保持数据分布的一致性,即从D中通过分层采样得到,之后用K-1个子集作为训练集,剩下的那一个作为测试集,这样可以获得K组训练/测试集,可以进行K次训练和测试。
显然,交叉验证法评估结果的稳定性和保真性很大程度取决于K,因此,又叫K折交叉验证。
与留出法相似,D的划分方式也有多种,K折交叉验证法通常要随机使用不同的划分重复P次,最终的评估结果是这P次K折交叉验证结果的均值,比如:10次10折交叉验证。
特殊情形:留一法,m个样本,令k=m。
3、自助法
自助法直接以自助采样法为基础。给定包含m个样本的数据集D,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后再把该样本放回初始数据集D,使得该样本下次仍有机会被采到,这个过程重复执行m次后,我们就得到了包含m个样本的数据集D’。
样本在m次采样中始终不被采到的概率:0.368
D’作训练集,D\D’作为测试集。测试集占36.8%,这样的测试结果,亦称“包外估计”。
自助法适用于数据集较小、难以有效划分训练与测试集的情况,但是会改变初始数据集的分布,容易引入估计偏差。
调参与最终模型:给定包含m个样本的数据集D,在模型评估与选择过程中由于需要留出一部分数据进行评估测试,所以,在模型选择完成后,我们需要再次用D进行训练模型,在这个训练过程中,我们用了m个样本,这才是我们最终提交给用户的模型。
2.3性能度量
性能度量:衡量模型泛化能力的标准。
回归任务最常用的性能度量:均方误差
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)=
m
1
?
i=1
∑
m
?
(f(x
i
?
)?y
i
?
)
2
更一般的,对于数据分布D和概率密度函数P(·),均方误差可以描述成:
E ( f ; D ) = ∫ x D ( f ( x ) ? y ) 2 p ( x ) ? d x E(f;D)=\int_{x~D}{(f(x)-y)^2p(x)}\,{\rm d}x
E(f;D)=∫
x D
?
(f(x)?y)
2
p(x)dx
2.3.1 错误率与精度(分类任务常用性能度量)
对样例集D,分类错误率定义为:
E ( f ; D ) = 1 m ∑ i = 1 m Ⅱ ( f ( x i ) ≠ y i ) E(f;D)=\frac{1}{m}\sum_{i=1}^{m}Ⅱ(f(x_i)≠y_i)
E(f;D)=
m
1
?
i=1
∑
m
?
Ⅱ(f(x
i
?
)
?
=y
i
?
)
个人理解,分类时,结果一致,为0,结果不一致为1,所以,对m训练数据的样本进行统计,统计错误的个数,最后除以总数m,即为错误率。
精度定义:
E ( f ; D ) = 1 m ∑ i = 1 m Ⅱ ( f ( x i ) = y i ) = 1 ? E ( f ; D ) E(f;D)=\frac{1}{m}\sum_{i=1}^{m}Ⅱ(f(x_i)=y_i)=1-E(f;D)
E(f;D)=
m
1
?
i=1
∑
m
?
Ⅱ(f(x
i
?
)=y
i
?
)=1?E(f;D)
这是因为精度=1-错误率。
2.3.2 查准率、查全率与F1
查准率就是你认为是对的样例中,到底有多少真是对的。
查全率就是所有对的样例,你找出了多少,或者说你判断对了多少。
以查准率为纵轴,查全率为横轴,作P-R曲线。
如果一个学习器的P-R曲线被另一个学习器的曲线完全包住,则后者性能优于前者。
为了判断P-R曲线中,不同的学习器的性能优劣,引入BEP(P=R的平衡点),之后引入F1度量。
F1度量:
F 1 = 2 ? P ? R P + R = 2 ? T P 样 例 总 数 + T P ? T N F1=\frac{2PR}{P+R}=\frac{2*TP}{样例总数+TP-TN}
F1=
P+R
2?P?R
?
=
样例总数+TP?TN
2?TP
?
F β F_βF
β
?
表示对查准率、查全率的偏好:
F β = ( 1 + β 2 ) ? P ? R ( β 2 ? P ) + R F_β=\frac{(1+β^2)PR}{(β^2*P)+R}
F
β
?
=
(β
2
?P)+R
(1+β
2
)?P?R
?
β等于1,为F1;β大于1,偏好查全率;β小于1,偏好查准率。
2.3.3 ROC与AUC
ROC曲线:纵轴是真正例率,横轴是假正例率。
AUC:ROC曲线下的面积。
原文:https://blog.51cto.com/14073074/2550995