创建了一个微信交流群,想加入的朋友+WeChat:SODAS_MUSIC_STUDIO
1、什么是机器学习?
①直观上理解:就是想让计算机来模拟人类的学习功能。机器学习研究的就是如何让机器(计算机)模拟或者实现人类学习功能的学科。(使用计算机设计一个系统,使其能够根据提供的训练数据按照一定的方式进行学习;随着训练次数的增加,该系统可以在性能上不断学习和改进;通过参数优化的学习模型,能够用于预测相关问题的输出。)
②详细来说,就是通过计算的手段,利用经验来改善系统自身的性能。人的"经验"对应着计算机中的"数据",让计算机来学习这些经验数据,生成一个算法模型,在面对新的情况中,计算机便能作出有效的判断,这便是机器学习。
模型:可以理解为定义了特征与标签之间关系的一种函数。(就好像观察到大风和闪电,就会预测将会下雨)。而模型就是通过已知的数据和目标,通过调节算法参数,即训练数据,最后得到针对这样的数据映射出预测结果。至于“训练的是什么”,“参数是什么”,这依赖于所选取的模型“模型”。而训练的结果简单来说就是得到一组模型参数,最后使用这些参数的模型来完成任务。
③Mitchell给出了一个形式化的定义,假设:
P:计算机程序在某种任务类T上的性能
T:计算机程序希望实现的任务类
E:表示经验,既历史的数据集
若该计算机程序通过利用经验E在任务T上获得了性能P的改善,则称该程序对E进行了学习
④监督学习和无监督学习:根据训练数据是否拥有标记信息,学习任务可大致分为两大类---监督学习(有标记信息的学习任务)和无监督学习(无标记信息的学习任务),分类和回归属于前者代表,聚类则是后者代表。
⑤常见的模型算法
2、机器学习的基本术语
①所有记录的集合为:数据集;每一条记录为一个实例或样本,而样本中单个的特点为特征或者属性。
训练集:帮助我们训练模型,简单的说就是通过训练集的数据让我们确定拟合曲线的参数。它是总的数据集中用来训练模型的部分。根据数量的大小,通常只会取数据集中的一部分来当训练集。
验证集(开发集):用来做模型选择,即做模型的最终优化及确定的,用来辅助我们的模型的构建,即训练超参数,可选;也是比较特殊的一部分数据,主要为了防止训练出来的模型只对训练集有效,也是用来调整模型具体参数的,不参与训练。
测试集:顾名思义为了测试已经训练好的模型的精确度,用来测试、评估模型泛化能力的部分,不会用在模型训练部分。
PS2-1:将数据集分配为三块的比例:机器学习(6:2:2或7:1:2),深度学习(98:1:1)
特征(属性):特征是输入变量,反应事件或对象在某些方面的表现或性质。例:简单线性回归中的x变量(自变量)。简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征。
特征向量:空间中的每个点都对应一个坐标向量,通常把组成样本的坐标向量称为一个“特征向量”。特征向量可以理解为是坐标轴,一个特征向量定义一条直线,是一维,两个相互垂直的特征向量定义一个平面,即一个直角坐标系,就是二维,三个互相垂直的特征向量定义一个空间,即一个立方直角坐标系,就是三维。三个以上的特征向量相互垂直,定义人眼无法看见,也无法想象的高维空间。
②维度:一个样本的特征数或者样本的数量(一般为特征数),除了索引之外,一个特征是一维,两个特征是二维,n个特征是n维。当维数非常大时,就是"维数灾难"
对数组来说,维度就是方法shape返回值的长度。
对图像来说,维度就是图像中特征向量的数量。
降维:机器学习中的“降维”,降低特征矩阵中特征的数量。而降维的目的是为了让算法运算更快,效果更好或者是为了更好的数据可视化。
③泛化能力:模型利用新的数据(而不是用于训练的数据)做出正确的预测的能力。泛化能力针对的其实是学习方法,它用于衡量该学习方法学习到的模型在整个样本空间上的表现。即是从特殊到一般的过程。训练集为"特殊",测试集为"一般"。
对于预测西瓜到底是"好"OR"坏",这是离散值,预测值为离散值的问题为"分类"。
对于预测未来人口数量的"数量",这是连续值,预测值为连续值的问题为"回归"。
分类:即确定一个点的类别,是一个有监督学习过程。即目标样本有哪些类别是已知的,通过分类就是把每一个样本分到对应的类别之中。由于必须事先知道各个类别的信息,所有待分类的样本都是有标签的,因此分类算法也有了其局限性。
PS2-2:标签是要预测的事物,即简单线性回归中的y变量(因变量)。有时根据数据是否有标签,也把数据分为有标签数据和无标签数据。
二分类:对只涉及两个类别的分类任务,可以称为“二分类”,通常称其中一个类为“正类”,另外一个为“负类”。若涉及多个类别时,则称为“多分类”。
回归:是一个有监督学习过程。简单来说,连续变量的预测或定量输出是回归,而如果要预测的值是离散的即一个个标签或定型输出则称为分类;
PS3-2:例如:
预测明天的气温是多少度,这是一个回归任务。
未来的股票市场走向?这是一个回归任务。
预测明天是阴、晴还是雨,就是一个分类任务。
身高1.65m,体重100kg的男人肥胖吗?就是一个分类任务。
聚类:是机器学习中一种重要的无监督算法,它可以将数据点归结为一系列特定的组合。当分类的条件无法满足,就要尝试聚类分析。理论上归为一类的数据点具有相同的特性,而不同类别的数据点则具有不相同的属性。
3、假设空间
①假设空间:是指一个机器学习算法可以生成的所有函数的集合。通俗的来说就是样本的所有可能性的集合。
举例:对于西瓜书上的数据集进行分析
想知道的是什么样的是好瓜,即"学习目标是'好瓜'",由数据集可知,是否为好瓜由三个因素影响"色泽"、"根蒂"、"敲声"。所以判断是否为好瓜就是"好瓜是某种色泽、某种根蒂、某种敲声的瓜"。
这里我们的假设空间由形如“(色泽=?)^(根蒂=?)^(敲声=?)”的可能取值所形成的假设组成。
- 色泽有“青绿”和“乌黑”两种取值,还需考虑无论什么色泽都是好瓜的情况,用通配符(*)表示。色泽属性共三种取值;
- 根蒂有“蜷缩”、“硬挺”和“稍蜷”三种取值,还需考虑无论什么根蒂都是好瓜的情况,再加通配符(*)表示,根蒂属性共四种取值;
- 敲声有“浊响”、“清脆”和“沉闷”三种取值,还需考虑无论什么敲声都是好瓜的情况,再加通配符(*)表示,敲声属性共四种取值;
- 还有一种假设组成——可能"好瓜”这个概念就不成立(就是这个世界上压根就没有好瓜,即取任何值都不可能得到好瓜),用∅表示这种假设。
- 那么,所对应的假设组成的个数为:3x4x4+1=49. 即所对应的假设空间的规模大小为49。
假设空间的学习过程,是在所有的假设祖成的空间中进行搜索的过程。目标,找到与训练集相"匹配"的假设。
对于上例,假设空间的大小计算为:(n1+1)×(n2+1)×(n3+1)+1
②版本空间:与已知数据集一致的所有假设的子集集合,也就是假设空间的一个最大子集,该子集内的每一个元素都不与训练集相冲突。
- 我们可以把学习过程看作一个在假设组成的空间中进行搜索的过程。搜索过程中可以不断删除与正例不一致的假设或与反例一致的假设。最终将会获得与训练集一致(即对所有训练样本能够进行正确判断)的假设,这就是我们学得的结果。
- 现实问题中我们常面临很大的假设空间,但学习过程是基于有限样本训练集进行的,因此有可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”,我们称之为“版本空间”。
对于二维空间中的“矩形”假设(上图),绿色加号代表正类样本,红色小圈代表负类样本。 GB 是最大泛化正假设边界, SB 是最大精确正假设边界。GB与SB所围成的区域中的矩形即为版本空间中的假设,也即GB与SB围成的区域就是版本空间。
在一些需要对假设的泛化能力排序的情形下,就可以通过GB与SB这两个上下界来表示版本空间。在学习的过程中,学习算法就可以只在GB、SB这两个代表集合上操作。
由于数据的有限性,不管是离散的还是连续的,一定会学习到无限可能的模型。
4、归纳偏好
①归纳偏好:指学习算法在面对多个可能的假设时,倾向于选择某种类型的假设的倾向。这种偏好会影响最终模型的选择和性能。学习算法的归纳偏好是否与问题的本身匹配,大多时候直接决定了算法能否取得更好的性能。就是“什么模型更好?”。
在机器学习算法中,对某些属性可能更加有“偏好”,或者说更加在乎,给的权重更大,这将导致我们更偏向于得到这种模型的这么一个问题。任何一个有效的机器学习算法必有其偏好,对于有限的数据会带来无限种可能。一般采用奥卡姆剃刀原则。
PS4-1:在学习算法中,归纳偏好是指算法在庞大的假设空间中选择适合的模型时所依据的原则或倾向。虽然奥卡姆剃刀原则(即选择最简单的假设)是一个常用的指导思想,但并不是唯一的标准。不同的情况可能需要不同的偏好策略。
②奥卡姆剃刀原则:若非必要,勿增实体-----> 在其他条件相同的情况下,最简单的解释往往是最好的。
奥卡姆剃刀原则对机器学习模型优化的启发:
- 避免过拟合:复杂的模型可能会过度拟合训练数据,捕捉到数据中的噪声和不相关的细节。简单模型则更有可能抓住数据的主要特征和趋势,具有更好的泛化能力。
- 可解释性:简单模型更容易解释和理解。对于很多实际应用,特别是那些需要人类决策和监管的领域(如医疗、金融),模型的可解释性非常重要。
- 计算效率:简单模型通常需要更少的计算资源,训练和预测的时间更短,适用于计算资源有限或需要快速决策的场景。
PS4-2:举例说明:线性回归与多项式回归
假设我们有一组数据,目标是预测某个变量Y与自变量X之间的关系。我们可以选择简单的线性回归模型(
)或复杂的多项式回归模型(例如
)。
- 线性回归:模型简单,只包含两个参数(A和B)。容易训练,计算效率高,适于数据量大的情况下快速预测。如果数据大致呈线性关系,线性回归模型可以很好地捕捉这种关系。
- 多项式回归:模型复杂,包含多个参数(A, B, C, D)。虽然它可能在训练数据上表现得很好(即训练误差小),但在测试数据上可能表现不佳(即测试误差大),因为它可能过度拟合了训练数据中的噪声。
- 在这种情况下,根据奥卡姆剃刀定律,如果简单的线性回归模型已经足够解释数据中的趋势,我们应该优先选择它,而不是引入不必要的复杂性
③NFL原则:没有免费的午餐,一个算法LA若是在某些问题上比另一个算法LB要好,必然存在另一个问题会使算法LB比算法LA要好!!!
NFL定理的重要前提:所有"问题"出现的机会相同、或所有问题同等重要。脱离具体问题,空泛的谈论什么算法好无意义。具体问题具体分析
一定要想好问题的输入x是什么,问题的输出y是什么。去找映射的函数F