机器学习与数据挖掘人工智能/模式识别/机器学习精华专题深度学习

2020机器学习SVM SMO

2020-04-02  本文已影响0人  zidea
machine_learning.jpg

甜点

坚持是苦的,坚持也是甜点,过程是苦的,回味是甜,这就是为什么苦的东西慢慢体味会有一丝甜味的原因。

001.png
假设今天能够找到 这些变量让 L 最大,

可以写成下面样子
\max_{\alpha_i} L = -\frac{1}{2}\sum_{i=1}^m \sum_{j=1}^m \alpha_i\alpha_jy_iy_j(x_ix_j) + \sum_{i=1}^m \alpha_i

今天目标找到\alpha_i 让目标函数最大,看起很复杂,如果复杂我们就需要给出一些前提让复杂事情变简单。

其实解这个问题会用到一个算法,就是 SMO(启发式算法),就是需要做的事固定了\alpha_1,\alpha_2,\dots,\alpha_m 其中\alpha_3,\dots,\alpha_m 然后取求\alpha_1,\alpha_2,然后以此类推取求\alpha_3,\alpha_4\alpha_5,\alpha_6 等等。

L(\alpha_1,\alpha_2,\dots,\alpha_m) 然后调节 \alpha_1,\alpha_2,然后让函数 L 增高,...所有可以先固定好几个值,然后进行调参让我们函数的值越来越大,为什么是固定其中 2 值,而固定其他值来进行计算呢? 调整一个值,而不是不固定其中 1 个值,通过固定其他值来进行计算。如果在没有约束条件下,我们只调整其中 1 个值而固定其他值这样做法是没有问题的。可以今天我们多了一个约束条件

\sum_{i=1}^m \alpha_i y_i = 0
展开了就是这样样
\alpha_1y_1 + \alpha_2y_2 + \dots + \alpha_my_m =0

这是因为这个条件如果我们固定除\alpha_1以外的其他值,因为y_i是已知的,所以\alpha_2y_2 + \dots + \alpha_my_m 就是定值,那么我们去改变\alpha_1 这个 \sum_{i=1}^m \alpha_i y_i = 0 等于 0 的约束就时效了。所以我们需要每次有两个变量变化,就可以达到我们想要的效果。也就是
\alpha_1y_1 + \alpha_2y_2 = -\sum_{i=3}^m \alpha_iy_i

也就是在调整\alpha_1\alpha_2 还必须保证上面等式成立。

- \frac{1}{2} \sum_{i=1}^m \sum_{j=1}^m \alpha_i\alpha_j y_iy_j x_ix_j + \sum_{i=1}^m \alpha_i

这里我们假设只有 \alpha_1\alpha_2 会发生变化,所以今天我们把 \alpha_1\alpha_2 拿出来剩下的都是常数。这里比较抽象不变理解,不过大家耐下心来动笔写一写,其实挺简单的,就是体力活。
i = 1 \begin{cases} j = 1 & -\frac{1}{2} \alpha_1^2 y_1^2 ||x_1||^2 \\ j = 2 & -\frac{1}{2} \alpha_1\alpha_2 y_1 y_2x_1 x_2 \\ j \neq 1,2 & -\frac{1}{2} \sum_{j=3}^m \alpha_1 \alpha_j y_1y_j x_1x_j \end{cases} + \alpha_1

i = 2 \begin{cases} j = 1 & -\frac{1}{2} \alpha_1\alpha_2 y_1 y_2x_1 x_2 \\ j = 2 & -\frac{1}{2} \alpha_2^2 y_2^2 ||x_1||^2 \\ j \neq 1,2 & -\frac{1}{2} \sum_{j=3}^m \alpha_2 \alpha_j y_2y_j x_2x_j \end{cases} + \alpha_2

i \neq 1,2 \begin{cases} j = 1 & -\frac{1}{2} \sum_{i=3}^m \alpha_1\alpha_i y_1y_i x_1x_i\\ j = 2 & -\frac{1}{2} \sum_{i=3}^m \alpha_2\alpha_i y_2y_i x_2x_i\\ j \neq 1,2 & constance \end{cases}

开始合并
X_{11} = ||x_1||^2
上面进行简单的带换,
X_{12} = x_1x_2

-\frac{1}{2}(\alpha_1^2y_1^2 X_{11} + 2 \alpha_1\alpha_2y_1y_2X_{12} + \alpha_2^2y_2^2X_{22} + 2\sum_{3}^m\alpha_1\alpha_iy_1y_iX_{1i} + 2 \sum_{i=3}\alpha_2\alpha_iy_2y_iX_{2i}) + \alpha_i + \alpha_2

最后希望大家关注我们微信公众号


wechat.jpeg
上一篇下一篇

猜你喜欢

热点阅读