绪论

  1. 假设空间:即所有可能的假设。他无关训练过程,是基本样本的可能做出的判断
  2. 版本空间:所有与训练集匹配的假设集合
  3. 奥卡姆剃刀(Occam’s razor):若有多个与观察一致的假设,则选择其中最简单的一个。||这个说法涉及到对于简单的定义。在多数场合,简单可以直接判断,例如:线性比非线性简单。但是在机器学习的很多场合,简单是难以直观定义的。
  4. 没有免费的午餐(No free lunch Theorem):对于一个学习算法La\mathfrak{L}_aLa​,他在某些问题上的表现优于Lb\mathfrak{L}_bLb​。也一定会存在一类问题,使得学习算法Lb\mathfrak{L}_bLb​的表现优于学习算法La\mathfrak{L}_aLa​。

Proof:\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∣。假设所有函数出现的概率相同,对于所有fff,误差的期望计算如下:
∑fEote{La∣X,f}=∑f∑h∑x∈X−XP(x)I(f(x)≠h(x))P(h∣X,La)=∑x∈X−XP(x)∑hP(h∣X,La)∑fI(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∈Xx\in\mathcal{X}x∈X,固定hhh,则意味着h(x)h(x)h(x)取值固定。但是对于fff来说,若在xxx点满足f(x)≠h(x)f(x)\neq h(x)f(x)̸​=h(x),它在输入空间的子空间X−x\mathcal{X} - {x}X−x上仍然有2∣X−x∣=122∣X∣2^{|\mathcal{X}-x|}=\frac{1}{2}2^{|X|}2∣X−x∣=21​2∣X∣种可能。故而:
∑fEote{La∣X,f}=∑x∈X−XP(x)∑hP(h∣X,La)∑fI(f(x)≠h(x))=∑x∈X−XP(x)∑hP(h∣X,La)122∣X∣=122∣X∣∑x∈X−XP(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​)21​2∣X∣=21​2∣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种情况中。

​ 我们需要关注的某种属性的值出现两个不同的属性值的情况,可能出现的情况为:C32×4×4×3=144C_3^2 \times 4 \times 4 \times 3 = 144C32​×4×4×3=144。或者是,其中两种属性的值出现两个,为C32×C32×4×3=108C_3^2 \times C_3^2 \times 4 \times 3=108C32​×C32​×4×3=108。或者是,三种属性的属性值均出现两个不同的属性值,为3×3×3=273 \times 3 \times 3 = 273×3×3=27。

​ 综上:65 + 144 + 108 + 27 = 344

1.3 由题设可知,首先这个数据集是存在噪声的。即,总找不到与训练数据完全一致的假设。捋一下概念,也就说不存在版本空间。为了正确选出模型,我们可以总是选择误差最小的模型。

1.4 观察NFL定理,可知,我们整个过程希望寻求的是一个计算结果,这个计算与具体的算法无关。基于这样的考虑,我们进行计算,整个计算过程我们目标就是抹去算法La\mathfrak{L}_aLa​的影响。
∑fEote(La∣X,f)=∑f∑h∑x∈X−XP(x)l(h(x),f(x))P(h∣X,La)=∑x∈x−XP(x)∑hP(h∣X,La)∑fl(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)。故而,我们开始计算:
∑fl(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\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​
基于这样的计算,我们则可以得到:
∑fEote(La∣X,f)=∑x∈x−XP(x)∑hP(h∣X,La)∑fl(h(x),f(x))=const×∑x∈x−XP(x)∑hP(h∣X,La)=const×∑x∈x−XP(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 智能推荐系统!

机器学习-周志华-课后习题-绪论相关推荐

  1. 机器学习 周志华 课后习题3.5 线性判别分析LDA

    机器学习 周志华 课后习题3.5 线性判别分析LDA 照着书上敲了敲啥都不会,雀食折磨 python代码 # coding=UTF-8 from numpy import * # 我安装numpy的时 ...

  2. 机器学习-周志华-课后习题-模型选择与评估

    文中提到,在机器学习的过程中,过拟合总是无法彻底避免的.其中,关于P与NP的论述,个人理解为:对于一个有效的算法,它一定要在多项式时间内运行完成.此时,算法可以恰当程度地学习到所需要的知识,也就是说既 ...

  3. 机器学习-周志华-课后习题答案-线性模型

    3.1试分析在什么情况下,在以下式子中不比考虑偏置项b. 答:在线性回归中,所有参数的确定都是为了让残差项的均值为0且残差项的平方和最小.在所有其他参数项确定后,偏置项b(或者说是常数项)的变化体现出 ...

  4. 机器学习-周志华-课后习题答案-决策树

    本文为博主原创,由于没有可以参考的答案,所以内容中若有错误的地方烦请指正,不甚感激. 注:本文中的代码均使用python,常用工具包包括 pandas,scikit-learn,numpy, scip ...

  5. 机器学习-周志华-课后习题答案5.5

    5.5 试编程实现标准BP算法和累计BP算法,在西瓜数据集3.0上分别用这两个算法训练一个单隐层网络,并进行比较. 通过编程实践发现,在本例下要达到某一限定的均方误差时,标准BP算法比累积BP算法明显 ...

  6. 《机器学习》周志华课后习题答案——第一章(1-3题完结)

    <机器学习>周志华课后习题答案--第一章 文章目录 <机器学习>周志华课后习题答案--第一章 一.表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间 二.与使用单个 ...

  7. 《机器学习》周志华课后习题答案——第三章 (1-7题)

    <机器学习>周志华课后习题答案--第三章 (1-7题) 文章目录 <机器学习>周志华课后习题答案--第三章 (1-7题) 一.试析在什么情形下式(3.2)中不必考虑偏置项b. ...

  8. 《机器学习》周志华课后习题答案——第八章 (1-2已完结)

    <机器学习>周志华课后习题答案---第五章 (1-2已完结) 文章目录 <机器学习>周志华课后习题答案---第五章 (1-2已完结) 一.如图所示 二.如图所示 一.如图所示 ...

  9. 《机器学习》周志华课后习题答案——第五章(1-7已完结)

    第五章课后习题答案 文章目录 第五章课后习题答案 一.试述将线性函数f(x) = wTx用作神经元激活函数的缺陷? 二.试述使用图5.2(b)激活函数的神经元与对率回归的联系 三.对于图5.7中的Vi ...

最新文章

  1. 超级变态的MySQL语句[2012-9-20]
  2. 火热的激情、严密的计划成就双冠梦想——我的项管经验(转载)
  3. Asp.net Core Configuration
  4. python gevent
  5. 老婆,我会好好爱你的
  6. C++ Opengl纹理混合源码
  7. 通俗易懂两种常用的多线程实现方式——Java并发系列学习笔记
  8. 基于spring cloud 的灰度发布实践_【收藏】基于spring cloud灰度发版方案
  9. PHP获取本月起始和终止时间戳
  10. 多线程启动定时器 会等待上一次执行完成?_Java多线程
  11. spring+hibernate--直接修改数据库,再通过hibernate查询数据不变
  12. 【指南 】北理珠第十届C语言程序设计挑战杯
  13. 联想Lenovo手机平板安装谷歌服务框架Google, Play商店,安装套件GMS
  14. cc2430 外部中断
  15. 8串口服务器芯片,塔石串口服务器的芯片W7500
  16. NetBeans IDE教程
  17. 三七互娱U3D面试记录
  18. 【全网唯一】TC8一致性测试文章合集来袭(持续更新中)
  19. easyExcel工具类使用
  20. 【考研数学高数部分】无穷级数

热门文章

  1. iOS越狱实战(超详细)
  2. CF 15D Map
  3. 【做题】BZOJ2534 L-gap字符串——调和级数
  4. 2021年美容师(初级)考试及美容师(初级)最新解析
  5. uploader什么意思_uploader
  6. dnf辅助新手制作_网络辅助功能的新手介绍
  7. contiki学习笔记03
  8. ubuntu 安装 open-falcon falcon-plus
  9. lnk306dn引脚功能_LNK306DN LED卤素灯驱动器开关电源
  10. java 分班_CoreJava分班测试试卷答案