数据挖掘十大经典算法文档格式.docx

上传人:b****5 文档编号:17540923 上传时间:2022-12-07 格式:DOCX 页数:18 大小:85.61KB
下载 相关 举报
数据挖掘十大经典算法文档格式.docx_第1页
第1页 / 共18页
数据挖掘十大经典算法文档格式.docx_第2页
第2页 / 共18页
数据挖掘十大经典算法文档格式.docx_第3页
第3页 / 共18页
数据挖掘十大经典算法文档格式.docx_第4页
第4页 / 共18页
数据挖掘十大经典算法文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据挖掘十大经典算法文档格式.docx

《数据挖掘十大经典算法文档格式.docx》由会员分享,可在线阅读,更多相关《数据挖掘十大经典算法文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

数据挖掘十大经典算法文档格式.docx

该网络中应包含类结点C,其中C的取值来自于类集合(c1,c2,...,cm),还包含一组结点X=(X1,X2,...,Xn),表示用于分类的特征。

对于贝叶斯网络分类器,若某一待分类的样本D,其分类特征值为x=(x1,x2,...,xn),则样本D属于类别ci的概率P(C=ci|X1=x1,X2=x2,...,Xn=xn),(i=1,2,...,m)应满足下式:

  P(C=ci|X=x)=Max{P(C=c1|X=x),P(C=c2|X=x),...,P(C=cm|X=x)}

  而由贝叶斯公式:

  P(C=ci|X=x)=P(X=x|C=ci)*P(C=ci)/P(X=x)

  其中,P(C=ci)可由领域专家的经验得到,而P(X=x|C=ci)和P(X=x)的计算则较困难。

  应用贝叶斯网络分类器进行分类主要分成两阶段。

第一阶段是贝叶斯网络分类器的学习,即从样本数据中构造分类器,包括结构学习和CPT学习;

第二阶段是贝叶斯网络分类器的推理,即计算类结点的条件概率,对分类数据进行分类。

这两个阶段的时间复杂性均取决于特征值间的依赖程度,甚至可以是NP完全问题,因而在实际应用中,往往需要对贝叶斯网络分类器进行简化。

根据对特征值间不同关联程度的假设,可以得出各种贝叶斯分类器,NaiveBayes、TAN、BAN、GBN就是其中较典型、研究较深入的贝叶斯分类器。

朴素贝叶斯

  分类是将一个未知样本分到几个预先已知类的过程。

数据分类问题的解决是一个两步过程:

第一步,建立一个模型,描述预先的数据集或概念集。

通过分析由属性描述的样本(或实例,对象等)来构造模型。

假定每一个样本都有一个预先定义的类,由一个被称为类标签的属性确定。

为建立模型而被分析的数据元组形成训练数据集,该步也称作有指导的学习。

  在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(DecisionTreeModel)和朴素贝叶斯模型(NaiveBayesianModel,NBC)。

决策树模型通过构造树来解决分类问题。

首先利用训练数据集来构造一棵决策树,一旦树建立起来,它就可为未知样本产生一个分类。

在分类问题中使用决策树模型有很多的优点,决策树便于使用,而且高效;

根据决策树可以很容易地构造出规则,而规则通常易于解释和理解;

决策树可很好地扩展到大型数据库中,同时它的大小独立于数据库的大小;

决策树模型的另外一大优点就是可以对有许多属性的数据集构造决策树。

决策树模型也有一些缺点,比如处理缺失数据时的困难,过度拟合问题的出现,以及忽略数据集中属性之间的相关性等。

  和决策树模型相比,朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。

同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。

理论上,NBC模型与其他分类方法相比具有最小的误差率。

但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。

在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。

而在属性相关性较小时,NBC模型的性能最为良好。

朴素贝叶斯模型:

  ----

  Vmap=argmaxP(Vj|a1,a2...an)

  Vj属于V集合

  其中Vmap是给定一个example,得到的最可能的目标值.

  其中a1...an是这个example里面的属性.

  这里面,Vmap目标值,就是后面计算得出的概率最大的一个.所以用max来表示

  贝叶斯公式应用到P(Vj|a1,a2...an)中.

  可得到Vmap=argmaxP(a1,a2...an|Vj)P(Vj)/P(a1,a2...an)

  又因为朴素贝叶斯分类器默认a1...an他们互相独立的.

  所以P(a1,a2...an)对于结果没有用处.[因为所有的概率都要除同一个东西之后再比较大小,最后结果也似乎影响不大]

  可得到Vmap=argmaxP(a1,a2...an|Vj)P(Vj)

  然后

  "

