机器学习算法总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机器学习算法总结

C4.5, k-Means, SVM, Apriori , EM, PageRank, AdaBoost, kNN, Naive Bayes , and CART

1. 朴素贝叶斯分类器

贝叶斯分类器的分类目前研究较多的贝叶斯分类器主要有四种,分别是:Naive Bayes 、TAN 、BAN 和GBN 。

朴素贝叶斯分类器是一种应用基于独立假设的贝叶斯定理的简单概率分类器。其原理是通过某对象的先验概率,利用贝叶斯公式(|)()(|)()

P D h P h P h D P D = 计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。更精确的描述这种潜在的概率模型为独立特征模型。简单来说,朴素贝叶斯分类器假设样本每个特征与其他特征都不相关。

朴素贝叶斯分类器应用的学习任务中,每个实例x 可由属性的合取描述,而目标函数()f x 从某有限集合V 中取值。学习器被提供一系列关于目标函数的训练样例以及新实例(描述为属性值的元组)12,n a a a 〈〉,然后要求预测新实例的目标值(或分类)。

贝叶斯方法的新实例分类目标是在给定描述实例的属性值12

,n a a a 〈〉下,得到最可能的目标值MAP v 。

12arg max (|,)j MAP j n v V v P v a a a ∈=

可使用贝叶斯公式重写为

121212(,|)()arg max

arg max (,|)()(,)j j n j j MAP n j j v V v V n P a a a v P v v P a a a v P v P a a a ∈∈==

朴素贝叶斯分类器基于一个简单的假定:在给定目标值时属性值之间相互条件独立。即,在给定实例的目标值情况下,观察到的12

,n a a a 的概率等于每个单独属性的概率乘积。于是得到朴素贝叶斯分类器

使用的方法: arg max ()(|)j NB j i j v V

v P v P a v ∈=∏

概括的说,朴素贝叶斯学习方法需要估计不同的()j P v 和(|)i j P a v 项,基于他们在训练数据上的频率。这些估计对应了待学习的假设。然后该假设使用上面式子中的规则来分类新实例。在许多实际应用中,朴素贝叶斯模型参数估计使用最大似然估计方法,换而言之朴素贝叶斯模型能工作并没有用到贝叶斯概率或者任何贝叶斯模型。

朴素贝叶斯分类器的一个优势在于只需要根据少量的训练数据估计出必要的参数(变量的均值和方差)。由于变量独立假设,只需要估计各个变量的方法,而不需要确定整个协方差矩阵。朴素贝叶斯分类器依靠精确的自然概率模型,在有监督学习的样本集中能获取得非常好的分类效果。朴素贝叶斯方法有个致命的缺点就是对数据稀疏问题过于敏感。

2. SVM

Support Vector Machine ,SVM 是一种监督式学习的方法,广泛应用于统计分类以及回归分析中。支持向量机(SVM )是在高维特征空间使用线性函数假设空间的学习系统,它由一个来自最优化理论的学习

算法训练,该算法实现了一个由统计学习理论导出的学习偏置。

通常希望能够把给定的数据点通过一个1n -维的超平面分开,通常这个被称为线性分类器。有很多分类器(超平面)都符合这个要求,但是我们希望找到分类最佳的平面,即使得属于两个不同类的数据点间隔最大的那个面,该面亦称为最大间隔超平面。如果我们能够找到这个面,那么这个分类器就称为最大间隔分类器。设样本属于两个类,用该样本训练svm 得到的最大间隔超平面。在超平面上的样本点也称为支持向量。

支持向量机是一种基于分类边界的方法。其基本原理是(以二维数据为例):如果训练数据分布在二维平面上的点,它们按照其分类聚集在不同的区域。基于分类边界的分类算法的目标是,通过训练,找到这些分类之间的边界(直线的――称为线性划分,曲线的――称为非线性划分)。对于多维数据(如N 维),可以将它们视为N 维空间中的点,而分类边界就是N 维空间中的面,称为超面(超面比N 维空间少一维)。线性分类器使用超平面类型的边界,非线性分类器使用超曲面。支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差越小。

SVM 的关键在于核函数。低维空间向量集通常难于划分,解决的方法是将它们映射到高维空间。但这个办法带来的困难就是计算复杂度的增加,而核函数正好巧妙地解决了这个问题。也就是说,只要选用适当的核函数,就可以得到高维空间的分类函数。在SVM 理论中,采用不同的核函数将导致不同的SVM 算法。在确定了核函数之后,由于确定核函数的已知数据也存在一定的误差,考虑到推广性问题,因此引入了松弛系数以及惩罚系数两个参变量来加以校正。

SVM 有如下主要几个特点:

(1)非线性映射是SVM 方法的理论基础,SVM 利用内积核函数代替向高维空间的非线性映射;

(2)对特征空间划分的最优超平面是SVM 的目标,最大化分类边际的思想是SVM 方法的核心;

(3)支持向量是SVM 的训练结果,在SVM 分类决策中起决定作用的是支持向量;

(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题;

(5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。

(6)少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。

因此,SVM 在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。

两个不足: (1) SVM 算法对大规模训练样本难以实施。由于SVM 是借助二次规划来求解支持向量,而求解二次规划将涉及m 阶矩阵的计算(m 为样本的个数),当m 数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。针对以上问题的主要改进有SMO 算法、PCGC 、CSVM 以及SOR 算法等 (2) 用SVM 解决多分类问题存在困难。经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题。可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式和SVM 决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM 固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。

3. K-means

K-means 算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。

假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。假设有k 个群组,1,2,,i s i k =。i u 是群组i s 内所有元素j x 的重心,或叫中心点。

相关文档
最新文档