注:此文章内容来源于周志华老师的西瓜书及DataWhale团队的南瓜书,此文章是本人在阅读前两章内容时,对自己认为的重要内容所做的读书笔记及思考。
若我们预测的是离散值,例如“好瓜”“坏瓜”,此类学习任务称为“分类”。
对只涉及两个类别的“二分类”任务,通常其中一个类为“正类”,另一个为“反类”。
涉及多个类别时,称为“多分类”任务。
若我们欲预测的是连续值,例如西瓜成熟度0.95、0.37,此类学习任务称为“回归”。
将训练集中的西瓜分成若干组,每组称为一个“簇”,例如“浅色瓜”“深色瓜”,甚至“本地瓜”“外地瓜”。在聚类学习中,“浅色瓜”“深色瓜”这样的概念我们事先是不知道的。学习过程中使用的训练样本通常不拥有标记信息。
根据训练数据是否有标记信息,学习任务可大致划分为两大类:“监督学习”和“无监督学习”。
分类和回归是监督学习的代表;
聚类是无监督学习的代表。
机器学习的目标是使学得的模型能很好地适用于新样本,学得模型适用于新样本的能力,称 为“泛化”能力。即通过对训练集中瓜的学习,以获得对没见过的瓜进行判断的能力。
可能存在与训练集一致的多个假设,怎么判断这些假设中哪一个更好呢。对于一个具体的学习算法而言,它必须要产生一个模型,所以任何一个有效的机器学习算法必有其归纳偏好。有没有一般性的原则来引导算法确立正确的偏好呢?
原则:若有多个假设与观察一致,则选择最简单那个。
然而,奥卡姆剃刀原则并非唯一可行的原则,对于一个学习算法a,若它在某些问题上比算法b好,则必然存在另一些问题,在那里b比a好。哪怕b算法是“随机胡猜”这样的笨拙算法。
由公式1.1到1.3看出,总训练误差与学习算法无关,即无论算法a多聪明,学习算法b多笨拙,哪怕b算法是“随机胡猜”这样的笨拙算法,它们的期望性能竟然相同!这就是“没有免费的午餐”定理。
NFC定理表明没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用何种学习算法,至少存在一个目标函数能够使得随机猜测是更好的算法。
但NFC定理有一个重要前提:所有问题出现的机会相同、或所有问题同等重要。实际情况并不是这样。
NFL 定理最重要的寓意,是让我们清楚地认识到,脱离具体问题,空泛地谈论“什么学习算法更好”毫无意义,因为若考虑所有潜在的问题,则所有学习算法都一样好.要谈论算法的相对优劣,必须要针对具体的学习问题。
训练误差或经验误差:学习器在训练集上的误差;
泛化误差:学习器在新样本上的误差。
我们实际希望的,是在新样本上能表现很好的学习器。 当学习器把训练样本学得太好了的时候,会导致泛化能力下降,这种现象称为“过拟合”。反之学得不好则称为“欠拟合”。
过拟合最常见的情况是由于学习能力过于强大,以至于把训练样本所包含的不太一般的特性都学到了,而欠拟合则通常是由于学习能力低下而造成的。
我们无法直接获得泛化误差,而训练误差又由于过拟合现象的存在而不适合作为标准,那么,在现实中如何进行模型评估与选择呢?
可以通过一个测试集测试学习器对新样本的判别能力,以测试集上的测试误差作为泛化误差的近似。测试集应尽量不在训练集中出现、未在训练过程中使用过。
直接将数据划分为两个互斥集合,一个集合作为训练集,另一个作为互斥集。
划分尽可能保持数据分布的一致性;
一般采用若干次随机划分、重复实验评估后取平均值作为评估结果;
常见做法将大约 2/3 - 4/5 的样本用于训练,剩余样本用于测试。
先将数据集划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,余下那个子集作为测试集。
k组训练/测试集,k次训练和测试,返回均值;
k值常用取值是10;k折交叉验证,10折交叉验证;
p次k折交叉验证:随机使用不同的划分方式重复p次。
若m个样本
每次从数据集D中挑选一个样本,再将该样本放回初始数据集D中,重复m次,得到包含m个样本的数据集D'。
显然D中有一部分样本会在D'中多次出现,另一部分样本不会出现,样本在m次采样中始终不被采到的概率是 。取极限得到(公式2.1)
通过自助采样,初始数据集D中约有36.8%的样本未出现在D'中,我们可以用D'作训练集,剩余作测试集。
自助法在数据集较小、难以有效划分训练/测试集时很有用,然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。
对学习器的泛化性能进行评估,还需要有衡量模型泛化能力的评价标准。
错误率:分类错误的样本数占样本总数的比例;
精度:分类正确的样本数占样本总数的比例。
真实情况 | 预测结果 | |
正例 | 反例 | |
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
查准率P与查全率R分别定义为:
通俗地讲,查准率是判断所预测的正例有多少是正确的概率;查全率是判断在真实正例条件下,有多少正例被预测出来。
若一个学习器的P-R曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者,例如图2.3中学习器A 的性能优于学习器C。
平衡点(简称BEP)是查准率=查全率时的取值,基于BEP比较,可以认为A优于B。
但BEP还是过于简化了些,更常用的是F1度量:
实际应用中,对查准率与查全率的重视程度不同,引入F1度量的一般形式:
退化为标准的F1;
查全率有更大影响;
查准率有更大影响。
关于ROC与AUC、比较检验、偏差与方差部分内容较难理解,暂时跳过,先学习后面章节的具体机器学习算法。