- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.2.2 Cost-Sensitive学习 8.2 成本评价 根据敏感性学习的不同策略,cost-sensitive学习方法可以划分为两大类。 第一类方法称为Rescaling,即通过对训练数据集的预处理以提高分类算法对于某些分类结果的敏感性。主要思想是通过改变训练数据集中各类别的实例数据比例,使得训练得到的分类器对于某类数据具有一定的倾向性,让新的分类器具有cost-sensitive的性质。 另一类方法称为reweighted,以cost为基准修改不同分类在算法中的class membership probability,以获得具有一定数据倾向性的分类算法。主要思想是将非cost-sensitive分类算法作为被学习的对象,将非cost-sensitive分类算法通过机器学习过程获得cost-sensitive的性质。例如,通过一种集成学习的方式从多个较弱的分类算法的集合中获得一个较好的cost-sensitive分类算法。 8.3 复杂度评估 按照建模的目的,可以分为两种基本情况。第一种情况下,建模目的是构建一个对数据集合进行概要描述的模型,捕捉数据的主要特征。该种情况下的模型构建技术是以数据压缩和信息理论为基础。另一种情况下,建模目的是从现有数据泛化到可能出现的新数据。 评分函数与最短描述长度原则均是评价模型复杂度的常用方法。评分函数通常是在拟合数据程度和模型简洁性间达到某种折中。最短描述长度(Minimum Description Length,MDL)法则将抽象的数据模型看成生成该数据的一段代码,将模型的代码长度称为数据的描述长度。使用MDL法则进行建模的基本思想是将MDL作为模型的简洁性的测度。 8.4 验证 数据挖掘算法和模型只有经过测试集数据的验证,才能实实在在地比较不同模型之间的差异,并确认其应用的有效性。模型验证的主要方式有交叉验证和Bootstrap验证。 8.4.1 交叉验证 8.4 验证 交叉验证,有时也称为循环估计,是一种源于统计学的将数据样本切割成较小子集的实用方法。交叉验证先在一个子集上做训练(分类器或模型),称为训练集(Training Set),而其他子集则用于确认及验证(分类器或模型)分析的有效性,称为验证集或测试集(Testing Set)。最终,通常将交叉验证结果进行平均或者使用其他结合方式 ,最终得到一个单一估计。 交叉验证能够充分有效地利用已有数据,对于防范过度学习和欠学习问题非常重要,尤其是在数据量少而后续的样本是危险、成本过高或不可能去搜集的时候。针对模型进行交叉验证的目的主要是为了验证模型的可靠稳定性。 8.4.1 交叉验证 8.4 验证 常见的交叉验证形式有Holdout验证、重复随机子抽样验证和K折交叉验证(K-fold Cross-Validation)三种。 Holdout验证 Holdout验证随机从最初的样本中选出部分作为验证模型的数据,而剩余的就作为训练数据。一般情况下,被选做验证数据的数据少于原本样本三分之一。严格地说,Holdout验证并非交叉验证,因为数据并没有交叉使用。 8.4.1 交叉验证 8.4 验证 重复随机子抽样验证 重复随机子抽样验证可以看做是Holdout验证的改进版。它将初始样本数据集随机的划分为训练集和测试集。对每一个划分,用训练集训练分类器或模型,用测试集评估预测的精确度。进行多次划分后,用均值进行模型有效性估计。 8.4.1 交叉验证 8.4 验证 K折交叉验证 在K折交叉验证中,通常将初始采样平均划分成为K个子样本。每次验证中,保留一个单独的子样本被作为验证模型的数据,而将其他K-1个样本作为训练数据。循环交叉验证K次后,每个子样本都被验证一次。K折交叉验证的优势在于能够同时重复运用随机产生的子样本进行训练和验证。最常见的K折交叉验证是10折交叉验证。 K折交叉验证中的每一个样本数据都既被用作训练数据也被用作测试数据。避免了过度学习和欠学习状态的发生,得出的评估结果比较有说服力。 8.4.2 Bootstrap 8.4 验证 采用Bootstrap方法对模型进行验证的思想是对原始数据集进行Bootstrap重抽样以构建训练数据集。假设原始数据集由N条数据,在进行N次有放回的Bootstrap重抽样后形成了一个新数据集。由于新数据集中有些数据是重复的,即被抽样了不止一次,因此原始数据集中必然存在一些未被抽样的数据。那些未被抽样的数据就可以作为测试集。基于Bootstrap抽样方法构建的数据集,可以进一步对数据挖掘算法的可靠性进行置信区间估计。Bootstrap方法的思想并不复杂简单。针对不同的数据特点,Bootstrap重抽样方法可
文档评论(0)