SVM推导
如图,对于一个可分并且没有异常数据的二分问题,通过原始的感知机算法能够得到正确分类。如果靠近直线的蓝点再往上移动一点,就回被错误预测,算法的泛化能力并不好。支持向量机是一种讲样本与分界面之间间隔最大化的算法,所以用SVM可以或者更好的划分。
Hard Margin SVM(硬间隔支持向量机)
为了方便我们使
即在正确分类的情况下使到分界线的距离最小的点最大化。
前文中
首先将由于多个(w,b)对应一个分界面,为了使最小值最大化分界面到两边最近的点距离一样,我们就可以通过缩放得出
两边最小值一定存在且一定是
通过拉格朗日乘子法,我们可以去掉对(w,b)的约束。设
由于强对偶,得
分别对w、b求导并令偏导为零
得:
将条件带入,得:
即
又由于KKT条件,可得
即
最终得
其中
这是可以通过
这便是Hard Margin SVM(硬间隔支持向量机)。Hard Margin SVM是一个硬分类算法,所以对于存在异常数据和不可分的问题,效果不好,如果我们允许少量的样本跨过分界会有更好的效果,即Soft Margin SVM(软间隔支持向量机)。
Soft Margin SVM(软间隔支持向量机)
如何量化那条线更好呢?我们可以用过一个损失函数,最简单的就是穿过分界线的个数
每个样本的损失为
这时候我们就可以通过,将原来改写成下列公式。
通常情况下引入变量
通过这两个式子限制损失项最小值为0。如何实现的呢?
通过这种方式求最小值,使得
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构