机器学习中模型训练本质上是从所有的样本中学习到一般的规律,使得模型能适应样本空间中所有样本。我们可以称这个过程为“归纳学习”的过程。
在这个模型训练的过程中,我们如何判断两个模型,哪个更好?在具体的现实问题中,通常判断模型的偏好是否与实际问题本身更匹配,大多数时候这直接决定了模型能否取得好的性能。因为模型在训练的过程中没有对样本产生某种偏好,就会被样本中某些“等效”的样本所迷惑,从而对于一个新的样本,模型时而给出好的结果,时而给出不好的结果。
更一般的原因是“没有免费的午餐”定理(No Free Lunch Theoren, 简称NFL定理)[Wolpert, 1996; Wolpert and Macready, 1995]。假设样本空间
X
X
X和假设空间
H
H
H都是离散的,令
P
(
h
∣
X
,
ξ
a
)
P(h|X,\xi_a)
P(h∣X,ξa)代表模型
ξ
a
\xi_a
ξa基于训练集
X
X
X产生假设
h
h
h的概率,再令
f
f
f代表我们希望学习的真实目标函数,
ξ
a
\xi_a
ξa的“训练集外的误差”,即
ξ
a
\xi_a
ξa在训练集之外的所有样本上的误差为
E
o
t
e
(
ξ
a
∣
X
,
f
)
=
∑
f
∑
x
∈
χ
−
X
P
(
x
)
I
(
h
(
x
)
≠
f
(
x
)
)
P
(
h
∣
X
,
ξ
a
)
E_{ote}(\xi_a|X,f)=\sum_f\sum_{x\in \chi-X}P(x)\Bbb{I}(h(x)\not = f(x))P(h|X,\xi_a)
Eote(ξa∣X,f)=f∑x∈χ−X∑P(x)I(h(x)=f(x))P(h∣X,ξa)其中
I
(
⋅
)
\Bbb{I}(·)
I(⋅)表示指示函数,若·为真则取值1,否则取值0,在二分类问题,且真实目标函数可以是任何函数
χ
↦
{
0
,
1
}
\chi \mapsto \{0,1\}
χ↦{0,1},函数空间为
{
0
,
1
}
∣
χ
∣
\{0,1\}^{|\chi|}
{0,1}∣χ∣对所有可能的
f
f
f按均匀分布对误差求和,有
∑
f
E
o
t
e
(
ξ
a
∣
X
,
f
)
=
∑
f
∑
h
∑
x
∈
χ
−
X
P
(
x
)
I
(
h
(
x
)
≠
f
(
x
)
)
P
(
h
∣
X
,
ξ
a
)
\sum_fE_{ote}(\xi_a|X,f)=\sum_f\sum_h\sum_{x\in \chi-X}P(x)\Bbb{I}(h(x)\not = f(x))P(h|X,\xi_a)
f∑Eote(ξa∣X,f)=f∑h∑x∈χ−X∑P(x)I(h(x)=f(x))P(h∣X,ξa)
=
∑
x
∈
χ
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
ξ
a
)
∑
f
I
(
h
(
x
)
≠
f
(
x
)
)
\quad\quad\quad\quad\quad\quad\quad\quad=\sum_{x\in \chi-X}P(x)\sum_hP(h|X,\xi_a)\sum_f\Bbb{I}(h(x)\not = f(x))
=x∈χ−X∑P(x)h∑P(h∣X,ξa)f∑I(h(x)=f(x))
=
∑
x
∈
χ
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
ξ
a
)
1
2
2
∣
χ
∣
\quad\quad=\sum_{x\in \chi-X}P(x)\sum_hP(h|X,\xi_a)\frac{1}{2}2^{|\chi|}
=x∈χ−X∑P(x)h∑P(h∣X,ξa)212∣χ∣
=
1
2
2
∣
χ
∣
∑
x
∈
χ
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
ξ
a
)
\quad\quad=\frac{1}{2}2^{|\chi|}\sum_{x\in \chi-X}P(x)\sum_hP(h|X,\xi_a)
=212∣χ∣x∈χ−X∑P(x)h∑P(h∣X,ξa)
=
2
∣
χ
∣
−
1
∑
x
∈
χ
−
X
P
(
x
)
⋅
1
=2^{|\chi|-1}\sum_{x\in \chi-X}P(x)·1\quad\quad\quad
=2∣χ∣−1x∈χ−X∑P(x)⋅1从公式中可以看出,模型的总误差和模型无关。因此,对于任意两个学习的模型
ξ
a
\xi_a
ξa和
ξ
b
\xi_b
ξb我们都有:
∑
f
E
o
t
e
(
ξ
a
∣
X
,
f
)
=
∑
f
E
o
t
e
(
ξ
b
∣
X
,
f
)
\sum_fE_{ote}(\xi_a|X,f)=\sum_fE_{ote}(\xi_b|X,f)
f∑Eote(ξa∣X,f)=f∑Eote(ξb∣X,f)它们的期望是相同的。
所以,我们在评判一个模型的性能,一定要结合具体的问题假设来判断,它是否更偏好具体问题。