朴素贝叶斯分类器基于一个简单的假定:

给定目标值时属性之间相互条件独立。

换言之。

该假定说明给定实力的目标值情况下。

观察到联合的a1,a2...an的概率正好是对每个单独属性的概率乘积:

P(a1,a2...an|Vj)=ΠiP(ai|Vj)

  ....

  朴素贝叶斯分类器:

Vnb=argmaxP(Vj)ΠiP(ai|Vj)

  Vnb=argmaxP(Vj)

  此处Vj(yes|no),对应天气的例子。

(3)AdaBoost

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。

其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。

将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。

使用adaboost分类器可以排除一些不必要的训练数据特徵,并将关键放在关键的训练数据上面。

  目前,对adaboost算法的研究以及应用大多集中于分类问题,同时近年也出现了一些在回归问题上的应用。

就其应用adaboost系列主要解决了:

两类问题、多类单标签问题、多类多标签问题、大类单标签问题,回归问题。

它用全部的训练样本进行学习。

  该算法其实是一个简单的弱分类算法提升过程,这个过程通过不断的训练,可以提高对数据的分类能力。

整个过程如下所示:

  1.先通过对N个训练样本的学习得到第一个弱分类器;

  2.将1分错的样本和其他的新数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器;

  3.将1和2都分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器;

  4.最终经过提升的强分类器。

即某个数据被分为哪一类要通过,……的多数表决。

  

Adaboost(AdaptiveBoosting)算法

  对于boosting算法,存在两个问题:

  1.如何调整训练集,使得在训练集上训练的弱分类器得以进行;

  2.如何将训练得到的各个弱分类器联合起来形成强分类器。

  针对以上两个问题,adaboost算法进行了调整:

  1.使用加权后选取的训练数据代替随机选取的训练样本,这样将训练的焦点集中在比较难分的训练数据样本上;

  2.将弱分类器联合起来,使用加权的投票机制代替平均投票机制。

让分类效果好的弱分类器具有较大的权重,而分类效果差的分类器具有较小的权重。

Adaboost算法是Freund和Schapire根据在线分配算法提出的,他们详细分析了Adaboost算法错误率的上界,以及为了使强分类器达到错误率,算法所需要的最多迭代次数等相关问题。

与Boosting算法不同的是,adaboost算法不需要预先知道弱学习算法学习正确率的下限即弱分类器的误差,并且最后得到的强分类器的分类精度依赖于所有弱分类器的分类精度,这样可以深入挖掘弱分类器算法的能力。

  Adaboost算法中不同的训练集是通过调整每个样本对应的权重来实现的。

开始时,每个样本对应的权重是相同的,即其中n为样本个数,在此样本分布下训练出一弱分类器。

对于分类错误的样本,加大其对应的权重;

而对于分类正确的样本,降低其权重,这样分错的样本就被突出出来,从而得到一个新的样本分布。

在新的样本分布下,再次对弱分类器进行训练,得到弱分类器。

依次类推,经过T次循环,得到T个弱分类器,把这T个弱分类器按一定的权重叠加(boost)起来,得到最终想要的强分类器。

  Adaboost算法的具体步骤如下:

  1.给定训练样本集S,其中X和Y分别对应于正例样本和负例样本;

T为训练的最大循环次数;

  2.初始化样本权重1/n,即为训练样本的初始概率分布;

  3.第一次迭代:

  

(1)训练样本的概率分布相当下,训练弱分类器:

  

(2)计算弱分类器的错误率:

  (3)选取合适阈值,使得错误率最小

  (4)更新样本权重:

  (5)最终得到的强分类器:

  Adaboost算法是经过调整的Boosting算法,其能够对弱学习得到的弱分类器的错误进行适应性调整。

上述算法中迭代了次的主循环,每一次循环根据当前的权重分布对样本x定一个分布P,然后对这个分布下的样本使用若学习算法得到一个错误率为的弱分类器,对于这个算法定义的弱学习算法,对所有的,都有,而这个错误率的上限并不需要事先知道,实际上。

每一次迭代,都要对权重进行更新。

更新的规则是:

减小弱分类器分类效果较好的数据的概率,增大弱分类器分类效果较差的数据的概率。

最终的分类器是个弱分类器的加权平均。

(4)最大期望(EM)算法

在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariabl)。

