李航《统计学习方法》第2版 第7章 SVM模型 实现mnist数据集分类

本文介绍了如何使用SMO算法优化拉格朗日乘子a,以解决MNIST数据集的手写数字分类问题。通过调整代码中的KKT条件检查,实现了100%的测试准确率,相较于原有代码的99%有所提升。详细解释了支持向量的定义,并提供了数据集下载链接。

(采用SMO算法优化拉格朗日乘子a)
由于时间问题,以下训练采用的是数据集的一小部分进行训练与测试。
代码参考自: Dodo teacher
在其代码中的SMO算法部分,关于第一个变量ai选择那里,判断是否满足KKT条件,我作出了修改,修改成和书本一样的3个KKT条件。而Dodo那个我有点不明白为啥那样写,而且他的测试准确率是99%, 我改成和书本一样后测试准确率升到了100%。。。。。。

KKT条件看这里:
SMO算法关于第一个变量选择中的KKT条件简化推导



代码里面注释挺全的可以看里面
这里解释一些里面一小部分:
代码注释里关于Ei的更新过程,并没有遍历整个训练集,而是遍历所有支持向量(即a>0的实例x,即支持向量)
为啥a>0对应的实例是支持向量?
请看https://blog.csdn.net/weixin_43646592/article/details/109968198

#cod
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#苦行僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值