文章目录
机器学习
- 什么是机器学习? (what)
- 人工智能:让机器变得像人一样拥有智能的学科
- 机器学习:让计算机像人一样从数据中学习规律的一类算法
- 深度学习:神经网络类的机器学习算法
人工智能包含机器学习,机器学习包含深度学习
人工智能具体应用领域: (why/where)
- 计算机视觉(Computer Vision,cv):让计算机拥有视觉能力
- 自然语言处理(Natural Language Processing,NLP):让计算机拥有语言能力
- 推荐系统(Recommender System,RS):让计算机精确分析出人的喜好
机器学习三要素: (how)
- 1.模型:根据具体问题,确定假设空间
- 2.策略:根据评价标准,确定选取最优模型的策略(通常会产生一个**’‘损失函数’’**)
- 3.算法:求解损失函数,确定最优模型
一.绪论
1.机器学习定义
机器学习(Machine Learning,简称ML)是一种人工智能(Artificial Intelligence,简称AI)领域的子领域,它涉及开发算法和模型,使计算机系统能够从数据中学习并改进其性能,而无需明确编程。
T. Mitchell 提出的经典定义:
“一个计算机程序被认为能够从经验 E 中学习,解决任务 T,达到性能度量 P,当且仅当,有了经验 E 后,经过 P 来衡量的性能,该程序在任务 T 上有所提升。”
“利用经验改善系统自身的性能”
2.基本术语
2.1训练数据
-
a.数据集(数据集是指一组数据的集合,这些数据通常用于训练、验证和测试机器学习模型。)
-
训练集:训练集是数据集的一个子集,用于训练机器学习模型。训练集包含了模型用于学习和调整参数的样本数据。
-
验证集:训练模型时的性能评估和超参数调整。它在模型开发和训练过程中扮演了关键角色,用于选择最佳模型版本和超参数配置。验证集的性能评估有助于确保模型在已见过的数据以外的数据上表现良好,但它仍然是训练过程的一部分。
-
测试集:测试集是数据集的一个子集,用于最终评估模型的性能。测试集是模型未曾见过的数据,因此用于模拟模型在实际应用中的性能。在模型训练和验证之后,测试集通常用来衡量模型的泛化能力,即模型在新数据上的表现。
数据集的应用:
1.数据划分:首先,从整个数据集中将数据分为三个部分:训练集、验证集和测试集。通常,训练集占总数据的大部分,验证集和测试集占剩余部分。2.模型训练:使用训练集来训练机器学习模型。模型会根据训练集中的数据进行参数学习,尝试捕捉数据中的模式和关联。
3.模型验证:在模型训练的同时,周期性地使用验证集来评估模型在未见过的数据上的性能。这可以通过计算各种性能指标(如准确度、精确度、召回率、F1 分数等,具体指标取决于问题类型)来完成。
4.超参数调整:如果模型在验证集上的性能不满足预期,或者为了找到最佳的模型配置,可以通过调整模型的超参数来改进模型。超参数是模型训练之前需要手动设置的参数,例如学习率、层数、隐藏单元数等。通过反复尝试不同的超参数组合,可以找到在验证集上表现最佳的模型。
5.迭代:上述步骤可能需要多次迭代,即训练模型、验证模型、调整超参数,以逐渐提高模型在验证集上的性能。
6.最终评估:当模型在验证集上表现令人满意时,可以最终使用测试集来评估模型的性能。测试集是模型未曾见过的数据,用于模拟模型在实际应用中的性能。模型在测试集上的性能评估应该是最终的评估,它反映了模型的泛化能力。
-
-
b.示例vs样例
- 示例:用于表示数据集中的单个数据点或数据记录(一条数据,但不含结果(目标值/标记))
- 样例:用于指代数据集中的单个数据样本(一条数据,但包括结果(目标值/标记))
-
c.样本
样本即可代表数据集中的一个单独的数据点[ 通常包括一组特征(输入数据)和一个标签或目标(输出数据)] ,也可以指整个数据集 -
d.特征=属性vs标记
- 特征(Feature):反映事件或对象在某方面的表现或性质的事项,它代表了数据点的属性、信息或观测值。
- 标记(label):标签是监督学习中的目标变量或输出变量,它表示我们试图预测或分类的结果。标签通常是模型的目标。
-
e.属性空间=样本空间=输入空间
描述数据特征的抽象数学空间(类似坐标系,将特征作为坐标轴)由于空间中的每个点对应一个坐标向量,因此我们也把一个示例称为一个特征向量
-
f.标记空间=输出空间
描述数据标签的抽象数学空间
2.2算法
“算法”是指从数据中学得“模型”的具体方法,例如后续章节中将会讲述的线性回归、对数几率回归、决策树等
2.3模型
揭示了所研究问题的规律(通常是具体的函数或者可抽象地看作为函数),得到是一种假设(hypothesis),如果假设正确,则称为真相(ground-truth)
eg:例如一元线性回归算法产出的模型即为形如f(x) = w x +b的一元一次函数。
2.4输出
- 回归(目标值是连续型数据)
- 分类(目标值是离散型数据)
- 二分类:分为正/反类
- 多分类
2.5用途
- 泛化:机器学习的目标是使学得的模型很好地适用于’‘新样本’’(未见样本),而不是仅仅在训练样本上工作的很好. 学得模型适用于新样本的能力,称为**“泛化”(generalization)**能力
- 分布:此处的“分布”指的是概率论中的概率分布,通常假设样本空间服从一个未知“分布”,而我们收集到的每个样本都是独立地从该分布中采样得到,即**“独立同分布”**。通常收集到的样本越多,越能从样本中反推出该分布的信息,即越接近真相。
2.6监督学习vs无监督学习(机器学习分类)
监督学习(supervised learning) (有输出结果)
输入数据有特征值和目标值的称为监督学习,分为分类问题(目标值是类别)和回归问题(目标值是连续型数据)
定义:输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)。
**分类 **:
k-近邻算法、贝叶斯分类、决策树与随机森 林、逻辑回归、神经网络
**回归 ** :
**线性回归、岭回归 **
无监督学习(unsupervised learning) (无输出结果)
输入数据只有特征值,没有目标的称为无监督学习
定义:输入数据是由输入特征值所组成
**聚类 **
k-means
3.典型的机器学习过程
4.假设空间与版本空间
4.1假设空间
假设空间(Hypothesis Space): 假设空间是指机器学习算法在训练过程中用来表示模型的所有可能假设或函数的集合。
- 每个假设都代表了一个可能的模型,它们可以是线性模型、决策树、神经网络等不同类型的函数或模型。
- 假设空间的大小和复杂性直接影响了学习算法的性能和容量。更大的假设空间可以容纳更复杂的模型,但也可能导致过拟合,而更小的假设空间可能限制了模型的表现能力。
eg:
我们有这样一个训练数据集:
这里
假设空间
是由形如 “(色泽= ?)(根蒂=?)(敲声=?)” 的可能取值所形成的假设组成。
- 这里“?”表示尚未确定的取值。
- 我理解是特征属性的所有可能取值组合成的假设集合就是假设空间。
假设空间由3部分组成:
- ① 属性(特征)色泽,根蒂,敲声的取值分别有2,3,3种选择;
- ② 色泽,根蒂,敲声也许无论取什么值都合适,我们分别用通配符“ * ”来表示,于是取值分别有1,1,1种选择;
例如:“ 好瓜<—>(色泽= *)^(根蒂=蜷缩)^(敲声=浊响)”
,即“好瓜是根蒂蜷缩、敲声浊响的瓜,什么色泽都行”- ③ 还有一种极端情况,有可能“ 好瓜 ”这个概念根本就不成立,世界上压根就没有“好瓜”这种东西,我们用Ø表示这个假设。
所以,表1.1中,色泽有2中取值,根蒂有3中取值,敲声有3中取值,再加上各自的“通配项”,以及极端情况“好瓜概念根本不成立”的Ø,故假设空间规模大小为:(2+1) * (3+1) * (3+1)+ 1 = 49。
4.2版本空间
版本空间(Version Space): 版本空间是指在给定训练数据和学习算法的情况下,所有与训练数据一致的假设或模型的集合。(版本空间是假设空间的一个子集,包含了假设空间中与训练数据一致的假设)
版本空间包含了所有可能的假设,这些假设与训练数据一致。
当学习算法根据训练数据不断更新和调整模型参数时,版本空间会逐渐缩小,最终收敛到一个最优的假设,这个假设是与训练数据拟合最好的模型。
1.我们可以把学习过程看作一个在假设(hypothesis)组成的空间中进行搜索的过程。搜索过程中可以不断删除与正例不一致的假设、和(或)与反例一致的假设。最终将会获得与训练集一致(即对所有训练样本能够进行正确判断)的假设,这就是我们学得的结果。
2.现实问题中我们常面临很大的假设空间,但学习过程是基于有限样本训练集进行的,因此有可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”,我们称之为**“版本空间(version space)”**。版本空间定义:版本空间(version space)是概念学习中与已知数据集一致的所有假设(hypothesis)的子集集合。
eg:
对于二维空间中的“矩形”假设(上图),绿色加号代表正类样本,红色小圈代表负类样本。 GB 是最大泛化正假设边界(maximally General positive hypothesis Boundary), SB 是最大精确正假设边界(maximally Specific positive hypothesis Boundary). GB与SB所围成的区域中的矩形即为版本空间中的假设,也即GB与SB围成的区域就是版本空间。
在一些需要对假设的泛化能力排序的情形下,就可以通过GB与SB这两个上下界来表示版本空间。在学习的过程中,学习算法就可以只在GB、SB这两个代表集合上操作。
5.归纳偏好
归纳偏好:机器学习中对某种类型假设的偏好,称为"归纳偏好"(inductive bias)或简称为偏好,归纳偏好对应了学习算法本身所做出的关于"什么样的模型更好"的假设
eg:
Q:三种属性:{白色、黄色、黑色}+{眼睛颜色蓝色、眼睛颜色不一样}+{有铃铛、没铃铛} 判断是不是“猫”, 通过机器学习,现在给了一幅“白色”“眼睛蓝色”“有铃铛”的动物,让计算机判断是不是猫?
A:不同机器学习算法,在面对上述情况时,可能得到不同的结果。一部分可能判断这只动物是猫,一部分可能判断不是猫
为什么会出现这样情况?
通过学习得到的模型对应了的假设空间中的一个假设。
比如上面例子,其实属性很少, 同样属性的可以是一条小狗,而小狗对应的也是空间中的一个假设。
学习算法中,对某些属性可能更加有“偏好”,或者说更加在乎,给的权重更大,这将导致我们学习得到的模型更偏向于某种情况。比如假如算法给定只要是“白色”,那是一只猫的概率更大,这就是机器学习过程中对某种类型假设的偏好,称为“归纳偏好”
任何一个有效的机器学习算法必须要有其归纳偏好,否则它会在假设空间训练集上被“等效”假设迷惑,这将无法 产生确定的学习结果,比如给了上述图片,机器判断是可能是猫,也可能是狗,你还不把机器砸了?
以下是一些常见的归纳偏好类型:(了解即可)
- 奥卡姆剃刀(Occam’s Razor):
- 奥卡姆剃刀原则认为,给定多个解释或模型的情况下,应该选择最简单的那一个。简单的模型通常更具有泛化能力,可以避免过拟合。
- 避免过拟合:
- 大多数学习算法都有避免过拟合的归纳偏好,它们倾向于选择那些能够很好地拟合训练数据但不会过度复杂的模型。
- 结构假设:
- 某些学习算法会对模型的结构施加偏好,例如决策树会倾向于选择具有简单结构的树,神经网络可能会偏向于平滑的函数。
- 领域特定的假设:
- 在特定领域中,有时我们对问题的先验知识可能会影响我们对模型的偏好。例如,在图像处理中,卷积神经网络 (CNN) 可以充分利用图像的局部结构。
- 平滑性假设:
- 认为相似的输入会产生相似的输出,这通常在非参数模型(如核方法)中有所体现。
- 独立性假设:
- 假设输入特征之间相互独立,这在朴素贝叶斯等算法中经常使用。
选择具有简单结构的树,神经网络可能会偏向于平滑的函数。
- 领域特定的假设:
- 在特定领域中,有时我们对问题的先验知识可能会影响我们对模型的偏好。例如,在图像处理中,卷积神经网络 (CNN) 可以充分利用图像的局部结构。
- 平滑性假设:
- 认为相似的输入会产生相似的输出,这通常在非参数模型(如核方法)中有所体现。
- 独立性假设:
- 假设输入特征之间相互独立,这在朴素贝叶斯等算法中经常使用。
NFL定理:一个算法 A若在某些问题上比另一个算法B好,必存在另一些问题, B比A好(No Free Lunch)