最大期望经常用在机器学习和计算机视觉的数据集聚(DataClustering)领域。

最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),也就是将隐藏变量象能够观测到的一样包含在内从而计算最大似然的期望值;

另外一步是最大化(M),也就是最大化在E步上找到的最大似然的期望值从而计算参数的最大似然估计。

M步上找到的参数然后用于另外一个E步计算,这个过程不断交替进行。

EM算法是Dempster,Laind,Rubin于1977年提出的求参数极大似然估计的一种方法,它可以从非完整数据集中对参数进行MLE估计,是一种非常简单实用的学习算法。

这种方法可以广泛地应用于处理缺损数据,截尾数据,带有噪声等所谓的不完全数据(incompletedata)。

  假定集合Z=(X,Y)由观测数据X和未观测数据Y组成,Z=(X,Y)和X分别称为完整数据和不完整数据。

假设Z的联合概率密度被参数化地定义为P(X,Y|Θ),其中Θ表示要被估计的参数。

Θ的最大似然估计是求不完整数据的对数似然函数L(X;

Θ)的最大值而得到的:

  L(Θ;

X)=logp(X|Θ)=∫logp(X,Y|Θ)dY;

  EM算法包括两个步骤:

由E步和M步组成,它是通过迭代地最大化完整数据的对数似然函数Lc(X;

Θ)的期望来最大化不完整数据的对数似然函数,其中:

  Lc(X;

Θ)=logp(X,Y|Θ);

  假设在算法第t次迭代后Θ获得的估计记为Θ(t),则在(t+1)次迭代时,

  E-步:

计算完整数据的对数似然函数的期望,记为:

  Q(Θ|Θ(t))=E{Lc(Θ;

Z)|X;

Θ(t)};

  M-步:

通过最大化Q(Θ|Θ(t))来获得新的Θ。

  通过交替使用这两个步骤,EM算法逐步改进模型的参数,使参数和训练样本的似然概率逐渐增大,最后终止于一个极大点。

直观地理解EM算法,它也可被看作为一个逐次逼近算法:

事先并不知道模型的参数,可以随机的选择一套参数或者事先粗略地给定某个初始参数λ0,确定出对应于这组参数的最可能的状态,计算每个训练样本的可能结果的概率,在当前的状态下再由样本对参数修正,重新估计参数λ,并在新的参数下重新确定模型的状态,这样,通过多次的迭代,循环直至某个收敛条件满足为止,就可以使得模型的参数逐渐逼近真实参数。

EM算法的主要目的是提供一个简单的迭代算法计算后验密度函数,它的最大优点是简单和稳定,但容易陷入局部最优。

(5)Thek-meansalgorithm

k-meansalgorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k<

n。

它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。

它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。

  假设有k个群组Si,i=1,2,...,k。

μi是群组Si内所有元素xj的重心,或叫中心点。

  k平均聚类发明于1956年,该算法最常见的形式是采用被称为劳埃德算法(Lloydalgorithm)的迭代式改进探索法。

劳埃德算法首先把输入点分成k个初始化分组,可以是随机的或者使用一些启发式数据。

然后计算每组的中心点,根据中心点的位置把对象分到离它最近的中心,重新确定分组。

继续重复不断地计算中心并重新分组,直到收敛,即对象不再改变分组(中心点位置不再改变)。

  劳埃德算法和k平均通常是紧密联系的,但是在实际应用中,劳埃德算法是解决k平均问题的启发式法则,对于某些起始点和重心的组合,劳埃德算法可能实际上收敛于错误的结果。

(上面函数中存在的不同的最优解)

  虽然存在变异,但是劳埃德算法仍旧保持流行,因为它在实际中收敛非常快。

实际上,观察发现迭代次数远远少于点的数量。

然而最近,DavidArthur和SergeiVassilvitskii提出存在特定的点集使得k平均算法花费超多项式时间达到收敛。

  近似的k平均算法已经被设计用于原始数据子集的计算。

  从算法的表现上来说,它并不保证一定得到全局最优解,最终解的质量很大程度上取决于初始化的分组。

由于该算法的速度很快,因此常用的一种方法是多次运行k平均算法,选择最优解。

  k平均算法的一个缺点是,分组的数目k是一个输入参数,不合适的k可能返回较差的结果。

另外,算法还假设均方误差是计算群组分散度的最佳参数。

(6)Supportvectormachines

支持向量机,英文为SupportVectorMachine,简称SV机(论文中一般简称SVM)。

