机器学习之支持向量机python实现

本文深入探讨了支持向量机(SVM)的理论基础,包括函数间隔与几何间隔、优化目标、SMO算法以及核技巧,并详细介绍了如何使用Python进行实现。内容涵盖从线性可分到线性不可分情况的支持向量确定,以及如何通过拉格朗日对偶性和KKT条件求解问题。

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

前言:纸上得来终觉浅,绝知此事要躬行。

一. 理论基础

1. 函数间隔与几何间隔

函数间隔: γ^=yi(wxi+b)
几何间隔: γ=yi(wxi+bw)

2. 优化目标:

minα      12i=0mj=0mαiαjyiyjxixji=0mαi

s.t.   i=0mαiyi=0

s.t.   0αiC,   (i=1,2,,m)

3. 推导过程:

我们的目标是最大化距离边界最近的点的几何间隔,可以形式化

maxw,bγ

s.t.        yi(wxi+bw)γ   ,   (i=1,2,,m)

根据几何间隔与函数间隔的关系

maxw,bγ^w

s.t.        yi(wxi+b)γ^   ,   (i=1,2,,m)

由于 γ^ 与w,b同步变化,所以 γ 的缩放对上述约束条件没有影响,令 γ^=1

maxw,b1w

s.t.        yi(wxi+b)1   ,   (i=1,2,,m)

最大化 1w 与最小化 12w2 等价

minw,b12w2

s.t.        yi(wxi+b)1   ,   (i=1,2,,m)

加上软间隔,适用于训练数据线性不可分情形

minw,b,ξ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值