(《机器学习》完整版系列)第2章 模型评估与选择 ——2.8 学习器的比较(除用ROC等工具外,还可用统计检验手段)
除了用ROC等工具进行过两学习器的比较外,我们还可用统计检验的手段进行两算法(甚至多算法)的比较。
提高性能就是改善泛化误差,而泛化误差可分解为偏差、方差与噪声之和,它们之间是有冲突的,通过控制训练程度来平衡它们之间的冲突。
性能比较
前面我们曾用ROC等工具进行过两学习器的比较,这里我们用统计检验的手段进行两算法(甚至多算法)的比较(这里主要是从泛化能力(性能)角度来进行学习器优劣的比较,在实际应用层面进行学习器选择时,还应考虑其他指标,如,学习器 A A A准确率很高但得运行几分钟,学习器 B B B准确率稍低但运行时间不到一秒,那么,在医学上应选 A A A,而手机上的日常应用中应选 B B B。 这类涉及人们关注点,通常作为满意度指标(如,运行时间),用阈值来定义)。 统计检验的关键是寻找合适的统计量,然后,利用前述的检验方法进行检验。
1.交叉验证+检验
两学习器的性能是否相等?
用 k k k折交叉验证方法可以得到一组“成对”数据,由【西瓜书式(2.31)】所定义的统计量 τ t \tau _t τt可用于 t t t检验。
2.用 χ 2 \chi ^2 χ2检验
【西瓜书式(2.33)】定义的统计量 τ χ 2 \tau _{\chi ^2} τχ2服从自由度为 1 1 1的 χ 2 \chi ^2 χ2(卡方)分布,可用于判断两学习器的性能是否有显著差别。
【西瓜书式(2.34)】定义的统计量 τ χ 2 \tau _{\chi ^2} τχ2服从自由度为 k − 1 k-1 k−1的 χ 2 \chi ^2 χ2(卡方)分布,可用于判断多个( k k k个)学习器(或算法)的性能是否相同。
3.用 F F F检验
【西瓜书式(2.35)】定义的统计量 τ F \tau _F τF服从自由度为 k − 1 k-1 k−1和 ( k − 1 ) ( N − 1 ) (k-1)(N-1) (k−1)(N−1)的 F F F分布(注: F F F分布有两个自由度,其中, k k k为学习器的个数, N N N为测试集个数),可用于判断多个( k k k个)学习器(或算法)的性能是否相同。
偏差与方差*
【西瓜书式(2.42)】将泛化误差分解为偏差、方差与噪声之和,并通过【西瓜书图2.9】分析了偏差与方差的冲突,讨论了通过控制训练程度来平衡冲突。
这里对【西瓜书式(2.42)】的推导进行补充。
算法 f f f基于训练集 D D D,可得到模型 f D f_D fD,现在,设有 n n n个人对同一算法 f f f独立地进行实验,他们有各自的训练集 D i D_i Di,以及基于该训练集的各人的观测标记 y D i ( x ) y_{D_i}(\boldsymbol{x}) yDi(x)和各人训练好的用于预测的模型为 f D i f_{D_i} fDi。
这
n
n
n个人训练完之后,再一起考虑测试,样本空间中去掉他们的训练集后,取一能代表样本分布的大子集
T
T
T作为测试集,即
T
⊂
X
∖
⋃
i
=
1
n
D
i
\begin{equation*} T\subset \mathcal{X} \setminus \bigcup _{i=1}^nD_i \end{equation*}
T⊂X∖i=1⋃nDi
测试集
T
T
T上模型
f
D
f_D
fD的测试误差可视为其泛化误差
E
(
f
D
;
T
)
=
E
x
∈
T
[
f
D
(
x
)
−
y
D
(
x
)
]
2
(1)
E(f_D;T)=\mathop{\mathbb{E}}\limits_{\substack{\boldsymbol{x} \in T}} [f_D(\boldsymbol{x})-y_D(\boldsymbol{x})]^2 \tag{1}
E(fD;T)=x∈TE[fD(x)−yD(x)]2(1)
其中,
E
E
E表示测试误差,
E
\mathbb{E}
E表示平均(数学期望),后续推导中常以
f
D
f_D
fD表示预测值
f
D
(
x
)
f_D(\boldsymbol{x})
fD(x)的简写,
y
D
y_D
yD简记
x
\boldsymbol{x}
x在相对于
f
D
f_D
fD时的观测标记
y
D
(
x
)
y_D(\boldsymbol{x})
yD(x)。 由于有噪声,故一方面可能
y
D
≠
y
y_D\neq y
yD=y(
y
y
y为
x
\boldsymbol{x}
x的真实标记),另一方面可能
y
D
1
≠
y
D
2
y_{D_1}\neq y_{D_2}
yD1=yD2(即同一
x
\boldsymbol{x}
x相对于不同的
f
D
1
f_{D_1}
fD1与
f
D
2
f_{D_2}
fD2的观测标记,理解为各人的视察结果不相同)。 相关符号如图1所示。
对
f
D
f_D
fD的泛化误差求平均(期望),则得算法
f
f
f的泛化误差
E
(
f
;
T
)
=
E
D
∈
{
D
i
}
i
=
1
n
[
E
(
f
D
(
x
)
;
T
)
]
=
E
D
∈
{
D
i
}
i
=
1
n
E
x
∈
T
[
f
D
−
y
D
]
2
=
E
x
∈
T
E
D
∈
{
D
i
}
i
=
1
n
[
f
D
−
y
D
]
2
\begin{align} E(f;T) & =\mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i\}_{i=1}^n }} [E(f_D(\boldsymbol{x});T)]\notag \\ & =\mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i\}_{i=1}^n }}\mathop{\mathbb{E}}\limits_{\substack{\boldsymbol{x} \in T}} [f_D-y_D]^2\notag \\ & =\mathop{\mathbb{E}}\limits_{\substack{\boldsymbol{x} \in T}} \mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i \}_{i=1}^n}} [f_D-y_D]^2 \tag{2} \end{align}
E(f;T)=D∈{Di}i=1nE[E(fD(x);T)]=D∈{Di}i=1nEx∈TE[fD−yD]2=x∈TED∈{Di}i=1nE[fD−yD]2(2)
对 T T T中任一样本 x \boldsymbol{x} x有唯一的真值 y ( x ) y(\boldsymbol{x}) y(x),但由于有 n n n个独立的实验者,故对样本 x \boldsymbol{x} x有一串预测值 f D 1 ( x ) , f D 2 ( x ) , ⋯ , f D n ( x ) f_{D_1}(\boldsymbol{x}),f_{D_2}(\boldsymbol{x}),\cdots,f_{D_n}(\boldsymbol{x}) fD1(x),fD2(x),⋯,fDn(x),同时对应地也有一串观测值 y D 1 ( x ) , y D 2 ( x ) , ⋯ , y D n ( x ) y_{D_1}(\boldsymbol{x}),y_{D_2}(\boldsymbol{x}),\cdots,y_{D_n}(\boldsymbol{x}) yD1(x),yD2(x),⋯,yDn(x)
对观测值取平均,由于噪声的期望值为0,故有
E
D
∈
{
D
i
}
i
=
1
n
(
y
D
(
x
)
−
y
(
x
)
)
=
0
(3)
\mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i \}_{i=1}^n}} (y_D(\boldsymbol{x})-y(\boldsymbol{x}))=0 \tag{3}
D∈{Di}i=1nE(yD(x)−y(x))=0(3)
对预测值取平均
f
‾
(
x
)
=
E
D
∈
{
D
i
}
i
=
1
n
f
D
(
x
)
\overline{f}(\boldsymbol{x})=\mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i \}_{i=1}^n}} f_D(\boldsymbol{x})
f(x)=D∈{Di}i=1nEfD(x)
移项有
E
D
∈
{
D
i
}
i
=
1
n
(
f
D
(
x
)
−
f
‾
(
x
)
)
=
0
(4)
\mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i \}_{i=1}^n}} (f_D(\boldsymbol{x})-\overline{f}(\boldsymbol{x}))=0 \tag{4}
D∈{Di}i=1nE(fD(x)−f(x))=0(4)
对于固定的
x
∈
T
\boldsymbol{x} \in T
x∈T,
f
D
(
x
)
f_D(\boldsymbol{x})
fD(x)与
y
D
(
x
)
y_D(\boldsymbol{x})
yD(x)(前者是预测值,后者是对应的观察值)是独立的基于
D
D
D的随机变量,而对于
D
D
D而言,
f
‾
(
x
)
\overline{f}(\boldsymbol{x})
f(x)为常数,故
(
f
D
(
x
)
−
f
‾
(
x
)
)
(f_D(\boldsymbol{x})-\overline{f}(\boldsymbol{x}))
(fD(x)−f(x))与
(
y
D
(
x
)
−
f
‾
(
x
)
)
(y_D(\boldsymbol{x})-\overline{f}(\boldsymbol{x}))
(yD(x)−f(x))是独立的。 由独立性有
E
D
∈
{
D
i
}
i
=
1
n
(
f
D
(
x
)
−
f
‾
(
x
)
)
(
y
D
(
x
)
−
f
‾
(
x
)
)
=
E
D
∈
{
D
i
}
i
=
1
n
(
f
D
(
x
)
−
f
‾
(
x
)
)
E
D
∈
{
D
i
}
i
=
1
n
(
y
D
(
x
)
−
f
‾
(
x
)
)
=
0
⋅
E
D
∈
{
D
i
}
i
=
1
n
(
y
D
(
x
)
−
f
‾
(
x
)
)
(由式(4))
=
0
\begin{align} & \quad \mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i \}_{i=1}^n}} (f_D(\boldsymbol{x})-\overline{f}(\boldsymbol{x}))(y_D(\boldsymbol{x})-\overline{f}(\boldsymbol{x}))\notag \\ & =\mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i \}_{i=1}^n}} (f_D(\boldsymbol{x})-\overline{f}(\boldsymbol{x}))\mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i \}_{i=1}^n}} (y_D(\boldsymbol{x})-\overline{f}(\boldsymbol{x})) \notag \\ & =0\cdot \mathop{\mathbb{E}}\limits_{\substack{D \in \{D_i \}_{i=1}^n}} (y_D(\boldsymbol{x})-\overline{f}(\boldsymbol{x})) \qquad\text{(由式(4))}\notag \\ & =0 \tag{5} \end{align}
D∈{Di}i=1nE(fD(x)−f(x))(yD(x)−f(x))=D∈{Di}i=1nE(fD(x)−f(x))D∈{Di}i=1nE(yD(x)−f(x))=0⋅D∈{Di}i=1nE(yD(x)−f(x))(由式(4))=0(5)
现在回到【西瓜书式(2.41)】的证明,将其证明过程中的“=”依次编号,则第三个等号后的交叉项由式(5)知其为0;第六个等号后的交叉项由式(3)知其为0(对于
D
D
D而言,
(
f
‾
(
x
)
−
y
)
(\overline{f}(\boldsymbol{x})-y)
(f(x)−y)为常数)。
再由式(2)和【西瓜书式(2.41)第一个等号以及式(2.42)】有
E
(
f
;
T
)
=
E
x
∈
T
E
(
f
(
x
)
;
D
)
=
E
x
∈
T
(
v
a
r
(
x
)
+
b
i
a
s
2
(
x
)
+
ε
2
(
x
)
)
=
E
x
∈
T
v
a
r
(
x
)
+
E
x
∈
T
b
i
a
s
2
(
x
)
+
E
x
∈
T
ε
2
(
x
)
=
v
a
r
+
b
i
a
s
2
+
ε
2
\begin{align} E(f;T) & =\mathop{\mathbb{E}}\limits_{\substack{\boldsymbol{x} \in T}}E(f(\boldsymbol{x});D)\notag \\ & =\mathop{\mathbb{E}}\limits_{\substack{\boldsymbol{x} \in T}}(\mathrm{var}(\boldsymbol{x})+\mathrm{bias}^2(\boldsymbol{x})+\varepsilon ^2(\boldsymbol{x})) \tag{6} \\ & =\mathop{\mathbb{E}}\limits_{\substack{\boldsymbol{x} \in T}}\mathrm{var}(\boldsymbol{x})+\mathop{\mathbb{E}}\limits_{\substack{\boldsymbol{x} \in T}}\mathrm{bias}^2(\boldsymbol{x})+\mathop{\mathbb{E}}\limits_{\substack{\boldsymbol{x} \in T}}\varepsilon ^2(\boldsymbol{x})\notag \\ & =\mathrm{var}+\mathrm{bias}^2+\varepsilon ^2 \tag{7} \end{align}
E(f;T)=x∈TEE(f(x);D)=x∈TE(var(x)+bias2(x)+ε2(x))=x∈TEvar(x)+x∈TEbias2(x)+x∈TEε2(x)=var+bias2+ε2(6)(7)
式(6)或式(7)为算法
f
f
f的泛化误差分解式,相当于对【西瓜书式(2.42)】取数学期望,故消去了
x
\boldsymbol{x}
x。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
相关文章
- 机器学习--常用的特征工程方法
- 机器学习-随机性、概率论、多元统计、特征间的相关性
- (《机器学习》完整版系列)第7章 贝叶斯分类器——7.7 贝叶斯网络分类器(分类可视为一种特殊的查询)、贝叶斯网络推断(查询一组结点称为“推断”)
- (《机器学习》完整版系列)第9章 聚类——9.5 密度聚类与层次聚类(DBSCAN算法、AGNES算法)
- 机器学习笔记之深度玻尔兹曼机(三)预训练思路整理
- 机器学习笔记之概率图模型(五)马尔可夫随机场的结构表示
- 机器学习笔记之指数族分布——充分统计量与模型参数的关系
- 进化的竞争:机器与人谁淘汰谁?
- 机器学习——线性回归、房价预测案例【正规方案与梯度下降】
- 《NLTK基础教程——用NLTK和Python库构建机器学习应用》——第2章 文本的歧义及其清理
- 《机器学习与数据科学(基于R的统计学习方法)》——1.3 机器学习的过程
- 《机器学习与数据科学(基于R的统计学习方法)》——1.4 机器学习背后的数学
- 《机器学习与数据科学(基于R的统计学习方法)》——1.7 RStudio
- 《机器学习与数据科学(基于R的统计学习方法)》——1.11 小结
- 《机器学习与数据科学(基于R的统计学习方法)》——第2章 连接数据
- 《机器学习与数据科学(基于R的统计学习方法)》——2.4 从网络中下载数据集
- 《机器学习与数据科学(基于R的统计学习方法)》——2.6 读取Excel文件
- 《机器学习与数据科学(基于R的统计学习方法)》——2.15 小结
- 《Python机器学习——预测分析核心算法》——2.1 “解剖”一个新问题
- Rust机器学习之tch-rs
- jenkins:构建机器为windows,部署机器为linux
- 机器学习在物联网中有何应用?首先要搞清楚它和数据分析的区别