1.4 归纳偏好
通过学习得到的模型对应了假设空间中的一个假设. 会有多个与训练集一致的假设.如何选择.
机器学习算法在学习过程中对某种类型假设的偏好, 称为 “归纳偏好”(inductive bias), 或简称为"偏好". e.g.,若算法喜欢 “特殊” 的模型, 则它会选择 " 好 瓜 " ↔ ( 色 泽 = ∗ ) ⋀ ( 根 蒂 = 蜷 缩 ) ⋀ ( 敲 声 = 浊 响 ) "好瓜"\leftrightarrow(色泽=*)\bigwedge(根蒂=蜷缩)\bigwedge(敲声=浊响) "好瓜"↔(色泽=∗)⋀(根蒂=蜷缩)⋀(敲声=浊响);而若算法喜欢 “一般” 的模型. 并且由于某种原因更 “相信” 根蒂, 则它会选择 " 好 瓜 " ↔ ( 色 泽 = ∗ ) ⋀ ( 根 蒂 = 蜷 缩 ) ⋀ ( 敲 声 = ∗ ) "好瓜"\leftrightarrow(色泽=*)\bigwedge(根蒂=蜷缩)\bigwedge(敲声=*) "好瓜"↔(色泽=∗)⋀(根蒂=蜷缩)⋀(敲声=∗).
任何一个有效的机器学习算法必有其归纳偏好, 否则它将被假设空间中看似在训练集上 “等效” 的假设所迷惑而无法产生确定的学习结果.
归纳偏好的作用在下面这个学习图示中可能更直观.这里的每个训练样本是图中的一个点
(
x
,
y
)
(x,y)
(x,y), 要学得一个与训练集一致的模型, 相当于找到一条穿过所有训练样本点的曲线. 对有限个样本点组成的训练集, 存在很多条曲线与其一致. 我们的学习算法必须有某种偏好, 才能产出它认为 “正确” 的模型.
归纳偏好可看作学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或 “价值观”. “奥卡姆剃刀”(Occam’s razor)是一种常用的、自然科学研究中最基本的原则, 即 “若有多个假设与观察一致, 则选择最简单的那个”.
对于一个学习算法
L
a
\frak L_a
La, 若它在某些问题上比学习算法
L
b
\frak L_b
Lb好, 则必然存在另一些问题, 在那里
L
b
\frak L_b
Lb比
L
a
\frak L_a
La好.
证明: 假设样本空间
X
X
X 和假设空间
H
H
H 都是离散的. 令
P
(
h
∣
X
,
L
a
)
P(h\mid X,\frak L_a)
P(h∣X,La) :算法
L
a
\frak L_a
La基于训练数据
X
X
X 产生假设
h
h
h 的概率;
f
f
f: 我们希望学习的真实目标函数;
L
a
\frak L_a
La 的 “训练集外误差” ,即
L
a
\frak L_a
La 在训练集之外的所有样本上的误差为
E
o
t
e
(
L
a
∣
X
,
f
)
=
∑
h
∑
x
∈
χ
−
X
P
(
x
)
I
(
h
(
x
)
≠
f
(
x
)
)
P
(
h
∣
X
,
L
a
)
E_{ote}(\frak L_a\mid X,f)=\sum _h\sum_{x\in \chi-X} P(x)\Bbb I(h(x)\not=f(x))P(h\mid X,\frak L_a)
Eote(La∣X,f)=h∑x∈χ−X∑P(x)I(h(x)=f(x))P(h∣X,La),
其中
I
(
⋅
)
\Bbb I(\cdot)
I(⋅) 是指示函数, 若
⋅
\cdot
⋅ 为真则取值1, 否则取值0.
考虑二分类问题, 且真实目标函数可以是任何函数
X
↦
{
0
,
1
}
X \mapsto \{0,1\}
X↦{0,1}, 函数空间为
{
0
,
1
}
∣
X
∣
\{0,1\}^{\left|X\right|}
{0,1}∣X∣. 对所有可能的
f
f
f 按均匀分布对误差求和, 有
∑
f
E
o
t
e
(
L
a
∣
X
,
f
)
=
∑
f
∑
h
∑
x
∈
χ
−
X
P
(
x
)
I
(
h
(
x
)
≠
f
(
x
)
)
P
(
h
∣
X
,
L
a
)
\sum _fE_{ote}(\frak L_a\mid X,f)=\sum_f \sum_h \sum_{x\in \chi-X} P(x)\Bbb I(h(x)\not=f(x))P(h\mid X,\frak L_a)
f∑Eote(La∣X,f)=f∑h∑x∈χ−X∑P(x)I(h(x)=f(x))P(h∣X,La)
=
∑
x
∈
χ
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
∑
f
I
(
h
(
x
)
≠
f
(
x
)
)
=\sum_{x\in \chi-X}P(x) \sum_hP(h\mid X,\frak L_a) \sum_f \Bbb I(h(x)\not=f(x))
=x∈χ−X∑P(x)h∑P(h∣X,La)f∑I(h(x)=f(x))
=
∑
x
∈
χ
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
1
2
2
∣
χ
∣
=\sum_{x\in \chi-X}P(x) \sum_hP(h\mid X,\frak L_a) \frac122^{\left|\chi\right|}
=x∈χ−X∑P(x)h∑P(h∣X,La)212∣χ∣
=
1
2
2
∣
χ
∣
∑
x
∈
χ
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
=\frac122^{\left|\chi\right|}\sum_{x\in \chi-X}P(x) \sum_hP(h\mid X,\frak L_a)
=212∣χ∣x∈χ−X∑P(x)h∑P(h∣X,La)
=
2
∣
χ
∣
−
1
∑
x
∈
χ
−
X
P
(
x
)
⋅
1.
=2^{\left|\chi\right|-1}\sum_{x\in \chi-X}P(x)\cdot1.
=2∣χ∣−1x∈χ−X∑P(x)⋅1.
最终结果显示出, 总误差与学习算法无关! 对于任意两个学习算法
L
a
\frak L_a
La 和
L
b
\frak L_b
Lb, 我们都有
∑
f
E
o
t
e
(
L
a
∣
X
,
f
)
=
∑
f
E
o
t
e
(
L
b
∣
X
,
f
)
\sum _fE_{ote}(\frak L_a\mid X,f)=\sum _fE_{ote}(\frak L_b\mid X,f)
f∑Eote(La∣X,f)=f∑Eote(Lb∣X,f) ,
也就是说, 所有学习算法的期望性能都相同. 这就是 “没有免费的午餐” 定理(No Free Lunch Theorem, 简称NFL定理).
然而, NFL定理有一个重要前提: 所有 “问题” 出现的机会相同、或所有问题同等重要. 但实际情形并不是这样. 很多时候, 我们只关注自己正在试图解决的问题(例如某个具体应用任务), 希望为它找到一个解决方案, 至于这个解决方案在别的问题、甚至在相似的问题上是否为好方案, 我们并不关心.
事实上, NFL定理的论述过程中假设了
f
f
f 的均匀分布, 而实际情形并非如此.
e.g.,
假
设
1
:
好
瓜
↔
(
色
泽
=
∗
)
⋀
(
根
蒂
=
蜷
缩
)
⋀
(
敲
声
=
浊
响
)
{假设1: 好瓜\leftrightarrow(色泽=*)\bigwedge(根蒂=蜷缩)\bigwedge(敲声=浊响)}
假设1:好瓜↔(色泽=∗)⋀(根蒂=蜷缩)⋀(敲声=浊响)
和
假
设
2
:
好
瓜
↔
(
色
泽
=
∗
)
⋀
(
根
蒂
=
硬
挺
)
⋀
(
敲
声
=
清
脆
)
{假设2: 好瓜\leftrightarrow(色泽=*)\bigwedge(根蒂=硬挺)\bigwedge(敲声=清脆)}
假设2:好瓜↔(色泽=∗)⋀(根蒂=硬挺)⋀(敲声=清脆)
从NFL定理可知, 这两个假设同样好. 然而,
"
(
根
蒂
=
蜷
缩
)
;
(
敲
声
=
浊
响
)
"
"(根蒂=蜷缩);(敲声=浊响)"
"(根蒂=蜷缩);(敲声=浊响)"的好瓜很常见, 而
"
(
根
蒂
=
硬
挺
)
;
(
敲
声
=
清
脆
)
"
"(根蒂=硬挺);(敲声=清脆)"
"(根蒂=硬挺);(敲声=清脆)"的好瓜罕见, 甚至不存在.
所以, NFL定理是让我们清楚地认识到, 脱离具体问题, 空泛地谈论 “什么学习算法更好” 毫无意义. 要谈论算法的相对优劣, 必须要针对具体的学习问题.