【学习】数据挖掘中分类算法小结

数据仓库,数据库或者其它信息库中隐藏着许多可以为商业、科研等活动的决策提供所需要的知识。分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合或预测未来数据趋势的模型。分类方法(Classification)用于预测数据对象的离散类别(Categorical Label);预测方法(Prediction )用于预测数据对象的连续取值。

分类技术在很多领域都有应用,例如可以通过客户分类构造一个分类模型来对银行贷款进行风险评估;当前的市场营销中很重要的一个特点是强调客户细分。客户类别分析的功能也在于此,采用数据挖掘中的分类技术,可以将客户分成不同的类别,比如呼叫中心设计时可以分为:呼叫频繁的客户、偶然大量呼叫的客户、稳定呼叫的客户、其他,帮助呼叫中心寻找出这些不同种类客户之间的特征,这样的分类模型可以让用户了解不同行为类别客户的分布特征;其他分类应用如文献检索和搜索引擎中的自动文本分类技术;安全领域有基于分类技术的入侵检测等等。机器学习、专家系统、统计学和神经网络等领域的研究人员已经提出了许多具体的分类预测方法。下面对分类流程作个简要描述:

训练:训练集——>特征选取——>训练——>分类器

分类:新样本——>特征选取——>分类——>判决

最初的数据挖掘分类应用大多都是在这些方法及基于内存基础上所构造的算法。目前数据挖掘方法都要求具有基于外存以处理大规模数据集合能力且具有可扩展能力。下面对几种主要的分类方法做个简要介绍:

(1)决策树

决策树归纳是经典的分类算法。它采用自顶向下递归的各个击破方式构造决策树。树的每一个结点上使用信息增益度量选择测试属性。可以从生成的决策树中提取规则。

(2) KNN法(K-Nearest Neighbor)

KNN 法即K最近邻法,最初由Cover和Hart于1968年提出的,是一个理论上比较成熟的方法。该方法的思路非常简单直观:如果一个样本在特征空间中的k 个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。因此,采用这种方法可以较好地避免样本的不平衡问题。另外,由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

该方法的不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。另外还有一种Reverse KNN法,能降低KNN算法的计算复杂度,提高分类的效率。

该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。

(3) SVM法

SVM法即支持向量机(Support Vector Machine)法,由Vapnik等人于1995年提出,具有相对优良的性能指标。该方法是建立在统计学习理论基础上的机器学习方法。通过学习算法,SVM可以自动寻找出那些对分类有较好区分能力的支持向量,由此构造出的分类器可以最大化类与类的间隔,因而有较好的适应能力和较高的分准率。该方法只需要由各类域的边界样本的类别来决定最后的分类结果。

支持向量机算法的目的在于寻找一个超平面H(d),该超平面可以将训练集中的数据分开,且与类域边界的沿垂直于该超平面方向的距离最大,故SVM法亦被称为最大边缘(maximum margin)算法。待分样本集中的大部分样本不是支持向量,移去或者减少这些样本对分类结果没有影响,SVM法对小样本情况下的自动分类有着较好的分类结果。

(4) VSM法

VSM法即向量空间模型(Vector Space Model)法,由Salton等人于60年代末提出。这是最早也是最出名的信息检索方面的数学模型。其基本思想是将文档表示为加权的特征向量:D=D(T1,W1;T2,W2;…;Tn,Wn),然后通过计算文本相似度的方法来确定待分样本的类别。当文本被表示为空间向量模型的时候,文本的相似度就可以借助特征向量之间的内积来表示。

在实际应用中,VSM法一般事先依据语料库中的训练样本和分类体系建立类别向量空间。当需要对一篇待分样本进行分类的时候,只需要计算待分样本和每一个类别向量的相似度即内积,然后选取相似度最大的类别作为该待分样本所对应的类别。

由于VSM法中需要事先计算类别的空间向量,而该空间向量的建立又很大程度的依赖于该类别向量中所包含的特征项。根据研究发现,类别中所包含的非零特征项越多,其包含的每个特征项对于类别的表达能力越弱。因此,VSM法相对其他分类方法而言,更适合于专业文献的分类。

(5) Bayes法

Bayes法是一种在已知先验概率与类条件概率的情况下的模式分类方法,待分样本的分类结果取决于各类域中样本的全体。

