绪论
- 假设空间:即所有可能的假设。他无关训练过程,是基本样本的可能做出的判断
- 版本空间:所有与训练集匹配的假设集合
- 奥卡姆剃刀(Occam’s razor):若有多个与观察一致的假设,则选择其中最简单的一个。||这个说法涉及到对于简单的定义。在多数场合,简单可以直接判断,例如:线性比非线性简单。但是在机器学习的很多场合,简单是难以直观定义的。
- 没有免费的午餐(No free lunch Theorem):对于一个学习算法 L a \mathfrak{L}_a La,他在某些问题上的表现优于 L b \mathfrak{L}_b Lb。也一定会存在一类问题,使得学习算法 L b \mathfrak{L}_b Lb的表现优于学习算法 L a \mathfrak{L}_a La。
P r o o f : \mathbf{Proof:} Proof:
考虑一个二分类问题,其真实函数可以为任何
f
(
x
)
:
X
→
{
0
,
1
}
f(x):\mathcal{X} \to \{ 0,1 \}
f(x):X→{0,1}。则,其函数空间为
{
0
,
1
}
∣
X
∣
\{0,1\}^{|\mathcal{X}|}
{0,1}∣X∣。假设所有函数出现的概率相同,对于所有
f
f
f,误差的期望计算如下:
∑
f
E
o
t
e
{
L
a
∣
X
,
f
}
=
∑
f
∑
h
∑
x
∈
X
−
X
P
(
x
)
I
(
f
(
x
)
≠
h
(
x
)
)
P
(
h
∣
X
,
L
a
)
=
∑
x
∈
X
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
∑
f
I
(
f
(
x
)
≠
h
(
x
)
)
\begin{aligned} \sum_f E_{ote}\{\mathfrak{L}_a|X,f\} &= \sum_f \sum_h \sum_{x\in\mathcal{X}-X}\mathbb{P}(x) \mathbb{I}(f(x) \neq h(x))\mathbb{P}(h|X,\mathfrak{L}_a)\\ &=\sum_{x\in\mathcal{X}-X} \mathbb{P}(x) \sum_h \mathbb{P}(h|X,\mathfrak{L}_a) \sum_f \mathbb{I}(f(x) \neq h(x)) \end{aligned}
f∑Eote{La∣X,f}=f∑h∑x∈X−X∑P(x)I(f(x)̸=h(x))P(h∣X,La)=x∈X−X∑P(x)h∑P(h∣X,La)f∑I(f(x)̸=h(x))
首先,我们需要计算上述上面式子的右端:对于二分类问题,这个问题的假设空间大小应该为
2
∣
X
∣
2^{|\mathcal{X}|}
2∣X∣,若
x
∈
X
x\in\mathcal{X}
x∈X,固定
h
h
h,则意味着
h
(
x
)
h(x)
h(x)取值固定。但是对于
f
f
f来说,若在
x
x
x点满足
f
(
x
)
≠
h
(
x
)
f(x)\neq h(x)
f(x)̸=h(x),它在输入空间的子空间
X
−
x
\mathcal{X} - {x}
X−x上仍然有
2
∣
X
−
x
∣
=
1
2
2
∣
X
∣
2^{|\mathcal{X}-x|}=\frac{1}{2}2^{|X|}
2∣X−x∣=212∣X∣种可能。故而:
∑
f
E
o
t
e
{
L
a
∣
X
,
f
}
=
∑
x
∈
X
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
∑
f
I
(
f
(
x
)
≠
h
(
x
)
)
=
∑
x
∈
X
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
1
2
2
∣
X
∣
=
1
2
2
∣
X
∣
∑
x
∈
X
−
X
P
(
x
)
×
1
\begin{aligned} \sum_f E_{ote}\{\mathfrak{L}_a|X,f\} &=\sum_{x\in\mathcal{X}-X} \mathbb{P}(x) \sum_h \mathbb{P}(h|X,\mathfrak{L}_a) \sum_f \mathbb{I}(f(x) \neq h(x))\\ &=\sum_{x\in\mathcal{X}-X} \mathbb{P}(x) \sum_h \mathbb{P}(h|X,\mathfrak{L}_a)\frac{1}{2}2^{|\mathcal{X}|}\\ &=\frac{1}{2}2^{|\mathcal{X}|}\sum_{x\in\mathcal{X}-X}\mathbb{P}(x)\times 1 \end{aligned}
f∑Eote{La∣X,f}=x∈X−X∑P(x)h∑P(h∣X,La)f∑I(f(x)̸=h(x))=x∈X−X∑P(x)h∑P(h∣X,La)212∣X∣=212∣X∣x∈X−X∑P(x)×1
对于一个学习算法,他的误差与算法本身无关!
在上述证明中,我们需要注意,对于一个算法,他的所有假设出现的可能性相等。且,这仅仅为二分类的证明。NFL定理的重要性在于让我们认识到,脱离具体问题讨论算法好坏是没有意义的。在具体的算法设计,模型选择过程中,需要具体地考虑各种问题,尤其是归纳偏好需要慎重考虑。
习题
Solution:
1.1 两个样例分别为:
编号 | 色泽 | 敲声 | 根蒂 | 好瓜 |
---|---|---|---|---|
1 | 青绿 | 浊响 | 蜷缩 | 是 |
4 | 乌黑 | 沉闷 | 稍蜷 | 否 |
版本空间可以为:
好瓜 ↔ \leftrightarrow ↔ ((色泽=青绿) ∧ \wedge ∧(根蒂=蜷缩) ∧ \wedge ∧(敲声=浊响)) 坏瓜 ↔ \leftrightarrow ↔ ((色泽=乌黑) ∧ \wedge ∧(根蒂=稍蜷) ∧ \wedge ∧(敲声=沉闷))
↔ \leftrightarrow ↔ ((色泽=*) ∧ \wedge ∧(根蒂=蜷缩) ∧ \wedge ∧(敲声=浊响)) ↔ \leftrightarrow ↔ ((色泽=*) ∧ \wedge ∧(根蒂=稍蜷) ∧ \wedge ∧(敲声=沉闷))
↔ \leftrightarrow ↔ ((色泽=青绿) ∧ \wedge ∧(根蒂=*) ∧ \wedge ∧(敲声=浊响)) ↔ \leftrightarrow ↔ ((色泽=乌黑) ∧ \wedge ∧(根蒂=*) ∧ \wedge ∧(敲声=沉闷))
↔ \leftrightarrow ↔ ((色泽=青绿) ∧ \wedge ∧(根蒂=蜷缩) ∧ \wedge ∧(敲声=*)) ↔ \leftrightarrow ↔ ((色泽=乌黑) ∧ \wedge ∧(根蒂=稍蜷) ∧ \wedge ∧(敲声=*))
↔ \leftrightarrow ↔ ((色泽=*) ∧ \wedge ∧(根蒂=*) ∧ \wedge ∧(敲声=浊响)) ↔ \leftrightarrow ↔ ((色泽=*) ∧ \wedge ∧(根蒂=*) ∧ \wedge ∧(敲声=沉闷))
↔ \leftrightarrow ↔ ((色泽=*) ∧ \wedge ∧(根蒂=蜷缩) ∧ \wedge ∧(敲声=*)) ↔ \leftrightarrow ↔ ((色泽=*) ∧ \wedge ∧(根蒂=稍蜷) ∧ \wedge ∧(敲声=*))
↔ \leftrightarrow ↔ ((色泽=青绿) ∧ \wedge ∧(根蒂=*) ∧ \wedge ∧(敲声=*)) ↔ \leftrightarrow ↔ ((色泽=乌黑) ∧ \wedge ∧(根蒂=*) ∧ \wedge ∧(敲声=*))
1.2 给出表1.1
编号 | 色泽 | 敲声 | 根蒂 | 好瓜 |
---|---|---|---|---|
1 | 青绿 | 浊响 | 蜷缩 | 是 |
2 | 乌黑 | 浊响 | 蜷缩 | 是 |
3 | 青绿 | 清脆 | 硬挺 | 否 |
4 | 乌黑 | 沉闷 | 稍蜷 | 否 |
我们已经知道,对于单个析取式表示的假设,共有 ( 4 × 4 × 4 ) + 1 = 65 (4\times 4\times 4) + 1=65 (4×4×4)+1=65种表示好瓜的情形。
当合取式种出现了某一个属性的三种值,那么他就对应某个属性为*的情况。此种情况仍然在65种情况中。
我们需要关注的某种属性的值出现两个不同的属性值的情况,可能出现的情况为: C 3 2 × 4 × 4 × 3 = 144 C_3^2 \times 4 \times 4 \times 3 = 144 C32×4×4×3=144。或者是,其中两种属性的值出现两个,为 C 3 2 × C 3 2 × 4 × 3 = 108 C_3^2 \times C_3^2 \times 4 \times 3=108 C32×C32×4×3=108。或者是,三种属性的属性值均出现两个不同的属性值,为 3 × 3 × 3 = 27 3 \times 3 \times 3 = 27 3×3×3=27。
综上:65 + 144 + 108 + 27 = 344
1.3 由题设可知,首先这个数据集是存在噪声的。即,总找不到与训练数据完全一致的假设。捋一下概念,也就说不存在版本空间。为了正确选出模型,我们可以总是选择误差最小的模型。
1.4 观察NFL定理,可知,我们整个过程希望寻求的是一个计算结果,这个计算与具体的算法无关。基于这样的考虑,我们进行计算,整个计算过程我们目标就是抹去算法
L
a
\mathfrak{L}_a
La的影响。
∑
f
E
o
t
e
(
L
a
∣
X
,
f
)
=
∑
f
∑
h
∑
x
∈
X
−
X
P
(
x
)
l
(
h
(
x
)
,
f
(
x
)
)
P
(
h
∣
X
,
L
a
)
=
∑
x
∈
x
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
∑
f
l
(
h
(
x
)
,
f
(
x
)
)
\begin{aligned} \sum_f E_{ote}(\mathfrak{L}_a|X,f) &= \sum_f \sum_h \sum_{x \in \mathcal{X}-X} \mathbb{P}(x) l(h(x),f(x)) \mathbb{P}(h|X,\mathfrak{L}_a) \\ &=\sum_{x \in \mathcal{x}-X} \mathbb{P}(x)\sum_h \mathbb{P}(h|X,\mathfrak{L}_a)\sum_fl(h(x),f(x)) \end{aligned}
f∑Eote(La∣X,f)=f∑h∑x∈X−X∑P(x)l(h(x),f(x))P(h∣X,La)=x∈x−X∑P(x)h∑P(h∣X,La)f∑l(h(x),f(x))
同上面的证明过程类似,我们仍然需要计算等式右边,在之前的讨论中我们已经知道,会有
2
∣
X
−
1
∣
2^{|\mathcal{X}-1|}
2∣X−1∣种情况出现
h
(
x
)
=
f
(
x
)
h(x)=f(x)
h(x)=f(x)。故而,我们开始计算:
∑
f
l
(
h
(
x
)
,
f
(
x
)
)
=
2
∣
X
−
1
∣
(
l
(
h
(
x
)
=
f
(
x
)
)
+
l
(
h
(
x
)
≠
f
(
x
)
)
)
=
2
∣
X
−
2
∣
(
l
(
0
,
1
)
+
l
(
1
,
0
)
+
l
(
1
,
1
)
+
l
(
0
,
0
)
)
=
c
o
n
s
t
\begin{aligned} \sum_fl(h(x),f(x)) &= 2^{|\mathcal{X}-1|}(l(h(x)=f(x))+l(h(x) \neq f(x)))\\ &=2^{|\mathcal{X}-2|}(l(0,1)+l(1,0)+l(1,1)+l(0,0))\\ &=\mathtt{const} \end{aligned}
f∑l(h(x),f(x))=2∣X−1∣(l(h(x)=f(x))+l(h(x)̸=f(x)))=2∣X−2∣(l(0,1)+l(1,0)+l(1,1)+l(0,0))=const
基于这样的计算,我们则可以得到:
∑
f
E
o
t
e
(
L
a
∣
X
,
f
)
=
∑
x
∈
x
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
∑
f
l
(
h
(
x
)
,
f
(
x
)
)
=
c
o
n
s
t
×
∑
x
∈
x
−
X
P
(
x
)
∑
h
P
(
h
∣
X
,
L
a
)
=
c
o
n
s
t
×
∑
x
∈
x
−
X
P
(
x
)
\begin{aligned} \sum_f E_{ote}(\mathfrak{L}_a|X,f) &=\sum_{x \in \mathcal{x}-X} \mathbb{P}(x)\sum_h \mathbb{P}(h|X,\mathfrak{L}_a)\sum_fl(h(x),f(x))\\ &=\mathtt{const} \times \sum_{x \in \mathcal{x}-X} \mathbb{P}(x)\sum_h \mathbb{P}(h|X,\mathfrak{L}_a)\\ &=\mathtt{const} \times \sum_{x \in \mathcal{x}-X}\mathbb{P}(x) \end{aligned}
f∑Eote(La∣X,f)=x∈x−X∑P(x)h∑P(h∣X,La)f∑l(h(x),f(x))=const×x∈x−X∑P(x)h∑P(h∣X,La)=const×x∈x−X∑P(x)
得证!
1.5 智能推荐系统!