【数据挖掘】之 支持向量机

1.支持向量机简介

在机器学习中,支持向量机是一种监督学习模型和相关的学习算法,SVM用于分析分类和回归分析中的数据。给定一组训练数据,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个模型,将新数据分配给两个类别之一,使其成为非概率二元线性分类器。SVM模型将数据表示为空间中的点,使得映射将各个类别的数据被尽可能宽的间隔分开。然后,将新数据映射到同一空间,并根据它们所处的区间的哪一侧预测它们属于哪个类别。

支持向量机不仅可以进行线性分类,它还可以有效地进行非线性分类,将其输入隐式映射到高维特征空间中。

当数据没有被标记时,监督学习是不可能的,并且需要无监督学习,其试图从数据到聚类找到自然聚类。并将新数据映射到这些已形成的簇。改进支持向量机的聚类算法称为支持向量聚类。支持向量聚类在工业中应用广泛,常作为分类步骤的预处理。

支持向量机(SVM)是一种二分类模型,该模型是找到一个超平面来将样本分割成两部分,分割原则是使间隔最大化,最终转化成一个凸二次规划问题来解决。SVM的主要内容就是间隔、对偶与核函数。

逻辑回归的优化目标是以逻辑回归的优化目标为基础的。逻辑回归以0为界进行类别划分,但是,在这种分类标准下有的样本中,越靠近0值的,逻辑回归的判定结果越不准确。支持向量机提出,当线性回归值小于-1时判定为反类,而大于1时判定为正类,这使得根据sigmoid函数判定错误的置信度大大降低。

在确定优化目标的条件之后,接下来的任务是找到最大间隔,即找到一个超平面,使得分类后的两个点集到该平面的最小距离最大,也就是说两个点集中的边缘点到该平面的距离最大。用超平面的法线方向可以使间隔最大;使用欧氏距离的平方,来保证划分是一个凸函数,并且容易求导。

核函数将不可分的数据提升维度,使其可以分割。核函数的定义域是样本数据的属性空间,而它的值域是一个实数数轴,可以将其理解为求出一个距离。

2.支持向量机的特征

(1)SVM学习问题可以表示为凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最小值。而其他的分类方法(如基于规则的分类器和人工神经网络)都采用一种基于贪心学习的策略来搜索假设空间,这种方法一般只能获得局部最优解。

(2)SVM通过最大化决策边界的边缘来控制模型的能力。尽管如此,用户必须提供其他参数,如使用的核函数类型、为了引入松弛变量所需的代价函数C等。

(3)通过对数据中每个分类属性值引入一个哑变量,SVM可以应用于分类数据。例如,婚姻状况有三个值{单身,已婚,离异},可以对每一个属性值引入一个二元变量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章