内容导读
- 决策树
- 贝叶斯分类器
- 最近邻分类器
- 支持向量机
- 神经网络
一、决策树
决策树(Decision Tree)是用于决策的一棵树,从根节点出发,通过决策节点对样本的不同特征属性进行划分,按照结果进入不同的分支,最终达到某一叶子节点,获得分类结果。
以下是一个简单的垃圾邮件分类决策树。
上边决策树对邮件的标题、内容分词和分词频率分别进行评估,然后进入不同的选择分支,最终完成分类。
可见,决策树的构建过程是按照样本特征的优先级或重要性确定树的层次结构,使其叶子节点尽可能属于同一类别。
决策树常用于基于规则的等级评估、比赛结果预测和风险研判等。
二、贝叶斯分类器
在一些应用中,特征集和类变量之间的关系是不确定的,也就是说,我们很难通过一些先验知识直接预测它的类标号,这种情况产生的原因可能是多方面的,如噪音、主要变量的缺失等。
对于这类求解问题,可以将其视为一个随机过程,使用概率理论来分析。
例如:我们不能直接预测随意一次投币的结果是正面(类1)还是反面(类0),但我们可以计算出它是正面或反面的概率。
贝叶斯(Bayes Classifier)分类器就是对于给定的分类项,利用下式贝叶斯定律,求解该分类项在条件下各类别中出现的概率,哪个概率最大,就将其划分为哪个类别。
上式的解释是:X,Y是一对随机变量,X出现的前提下Y发生的概率P(Y ΙX )等于Y出现的前提下X发生的概率P(Y ΙX )
与Y出现的概率P(Y )的乘积然后再除以X出现的概率P(X )。
仍以垃圾邮件过滤为例,使用贝叶斯方法通过考虑关键词在邮件中出现的概率来辨别垃圾邮件。
假设收到一封由n个关键词组成的邮件E,x=[1,0]分别表示正常邮件和垃圾邮件,那么就可以根据n个关键词出现在以往邮件中的正常邮件概率p(x=1|E)和这n个关键词出现在以往邮件中的垃圾邮件概率p(x=0|E)的大小来判定该邮件是否为垃圾邮件,
如果:p(x=1|E)> p(x=0|E),则为正常邮件,否则为垃圾邮件。
根据贝叶斯定理,
上式中p(x=1)和p(x=0)可以根据邮箱中正常邮件和垃圾邮件的个数计算出来,而p(E)
的计算则是根据贝叶斯分类假设,所有的特征变量(关键词)都是独立作用于决策变量,
因此有:
上式中的p(Ei) 表示所有邮件中关键词Ei的概率,于是就根据贝叶斯分类器解决了此垃圾邮件分类问题。
由于贝叶斯分类器有坚实的数学基础作为支撑,模型参数较少,对缺失数据不敏感,其分类效率稳定,在文本分类、图像识别和网络入侵检测等方面得到广泛应用。
三、最近邻分类器
我们把每个具有n个特征的样本看作n维空间的一个点,对于给定的新样本,先计算该点与其它样本点的距离(相似度),然后将新样本指派为周围k个最近邻的多数类,这种分类器称为最近邻方法(k-Nearest Neighbor,KNN)。
该分类器的合理性可以用人们的常规认知来说明:判别一个人是好人还是坏人,可以从跟他走得最近的k个人来判断,如果k个人多数是好人,那么可以指派他为好人,否则他是坏人。
在下图中,求待分类样本x的类别。
由图可知,如果取k=3个最近邻,则x被指派为正方形类;如果取k=5个最近邻,则x被指派为三角形类。
由此可见,k的取值大小对分类结果是有影响的,另外,当样本数据较大时,计算相似度所消耗的时间和空间较高,导致分类效率低。
还有,从上图可以看出,采用多数表决方法来判别x的类别,是没有考虑与x不同距离的近邻对其影响的程度,显然,一个远离x的近邻对x的影响是要弱于离它近的近邻的。
尽管k近邻分类器有诸如上述缺点,但该分类技术是基于具体的训练实例进行预测,不必为训练集建立模型,还可以生成任何形状的决策边界,从而能提供灵活的模型表示,在数字和像识别等方面得到较好的应用。
四、支持向量机
支持向量机(Support Vector Machine,SVM)的基本思想是通过非线性映射α,把样本空间映射到一个高维的特征空间,将原本空间线性不可分的问题,转化成在高维空间通过一个线性超平面将样本完全划分开。
例如,在下图中,左边二维空间的样本点,无法线性划分,但通过映射到三维空间,却可以用一个平面将这些样本完全分开。
SVM是一种有坚实统计学理论支撑的机器学习方法,其最终的决策函数只由位于超平面附件的几个支持向量决定,该方法不仅算法简单,而且具有较好的鲁棒性,特别适合解决样本数据较少、先验干预少的非线性分类、回归等问题。
五、神经网络
神经网络(Neural Network)分类器由输入层、隐藏层和输出层构成,是通过模仿人脑神经系统的组织结构及其某些活动机理,来呈现人脑的许多特征。其基本结构如下图所示。
上图中每个节点代表一个神经元,节点之间的连线对应权重值w,输入变量x经过神经元时被激活函数φ赋予权重并加上偏置,将运算结果传递到下层网络的神经元,在输出层中,神经元对各个输入进行线性加权求和,并经符号函数sgn处理,最后给出输出值y。
若该神经网络用于分类,在检验阶段,如果yi=max(y1,...,yp),则该预测样本为第i类的可能性最大,即判定该样本属于第i类。
更多内容请持续关注本站!