机器学习:支持向量机(SVM)

一、算法介绍

        

支持向量机(Support Vector Machine,SVM)是一种常用的监督学习算法,用于分类和回归任务。SVM的基本原理是构建一个最优超平面来分割不同类别的数据点。

在二分类问题中,SVM试图找到一个能够将两个类别的数据点尽可能分开的超平面。超平面是一个d-1维的线性子空间,其中d是数据的特征维度。SVM的目标是找到具有最大间隔(即离超平面最近的样本点的距离最大)的超平面。

SVM的核心思想是将数据映射到高维特征空间中,通过引入核函数可以避免直接计算高维特征空间的复杂性。常用的核函数有线性核、多项式核和高斯核等。这些核函数能够将数据从原始空间映射到一个更高维度的空间,使得原本线性不可分的数据在新的空间中变得线性可分。

SVM的训练过程可以形式化为一个凸优化问题,通过最小化目标函数来确定超平面的位置和宽度。目标函数通常由数据的误分类损失和正则化项组成,正则化项是为了防止过拟合。

一旦训练完成,SVM可以用于对新样本进行分类或回归预测。对于分类问题,新样本将被映射到特征空间中,并根据其位置与超平面的关系来判断其所属类别。对于回归问题,SVM可以通过拟合一个边界带来预测。

SVM具有一些重要的特性,包括结构化风险最小化、稀疏性和鲁棒性等。它在处理小样本、高维数据和非线性问题方面表现出色,并在许多领域中得到广泛应用,如图像分类、文本分类、生物信息学和金融预测等。

二、基于最大间隔分隔数据

2.1 线性模型

        在二维空间上,两类点被一条直线完全分开叫做线性可分。如下图,在二维坐标下,样本空间中找到直线, 将不同类别的样本分开。

上述将数据集分隔开来的直线称为分隔超平面,即w^{t}x+b=0

2.2 超平面
        由于数据点都在二维平面上,所以此时分隔超平面就只是一条直线。但是,如果所给的数据 集是三维的,那么此时用来分隔数据的就是一个平面。显而易见,更高维的情况可以依此类推。如果数据集是1000维的,那么就需要一个999维的某某对象来对数据进行分隔。当数据集是N维时,需要一个N-1维的某某对象来对数据进行分隔。N-1维的该对象被称为超平面(hyperplane),也就是分类的决策边界。 分布在超平面一侧的所有数据都属于某个类别,而分布在另一侧的所有数据则属于另一个类别。 

 

从二维扩展到多维空间中时,将 D0和 D1 完全正确地划分开的 w^{t}x+b=0 就成了一个超平面。为了使这个超平面更具鲁棒性,我们会去找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面。

 如上图,有五条直线,它们都能将数据分隔开,但是其中哪一条最好呢?我们希望找到离分隔超平面最近的点,确保它们离分隔面的距离尽可能远。这里点到分隔面的距离被称为间隔(margin)。我们需要的是间隔尽可能地大,这是因为如果犯错或者在有限数据上训练分类器的话,分类器尽可能健壮。所以,应选择”正中间”的那条直线 , 容忍性好, 鲁棒性高, 泛化能力最强,选择最大化决策边界的边缘。

2.3 支持向量

如下图,支持向量(support vector)就是离分隔超平面最近的那些点。

超平面方程:w^{t}x+b=0

2.4 支持向量机
        支持向量机(Support Vector Machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值