第一章 绪论
1.1、引言
机器学习所研究的主要内容就是学习算法,学习算法基于经验数据产生出“模型”,这个模型就能帮给我们一个更好的判断或预测。
1.2、基本术语
假定我们收集了一批关于西瓜的数据,例如(色泽=青绿;根蒂=蜷缩;敲声=浊响), (色泽=乌黑;根蒂=稍蜷;敲声=沉闷), (色泽=浅自;根蒂=硬挺;敲声=清脆)…。每对括号内是一条记录。
-
数据集 上述收集到的记录的集合,即为数据集。 -
示例(样本、特征向量) 上述的每条记录即代表一个个的示例。示例中包含三个属性,对应的是它的属性值。属性张成的空间称为属性空间,显然上述数据集的属性空间是三维的,那么每个样本都对应一个三维空间的点,由于空间中的每个点对应一个坐标向量,因此我们也把示例称为特征向量。 -
训练、假设 从数据中学得模型的过程称为训练或学习。训练过程中使用的数据集称为训练集,训练集中的样本称为训练样本。 学得的模型对应了关于数据的某种潜在规律,因此也成为假设。这种潜在规律自身,则称为真相或真实,学习过程就是为了找出或逼近真相。 -
样例 只知道某一样本有什么特征,却不知道它是属于哪一类的,那我们的模型肯定也无法给出具体的判断,所以在训练时要知道该样本的"结果",例如"好瓜",“坏瓜”,这种带有"结果"的样本,称为样例。这里的"结果"称为示例的标记。一般使用(xi,yi)代表第 i 个样例。 -
学习任务分类 按照 预测值是离散还是连续 来划分: 按照 训练样本是否有标记 来划分: -
泛化能力 机器学习的目标是使学得的模型能很好地适用于"新样本",而不是仅仅在训练样本上工作得很好。学得模型适用于新样本的能力,称为"泛化" (generalization) 能力。【西瓜书】。 所以,为了保证收获一个拥有好的泛化能力的模型,我们要在训练集上下功夫:尽量保证训练集很好的反映整个样本空间的特性。通常假设样本空间中全体样本服从一个未知"分布"D,我们获得的每个样本都是独立地从这个分布上采样获得的,即独立同分布。
1.3、假设空间
“从样例中学习”是从一部分数据(特殊)得到一个规律去对所有的数据作判断(一般),这是一个特殊到一般的过程,所以也称为“归纳学习”。
假设空间:假设的表示一旦确定,假设空间及其规模大小即确定。例如西瓜书里的这个假设空间即由“(色泽 = ?) ∩ (根蒂 = ?) ∩ (敲声 = ?)”的可能取值所形成的假设组成。若"色泽"、“根蒂”、"敲声"分别有3、2、2种可能取值,也有每个属性取什么值都行的情况,还有所有的属性取任何值都不行的情况,综合考虑得到该假设空间的大小 =(3+1)*(2+1)*(2+1)+1 = 37。
搜索:上述37种假设肯定不是每个都与我们的训练集匹配,所以我们需要搜索,搜索的过程也就是学习的过程。最后,可能由于学习算法不同,得到的匹配训练集的假设会有多个,这些符合条件的假设集合称为版本空间。
1.4、归纳偏好
与训练集一致的假设有多个,选哪个?机器学习算法在学习过程中对某种类型假设的偏好,称为归纳偏好。
一个一般性原则引导算法选择出“正确的”偏好:奥卡姆剃刀,即选最简单的那个。
学习算法自身的归纳偏好与问题是否匹配,起到决定性作用。
第二章 模型评估与选择
我们往往有多种学习算法可选择,甚至对同一种学习算法,使用不同的参数配置时也会产生不同的模型。选哪一个学习算法呢?选择哪一种参数配置呢?这就是模型选择问题。
解决方案:对这些模型评估。但由于无法得到泛化误差,训练误差又存在过拟合现象。所以使用测试误差来近似泛化误差进行评估模型。
2.1、经验误差与过拟合
- 经验误差(训练误差)
训练集上,实际输出与预测输出之间的差异。 - 泛化误差
学习器在新样本上的误差。 - 过拟合
把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质。考虑的特征太多。 - 欠拟合
对训练样本的一般性质尚未学好。考虑的特征太少。
2.2、评估方法
上述已经说过,使用测试误差近似泛化误差,测试集要尽量与训练集互斥。
当下我们只有一个数据集D,如何划分出 训练集 和 测试集 呢?有以下三种方法:
2.1、留出法
D=S U T,训练集S和测试集T互斥,采取分层采样(即要保持数据同分布)。多次随机划分、重复实验评估后取平均值(每次划分得到一组S和T,使用T得到该次划分的评估值)。
2.2、交叉验证法
D=D1 U D2 U …U Dk,Di ∩ Dj = ?,每个数据子集尽可能保持数据同分布。每次使用k-1个子集作为训练集,剩余一个作为测试集,这样能得到 k 组S、T,所以可以进行 k 次训练和测试,最后取 k 个测试结果的均值;又因为划分的方式有多种,所以我们同留出法一样,多次随机划分产生多个测试均值,再取平均得到评估值,常见的有 10次10折交叉验证法、留一法。
2.3、自助法
随机采样数据集D中的样本组成D’,D’与D的个数相同时停止采样。D’ 中大约包含2/3的D的样本作为训练集,D’ 不包含的大约1/3的D中的样本作为测试集。这种随机采样改变了初始数据集的数据分布,会引入估计偏差。
在数据集较小,难划分时自助法很有用;数据量足够时使用前两种方法。
2.3、性能度量
定义:衡量模型泛化能力的评价标准。 例如:回归任务常用的性能度量是“均方误差”。 更一般的,每个样本出现的概率不同情况下:
-
错误率、精度 错误率是分类错误的样本数占样本总数的比例,精度则是分类正确的样本数占样本总数的比例。 错误率: 精度: -
查准率P、查全率R和F1
P:挑出来的瓜中有多少真正的好瓜;R:挑出来的真正的好瓜占全部的好瓜多少比例。(形象的理解)
举个例子:有一个测试集,包含10个样本(5好瓜、5坏瓜) -
预测结果1:9好(实际上:5好、4坏),1坏(1坏)。此时,P = 5/9,R = 5/5 = 1。这个模型预测结果太乐观,把好多坏瓜也当成好瓜,查准率低;但由于“门槛太低”,好瓜也都挑了出来,所以查全率高, -
预测结果2:1好(1好)、9坏(实际上:4好、5坏)。此时,P = 1,R = 1/5。因为太“谨慎”,最有把握的才认定为好瓜,所以查准率高,查全率低。
P-R曲线 每条曲线代表一个模型,模型预测出的结果会按照“好瓜的可能性”排序,最后判断好瓜、坏瓜的依据是一个截断点(越靠前,越严格,查准率越高),所以每个模型的P-R值会随着此截断点变化而变化,生成此曲线。每个模型预测出的序列不同,所以曲线会有多条。
在P-R曲线中看模型好坏:
- 平衡点BEP:P=R时的点
- F1:2PR/(P+R)
|