第十章:降维与度量学习
10.1 降维的概念
核心概念:降维就是把很多复杂的数据特征,用一些方法变成更少、更简单的特征,同时还尽量保留数据里重要的信息。这就好比你有一大箱各种各样的玩具,但是要搬到一个小房间里,你就挑出最有代表性、最好玩的几个玩具带走,把其他不太重要的留在原地。这样既减少了东西的数量,又能保留玩玩具的主要乐趣。
例子:假设你要描述一个人的外貌,一开始你记录了身高、体重、头发颜色、眼睛颜色、鼻子形状、嘴巴大小、脸型等好多特征。但有时候,为了简单快速地描述,你可能只挑出身高、头发颜色、脸型这几个最有特点的特征,这就是一种简单的降维。因为这几个特征就能大概让人对这个人的外貌有个印象,同时减少了描述的复杂性。
10.2 主成分分析(PCA)
核心概念:PCA 是一种很常用的降维方法。它的主要思想是找到数据中变化最大的方向,把数据投影到这些方向上,从而达到降维的目的。可以想象你在玩飞镖游戏,飞镖扎在靶盘上的位置有很多变化,PCA 就是要找到飞镖分布最分散的方向,把这些方向作为新的 “坐标轴”,然后把飞镖的位置都投影到这些新坐标轴上,这样就能用更少的 “坐标” 来表示飞镖的位置,实现了降维。
例子:假设有一群同学的考试成绩数据,包含语文、数学、英语、物理、化学等多门学科成绩。这些成绩数据就像很多维度的信息。通过 PCA 方法,我们可能发现,其实大部分同学的成绩变化主要集中在两个方向上,一个是 “文科综合能力” 方向(跟语文、英语成绩相关性大),另一个是 “理科综合能力” 方向(跟数学、物理、化学成绩相关性大)。这样我们就可以把原来的多门学科成绩数据,用这两个新的 “综合能力” 维度来表示,实现了降维,而且还保留了同学们成绩差异的主要信息。
10.3 度量学习
核心概念:度量学习就是学习怎样去衡量数据之间的相似程度。在日常生活中,我们判断两个东西是否相似,可能凭借直观感觉,但对于计算机处理的数据,需要有更精确的方法。度量学习就是让计算机学会根据数据的特征,找到最合适的方式来计算数据之间的距离或者相似度,就像给计算机一把量身定制的 “尺子”,用这把尺子能更准确地衡量数据之间的差异。
例子:在一个图片库里,有各种动物的图片。我们想让计算机判断两张图片里的动物是否相似。一开始,计算机可能只是简单地比较图片的颜色、形状等特征,但可能不太准确。通过度量学习,计算机可以学习到,对于猫的图片,耳朵形状、眼睛形状等特征在判断相似性时更重要;对于狗的图片,鼻子形状、毛发纹理等特征更关键。这样计算机就能用更合理的方式来衡量两张动物图片之间的相似度,决定它们是不是属于同一类动物。
第十一章:特征选择与稀疏学习
11.1 特征选择的概念
核心概念:特征选择就是从很多数据特征中,挑选出对我们要解决的问题最有用的那些特征,把没用或者用处不大的特征去掉。这就像你要做一个水果沙拉,水果店里有很多种水果,但你只挑选出苹果、香蕉、草莓这些做沙拉最好吃、最关键的水果,其他不太适合的水果就不选了,这样做出来的水果沙拉既美味又简单。
例子:假如你要预测一个人是否喜欢运动,你收集了这个人的年龄、性别、身高、体重、每周看电视的时间、每周运动的时间、喜欢的音乐类型等很多特征。但实际上,对于预测是否喜欢运动,年龄、每周运动的时间这两个特征可能就非常关键,而喜欢的音乐类型这个特征可能跟是否喜欢运动没什么关系。所以我们就可以选择年龄和每周运动的时间这两个特征,去掉其他不太相关的特征,这样能让我们的预测更简单有效。
11.2 过滤式选择
核心概念:过滤式选择是特征选择的一种方法。它就像用一个 “滤网”,按照一些预先设定好的标准,把数据特征一个个过滤一遍。那些符合标准的特征就被留下来,不符合标准的就被过滤掉。这个标准通常是基于特征本身的一些统计信息,比如特征与目标变量之间的相关性。
例子:还是预测一个人是否喜欢运动的例子。我们可以先计算每个特征与是否喜欢运动这个目标之间的相关性。比如计算出年龄与是否喜欢运动的相关性系数是 0.6,每周运动时间与是否喜欢运动的相关性系数是 0.8,而喜欢的音乐类型与是否喜欢运动的相关性系数只有 0.1。我们可以设定一个相关性系数的阈值,比如 0.3,那么年龄和每周运动时间这两个特征的相关性系数大于 0.3,就被保留下来,而喜欢的音乐类型这个特征相关性系数小于 0.3,就被过滤掉了。
11.3 稀疏学习
核心概念:稀疏学习的目的是让模型中的参数尽量变得稀疏,也就是让很多参数变成 0。这有点像画画,一开始你可能用很多颜色、很多线条来画一幅画,但最后你发现,其实用很少的关键线条和颜色就能表达出主要的画面意思,那些多余的线条和颜色就可以去掉。在机器学习模型里,就是让模型只保留最关键的参数,把不重要的参数变成 0,这样模型会变得更简单,也可能避免一些过拟合的问题。
例子:假设有一个预测房价的模型,模型中有很多参数,分别对应房子的面积、房间数量、楼层、房龄、周边配套设施等各种特征的影响程度。通过稀疏学习,可能发现对于某个地区的房价预测,房间数量这个参数对应的影响程度变成了 0,也就是说在这个模型里,房间数量对房价的影响可以忽略不计,这样模型就变得更简洁,而且在预测房价时可能更准确,因为去掉了一些不太重要的因素干扰。
第十二章:计算学习理论
12.1 基本概念
核心概念:计算学习理论主要研究的是机器学习中的一些基本理论问题,比如学习器(就是我们训练的模型)要学习到一个好的模型,需要多少数据,学习的过程要花多长时间,以及模型的准确性和泛化能力等。它就像是给机器学习制定一些 “规则” 和 “标准”,让我们知道在什么样的条件下,机器学习才能更好地工作。
例子:想象你要学习骑自行车,计算学习理论就像是在研究,你大概要练习多少次(相当于需要多少数据),花费多长时间练习(学习时间),才能熟练掌握骑自行车(达到好的模型效果),并且以后不管在什么样的路面上都能比较稳地骑(泛化能力)。
12.2 PAC 学习
核心概念:PAC(Probably Approximately Correct)学习是计算学习理论里的一个重要概念。它的意思是,在一定的概率下,学习器能学到一个近似正确的模型。也就是说,虽然我们不能保证学习器学到的模型是完全正确的,但是可以保证在大多数情况下,模型的错误率是在我们可以接受的范围内的。
例子:假设你要让计算机学习识别鸟类。通过给计算机很多鸟类图片进行训练,虽然不能保证计算机对每一张新的鸟类图片都能准确识别,但是我们可以通过调整训练数据的数量、模型的复杂度等,让计算机在大多数情况下(比如 90% 的情况)都能正确识别鸟类,这就是 PAC 学习所追求的,在一定概率下得到近似正确的结果。
12.3 复杂度分析
核心概念:复杂度分析主要研究机器学习模型的时间复杂度和空间复杂度。时间复杂度就是模型训练或者预测所需要花费的时间,空间复杂度就是模型在训练和运行过程中需要占用多少计算机内存等空间资源。这就像你要完成一项作业,时间复杂度就是你完成作业需要多长时间,空间复杂度就是你完成作业需要多大的桌子、需要多少纸张等资源。
例子:假设有一个复杂的图像识别模型,它需要处理非常大的图片数据。这个模型的时间复杂度可能很高,因为它要对图片的每个像素进行复杂的计算,可能需要很长时间才能完成一次识别任务。同时,它的空间复杂度也很高,因为它要存储大量的图片数据以及在计算过程中产生的中间结果,这就需要占用很多计算机内存。而如果有一个简单的模型,只需要识别图片中是否有红色物体,它的时间复杂度和空间复杂度就会低很多,因为计算过程简单,也不需要存储大量数据。