【数学建模常用模型】分类专题

这次介绍一下数模国赛常用的分类方法,以下这方法也是现在应用比较广泛的分类方法:K-近邻算法(k-Nearest Neighbors,KNN)和支持向量机(Support Vector Machine, SVM)。

 

K-近邻算法

K-近邻算法的基本思想是:如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。以空间中k个点为中心进行聚类,对最靠近他们的对象归类。

KNN方法思路简单,易于理解,易于实现,无需计算参数;不足之处是计算量较大,需要计算每一个待分类的样本点它到全体已知样本的距离,才能求得它的K个最邻近点。目前也要改进策略,如采用其它距离比如更接近于实际的距离函数而不是欧氏距离来度量长度,建立更高效的索引机制,等等。

 

值得一提的是,需要把KNN与另外一个名字相似的算法——K-均值聚类(K-means,全称为k-means clustering algorithm)区分开来,均值聚类是一种无监督学习的算法,通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。聚类结束条件可以为:1)没有(或最小数目)对象被重新分配给不同的聚类。2)没有(或最小数目)聚类中心再发生变化。3)误差平方和局部最小。

下面给出两种算法的示意图,方便理解并区分,KNN在上,K-means在下。

【数学建模常用模型】分类专题_第1张图片

KNN

 

【数学建模常用模型】分类专题_第2张图片

K-means

 

支持向量机

支持向量机是一种二分类所给样本点分成算法,基本目的是寻找一个可以把样本点分成两类的直线(对于二维平面而言)。维基百科上的定义是这样的:

支持向量机(英语:support vector machine,常简称为SVM,又名支持向量网络)是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

支持向量机是一种比较经典的算法,不过目前应用还是神经网络决策树比较多。下面我们由简至繁来了解一下模型以及算法。首先是对样本情况的分类讨论。

a.样本完全线性可分

线性可分通俗来讲即为存在一条可以把样本完全分开的直线:

 

【数学建模常用模型】分类专题_第3张图片

鉴于严谨起见,样本可能为n>3维的向量,我们把这条“直线”延伸开来,将其称为“超平面”。而我们要在所有符合条件的超平面中寻找到这两类点距离最大的那个超平面:

 

【数学建模常用模型】分类专题_第4张图片

 

显然,符合条件的超平面到两类样本点的距离是相同的。样本中距离超平面最近的一些点,我们给它一个定义叫做支持向量,如上图中标记为红色的点。上图中2/|w|这一段距离我们把它叫做间隔。

当训练集线性可分时,通过硬间隔学习得到一个线性分类器,即硬间隔SVM。

 

b.样本不完全线性可分

不是所有的情况都存在一个超平面将两类样本点完全分开来的,比如下面这种情况:

【数学建模常用模型】分类专题_第5张图片
这个时候我们许个别允点落在超平面内部,或落入决策边界的错误一侧。这个时候的间隔我们称做软间隔。

当训练数据不能线性可分但是可以近似线性可分时,通过软间隔最大化也可以学习到一个线性分类器,即软间隔SVM。

c.样本线性不可分

更有些时候,不是依靠一给超平面就能把两类样本点分开来的,比如下面这种情况:

【数学建模常用模型】分类专题_第6张图片
这种时候就需要把样本点投射到高维空间,方可区分:

 【数学建模常用模型】分类专题_第7张图片


当训练数据线性不可分时,通过使用核技巧和软间隔最大化,可以学习到一个非线性SVM。

以上就是本次介绍的常用模型了,KNN和SVM,有问题的小伙伴可以随时提问喔~

不是所有的情况都存在一个超平面将两类样本点完全分开来的,比如下面这种情况:

【数学建模常用模型】分类专题_第8张图片

这个时候我们许个别允点落在超平面内部,或落入决策边界的错误一侧。这个时候的间隔我们称做软间隔。

当训练数据不能线性可分但是可以近似线性可分时,通过软间隔最大化也可以学习到一个线性分类器,即软间隔SVM。

 

c.样本线性不可分

更有些时候,不是依靠一给超平面就能把两类样本点分开来的,比如下面这种情况:

 

【数学建模常用模型】分类专题_第9张图片

 

这种时候就需要把样本点投射到高维空间,方可区分:

【数学建模常用模型】分类专题_第10张图片

 

当训练数据线性不可分时,通过使用核技巧和软间隔最大化,可以学习到一个非线性SVM。

以上就是本次介绍的常用模型了,KNN和SVM,有问题的小伙伴可以随时提问喔~

你可能感兴趣的:(算法,分类,数据分析)