学位论文—基于adaboost算法的银行客户数据分析dm课程.doc
《学位论文—基于adaboost算法的银行客户数据分析dm课程.doc》由会员分享,可在线阅读,更多相关《学位论文—基于adaboost算法的银行客户数据分析dm课程.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 山东财经大学金融数据挖掘课程论文题目:基于Adaboost算法的银行客户数据分析学 院 计算机科学与技术 专 业 计算机科学与技术 班 级 计算机科学与技术1201班学 号 201218441442 姓 名 王 健 山东财经大学教务处制二一四年 十二 月1山东财经大学学士学位论文基于Adaboost算法的银行客户数据分析摘 要分类是一种重要的数据分析形式,它提取刻画重要数据类的模型。这种模型称为分类器,预测分类的(离散的,无序的)类标号。在机器学习中,对分类器的分类进行准确性评估是一个基本问题。我们以此来确定分类器是否可以运用到实际的分类中。组合分类器是一个复合模型,由多个分类器组合而成。组
2、合分类器基于投票返回类标号预测。组合分类器往往比它的成员分类器更准确。传统的学习模型假定数据类是良分布的。然而在现实世界的许多领域中,数据是类不平衡的,其中感兴趣的主类只有少量元祖。这称为类不平衡问题。我们还研究提高类不平衡数据分类准确率的技术。我们将Adaboost算法应用于银行客户数据分析,分析结果表明,该算法运行可靠。本文最后对Adaboost算法的优缺点进行了总结。 关键词:银行信息;AdaBoost;组合分类1.引言1.1组合分类方法简介袋装、提升和随机森林都是组合分类方法的列子。组合分类把k个学习得到的模型(或基分类器)M1,M2,Mk组合在一起,旨在创建一个改建的复合分类模型M*
3、。使用给定的数据集D创建k个训练集D1,D2,,Dk,其中Di用于创建分类器Mi。给定一个待分类的新数据元祖,每个基分类器通过返回类预测投票。组合分类器基于基分类器的投票返回类预测。组合分类器往往比它的基分类器。列如,考虑一个进行多数表决的组合分类器。也就是说,给定一个待分类元祖X,它收集由基分类器返回的类标号预测,并输入占多数的类。基分类器可能出错时,但是仅当超过一半的基分类器出错时,组合分类器才会误分类X,当模型之间存在显著差异时,组合分类器产生更好的结果。也就说,理想的,基分类器之间几乎不相关。基分类器还应该优于随机预测。1.2组合分类方法 我们分类中用到很多经典分类算法如:SVM、lo
4、gistic 等,我们很自然的想到一个方法,我们是否能够整合多个算法优势到解决某一个特定分类问题中去,答案是肯定的! 通过聚合多个分类器的预测来提高分类的准确率。这种技术称为组合方法(ensemble method) 。组合方法由训练数据构建一组基分类器,然后通过对每个基分类器的预测进行权重控制来进行分类。考虑25个二元分类组合,每个分类误差是0.35 ,如果所有基分类器都是相互独立的(即误差是不相关的),则在超过一半的基分类器预测错误组合分类器才会作出错误预测。这种情况下的组合分类器的误差率: 组合分类器性能优于单个分类器必须满足两个条件:(1)基分类器之间是相互独立的 (2) 基分类器应当
5、好于随机猜测分类器。实践上很难保证基分类器之间完全独立,但是在基分类器轻微相关情况下,组合方法可以提高分类的准确率。2.背景介绍2.1 Boosting方法提出和发展在了解Adaboost方法之前,先了解一下Boosting方法回答一个是与否的问题,随机猜测可以获得50%的正确率。如果一种方法能获得比随机猜测稍微高一点的正确率,则就可以称该得到这个方法的过程为弱学习;如果一个方法可以显著提高猜测的正确率,则称获取该方法的过程为强学习。1994年,Kearns和Valiant证明,在Valiant的PAC(ProbablyApproximatelyCorrect)模型中,只要数据足够多,就可以将
6、弱学习算法通过集成的方式提高到任意精度。实际上,1990年,SChapire就首先构造出一种多项式级的算法,将弱学习算法提升为强学习算法,就是最初的Boosting算法。Boosting意思为提升、加强,现在一般指将弱学习提升为强学习的一类算法。1993年,Drucker和Schapire首次以神经网络作为弱学习器,利用Boosting算法解决实际问题。前面指出,将弱学习算法通过集成的方式提高到任意精度,是Kearns和Valiant在1994年才证明的,虽然Boosting方法在1990年已经提出,但它的真正成熟,也是在1994年之后才开始的。1995年,Freund提出了一种效率更高的Bo
7、osting算法。2.2 AdaBoost算法的提出AdaBoost算法是Freund和Schapire根据在线分配算法提出的,他们详细分析了AdaBoost算法错误率的上界,以及为了使强分类器达到错误率,算法所需要的最多迭代次数等相关问题。与Boosting算法不同的是,adaBoost算法不需要预先知道弱学习算法学习正确率的下限即弱分类器的误差,并且最后得到的强分类器的分类精度依赖于所有弱分类器的分类精度,这样可以深入挖掘弱分类器算法的能力。 Adaboost是一种基于级联分类模型的分类器。级联分类模型可以用图2-1表示:所有待检测样本 判决为正例样本321 负例样本 图2-1级联分类器介
8、绍:级联分类器就是将多个强分类器连接在一起进行操作。每一个强分类器都由若干个弱分类器加权组成,例如,有些强分类器可能包含10个弱分类器,有些则包含20个弱分类器,一般情况下一个级联用的强分类器包含20个左右的弱分类器,然后在将10个强分类器级联起来,就构成了一个级联强分类器,这个级联强分类器中总共包括200若分类器。因为每一个强分类器对负样本的判别准确度非常高,所以一旦发现检测到的目标位负样本,就不在继续调用下面的强分类器,减少了很多的检测时间。因为一幅图像中待检测的区域很多都是负样本,这样由级联分类器在分类器的初期就抛弃了很多负样本的复杂检测,所以级联分类器的速度是非常快的;只有正样本才会送
9、到下一个强分类器进行再次检验,这样就保证了最后输出的正样本的伪正(falsepositive)的可能性非常低。3.方法 3.1 AdaBoost算法的基本原理Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用Adaboost分类器可以排除一些不必要的
10、训练数据特征,并将关键放在关键的训练数据上面。 AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中n为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被突出出来,从而得到一个新的样本分布。在新的样本分布下,再次对弱分类器进行训练,得到弱分类器。依次类推,经过T次循环,得到T个弱分类器,把这T个弱分类器按一定的权重叠加(boost)起来,得到最终想要的强分类器。AdaBoost实际具体解决了两个问题:怎么处理训练样本?在AdaBoost中,每个样本都被
11、赋予一个权重。如果某个样本没有被正确分类,它的权重就会被提高,反之则降低。这样,AdaBoost方法将注意力更多地放在“难分”的样本上。怎么合并弱分类器成为一个强分类器?强分类器表示为弱分类器的线性加权和形式,准确率越高的弱学习权重越高。3.2 AdaBoost算法分析 AdaBoost算法其实是一个简单的弱分类算法提升过程,这个过程通过不断的训练,可以提高对数据分类能力。 1、先通过对N个训练样本的学习得到第一个弱分类器;2、 讲分错的样本和其他的新数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器;3、 将1和2都分错了的样本加上其他的新样本构成另一个新的N个的训练
12、样本,通过对这个样本的学习得到第三个弱分类器;4、 最终经过提升的强分类器。即某个数据被分为哪一类要通过的多数表决。 具体说来,整个Adaboost 迭代算法就3步:1、 初始化训练数据的权值分布。如果有N个样本,则每一个训练样本最开始时都被赋予相同的权重:1/N。2、 训练弱分类器。具体训练过程中,如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权重就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提高。然后,权重更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。3、 将各个训练得到的弱分类器组合成强分类器。各个弱分类器的训练过程结束后,加大
13、分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小。3.3 AdaBoost算法流程1. 给定训练样本集S,其中X和Y分别对应于正例样本和负例样本; T为训练的最大循环次数;2. 初始化样本权重为1/n ,即为训练样本的初始概率分布;3. 第一次迭代:(1) 训练样本的概率分布相当下,训练弱分类器: (2) 计算弱分类器的错误率: (3) 选取合适阈值,使得错误率最小 (4) 更新样本权重: (5) 最终得到的强分类器。3.4 Ada
14、Boost算法的实现 图3-1图3-1就是Adaboost的结构,最后的分类器YM是由数个弱分类器(weak classifier)组合而成的,相当于最后m个弱分类器来投票决定分类,而且每个弱分类器的“话语权”不一样。 3.5 AdaBoost算法过程1. 初始化所有训练样列的权重为1/N,其中N是样列数2. For m=1,M; A).训练弱分类器ym(),使其最小化权重误差函数(weighted error function): B).计算该弱分类器的话语权: . C).更新权重: 其中Zm: 是规范因子,使所有w的和为1. 3.得到最后的分类器: . 以上过程和AdaBoost算法的结构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学位 论文 基于 adaboost 算法 银行 客户 数据 分析 dm 课程
限制150内