赞
踩
该小节对我来说有点晦涩,按照我的理解,将“瓜”的一个样本,一个特征向量,例如(色泽=,根蒂=,敲声=)的一个取值视为一个假设,所有可能取值组合成一个假设空间。模型要做的就是在学习过程中根据训练集一步步搜索每个假设,删除不对的假设,最终的得到一个和训练集一致,即能判断所有训练样本的假设。
此外,原文中写到“搜索过程中可以不断删除与正例不一致的假设、和(或)与反例一致的假设”。应该是说三种方式,一是删除与正例不一致且和反例一致的假设,二是只删除与正例不一致的假设,三是只删除与反例一致的假设。书中采取的应该是第一种,最终版本空间中有三个假设,这三个假设每一个都可以判断书中数据集的每一个样本是好瓜还是坏瓜,但是不同的假设判断新的数据结果却可能不同。至于选哪一个假设来判断新数据,属于“归纳偏好”问题。
机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”。该小节提到要根据具体问题判断算法的相对优劣,NFL定理让我们意识到脱离具体问题,谈什么算法更好是毫无意义的。
从样例中学习涵盖了监督学习、无监督学习等,在二十世纪八十年代,符号主义学习(代表算法:决策树)和基于神经网络的连接主义学习是其两大主流技术。二十世纪九十年代中期,统计学习成为主流,代表算法是支持向量机(SVM)以及更一般的“核方法”。二十一世纪初,连接主义学习卷土重来,深度学习开始蓬勃发展。
(1)留出法:直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T。需要注意两个问题,一是训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响;二是即便在给定训练/测试集的样本比例后,仍存在多种划分方式对初始数据集D进行分割,一般采用若干次随机划分、重复进行实验评估后去平均值作为留出法的评估结果。
(2)交叉验证法:“交叉验证法”先将数据集D划分为k个大小相似的互斥子集,即。每个子集都尽可能保持数据分布的一致性,即从D中分层采样得到。然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集。这样就可获得k组训练/测试集,从而可进行k次训练和测试。最终返回的是这k个测试结果的均值。通常把交叉验证法称为“k折交叉验证”,k常用取值为10。下图为西瓜书中10折交叉验证示意图。
k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,例如常见的有“10次10折交叉验证”。此外,交叉验证法还有个特例——留一法。
(3)自助法:以自助采样法为基础,在给定包含m个样本的数据集D,我们对它进行采样产生数据集D1:每次随机从D中挑选一个样本,将其拷贝放入D1,然后将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被猜到,重复操作m次,就得到包含m个样本的数据集D1.约有36.8%的样本不会出现在D1中,可将D1作为训练集,D\D1作为测试集。不过,在初始数据量足够时,留出法和交叉验证法更常用一些。
回归任务中常用的性能度量是“均方误差”,如下所示:
该节主要介绍分类任务中常用的性能度量
错误率是分类错误的样本数占样本总数的比例,如下所示:
精度是分类正确的样本数占样本总数的比例,如下所示:
查准率P(precision)定义如下
查全率R(recall)定义如下
简单来说,查准率是指算法选出的西瓜中好瓜占了多少比例,查全率是指全部好瓜中有多少比例被算法选出(算法选出的西瓜是指算法预测结果为好瓜的西瓜)。查准率和查全率是一对矛盾的度量,通常来说,查准率高时,查全率低;而查全率高时,查准率往往偏低。
若希望西瓜中的好瓜可能多被选出(即希望查全率高),则可以极端点让算法选出所有西瓜,这样好瓜必然包含在内(查全率等于100%,因为此时只有TP和FP),但这样查准率必然会较低,因为此时TP+FP与TP均变大,而前者变大的程度比后者高。
若希望算法选出的好瓜比例尽可能高(即希望查准率高),则可只挑选最有把握的瓜(这样会减少选瓜的数量,即TP+FP减少),难免漏掉不少好瓜(TP也会减少),相比之下TP+FP减少的更快(因为有把握选好瓜),因此查准率变高。而查全率中TP+FN不变(好瓜总数不变),在TP减少的情况下,查全率变低。
F1度量更为常用,其定义如下
F1还有一般形式——,其定义如下
其中B>0度量了查全率对查准率的相对重要性。B=1时退化为标准的F1;B>1时查全率有更大影响;B<1时查准率有更大影响。
与P-R图相似,若一个学习器的ROC曲线被另一个学习器的曲线完全包裹,则后者性能优于前者。若两条曲线交叉,则可利用AUC(ROC曲线下的面积)衡量优劣。下图为西瓜书中ROC曲线与AUC示意图。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。