设训练样本集分为M类,记为C={c1,…,ci,…cM},每类的先验概率为P(ci),i=1,2,…,M。当样本集非常大时,可以认为P(ci)=ci类样本数/总样本数。对于一个待分样本X,其归于cj类的类条件概率是P(X/ci),则根据Bayes定理,可得到cj类的后验概率P(ci/X):

P(ci/x)=P(x/ci)·P(ci)/P(x)(1)

若P(ci/X)=MaxjP(cj/X),i=1,2,…,M,j=1,2,…,M,则有x∈ci(2)

式(2)是最大后验概率判决准则,将式(1)代入式(2),则有:

若P(x/ci)P(ci)=Maxj[P(x/cj)P(cj)],i=1,2,…,M,j=1,2,…,M,则x∈ci

这就是常用到的Bayes分类判决准则。经过长期的研究,Bayes分类方法在理论上论证得比较充分,在应用上也是非常广泛的。

Bayes 方法的薄弱环节在于实际情况下,类别总体的概率分布和各类样本的概率分布函数(或密度函数)常常是不知道的。为了获得它们,就要求样本足够大。另外,Bayes法要求表达文本的主题词相互独立,这样的条件在实际文本中一般很难满足,因此该方法往往在效果上难以达到理论上的最大值。

(6)神经网络

神经网络分类算法的重点是构造阈值逻辑单元,一个值逻辑单元是一个对象,它可以输入一组加权系数的量,对它们进行求和,如果这个和达到或者超过了某个阈值,输出一个量。如有输入值X1, X2, ..., Xn 和它们的权系数:W1, W2, ..., Wn,求和计算出的 Xi*Wi ,产生了激发层 a = (X1 * W1)+(X2 * W2)+...+(Xi * Wi)+...+ (Xn * Wn),其中Xi 是各条记录出现频率或其他参数,Wi是实时特征评估模型中得到的权系数。神经网络是基于经验风险最小化原则的学习算法,有一些固有的缺陷,比如层数和神经元个数难以确定,容易陷入局部极小,还有过学习现象,这些本身的缺陷在SVM算法中可以得到很好的解决。

原文发布于微信公众号 - PPV课数据科学社区(ppvke123)

原文发表时间:2015-01-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏目标检测和深度学习

MIT 6.S094· 深度学习 | 学霸的课程笔记,我们都替你整理好了

计算机视觉,到目前为止都是深度学习。并且大部分成功理解图片含义的案例都是使用神经网络。

1325
来自专栏SIGAI学习与实践平台

【SIGAI综述】行人检测算法

行人检测是计算机视觉中的经典问题,也是长期以来难以解决的问题。和人脸检测问题相比,由于人体的姿态复杂,变形更大,附着物和遮挡等问题更严重,因此准确的检测处于各种...

5192
来自专栏大数据文摘

超实用总结:AI实践者需要用到的10个深度学习方法

1334
来自专栏SIGAI学习与实践平台

人脸检测算法之 S3FD

原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的。

3084
来自专栏量子位

一文看懂自动驾驶中应用的机器学习算法

安妮 唐旭 编译自 KDnuggets 量子位出品 | 公众号 QbitAI 机器学习算法已经被广泛应用于自动驾驶各种解决方案,电控单元中的传感器数据处理大大提...

3517
来自专栏机器之心

资源 | 从反向传播到迁移学习,盘点人工智能从业者必备的10个深度学习方法

3387
来自专栏人工智能

利用 SVCCA 解释深度神经网络

文 / Google Brain 团队 Maithra Raghu 深度神经网络 (DNN) 推动视觉、语言理解和语音识别等领域取得了前所未有的进步。但是,这些...

2066
来自专栏计算机视觉战队

非神经网络的深度模型

---- 深度学习最大的贡献,个人认为就是表征学习(representation learning),通过端到端的训练,发现更好的features,而后面用于...

3119
来自专栏人工智能LeadAI

TensorFlow从1到2 | 第一章 消失的梯度

上一主题 《TensorFlow从0到1》介绍了人工神经网络的基本概念与其TensorFlow实现,主要基于浅层网络架构,即只包含一个隐藏层的全连接(FC,Fu...

3715
来自专栏人工智能头条

实时翻译的发动机:矢量语义(斯坦福大学课程解读)

GraphDB 最近刚刚升级到 8.7 版本,此次特别更新了矢量语义包,直接以插件形式整合到程序中。

782

扫码关注云+社区

领取腾讯云代金券