西瓜书学习笔记——第一章:绪论

第一章:绪论

  • 1.1 引言
  • 1.2 基本术语
    • 1.3 假设空间
    • 1.4 归纳偏好
      • “聪明”算法a永远好于“笨拙”算法b?

1.1 引言

  • 机器学习的定义(由[Mitchell,1997]提出):假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T中任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。

1.2 基本术语

  • 数据集( D D D):记录的集合
  • 示例(instance):数据集D中的每一条记录
  • 属性(attribute),特征(feature):反映事件或对象在某一方面的表现或性质的事项(西瓜的色泽,大小)
  • 属性空间,样本空间,输入空间:属性张成的空间(对于某个示例,将它的属性各自作为坐标轴,则形成了属性空间。不同示例由于自身的不同属性值,对应着不同的点,因此我们把一个示例也称为“特征向量”)
  • 训练:从数据中学得模型的过程
  • 假设(hypothesis):即学得模型(我们意图用学得模型逼近关于数据的某种潜在的规律,故学得模型也称为假设)
  • 标记(label):关于示例的结果信息(如:好瓜)
  • 样例(example):拥有了标记信息的示例
  • 识别学习任务的类型:
    西瓜书学习笔记——第一章:绪论_第1张图片
    监督学习与无监督学习
  • 机器学习的目标:使学得模型很好地使用于新样本,而不仅仅是在训练样本上表现得很好
  • 泛化能力:学得模型适用于新样本的能力。具有强泛化能力的模型能很好地适用于整个样本空间
    训练集通常只是样本空间一个很小的采样(现实任务中样本空间可能很大,如20个属性,10个属性值则样本空间规模达到了10^20),我们希望训练集能很好地反映出样本空间的特性,否则garbage in garbage out。

通常假设样本空间中全体样本服从某个未知分布,我们获得的每个样本都是独立地从这个分布上采样获得的(即“独立同分布”)

一般而言:训练样本越多 ——> 得到关于该未知分布的信息越多 ——> 越可能获得具有强泛化能力的模型

1.3 假设空间

归纳(induction)和演绎(deduction)是科学推理的两大基本手段

  • 归纳:特殊 ——> 一般的“泛化”(generalization)过程(从具体事实归结出一般性规律)
  • 演绎:一般 ——> 特殊的“特化”(specialization)过程(从基础原理推演出具体情况)

e.g.在数学公理系统中:

  • 基于一组公理和推理规则推导出与之相恰的定理 ——> 演绎
  • 从样例中学习 ——> (广义)归纳学习(inductive learning)

狭义归纳学习:从训练数据中学得概念,也称概念学习(由于学得泛化性能好且语义明确的概念是在太困难,目前概念学习技术的研究和应用较少。最基本的是布尔概念学习,即“是”“不是”的目标概念的学习)

学习过程:在假设空间中进行搜索的过程,搜索目标是找到匹配(fit)训练集的假设,即能够将训练集中的瓜判断正确的假设。

假设空间:由"(attr1=?)∧(attr2=?)∧(attr3=?)∧…∧(attrn=?)"的可能取值所形成的假设组成。

对假设空间进行搜索,搜索过程中可以不断删除与正例不一致的假设和与反例一致的假设,最终得到与训练集一致(即对所有训练样本能进行正确判断)的假设,这就是我们学得的结果。
由于假设空间一般很大,而学习过程基于有限样本的训练集进行的,因此可能有多个假设(组成“假设集合”,也即版本空间)与训练集一致。

假设空间的规模大小:已知属性有n个,要成为好瓜每个属性的取值可能有m个,则假设空间的大小为m ^ n+1(若每个属性取值可能有mi个,则为m1 * m2 *…+1,mi相等即为前面的m^n+1)
为什么要+1呢?
首先解释一下这个1指的就是不存在“好瓜”这种极端的情况。
其次我们可以发现这里的假设空间的大小与之前所讲的样本空间的大小十分相似。在这里将假设空间,样本空间,版本空间做一下概念区分:

  • 假设空间:在已知属性和属性可能取值的情况下,对==所有可能满足目标(好瓜)==的情况的一种毫无遗漏的假设集合。(即假设***是好瓜)
  • 样本空间:所有可能存在的、合理的、情况的集合。它不以假设为出发点,是所有样本的集合。样本空间的大小则为m^n
  • 版本空间(version space):与训练集一致的假设集合(参考:https://blog.csdn.net/csucsgoat/article/details/79598803 中对版本空间的解释)

1.4 归纳偏好

版本空间给我们带来的问题是,它每个假设对应的不同模型在面对同一个新样本时,极可能会产生不同的输出,那么采用哪个模型好呢?此时学习算法本身的偏好就会起到关键作用。

归纳偏好(inductive bias):机器学习算法在学习过程中对某种类型假设的偏好(可以看做算法自己的“价值观”)
e.g. 可能会偏好的假设:

  • 尽可能特殊的假设(适用情况尽可能少,属性为*的较少)
  • 尽可能一般的假设(适用情况尽可能多,属性为*的较多)
  • 某种属性符合算法偏好的假设(如对于两个大致相当的假设,在吸引女孩的模型里算法更偏好apperance属性较高的那个假设)

归纳偏好的重要性:
算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能
(如在吸引女孩的模型里,对于两个大致相当的假设,若算法更偏好apperance属性较低的那个假设,那这个算法的“价值观”就不符合大多数女孩子的价值观)

“聪明”算法a永远好于“笨拙”算法b?

“没有免费的午餐(No Free Lunch theorem, NFL)”:在所有“问题”出现的机会相同的前提下(假设了目标函数的均匀分布),无论学习算法“聪明”与否,他们的期望值相同。(证明见教材)

但实际情况是,我们只关注自己正在试图解决的问题(如某个具体应用任务),我们为此所作出的解决方案,我们并不关心它在别的问题上的作用。

因此还是回到之前所强调的:
算法的归纳偏好是否与问题本身匹配,往往起到决定性的作用

你可能感兴趣的:(西瓜书学习笔记)