机器学习-支持向量机

支持向量机是一种强大的监督学习算法,用于分类和回归问题。它寻找最优决策边界,使样本点与边界的距离最大化,通过映射到高维空间解决非线性问题。核函数允许在不知道具体映射的情况下进行计算,而松弛因子C则用来处理离群点和错误容忍度。SVM对离群点敏感,Cover定理解释了为何高维空间可使非线性数据线性可分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我看来,支持向量机是机器学习里面一个比较难以理解的算法,如何要理解非常透彻,对高数要求要好,因为里面涉及到一些拉格朗日乘法、泰勒级数等,所以我也没有对其进行深入理解,但是面试官会经常涉及到关于支持向量机的一些问题,当然这个算法也是很强大的,学习也是非常必要的。首先就要了解什么是支持向量机,支持向量机是干什么的,大致是怎么实现的。

支持向量机是机器学习中的一种监督学习,它既可以解决分类问题,也可以解决回归问题,以分类问题为例,如下图:

图片

对于一个二分类问题,我们可能会有像H2、H3或者更多这样的决策边界,但是这些决策边界中哪个是最好的一个呢?直观来看,应该取H3那条红线,因为这条线对样本的“容忍性”最好,也就是说样本发生微小变化,不会影响分类结果,但是其他细线,如果样本发生微小变化,都会使得分类结果发生变化,也就是说H3作为决策边界,其鲁棒性最好。而支持向量机所做的就是根据离决策边界最近的数据与决策边界的距离越大越好。

图片

其中离决策边界最近的两个点就叫做支持向量,也叫做支撑向量,所以支持向量机有时也可以叫做支撑向量机。其中如何寻找最优决策边界就涉及到了一些数学方法,还是比较麻烦的。

在实际问题中,我们会经常遇到一些非线性情况,原先在一维空间中我们不可能画一个直线或者一个平面将样本点分类,通过转化到二维空间就变得线性可分。
总结:样本点在低维空间中线性不可分,通过将低维空间的非线性问题映射到高维空间中,就变成线性可分的。

图片

样本点原先在二维空间中找不到一个直线将其分类(非线性情况),通过映射到三维空间。我们就可以很容易找到一个平面将其分隔开(线性情况)。

图片

图片

为什么低维数据升级到高维数据之后,就可以把低维度数据线性可分?在提升维度后,原本非线性的数据点变得线性可分,这在数学上是有严格证明的,即Cover定理。Cover定理可以定性地描述为:将复杂的模式分类问题非线性地投射到高维空间将比投射到低维空间更可能是线性可分的,当空间的维数D越大时,在该空间的N个数据点间的线性可分的概率就越大。所以人们就努力的寻找一种映射,这映射能将样本从原始空间(低维数据)转变到高维特征空间,从而把低维空间中线性不可分的两类点变成线性可分的。这种映射ϕ(X) 又可称为“特征构建”,映射后的向量可称之为“特征向量”。幸运的是,在计算中发现,我们需要的只是两个向量在新的映射空间中的内积结果,而映射函数到底是怎么样的其实并不需要知道。于是这样就引入了核函数的概念。

图片

图片

支持向量机对于离群点是非常敏感的,由上述可知SVM要基于分类完全正确的基础上才能实现,所以支持向量机中还有一个非常重要的概念叫做松弛因子,之前要求把两类完全分开,我们感觉这个要求过于严格了,我们可以放松一点要求,对于一些噪音点也可以放松一点

图片

图片

所以我们就可以改进目标函数,就像加入正则项惩罚系数一样,我们加入松弛因子,其中C就是我们需要指定的一个参数,当C很大时,伊姆西隆就要尽可能小,说明我们此时要求很严格,不能有错误,当C很小时,意味着我们可以接受一些错误。在原始的低维空间中,样本线性的不可分,无论你怎么找分类平面,总会有大量的离群点,此时用核函数向高维空间映射一下,虽然结果仍然是不可分的,但比原始空间里的要更加接近线性可分的状态(就是达到了近似线性可分的状态),此时再用松弛变量处理那些少数“冥顽不化”的离群点,就简单有效得多。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值