提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
模型评估与选择
一、评估方法
精度=1-错误率
1.1 留出法
将数据集划分为两个互斥的集合,一个作为训练集S,另一个作为测试集T,在S上训练出模型后,用T评估测试误差,作为对泛化误差的估计。
1.2 k-折交叉验证法
10-折交叉验证:
1.3 自助法
亦称“有放回采样”、“可重复采样”
样本在m次采样中始终不被采到的概率是
(
1
−
1
m
)
m
(1-\frac{1}{m})^{m}
(1−m1)m
取极限得
lim
m
→
+
∞
(
1
−
1
m
)
m
=
1
e
\displaystyle\lim_{m \rightarrow + \infty}(1 - \frac{1}{m})^m = \frac{1}{e}
m→+∞lim(1−m1)m=e1
二、性能度量
回归任务常用均方误差: E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D)=\frac{1}{m}\displaystyle\sum_{i = 1}^{m}(f(x_{i})-y_{i})^2 E(f;D)=m1i=1∑m(f(xi)−yi)2
2.1 错误率与精度
错误率:
E
(
f
;
D
)
=
1
m
∑
i
=
1
m
ii
(
f
(
x
i
)
≠
y
i
)
E(f;D)=\frac{1}{m}\displaystyle\sum_{i = 1}^{m}\textrm{ii}(f(x_{i})\neq y_{i})
E(f;D)=m1i=1∑mii(f(xi)=yi)
精度:
a
c
c
(
f
;
D
)
=
1
m
∑
i
=
1
m
ii
(
f
(
x
i
)
=
y
i
)
=
1
−
E
(
f
;
D
)
acc(f;D)=\frac{1}{m}\displaystyle\sum_{i = 1}^{m}\textrm{ii}(f(x_{i})= y_{i})=1-E(f;D)
acc(f;D)=m1i=1∑mii(f(xi)=yi)=1−E(f;D)
2.2 查准率与查全率
真实情况 | 预测结果 |
---|---|
正例 反例 | |
正例 | TP FN |
反例 | FP TN |
查准率= 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
比BEP更常用的F1度量:
F
1
=
2
×
P
×
R
P
+
R
=
2
×
T
P
样
例
总
数
+
T
P
−
T
N
F1=\frac{2\times P\times R}{P+R}=\frac{2\times TP}{样例总数+TP-TN}
F1=P+R2×P×R=样例总数+TP−TN2×TP
若对查准率/查全率有不同偏好: 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
β > 1 \beta>1 β>1时查全率有更大影响; β < 1 \beta<1 β<1时查准率有更大影响
2.3 ROC与AUC
ROC曲线纵轴是真正例率TPR,横轴是假正例率FPR
T
P
R
=
T
P
R
P
+
F
N
TPR=\frac{TP}{RP+FN}
TPR=RP+FNTP
F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP
AUC可通过对ROC曲线下各部分的面积求和而得
A
U
C
=
1
2
∑
i
=
1
m
−
1
(
x
i
+
1
−
x
i
)
×
(
y
i
+
y
i
+
1
)
AUC=\frac{1}{2}\displaystyle\sum_{i = 1}^{m-1}(x_{i+1}-x_{i})\times (y_{i}+y_{i+1})
AUC=21i=1∑m−1(xi+1−xi)×(yi+yi+1)
2.4 代价敏感错误率与代价曲线
二分类代价矩阵
真实类别 | 预测类别 |
---|---|
第0类 第1类 | |
第0类 | 0 c o s t 01 cost_{01} cost01 |
第1类 | c o s t 10 cost_{10} cost10 0 |
代价敏感错误率:
三、比较检验
两学习器比较
1、交叉验证t检验
2、McNemar检验(基于列联表,卡方检验)
多学习器比较
1、Friedman检验(基于序值,F检验;判断是否都相同)
2、Nemenyi后续检验(基于序值进一步判断两两差别)
四、偏差与方差
E
(
f
;
D
)
=
(
b
i
a
s
(
x
)
)
2
+
v
a
r
(
x
)
+
ϵ
2
E(f;D)=(bias(x))^2+var(x)+\epsilon ^2
E(f;D)=(bias(x))2+var(x)+ϵ2
期望输出与真实输出的差别:
(
b
i
a
s
(
x
)
)
2
=
(
f
ˉ
(
x
)
−
y
)
2
(bias(x))^2=(\bar{f}(x)-y)^2
(bias(x))2=(fˉ(x)−y)2
同样大小的训练集的变动所导致的性能变化:
v
a
r
(
x
)
=
E
D
[
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
)
2
]
var(x)=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
]
\epsilon ^2=E_{D}[(y_{D}-y)^2]
ϵ2=ED[(yD−y)2]
1)训练不足,学习器拟合能力不强,偏差主导
2)随着训练程度加强,学习器拟合能力逐渐增强,方差逐渐主导
3)训练充足,学习器的拟合能力很强,方差主导
参考文献:
《机器学习》第二章模型评估与选择——周志华