它是一种監督式學習的方法,它广泛的应用于统计分类以及回归分析中。

支持向量机属于一般化线性分类器.他们也可以认为是提克洛夫规范化(TikhonovRegularization)方法的一个特例.这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区.因此支持向量机也被称为最大边缘区分类器。

在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariabl)。

Vapnik等人在多年研究统计学习理论基础上对线性分类器提出了另一种设计最佳准则。

其原理也从线性可分说起,然后扩展到线性不可分的情况。

甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机(SupportVectorMachine,简称SVM)。

支持向量机的提出有很深的理论背景。

支持向量机方法是在近年来提出的一种新方法。

  SVM的主要思想可以概括为两点:

(1)它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;

(2)它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个概率满足一定上界。

  在学习这种方法时,首先要弄清楚这种方法考虑问题的特点,这就要从线性可分的最简单情况讨论起,在没有弄懂其原理之前,不要急于学习线性不可分等较复杂的情况,支持向量机在设计时,需要用到条件极值问题的求解,因此需用拉格朗日乘子理论,但对多数人来说,以前学到的或常用的是约束条件为等式表示的方式,但在此要用到以不等式作为必须满足的条件,此时只要了解拉格朗日理论的有关结论就行。

介绍

支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。

在分开数据的超平面的两边建有两个互相平行的超平面。

分隔超平面使两个平行超平面的距离最大化。

假定平行超平面间的距离或差距越大,分类器的总误差越小。

一个极好的指南是C.J.CBurges的《模式识别支持向量机指南》。

vanderWalt和Barnard将支持向量机和其他分类器进行了比较。

(7)决策树

机器学习中,决策树是一个预测模型;

他代表的是对象属性与对象值之间的一种映射关系。

树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。

决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。

从数据产生决策树的机器学习技术叫做决策树学习,通俗说就是决策树。

决策树学习也是数据挖掘中一个普通的方法。

在这里,每个决策树都表述了一种树型结构,他由他的分支来对该类型的对象依靠属性进行分类。

每个决策树可以依靠对源数据库的分割进行数据测试。

这个过程可以递归式的对树进行修剪。

当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。

另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。

决策树同时也可以依靠计算条件概率来构造。

决策树如果依靠数学的计算方法可以取得更加理想的效果。

决策树是如何工作的

决策树一般都是自上而下的来生成的。

选择分割的方法有好几种,但是目的都是一致的:

对目标类尝试进行最佳的分割。

从根到叶子节点都有一条路径,这条路径就是一条“规则”。

决策树可以是二叉的,也可以是多叉的。

对每个节点的衡量:

1)通过该节点的记录数

2)如果是叶子节点的话,分类的路径

3)对叶子节点正确分类的比例。

有些规则的效果可以比其他的一些规则要好。

由于ID3算法在实际应用中存在一些问题,于是Quilan提出了C4.5算法,严格上说C4.5只能是ID3的一个改进算法。

相信大家对ID3算法都很.熟悉了,这里就不做介绍。

C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:

1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;

2)在树构造过程中进行剪枝;

3)能够完成对连续属性的离散化处理;

4)能够对不完整数据进行处理。

C4.5算法有如下优点:

产生的分类规则易于理解,准确率较高。

其缺点是:

在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

来自搜索的其他内容:

C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.

分类决策树算法是从大量事例中进行提取分类规则的自上而下的决策树.

决策树的各部分是:

根:

学习的事例集.

枝:

分类的判定条件.

叶:

分好的各个类.

ID3算法

1.概念提取算法CLS

1)初始化参数C={E},E包括所有的例子,为根.

2)IFC中的任一元素e同属于同一个决策类则创建一个叶子

节点YES终止.

ELSE依启发式标准,选择特征Fi={V1,V2,V3,...Vn}并创建

判定节点

划分C为互不相交的N个集合C1,C2,C3,...,Cn;

3)对任一个Ci递归.

2.ID3算法

1)随机选择C的一个子集W(窗口).

2)调用CLS生成W的分类树DT(强调的启发式标准在后).

3)顺序扫描C搜集DT的意外(即由DT无法确定的例子).

4)组合W与已发现的意外,形成新的W.

5)重复2)到4),直到无例外为止.

启发式标准:

只跟本身与其子树有关,采取信息理论用熵来量度.

熵是选择事件时选择自由度的量度,其计算方法为

P=freq(Cj,S)/|S|;

INFO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1