数据挖掘领域十大经典算法以及适用领域
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据挖掘领域⼗⼤经典算法以及适⽤领域
1.Adaboost
Adaboost算法是⼀种提升⽅法,将多个弱分类器,组合成强分类器。
AdaBoost,是英⽂”Adaptive Boosting“(⾃适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。
它的⾃适应在于:前⼀个弱分类器分错的样本的权值(样本对应的权值)会得到加强,权值更新后的样本再次被⽤来训练下⼀个新的弱分类器。
在每轮训练中,⽤总体(样本总体)训练新的弱分类器,产⽣新的样本权值、该弱分类器的话语权,⼀直迭代直到达到预定的错误率或达到指定的最⼤迭代次数。
总体——样本——个体三者间的关系需要搞清除
总体N。
样本:{ni}i从1到M。
个体:如n1=(1,2),样本n1中有两个个体。
算法原理
(1)初始化训练数据(每个样本)的权值分布:如果有N个样本,则每⼀个训练的样本点最开始时都被赋予相同的权重:1/N。
(2)训练弱分类器。
具体训练过程中,如果某个样本已经被准确地分类,那么在构造下⼀个训练集中,它的权重就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提⾼。
同时,得到弱分类器对应的话语权。
然后,更新权值后的样本集被⽤于训练下⼀个分类器,整个训练过程如此迭代地进⾏下去。
(3)将各个训练得到的弱分类器组合成强分类器。
各个弱分类器的训练过程结束后,分类误差率⼩的弱分类器的话语权较⼤,其在最终的分类函数中起着较⼤的决定作⽤,⽽分类误差率⼤的弱分类器的话语权较⼩,其在最终的分类函数中起着较⼩的决定作⽤。
换⾔之,误差率低的弱分类器在最终分类器中占的⽐例较⼤,反之较⼩。
优点
(1)精度很⾼的分类器
(2)提供的是框架,可以使⽤各种⽅法构建弱分类器
(3)简单,不需要做特征筛选
(4)不⽤担⼼过度拟合
实际应⽤
(1)⽤于⼆分类或多分类
(2)特征选择
(3)分类⼈物的baseline
2.C4.5
C4.5是决策树算法的⼀种。
决策树算法作为⼀种分类算法,⽬标就是将具有p维特征的n个样本分到c个类别中去。
常见的决策树算法有
ID3,C4.5,CART。
C4.5是⼀系列⽤在机器学习和数据挖掘的分类问题中的算法。
它的⽬标是监督学习:给定⼀个数据集,其中的每⼀个元组都能⽤⼀组属性值来描述,每⼀个元组属于⼀个互斥的类别中的某⼀类。
C4.5的⽬标是通过学习,找到⼀个从属性值到类别的映射关系,并且这个映射能⽤于对新的类别未知的实体进⾏分类。
优点
产⽣的分类规则易于理解,准确率较⾼。
缺点
在构造树的过程中,需要对数据集进⾏多次的顺序扫描和排序,因⽽导致算法的低效。
3. K-Means算法
⼜叫K-均值算法,是⾮监督学习中的聚类算法。
基本思想
k-means算法⽐较简单。
在k-means算法中,⽤cluster来表⽰簇;容易证明k-means算法收敛等同于所有质⼼不再发⽣变化。
基本的k-means 算法流程如下:
选取k个初始质⼼(作为初始cluster,每个初始cluster只包含⼀个点);
repeat:
对每个样本点,计算得到距其最近的质⼼,将其类别标为该质⼼所对应的cluster;
重新计算k个cluster对应的质⼼(质⼼是cluster中样本点的均值);
until 质⼼不再发⽣变化
repeat的次数决定了算法的迭代次数。
优点
1. 简单、快速;
2. 对⼤数据集有较⾼的效率并且是可伸缩性的;
3. 时间复杂度近于线性,适合挖掘⼤规模数据集。
缺点
1. k-means是局部最优,因⽽对初始质⼼的选取敏感;
2. 选择能达到⽬标函数最优的k值是⾮常困难的。
4.Apriori算法
先验算法(Apriori Algorithm)是关联规则学习的经典算法之⼀。
先验算法的设计⽬的是为了处理包含交易信息内容的数据库(例如,顾客购买的商品清单,或者⽹页常访清单。
)⽽其他的算法则是设计⽤来寻找⽆交易信息(如Winepi算法和Minepi算法)或⽆时间标记(如DNA 测序)的数据之间的联系规则。
在关联式规则中,⼀般对于给定的项⽬集合(例如,零售交易集合,每个集合都列出的单个商品的购买信息),算法通常尝试在项⽬集合中找出⾄少有C个相同的⼦集。
先验算法采⽤⾃底向上的处理⽅法,即频繁⼦集每次只扩展⼀个对象(该步骤被称为候选集产⽣),并且候选集由数据进⾏检验。
当不再产⽣匹配条件的扩展对象时,算法终⽌。
5.EM算法
在统计计算中,最⼤期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最⼤似然估计的算法,其中概率模型依赖于⽆法观测的隐藏变量(Latent Variabl)。
最⼤期望经常⽤在机器学习和计算机视觉的数据集聚(Data Clustering)领域。
6.PageRank
PageRank是Google算法的重要内容。
2001年9⽉被授予美国专利,专利⼈是Google创始⼈之⼀拉⾥·佩奇(Larry Page)。
因
此,PageRank⾥的page不是指⽹页,⽽是指佩奇,即这个等级⽅法是以佩奇来命名的。
PageRank根据⽹站的外部链接和内部链接的数量和质量俩衡量⽹站的价值。
PageRank背后的概念是,每个到页⾯的链接都是对该页⾯的⼀次投票,被链接的越多,就意味着被其他⽹站投票越多。
这个就是所谓的“链接流⾏度”——衡量多少⼈愿意将他们的⽹站和你的⽹站挂钩。
PageRank这个概念引⾃学术中⼀篇论⽂的被引述的频度——即被别⼈引述的次数越多,⼀般判断这篇论⽂的权威性就越⾼。
7.K-邻近算法/kNN
⼜叫K-邻近算法,是监督学习中的⼀种分类算法。
⽬的是根据已知类别的样本点集求出待分类的数据点类别。
kNN的思想很简单:在训练集中选取离输⼊的数据点最近的k个邻居,根据这个k个邻居中出现次数最多的类别(最⼤表决规则),作为该数据点的类别。
kNN算法中,所选择的邻居都是已经正确分类的对象。
优点
理论成熟,思想简单,既可以⽤来做分类也可以⽤来做回归;
适合对稀有事件进⾏分类(例如:客户流失预测);
特别适合于多分类问题(multi-modal,对象具有多个类别标签,例如:根据基因特征来判断其功能分类), kNN⽐SVM的表现要好。
缺点
当样本不平衡时,如⼀个类的样本容量很⼤,⽽其他类样本容量很⼩时,有可能导致当输⼊⼀个新样本时,该样本的K个邻居中⼤容量类的样本占多数;
计算量较⼤,因为对每⼀个待分类的⽂本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点;
可理解性差,⽆法给出像决策树那样的规则。
8.朴素贝叶斯算法
NaïveBayes算法,⼜叫朴素贝叶斯算法,朴素:特征条件独⽴;贝叶斯:基于贝叶斯定理。
属于监督学习的⽣成模型,实现简单,没有迭
代,并有坚实的数学理论(即贝叶斯定理)作为⽀撑。
在⼤量样本下会有较好的表现,不适⽤于输⼊向量的特征条件有关联的场景。
在统计资料的基础上,依据某些特征,计算各个类别的概率,从⽽实现分类。
朴素贝叶斯常⽤的三个模型有:
⾼斯模型:处理特征是连续型变量的情况
多项式模型:最常见,要求特征是离散数据
伯努利模型:要求特征是离散的,且为布尔类型,即true和false,或者1和0
9.CART
CART与C4.5类似,是决策树算法的⼀种。
此外,常见的决策树算法还有ID3,这三者的不同之处在于特征的划分:ID3:特征划分基于信息增益
C4.5:特征划分基于信息增益⽐
CART:特征划分基于基尼指数
基本思想
CART假设决策树是⼆叉树,内部结点特征的取值为“是”和“否”,左分⽀是取值为“是”的分⽀,右分⽀是取值为“否”的分⽀。
这样的决策树等价于递归地⼆分每个特征,将输⼊空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输⼊给定的条件下输出的条件概率分布。
CART算法由以下两步组成:
决策树⽣成:基于训练数据集⽣成决策树,⽣成的决策树要尽量⼤;
决策树剪枝:⽤验证数据集对已⽣成的树进⾏剪枝并选择最优⼦树,这时损失函数最⼩作为剪枝的标准。
CART决策树的⽣成就是递归地构建⼆叉决策树的过程。
CART决策树既可以⽤于分类也可以⽤于回归。
本⽂我们仅讨论⽤于分类的CART。
对分类树⽽⾔,CART⽤Gini系数最⼩化准则来进⾏特征选择,⽣成⼆叉树。
CART⽣成算法如下:
输⼊:训练数据集D,停⽌计算的条件:
输出:CART决策树。
根据训练数据集,从根结点开始,递归地对每个结点进⾏以下操作,构建⼆叉决策树:
设结点的训练数据集为D,计算现有特征对该数据集的Gini系数。
此时,对每⼀个特征A,对其可能取的每个值a,根据样本点对A=a的测试为“是”或 “否”将D分割成D1和D2两部分,计算A=a时的Gini系数。
在所有可能的特征A以及它们所有可能的切分点a中,选择Gini系数最⼩的特征及其对应的切分点作为最优特征与最优切分点。
依最优特征与最优切分点,从现结点⽣成两个⼦结点,将训练数据集依特征分配到两个⼦结点中去。
对两个⼦结点递归地调⽤步骤l~2,直⾄满⾜停⽌条件。
⽣成CART决策树。
算法停⽌计算的条件是结点中的样本个数⼩于预定阈值,或样本集的Gini系数⼩于预定阈值(样本基本属于同⼀类),或者没有更多特征。
10.SVM
SVM(Support Vector Machine)中⽂名为⽀持向量机,是常见的⼀种判别⽅法。
在机器学习领域,是⼀个有监督的学习模型,通常⽤来进⾏模式识别、分类以及回归分析。
⽀持向量机可以分为线性核⾮线性两⼤类。
其主要思想为找到空间中的⼀个更够将所有数据样本划开的超平⾯,并且使得本本集中所有数据到这个超平⾯的距离最短。