2020机器学习SVM SMO
2020-04-02 本文已影响0人
zidea
![](https://img.haomeiwen.com/i8207483/9dcc52ee00c0a67b.jpg)
甜点
坚持是苦的,坚持也是甜点,过程是苦的,回味是甜,这就是为什么苦的东西慢慢体味会有一丝甜味的原因。
![](https://img.haomeiwen.com/i8207483/6984baa764ecb72a.png)
假设今天能够找到 这些变量让 L 最大,
可以写成下面样子
今天目标找到 让目标函数最大,看起很复杂,如果复杂我们就需要给出一些前提让复杂事情变简单。
其实解这个问题会用到一个算法,就是 SMO(启发式算法),就是需要做的事固定了 其中
然后取求
,然后以此类推取求
和
等等。
然后调节
,然后让函数 L 增高,...所有可以先固定好几个值,然后进行调参让我们函数的值越来越大,为什么是固定其中 2 值,而固定其他值来进行计算呢? 调整一个值,而不是不固定其中 1 个值,通过固定其他值来进行计算。如果在没有约束条件下,我们只调整其中 1 个值而固定其他值这样做法是没有问题的。可以今天我们多了一个约束条件
展开了就是这样样
这是因为这个条件如果我们固定除以外的其他值,因为
是已知的,所以
就是定值,那么我们去改变
这个
等于 0 的约束就时效了。所以我们需要每次有两个变量变化,就可以达到我们想要的效果。也就是
也就是在调整和
还必须保证上面等式成立。
这里我们假设只有 和
会发生变化,所以今天我们把
和
拿出来剩下的都是常数。这里比较抽象不变理解,不过大家耐下心来动笔写一写,其实挺简单的,就是体力活。
开始合并
上面进行简单的带换,
最后希望大家关注我们微信公众号
![](https://img.haomeiwen.com/i8207483/48690a506ec756d2.jpeg)