SDABAS DM模型调优—Bagging Boosting.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SDABASDM模型调优—Baggingamp;Boosting.docx

SDABAS DM模型调优—Bagging Boosting 本文介绍模型调优的方法Bagging Boosting的应用方法,如有雷同纯属巧合? 分类算法性能优化问题的提出 SDABAS DM中包含很多分类算法,如: 决策树分类 ID3 C4.5 贝叶斯分类 神经网络分类 支持向量机分类 其他分类 各个算法有着不同的性能和运算精度,通过对同一数据源应用不同的分类算法进行性能测试,可比较各个算法的性能差异,进而选择最优的某个算法来完成模型训练。 当确定好使用某一算法进行模型训练时,如何通过其他优化手段进一步提升该算法的性能呢?本文介绍两个常用的简单方法Bagging Boosting。 分类法的准确率评估方式 保持(holdout) 原理:将数据集整体划分为两个独立的数据集,通常训练级(2/3),测试集(1/3)。 变形的划分:随机子选样。 K-次交叉验证(K-fold cross validation) 原理:将数据集分为k个子集,用k-1个子集做训练集,1个子集做测试集,然后k次交叉验证。 BaggingBoosting介绍 Bagging的基本思想 给定一个弱学习算法和一个训练集 单个弱学习算法准确率不高 将该学习算法使用多次得出预测函数序列,进行投票 最后结果准确率将得到提高 Bagging要求“不稳定”的分类方法; 比如:决策树,神经网络算法 不稳定:数据集的小的变动能够使得分类结果的显著的变动 Boosting基本思想 强学习算法: 准确率很高的学习算法 弱学习算法: 准确率不高,仅比随机猜测略好 提出问题: 是否可以将弱学习算法提升为强学习算法 基本思想: 每个样本都赋予一个权重 T次迭代,每次迭代后,对分类错误的样本加大权重,使得下一次的迭代更加关注这些样本。 Boosting也要求“不稳定”的分类方法 过程: 在一定的权重条件下训练数据,得出分类法Ct 根据Ct的错误率调整权重 特点: Boosting易受到噪音的影响; AdaBoost 可以用来鉴别异常; 具有最高权重的样本即为异常 Bagging 和boosting的区别 训练集: Bagging:随机选择,各轮训练集相互独立 Boosting:各轮训练集并不独立,它的选择与前轮的学习结果有关 预测函数: Bagging:没有权重;可以并行生成 Boosting:有权重;只能顺序生成 其他方面: 在大多数应用中,准确率比运算速度更为重要,因为计算机的性价比提高很快。 bagging和boosting都可以有效地提高分类的准确性。 在大多数数据集中,boosting的准确性比bagging高。 在有些数据集中,boosting会引起退化。---Overfit Bagging和boosting方法的要求: 最基本的是分类方法的不稳定性。即:训练集的小变动能够使得分类模型显著变动。 在SDABAS DM中进行性能评估试验对比 创建未优化的分类模型并评估其计算精度 使用//Samples/data/Iris数据作为训练集,用决策树算法进行模型训练,使用交叉验证算子评估模型性能: 执行该流程得到默认参数下的决策树: 在性能矢量标签窗口,可看到默认决策树模型精度为93.33%+/-5.16% 加入Bagging算子重新评估精度 更改交叉验证操作符内部决策树算子为Bagging算子: 在Bagging算子内部设置同样的决策树算子: 执行该流程获得新的模型精度评估结果94.67+/-4.00%: Bagging算子对模型性能提升的作用 通过对比两个模型评估结果,得到Bagging算子对决策树计算精度有一定的提升作用。本例中实际提升值为:94.67% - 93.33% = 1.33% Boosting算子对模型性能提升的测试(一) 更改交叉验证中的Bagging算子为Boosting算子AdaBoost,Boosting内部子流程仍然使用默认的决策树算子: ??行该流程,得到新的模型性能评估结果,其计算精度为92.67%+/-7.57%: 可见在本例中Boosting算子并未提升模型计算精度,反而使精度下降了一点点。 Boosting算子对模型性能提升的测试(二) 上例中Boosting的表现不佳,猜测是由于Boosting固有的退化特性,使得某些情况下的数据计算精度表现不是很理想。下面更改流程中的数据源,换用另外一个测试集再次进行分析。 首先更改主流程中的数据源为 //Samples/data/Sonar,并在评估过程中使用两个交叉验证评估算子,其中上面的评估算子“Validation”里面使用了Boosting算子做训练,下面的评估算子“Validation(2)”未使用Boosting算子而是直接用决策树做训练,如图: 执行该流程得到两个不同的精度计算

文档评论(0)

蝶恋花 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档