数据挖掘十大经典算法.docx
- 文档编号:8754530
- 上传时间:2023-05-14
- 格式:DOCX
- 页数:23
- 大小:35.26KB
数据挖掘十大经典算法.docx
《数据挖掘十大经典算法.docx》由会员分享,可在线阅读,更多相关《数据挖掘十大经典算法.docx(23页珍藏版)》请在冰点文库上搜索。
数据挖掘十大经典算法
数据挖損十大经典算法
—、C4.5
C4.5算法是机器学习算法中的一种分类决策M算法,其核心算法是ID3算
法.C4.5»法缆承了ID3算法的优点,并在以下几方面湘ID3算法进行了改进:
1)用信息增益率来选择凤性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2)在程中枝;
3)能密完成对连续属性的离散化处理;
4)能够对不完整数safftt理。
C4.5算法有如下优自:
产生的分类规则易干理辭,准晞率较高。
其缺自是:
在沟造樹的过程中,需要对数摇集进行多次的顒序甘描和排序,因而导致算法的低效。
1、机器学习中,决策榊是一个预测模型;他代表的是对象属11号对象值之同的一种映射关系。
榊中毎个节点表示某个对象,而每个分叉胳径则代表的某个可能的属性値,而每个叶结虑!
M
对应从根节点到该叶节点所经历的路径所表示的对象的值。
决策M仅有单一输出,若侬有复数输出,可以5!
立独立的决策M以处理不同输出。
2、从数据产生决策榊的机器学习技术叫做决策榊学习,通俗说就是决策讯。
3、决策M学习也是数据挖掘巾一个普通的方法。
在这里,毎个决策M都表述了一种榔型结构,他由他的分支来对该类塑的对象依靠MUSfi分类。
每个决策也可以依靠对源数锯库的分樹
进行数据测试。
这f过程可以递旧式的对楓进行修剪。
当不能再进行分剖或一个单独的类可以被应用于某一分支时,递iHil程就完成了。
另外,师机森林分类器将许名决策榊结合起来
以提升分类的正确率。
决策M是如何工作的?
1、决策M—般都是自上而下的来生成的。
2、选择分创的方法有好几种,但是目的部是一致的:
对目标类尝试进行最佳的分剧。
3、从根到叶子节点都有一条路径,这条路径就是一条一规则
4、决策M可以是二叉的,也可以是名叉的。
对每个节点的術I:
D通il该节点的记录数
2)如果是叶子节贞的话,分类的胳径
3)对叶子节直正晞分类的比例。
有些规则的效果可以比其他的一些规则要好。
由于ID3算法在实际应用中存在一些间题,于是Quilan提出了C4.5算法,严怡上说C4.5只能是ID3的一个改进算法。
相信大家对ID3算法部很.熟悉了,这里就不做介绍。
C4.5算法#«TID3算法的优点,并在以下几方面对ID3算法进斤了改进:
1)用信息增益率来选SBtt,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2)在程中枝;
3)能密完成对连续属性的离散化处理;
4)能够对不完整数safftt理。
C4.5算法有如下优点:
产生的分类规処易于理黔,准晞率较高。
其缺点是:
在沟造欄的过程中,需要对数据集进行多次的顒序扫描和排序,因而导致算法的低效。
此外,C4.5只适合于
能够驻留于内存的数据集,当训竦集大得无法在内存容纳时程序无法运行。
来自搜索的其他内容:
C4.5算法是机器学习算法中的_种分类决策栅算法,其核心算法是ID3算法.分类决策榔算法是从大量事例中进行提取分类規则的自上而下的决策《]•决策树的各部分是:
根:
学习的事M集.
枝:
分类的判定条件.
比
分好的各个类.
ID3算法
1.様念提取算法CLS
1)初始化参®C={E},E包丽有的例子,为根.
2)IFC中的任一元素e同憾干同一个决策类则创建一个叶子
节点YES终止.
ELSE依启发式标准,选择特征Fi={V1,V2,V3,...Vn}并皿建判定节点
划分C为互不相交的N个集合C1,C2,C3,...,;
3)对任一个Ci递吐
2.ID3算法
1)砸机选择C的一个子集W(窗口).
2)调用CLS生成W的分类MDT(强调的启发式标准在后).
3)颇序SffiC捜集DT的意外(即由DT无法确定的网子).
4)组合W号已发现的恿外,形成新的W.
5)重复2)到4),直到无側外为止.
启发式标准:
只跟本身与其子M有关採取信息理论用炳来量度.
箱是选择事件时选择自由度的量度,其计算方法为
P=freq(Cj,S)/|S|;
INFO(S)=-SUM(P*LOG(P));SUM()0数是求jU1
到n和.
Gain(X)=lnfo(X)-lnfox(X);
lnfox(X)=SUM((|Ti|/|T|)*lnfo(X);
为保证生成的决策欄最小,ID3算法在生成子栅时,选取使生成的子射的釈即Gain(S))t小的
的特征来生成子楓.
3、ID3算法对数弼的要求
1)•所有屈性必须为离歆量.
2).所有的Ml练例的所有憾性必须有一个明确的值.
3).相同的因素必须得到相同的给论且ill竦例必须唯一.
C4.5对ID3算法的改进:
1.殖的改进,加上了子M的信息.
Split_lnfox(X)=-SUM((|T|/|Ti|)*LOG(|Ti|/|T|));
Gainratio(X)=Gain(X)/SplitInfox(X);
2.在输人数据上的改进.
1)
因素扬性的值可以是连续量.C4.5对其排序并分成不同的集合后按照ID3算法当作离散量进折处理,但结论屈性的值必须是离散值.
2)训竦例的因素扬性值可以是不确定的,以?
表示,但结论必须是确定的
3.对已生成的决策«»17裁歟减小生成栅的規模.
二、数据挖損十大经典算法
(2)k-means
术ig“k-means”最早是由JamesMacQueen在1967年提出的,逹一观自可以追溯到1957年HugoSteinhaus所提出的想法。
1957年,斯图亚特•劳埃德最先提出这一标准算法,当初是作为-门应用于脉码调制的技术,直到1982年,这一算法才在贝尔实验室被正式提出01965年,E.W.Forgy发表了一f本质上是相同的方法,1975年和1979年,Hartigan和Wong分别提出了一个更高效的版本。
算法描述
输人:
篠的数目k;包含n个对象的数据集D。
输岀:
k个簇的集合。
方法:
从D中任意选择k个对象作为初始濮中心;
repeat;
根锯篠中对象的均值,将每个对象指派到最相做的篠;
更新篠均值,即廿算毎个濮中对象的均值;
廿算准则函数;
until准剧函数不再发生变化。
算法的性能分折
1)优点
(1)k-平均算法是解决聚类问題的一种经典算法,算法简单、快速。
(2)对处理大数据集,该算法是相对可仲编的和高效率的,因为它的复杂度大约是0(nkt),其中n是所有对象的数目,k是簇的数目,t是迭代的次数。
通常k«no迪个算法经常以局部最优结東。
(3)算法尝试找岀使平方误差函数值最小的k个则分。
当篠是密集的、球状或
01状的,而濮与篠之间区别明显时,它的聚类效果很好。
2)缺点
(1)k-平均方法只有在簇的平均值被定义的悄况下才能使用,不适用干某些应用,如涉员有分类超II的数据不适用。
(2)要求用户助须事先给岀要生成的篠的数目k。
(3)对初值敏感,对于不同的初始值,可能会导致不同的聚类结果。
(4)不适合干发现非岀面形状的濮,或者夫小差别很大的濮。
(5)对于嘛声"和孤立点数据敏感,少量的该类数据能龄对平均值产生极大影响。
算法的改进
针对算法存在的间题,对K-means算法提出一些改进:
-是数锯预处理,
二是初始聚类中心选择,
三是迭代il程中聚类种子的选择。
仁首先对样本数据进行正规化处理,这样就能肪止某些大的数据左右样本间的距离。
给定一组含有n个数据的数据集,毎f数据含有m个扬性,分别廿算毎一个扬H的均值、标准差对毎条SffiiaiT标准化。
3、其次,初始聚类中心的选择对最后的聚类效果有很大的影咀,原K-means算法是I#机选蚁k个数据作为聚类中心,而聚类的结果要是同类间尽可能相做,不同类间尽可能相异,所以初始聚类中心的选取要尽可能做到逆一点。
采用基于距离和的祗立虑定义来Slltt立虑的预先筛选,并利用两两数据之间的最大距离在剌余数据集合中寻找朋始聚类中心。
(0对干实际数据,砸立点个数往往不可硕知。
在选择初始聚类中心时,先将孤立点细人貌廿X围,在样本巾计算湘象两两之间的距离,选岀距离最大的两个点作为两个不同类的聚类中心,接着从其余的样本对象中找出已经选出来的所有聚类中心的距离和最大的点为另一个聚类中心,直到选岀k个聚类中吧。
迪样做就降低了样本聊人顺序对初始聚类中临选择的影响。
聚类中心选好以后,就要进行不斷的迭代廿算,在K-means算法中,是将聚类均值点(类中所有数据的几何中心点)作为新的聚类种子谨行新一輕的聚类计算,在这种悄况下,新的聚类种子可能偏离真正的数冊密集区,从而导致偏差,特别是在有孤立点存在的悄况下,有很大的局限性。
在选择初始中心点时,由T1HS立点计算在内,所以在迭代过程中要避免抵立点的影晌。
这里根摇聚类种子的廿算时,果用簇中影些与第k-1轮聚类种子相儆度较大的数据,廿算他f]的均值点作为第k轮聚类的种子,相当TSI立点排除在外,砸立自不参与聚类中心的it算,逆样聚类中心就不会因为抵立点的原因而明显偏离数据集中的地方。
在廿算聚类中心的时候,要运用一定的算法将孤立点排除在it算均值虑那些数据之外,这里主要果用类中与聚类种子相做度大干某一岡值的数据组成毎个类的一个子集,廿算子集中的均值点作为下一轮聚类的聚类种子。
为了能让更乡的数扬参与到聚类中心的it算种去,同值XU要包含大多数的数据。
在第k-1轮聚类获得的类,计算该类中所有数据与该类聚类中心的平均iOS,选择类中与聚类种子相做度大于2S的数弼组成毎个类的一个子集,以此子集的均值点作为第k轮聚类的聚类种子。
在数据集巾无论是否有明显的砥立点存在,两倍的平均距离都能色含大多数的数据。
对孤立点的改进一基干距离法
经值算法中没有考虑砸立点。
所谓孤立点部是基于距离的,是数据u集巾到u中最近邻居的大的对象,换言之,数据集中与其最近邻居的平均距离最大的对象。
针对经奧k均值算法易受孤立找的影哨这一冋題,基于距离法務除孤立臥具体过程如下:
首先扫描一次数据集,廿算每一个数据对象与其略近对象的距离,累加求其距离和,并廿算出更离和均值。
如果某个数摇对象的更离和大于更离和均值,側視该点为孤立点。
把逹个对象从数弼集巾務除到孤立点集合中,重复直到所有孤立点都找到。
最后得到新的数据集就是聚类的初始集合。
对I#机选取初始聚类中心的改进
经腆kMIfi算迭近机选IRk个点作为初始聚类中心进行操作。
由于是I®Hl选取,则变化较大,初始自选取不同,获得聚类的结果也不同。
并且聚类分析得到的聚类的准确率也不一样。
对k均值算法的初始聚类中心选择方法一砸机法进行改进,其依据是聚类11程中相同聚类中的对象是相似的,相异聚类巾的对象是不相眦的。
因此提岀了一种基于数据刘象两两间的距离来动态寻找并确定閒始聚类中心的思路,MttflS如下:
首先整理杨除孤立直后的数据集U,记录数据个数y,令m=1。
比较数据集中所有数据对象两两之同的距离。
找岀距离最近的2个数襦对象形成集合Am;比较Am中毎一个数据对象与数据对象集合U中毎一个对象的距离,在U中找岀Am中最近的数锯对象,优先吸收到Am中,直到Am中的数据对象个数到达一定数值,然后令m=m+1o再UU中找到湘象两两间距离最近的2个数摇对象构成Am,重复上面的过程,直到形成k个对象集合。
魁些集合内部的数据是相恆的,而集合同是相异的。
可以看岀謔种聚类方法同时满足WT2个条杵:
①毎个组至少色含一个数据对象;②每个数摇对象必须馆于且仅馆于一个组。
即数冊对象XieAi.fl
U=({A1UA2U...UAk|UAO},flAiAAj=0O最后对k个对象集合分别进行算术平以形成k个初始聚类中心。
ifi似的k平沟算法已经被设廿用于原始数弼子集的汁算。
从算法的表世上来说,它并不保证一定得到全局最优解,最终解的质量很大程®±®决于初始化的分组。
由于该算法的速度很快,因此常用的一种方法是名次运行k平均算法,选择最优解。
k平均算法的一个缺点是,分组的数目k是一个输人参数,不合适的k可能逋回较差的结果。
另外,算法还IK设均方误差是it算祥组分散度的最佳参数。
三、数据J2«t大经興算&(3)Svm
支持向量机,英文为SupportVectorMachine,简称SV机(论文中一般简称SVM)。
它是一
种监怦式学习的方法,它广泛的应用干统it分类H)501)3分折中。
支特向量机属于一般化线性分类器•他『1也可以认为是提克洛夫观X化
(TikhonovRegularization)方法的一个特这族分类器的特点是他们能够同时i小化经騎淚差与最大化
几何边缘区.因此支持向量机也被林为最大ji缘区分类器。
在算中,最大期2(EM)算法是在做率(probabilistic)|g型中寻找参数最大似然估廿的算法,其中脚率模型依赖干无
法观测的隐藏变量(LatentVariabl)o最大期望经常用在机器学习和廿算机视觉的数据集聚(DataClustering)领域。
最大期望算法经放两个步骤交替fillit算:
第一步是廿算期望(E),也就是將隐藏变量象能够现测到的一样色含在内从而廿算最大似然的期Iffl;
另外一步是最大化(M),也就是最大化在E步上找到的最大做然的期望值从而计算参数的最大做然估it。
M步上找到的参数然后用于另外一个E步廿算,这个il程不斷交替fiffo
Vapnik等人在名年研究统廿学习理论基础上对线性分类器提岀了另一种设廿最隹准则。
其原理也从线性可分说起,然后扩展到线II不可分的悄况。
甚至扩展到使用非线性函数中去,S
种分类器被称为支持向量机(S叩portVectorMachine,简称SVM)O支持向量机的提岀有很诛的理论背景。
支持向量机方法是在近年来提岀的一种新方法。
SVM的主要思想可以做播为两点:
(1)它是针对线性可分悄况进行分析,对干线性不可分的悄况,通11使用非线性映射算法将低缄输人空间线II不可分的样本转化为高绒特征空间使
其线it可分,从而使得高绒特征空间果用践性算法对样本的非线it特征aiisti分折成为可能;
(2)它基于结构风险最小化理论之上在特征空间中建构最优分淞平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个III率满足一定上界。
在学习这种方法时,首先要弄清楚逆种方法考虑问题的特点,逹就要U线性可分的最简单悄况过论起,在没有弄懂其原理之前,不要急于学习线性不可分等较夏杂的悄况,支持向量机
在设廿时,需要用到条件18值冋題的求解,因此需用垃格朗日乘子理论,但对多数人来说,以前学到的或常用的是约東条件为等式表示的方式,但在此要用到以不等式作为必须满足的条件,此时只要了解fil80]03论的有关结论就fio
介绍
支持向量机将向量映射到一个更高维的空同里,在这个空同里建立有一个最大间隔超平面。
在分开数据的趙平面的两边建有两个互相平行的超平面。
分隔超平面使两个平仃趙平面的距离最大化。
假定平行超平面间的距离或差距越大,分类器的总误差越小。
一个极好的指南是CJ.CBurges的《模式识别支持向量机指南》ovanderWalt和Barnard将支持向量机和其他分类器进行了比较。
动机
有很名个分类器(超平面)可以把数据分开,但是只有一个能够达到最大分
'SJo我们通常希望分类的11程是一个机器学习的il程。
这些数据点并不需要是中的直,而可以是任恵(貌it学符号)中或者(廿算机科学符号)的虑。
我们希望能够把这些虑通过一个n-1的超平面分开,通常这个被称为线性分类器。
有很名分类器都符合这个要求,但是我们还希望找到分类最佳的平面,即使得扬干两个不同类的数据点间隔最大的册个面,该面亦称为最大间隔超平面。
如果我们能嚴找到这个面,那么泌个分类器就称为最大同隔分类器。
四、数据挖損十大经興算法(4)Apriori
Apriori算法是种最有影叫的挖掘布尔关联规则频繁顶集的算法。
它的核心是基干两阶13颐集思想的递推算法。
该关朕规则在分类上属于单维、单层、布尔关朕规«0在这里,所有支持度大于最小支持度的顶集称为頫繁顶集(简称频集),也常称为最大顼目集。
在Apriori算法中,寻找最大顶目集(颐繁顶集)的基本思想是:
算法需要对数据集进行名步处理。
第一步,简单统廿所有含一个元素顶目集岀现的頫数,并找岀朋些不小于最小支持度的项目集,即一维最大顶目集。
从第二步开始循环处理直到
再没有最大顶目集生成。
循坏过程是:
第k步中,根据第k-1步生成的(k-1)S最大项目集产生k维侯选项目集,然后对数据库进行搜索,得到侯选项目集的顶集支持度,与最小支持»aii比较,从而找到k绒最大顶目集。
从算法的运17118,我们可以看岀gApriori算法的优点:
简单、易理解、数
据要求(K,然而我们也可以看到Apriori算法的缺自:
(1)在每一步产生侯选顶目集时循坏产生的组合过多,没有排除不应该参与组合的元素;
(2)每次ii■算项集的支持度时,部对数稠库D中的全部记录jflftT一遍甘描比较,如果是一彳、大型的数据库的话,这种扫描比较会大大增加廿算机系貌的I/O开角。
而魁神代价是甌着数据库的记录的增加呈现出几何级数的增flo。
因此人们开始寻求更好性能的算法,ftDF-P算法。
五、数据挖報十大经典算法(5)EM
最大期望算法(Expectation-maximizationalgorithm,Q译期望最大化算法)在境廿中被用于寻找,依顿于不可观察的隐性变量的假率慳塑中,参数的最大做然估ito
在Sitit算中,最大期望(EM)算法是在側率模型中寻找参数最大做然估廿或者最大后验估it的算法,其中脚率模型依赖于无法观测的隐藏变量(LatentVariable)oE大期望经常用在机器学习和it算机视觉的数据聚类(DataClustering)领域。
最大期望算法经ilWf步骤交替i4Itit算,第一步是it算期望(E),利用対隐蔵变量的现有估itffi,it算其最大做然估itffi;第二步是最大化(M),最大化在E步上求借的最大似然值来it算参数的loM步上找到的参数估廿值被用于下一个e步廿算中,这个过程不斷交替aiio
Ml是一个在已知部分相关变量的悄况下,估廿未知变量的选代技术。
EM的算法流程如下:
1.閒始化分布参数
2.重复直到收敛:
1.E步骤:
(Sit未知参数的期望值,给岀当前的参数ISito
2.M步骤:
重新估廿分布参数,以使得数弼的眦熟性最大,给岀未知变量的期望估计。
应用于缺失值
最大期望过程说明
我们用表示能服观察到的不完整的变量值,用表示无法观察到的变量值,&样和一起组成了完整的数据。
可能是实际测量丢失的数据,也可能是能服简化间题的隐it变量,如果它的值能够知道的话。
例如,在混合模里(MixtureModel)中,如果“产生”样本的混合元素成分已知的话最大做然公武稱变得更M便利(参见下面的例子)。
估廿无法观测的数据
让代表矢量:
定义的参数的全部数弼的Hl率分布(连续悄况下)或者IH率聚类函数(离散悄况下),那么Ugf函数就可以得到全部数弼的最大眦然值,另外,在给定的观察到的数据条件下未知数据的条件分布可以表示为:
济Xlv9}=P$xW)=P(y|xV)卩(x|0)
"(y忖)Jp(y!
x^)p(x|0)c/x
兀、数据81+大经典算法(6)PageRank
PageRank,M页排名,乂林啊页级别、Google左侧排名或fit奇排名,是一种由搜索引擎根据网页之间相互的超廿算的技术,而作为网页排名的要素之一,以Google公司创亦人拉里•ft(奇(LarryPage)之姓来命名。
Google用它来U现网页的相关11和重要性,在捜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。
Google的创始人拉里•瞅奇和则尔盖•布林T1998年在斯坦福大学发明了这项枝术。
PageRank通过网络浩瀚的超关系来确定一个页面的等级oGoogle把从A页面到B页面的解释为A页面给B页面投票,Google根据投票来温(甚至来源的来溫,即到A页面的贞面)和投票目标的等级来决定新的等级。
简单的说,一个高等级的页面可以使其他低等级页面的等级提升。
PageRank让来"投票"
一个页面的“得票数”由所有铢向它的页面的重要性来决定,到一个页面的超相当于对该页投一票。
一个页面的PageRank是由所有琏向它的页面(“链入页面”)的重要性经过递归算法得到的。
一个有较多览人的页面会有较高的等级,相反如果一个页面没有任何铢人页面,那么它没有等级。
2005年初,Google为网页推出一顶新属性nofollow,使得管理员和网志作者可以做岀一些Google不廿票的,也就是说这些不算作•投票Honofollow的设置可以抵
制垃圾评论。
GoogleI具条上的PageRank«标从0到10。
它似乎是一个对数标度算法,细节
未知oPageRank是Google的商标,其技术亦已经申请专利。
PageRank算法中的点击算法是由JonKleinberg提岀的。
PageRank算法
1.PageRank
基本思想:
如果网页T存在一个指向网页A的连接,则表明T的所有者认为A比较重要,"、而把T的一部分重要性得分WfAo这个重要性得分值为:
PR(T)心T)
其中PR(T)为T的PageRank值,C仃)为T的出掘数,则A的PageRank值为一系列类做于T的页面重要牲得分值的累加。
优点:
是一个与査询无关的静态算法,所有网页的PageRank值通过离缆廿算获得;有效减少在线查询时的计算量,极大降低了查询响应时间。
不足:
人们的查询具有主题特征,PageRank忽略了主题相关性,导致给果的相关性和主題性薛低;另外,PageRank有很严重的对新网页的歧视。
2.Topic-SensitivePageRank(主題敏感的PageRank)
基本思想:
针对PageRank对主題的忽略而提出。
核心恩想:
通过离线廿算出一个PageRank向量集合,该集合中的每一个向量与某一主题相关,即计算某个页面关于不同主題的得分。
主要分为两个阶段:
主题相关的PageRank向量集合的计算和在线查询时主题的
确定。
优点:
根据用户的査询请求和相关上下文判Bi用户査询相关的主!
8(用户的兴
JS)回查询结果准确H高。
不足:
没有利用主题的相关性来提高得分的准确性。
3.Hilltop
基本思想:
PageRank的不同之处:
仅考虑专家页面的。
主要色括两个步骤:
专家页面搜索和目标页面排序。
优点:
相关性強,结果准确。
不足:
专家页面的搜索和确定对算法起关建作用,专家页面的质量决定了算法的
准确性,而
专家页面的质量和公平性难以保込;忽略了夫量非专家页面的影晌,不能反应整个Internet的民意;当没有足够的专家页面存在时,返回空,所以Hilltop适合对于查询排序进行求精。
9么影响googlePageRank的因素有哪些昵?
1与pr高的做:
2内容质量高的
3UDA搜索引擎分类目录
4加人免费开源目录
5你的岀观在流量大、知名度高、频繁更新的重要上
6google对DPF招式的文件比较看重。
7安装Google工具条
8域名和tilte标題出现关建词与meta标签等
9反向连接数量和反向
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 经典 算法