文章目录
评估方法
留出法
数据集划分为两个互斥的集合,一个作为训练集S,另一个作为测试集T
交叉验证法
划分为k个子集,用k-1个作为S,剩下的一个作为T。当k为总样本数量时,称为留一法
自助法bootstrapping
从总样本里进行有放回的采样,使用采样数据集作为S,未采到的约有 lim m ↦ ∞ ( 1 − 1 / m ) m ↦ 1 / e ≈ 0.368 \lim_{m\mapsto \infty}(1-1/m)^m\mapsto1/e\approx0.368 limm↦∞(1−1/m)m↦1/e≈0.368的数据作为测试集
优缺点
优点
- 自助法适用于数据集较小、难以有效划分训练/测试集时
- 能从初始数据集产生多个不同的训练集,这对集成学习等方法有好处
缺点
- 改变初始数据集分布,引入估计偏差
初始数据量足够时,留出法与交叉验证更常用
性能度量
查准率Precision, 查全率Recall, F1
混淆矩阵
真实\预测 | 正例 | 反例 |
---|---|---|
正例 | TP | FN |
反例 | FP | TN |
第一个字母代表预测正确或错误,第二个字母代表预测的结果,TP表示预测结果为正例且预测正确
公式定义
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曲线
曲线绘制方法
将学习器对所有N个样本预测为正例的的概率进行排序,排在最开始的是概率最高的样本,末尾的为概率最低的样本。然后从头到尾依次添加样本作为正例,每次添加的时候计算P与R,绘制N个点得出该曲线。
评估方法
- 若一个分类器的P-R曲线完全被另一个学习器的P-R曲线所包住,则后者性能大于前者。如图中A>C
- 比较P-R曲线下面积大小,大则性能强(难以估算)
- 平衡点(Break-Event Point,BEP)的比较,当P=R时的取值,BEP大则性能强
- 比较F1, P与R的调和平均
- 多类别时,考虑macro-F1与micro-F1 (西瓜书P32)
ROC与AUC
ROC(Recevier Operating Characteristic) 与P-R曲线类似,但是横轴与纵轴的指标不同。横轴为FPR(False Positive Rate),纵轴为TPR(True Postive Rate)。
T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP
F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP
- TPR: 所有为真的样本中,被判为真的占比
- FPR: 所有为假的样本中,被误判为真的占比
AUC(Area Under ROC Curve)为ROC的面积
ROC曲线与AUC
评估方法
- 若一个分类器的ROC曲线完全被另一个学习器的ROC曲线所包住,则后者性能大于前者。
- 比较AUC大小,大的性能好
- 曲线越靠近左上角(0,1)点性能越好
性质
AUC反应的是样本的排序质量,即给定一个正样本与负样本,把正样本预测为正比上把负样本预测为正的概率。
代价敏感错误率与代价曲线
曲线
横轴为正例概率代价,其中 p p p为样例为正的概率
P
(
+
)
c
o
s
t
=
p
∗
c
o
s
t
01
p
∗
c
o
s
t
01
+
(
1
−
p
)
∗
c
o
s
t
10
P(+)cost=\frac{p*cost_{01}}{p*cost_{01}+(1-p)*cost_{10}}
P(+)cost=p∗cost01+(1−p)∗cost10p∗cost01
纵轴为归一化代价
c
o
s
t
n
o
r
m
=
F
N
R
∗
p
∗
c
o
s
t
01
+
F
P
R
∗
(
1
−
p
)
∗
c
o
s
t
10
p
∗
c
o
s
t
01
+
(
1
−
p
)
∗
c
o
s
t
10
cost_{norm}=\frac{FNR*p*cost{01}+FPR*(1-p)*cost_{10}}{p*cost_{01}+(1-p)*cost{10}}
costnorm=p∗cost01+(1−p)∗cost10FNR∗p∗cost01+FPR∗(1−p)∗cost10
绘制方法
ROC曲线的每一点对应了代价平面上的一条线段,根据ROC曲线上的一个点 ( T P R , F P R ) (TPR,FPR) (TPR,FPR)计算出 F N R = 1 − T P R FNR=1-TPR FNR=1−TPR,然后在代价平面上绘制一条从 ( 0 , F P R ) (0,FPR) (0,FPR)到 ( 1 , F N R ) (1,FNR) (1,FNR)的线段,对于每个点重复上述操作
性质
- 代价曲线下的面积代表该条件下的期望总体代价
- 所有线段的下界围起的面积即为所有条件下学习器的期望总体代价
比较检验
二项检验
t检验
假设得到 k k k个测试错误率 ϵ 1 ^ , ϵ 2 ^ , ⋯   , ϵ k ^ \hat{\epsilon_1},\hat{\epsilon_2},\cdots,\hat{\epsilon_k} ϵ1^,ϵ2^,⋯,ϵk^,平均测试错误率 μ \mu μ和方差 σ 2 \sigma^2 σ2为
μ = 1 k ∑ i = 1 k ϵ i ^ \mu=\frac{1}{k}\sum_{i=1}^k\hat{\epsilon_i} μ=k1∑i=1kϵi^
σ
2
=
1
k
−
1
∑
i
=
1
k
(
ϵ
i
^
−
μ
)
2
\sigma^2=\frac{1}{k-1}\sum_{i=1}^k(\hat{\epsilon_i}-\mu)^2
σ2=k−11∑i=1k(ϵi^−μ)2
考虑到这
k
k
k个测试错误率看做泛化错误率
ϵ
0
\epsilon_0
ϵ0的独立采样,则变量
τ
t
=
k
(
μ
−
ϵ
0
)
σ
\tau_t=\frac{\sqrt k(\mu-\epsilon_0) }{\sigma}
τt=σk(μ−ϵ0)
服从自由度为
k
−
1
k-1
k−1的
t
t
t分布
结论
假设 μ \mu μ与显著度 α \alpha α
双边假设
两边阴影各有 α / 2 \alpha/2 α/2的面积,假定阴影部分面积为 [ − ∞ , t − α / 2 ] [-\infty,t_{-\alpha/2}] [−∞,t−α/2]和 [ t α / 2 , ∞ ] [t_{\alpha/2},\infty] [tα/2,∞]
- 若平均错误率 μ \mu μ与 ϵ 0 \epsilon_0 ϵ0之差 ∣ μ − ϵ 0 ∣ \lvert\mu-\epsilon_0\rvert ∣μ−ϵ0∣位于临界值范围 [ t − α / 2 , t α / 2 ] [t_{-\alpha/2},t_{\alpha/2}] [t−α/2,tα/2]内,则不能拒绝原假设,即可认为泛化错误率为 ϵ 0 \epsilon_0 ϵ0,置信度为 1 − α 1-\alpha 1−α
- 否则可拒绝该假设,即在该显著度下可认为泛化错误率与 ϵ 0 \epsilon_0 ϵ0有显著不同。
相关链接
交叉t检验
McNemar检验
Friedman检验与Nemenyi后续检验
偏差与方差
-
“偏差-方差分解”是解释学习算法泛化性能的一种重要工具
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 -
算法的期望泛化误差可以分解为偏差、方差和噪声之和
- 偏差度量了学习算法的期望预测与真实结果的偏离程度,即算法本身的拟合能力
- 方差度量了同样大小的训练集的变动所导致的学习性能的变化,即数据扰动所造成的影响
- 噪声则表达了当前任务上任何学习算法所能达到的期望泛化误差的下界,即学习问题本身的难度
-
上述公式仅在基于均方误差的回归任务中得以导出
西瓜书习题
- Min-Max规范化和z-score优缺点
Max-Min | z-score |
---|---|
方法简单 | 计算量相对大一些 |
容易受高杠杆点和离群点影响 | 对离群点敏感度相对低一些 |
当加入新值超出当前最大最小范围时重新计算所有之前的结果 | 每加入新值都要重新计算所有之前结果 |