前言
这是我在Datawhale组队学习《机器学习》与《机器学习公式详解》的记录,既作为我学习过程中的笔记,也供同好们一起交流研究,之后还会继续更新相关内容的博客,欢迎点赞收藏关注。
机器学习定义
我们根据过去的经验来判断明天的天气,吃货们希望根据之前购买经验挑选一个好瓜,那能不能让计算机帮助人类来实现这个呢?机器学习正是这样的一门学科,人的“经验”对应计算机中的“数据” ,让计算机来学习这些经验数据,生成一个算法模型,在面对新的情况中,计算机便能作出有效的判断,这便是机器学习。
Mitchell给出了一个形式化的定义,假设:
- P:计算机程序在某任务类T上的性能。
- T:计算机程序希望实现的任务类。
- E:表示经验,即历史的数据集。
若该计算机程序通过利用经验E在任务T上获得了性能P的改善,则称该程序对E进行了学习。
基本术语
-
有文献用“模型”指全局性结果(例如一棵决策树),而用“模式”指局部性结果(例如一条规则),本书用“模型”泛指从数据中学得的结果.
-
一个示例(instance)或样本(sample)为一条记录:每条记录是关于一个事件或对象(这里是一个西瓜)的描述“。在计算机程序学习经验数据,生成算法模型的过程中,每一条记录称为一个“训练样本”,同时在训练好模型后,我们希望使用新的样本来测试模型的效果,则每一个新的样本称为一个“测试样本”。
-
数据集(data set):所有记录的集合。
-
标签(label):示例的结果,就是在训练中模型预测时的答案。
-
训练集(trainning set):所有训练样本的集合[特殊]。
-
测试集(test set):所有测试样本的集合[一般]。
-
属性值:属性上的取值。
-
属性空间(样本空间):由属性张成的空间。
-
特征向量(feature vector):用坐标轴描述的样本,比如每个西瓜都可以用坐标轴中的一个点描述,一个点也同时对应着一个向量,例如(青绿,蜷缩,浊响),即每个西瓜能用一个特征向量来描述。
-
维数(dimensionality):一个样本的特征数,当维数非常大时,也就是现在说的“维数灾难”。
-
泛化能力(generalization):机器学习出来的模型适用于新样本的能力,即从特殊到一般。
-
分类问题(classification):预测值为离散值的问题。
-
回归问题(regression):预测值为连续值的问题。
举个栗子:西瓜的例子中,我们是想计算机通过学习西瓜的特征数据,训练出一个决策模型,来判断一个新的西瓜是否是好瓜。可以得知我们预测的是:西瓜是好是坏,即好瓜与差瓜两种,是离散值。同样地,也有通过历年的人口数据,来预测未来的人口数量,人口数量则是连续值。
- 二分类(binary classification):只涉及两个类别的任务,其中一个称为正类(positive class),另一个为负类(negative class)。
- 多分类(multi-class classification):涉及多个类别(大于2)。
- 训练数据有标记信息的学习任务为:监督学习(supervised learning),容易知道上面所描述的分类和回归都是监督学习的范畴。
- 训练数据没有标记信息的学习任务为:无监督学习(unsupervised learning),常见的有聚类和关联规则。
- 聚类(clustering):训练集中的样本分成若干个组,每一组称为一个‘簇’(cluster)。自动形成的簇可能对应一些潜在的概念划分。注意,这些概念是我们事先不知道的,而且在聚类中的训练样本时不拥有标记信息的,所以属于无监督学习。
- 此外还有半监督学习,强化学习等等,可以去我之前的DW李宏毅机器学习博文Task01看看。
- 泛化(generalization)能力:学得的模型能够适用于新样本的能力。具有强泛化能力的模型能很好地适用于整个样本空间。
- “独立同分布”(independent and identicallydistributed,简称ii.d.):尽管训练集通常只是样本空间的一个很小的采样,我们仍希望它能很好地反映出样本空间的特性,否则就很难期望在训练集上学得的模型能在整个样本空间上都工作得很好.通常假设样本空间中全体样本服从一个未知“分布”(distribution) D D D,我们获得的每个样本都是独立地从这个分布上采样获得的,即“独立同分布”(independent and identicallydistributed,简称ii.d.)。一般而言,训练样本越多,我们得到的关于D的信息越多,越有可能获得强泛化能力的模型。
假设空间
-
归纳(induction):从特殊到一般的“泛化” (generalization)过程。广义归纳:相当于从样本中学习。狭义归纳:从训练集中学得概念,因此称为“概念学习”或“概念形成”。
-
演绎(deduction):从一般到特殊的“特化” (specialization)过程,即从基础原理推演出具体状况。
-
概念学习:最基本的就是布尔概念学习,即对“是” 或“不是”这样的可表示为0 or 1。
-
假设空间:所有假设(hypothesis)组成的空间。我们可以把学习过程看作一个在假设(hypothesis)空间中进行搜索的过程,搜索目标是找到与训练集“匹配” 的假设。假设的表示一旦确定,假设空间及其规模大小就确定了。
-
版本空间(version space)or 假设集合:有多个假设与训练集一致,即与训练集一致。
归纳偏好
归纳偏好:机器学习算法在学习的过程中对某种类型假设的偏好,如果偏好不存在,模型将被假设空间中在训练集上看似 “等效”的假设所迷惑,而无法产生确定的学习结果。
偏好的产生应该是基于某种领域的知识或是对样本的分析。
归纳偏好产生的一般性原则:奥卡姆剃刀
奥卡姆剃刀
奥卡姆剃刀:若多个假设与观察一致,则选择最简单的一个,而且我们假设“更平滑意味着更简单”,比如下图选择较为平滑的哪个
但,奥卡姆剃刀并不是唯一可行的原则,而且它本身也有不同的解释,使用的原则也并不简易。而这就需要借助其他的原则了。
事实上,归纳偏好对应机器学习算法本身所做出的关于 “什么样的模型更好”的假设。在具体的现实问题中,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配, 大多数时候直接决定了算法能否取得好的性能,简而言之就是归纳偏好如果与问题匹配将能取得好的性能,否则不能。
没有免费的午餐定理
没有免费的午餐定理(NFL):所有的学习算法总误差和期望值与算法无关。
如上图,对于某些问题,A可能优于B,但一定会相应存在一些情况B优于A。所以,具体问题具体分析。
换言之,对于一个学习算法 L a L_a La,若它在某些问题上比学习算法 L b L_b Lb好, 则必然存在另一些问题,在那里 L b L_b Lb比 L a L_a La好。有趣的是, 这个结论对任何算法均成立,哪怕是把本书后面将要介绍的一些聪明算法作为 L a L_a La而将“随机胡猜”这样的笨拙算法作为 L b L_b Lb。
如此就会产生一个疑问,既然所有学习算法的期望性能都跟随机胡猜差不多,那还有什么好学的?
我们需注意到,NFL定理有一个重要前提:所有“问题”出现的机会相同、或所有问题同等重要。但实际情形并不是这样的,很多时候,我们只关注自己正在试图解决的问题(例如某个具体应用任务),希望为它找到一个解决方案,至于这个解决方案在别的问题、甚至在相似的问题上是否为好方案,我们并不关心.例如,为了快速从A地到达B地,如果我们正在考虑的A地是南京鼓楼、B地是南京新街口,那么“骑自行车”是很好的解决方案;这个方案对A地是南京鼓楼、B地是北京新街口的情形显然很糟糕,但我们对此并不关心。
所以,NFL定理最重要的寓意,是让我们清楚地认识到,脱离具体问题,空泛地谈论 “什么学习算法更好”毫无意义,因为如果考虑所有潜在的问题,所有学习算法都一样好。 如果要谈论算法的相对优劣, 必须要针对具体的学习问题;在某些问题上表现好的学习算法,在另一些问题上却可能不如人意,学习算法自身的归纳偏好与问题是否相配,往往会起到决定性的作用。
总结
第一章主要是对机器学习进行一个总体的介绍,比如在基本术语中,我们并不只是解释某个名词,而是将名词和具体的理论联系起来,使我们这些初学者能初步地了解机器学习的世界。
第二个重点就是对归纳偏好的介绍,通过NFL定理指出,脱离实际问题来谈论算法优劣就是在耍流氓,其次也为我们如何去选择偏好指明的方向——奥卡姆剃刀。