首页 > 编程知识 正文

svm支持向量机有啥用,支持向量机的基本思想

时间:2023-05-04 07:02:48 阅读:39096 作者:28

支持向量机(SVM )是机器学习算法之一,是一种二分类算法。 给出一组训练样本。 如图所示,示例数据集二维分布在平面上。 必须找到分割数据集的直线。 可以划分的直线有很多,但其中必须找到泛化能力最高、鲁棒性最强的直线。 这是平面上的点,如果是三维空间,就需要找到平面; 如果是三维以上的维度,就需要找到超平面。

超平面的公式如下。

原理例:若设wT为(w1、w2 )、x为(x1、x2 ) t,则原公式为w1x1 w2x2 b=0和以往直线Ax By c=0的方程式

同样,从二维三维空间向更高维的平面推出的通式为上式。

w :用平面法线向量决定超平面的方向

b:确定了距超平面原点的距离

法线向量与样本属性的个数、超空间维数相同。 在超空间中,我们要求的参数是决定超平面的w和b的值。

超空间中任意一点x到超平面的距离如下。

让我们从特殊到一般来理解这个公式。 在二维空间即平面上,点到直线的距离如下。

公式中的a、b、c是直线的参数,即W,x0和y0是x的坐标,这样r公式容易理解吗? 这个距离是几何距离,也就是人眼直观的距离。几何距离只有大小,没有方向。 因为表达式有绝对值,所以为将绝对值摘掉。 这里,到样本数据中超平面的距离为正的点是一类样本点,这样的点可以被标记为1,而到超平面的距离为负的点可以被标记为-1。 为什么可以不是2,-2,是因为后面跟1

假设现在这个超平面可以准确地分类样本。 但是,不知道该超平面的wb的值。 这就是我们想要的,但这个平面一定存在。 有。

去掉几何距离r式中分子的绝对值和分母后,(均为正)剩下的http://www.Sina.com/t http://www.Sina.com /是可以判断样品是1还是-1的部分,http://www

函数的距离为示例类别http://www.Sina.com/t http://www.Sina.com /。 因为正样本类别为1,http://www.Sina.com/t http://www.Sina.com /也为正; 负样品类别为-1且http://www.Sina.com/t http://www.Sina.com /为负。 所以函数的距离只有大小,没有方向。

函数距离相当于几何距离的分子部分,在所有样本中每个点都有函数距离和几何距离。 几何距离是可以观测到的直接距离。 函数距离具有以下性质。 从一个点到超平面的函数距离取决于该超平面的法向量和b值,在同一超平面上可以有多对w和b值,但每对的值是成比例的。 根据w和b的值,点的函数距离不同。

三维空间示例:

现有的两个平面2x 3y 4z 2=0和4x 6y 8z 4=0

喂,x (1,1,1 ) ) ) )。

从点到平面的函数距离分别为11、22。 但是,平面实质上是平面,只有w和b的值不同。 也就是说,可以通过缩小w和b的值来控制函数的距离!

w:支持向量机数学模型原理,实际通过控制函数距离求最大几何距离。 也就是说,函数距离是约束条件,几何距离是目标函数。 具体往下看:

通过缩小w和b,两种任一点与超平面的函数距离分别为1 (与超平面的距离相等,成为1,后续的计算变得容易。

虽然不知道w和b的值,但始终存在一组满足上述条件的值。 图:

中央最粗的平面是我们要求的超平面,两边的虚线是支撑平面,支撑平面上的点是支撑向量。 通过缩小超平面的w和b值,以使从支承向量到超平面的函数距离为1,从而支承向量是最接近超平面的点,因此从其他向量到超平面的函数距离一定为1以上。 其实在这个时候可以做第一个模型。 如下所示。

说明该模型时,首先不看目标函数,首先看约束条件。 约束表示所有采样点到超平面的距离大于或等于1,支撑平面上的为1,其他的为1或大于1。 根据约束条件实际上可以得到无数个平面。 例如,以下两个:

但是,在这些平面中我们需要的是泛化能力最高、鲁棒性最强的,也就是最广的(margin最大)。 此时,需要通过定义目标函数来求出。 宽度最大的,也就是几何距离最大的。 几何距离的分子是函数距离,但定义了两个支撑平面的函数距离为2,因此得到了上面的数学模型。

总的来说,就是得到无数个以函数距离为限制条件可以正确分离样本的平面,用目标函数在这些平面中寻找最宽的平面

将上面的数学模型转换为

将求最大化最小化,即将模型转换为凸函数,实际上到目前为止已经是一个优化问题,凸函数比较容易找到最优解。 因为局部极值等于全局极值。 为什么要加二分之一的系数,加平方,是因为在以后求解模型时寻求指导很方便。 该模型是支持向量机的基本类型,后面介绍的软间隔、支持向量回归都是从这一形式出发的。

建立的模型是凸二次规划(局部极值的全局极值,目标函数的二次约束条件是一次)。 可以用现成的优化计算包求解,但有更高效的方法。 利用拉格朗日乘子

法,将两个参数的优化问题转化为一个参数的优化问题,进而求解模型。
对所建立的模型使用拉格朗日乘子法,将约束条件转化为目标函数,即对每条约束添加拉格朗日乘子 ɑi>0。得到如下拉格朗日函数。



对于等式约束可以直接使用拉格朗日乘子法求极值,对于不等式约束要满足KKT条件约束进行求解,模型对应的KKT条件为:

将w公式代入原函数有:

上面最后的那个式子可以看到已经不含w和b值了,就只有拉格朗日乘子。利用SMO算法将每个样本数据的乘子解出来,观察约束条件

总有

前者意味着向量点根本不会在求和中出现,后者意味着向量在支撑平面上,是一个支撑向量,训练完成后大部分样本都不需要保留。也就是训练完后大部分拉格朗日乘子都为零,只有在支撑平面上的样本的拉格朗日乘子不为0。
至此,已经对支持向量机有一个基本认识,以上数学推理为支持向量机的硬间隔。记住这个模型:

支持向量机的软间隔、核函数方法、支持向量回归都是在这个模型的基础上的。上面讲的是样本完全线性可分,但是实际中,不可分的情况多谢,如果是线性不可分的如:

需要把数据映射到更高维空间,这时候用到核函数
如果数据有噪声如:

那么用到的是支持向量机的软间隔
如果你不是分类数据而是要有监督的预测数据,那么就是支持向量回归。

软间隔、核函数、支持向量回归我会以后写出来。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。