机器学习-周志华-课后习题-绪论

绪论

  1. 假设空间:即所有可能的假设。他无关训练过程,是基本样本的可能做出的判断
  2. 版本空间:所有与训练集匹配的假设集合
  3. 奥卡姆剃刀(Occam’s razor):若有多个与观察一致的假设,则选择其中最简单的一个。||这个说法涉及到对于简单的定义。在多数场合,简单可以直接判断,例如:线性比非线性简单。但是在机器学习的很多场合,简单是难以直观定义的。
  4. 没有免费的午餐(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} fEote{LaX,f}=fhxXXP(x)I(f(x)̸=h(x))P(hX,La)=xXXP(x)hP(hX,La)fI(f(x)̸=h(x))
​ 首先,我们需要计算上述上面式子的右端:对于二分类问题,这个问题的假设空间大小应该为 2 ∣ X ∣ 2^{|\mathcal{X}|} 2X,若 x ∈ X x\in\mathcal{X} xX,固定 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} Xx上仍然有 2 ∣ X − x ∣ = 1 2 2 ∣ X ∣ 2^{|\mathcal{X}-x|}=\frac{1}{2}2^{|X|} 2Xx=212X种可能。故而:
∑ 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} fEote{LaX,f}=xXXP(x)hP(hX,La)fI(f(x)̸=h(x))=xXXP(x)hP(hX,La)212X=212XxXXP(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} fEote(LaX,f)=fhxXXP(x)l(h(x),f(x))P(hX,La)=xxXP(x)hP(hX,La)fl(h(x),f(x))
同上面的证明过程类似,我们仍然需要计算等式右边,在之前的讨论中我们已经知道,会有 2 ∣ X − 1 ∣ 2^{|\mathcal{X}-1|} 2X1种情况出现 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} fl(h(x),f(x))=2X1(l(h(x)=f(x))+l(h(x)̸=f(x)))=2X2(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} fEote(LaX,f)=xxXP(x)hP(hX,La)fl(h(x),f(x))=const×xxXP(x)hP(hX,La)=const×xxXP(x)
得证!

1.5 智能推荐系统!

你可能感兴趣的:(机器学习)