台大机器学习笔记——SVR 支持向量回归

支持向量回归,个人微信公众号:计算机金融阅读,欢迎大家关注。(看不懂的点前面的文章都有讲)。
1.再讲支持向量回归之前,先推导如何将ridge regression加核。什么是ridge regression,简单说就是线性回归加上regularized项,也就是下图中的第一个式子:
台大机器学习笔记——SVR 支持向量回归_第1张图片
2.如何给这个式子加核,跟之前SVM里面加核一样,最好的W参数,可以表示为Z的线性组合,证明过程如下,首先令最好的W写成与W平行和垂直的项,平行的可以由Z表现出来,剩下的一项则垂直于Z。那么现在如果W能被Z的线性组合表示出来,那么w垂直肯定为0。反证法:如果不是这样,就是w垂直不为0,那么w*和w平行在err上的效果一样,因为w垂直乘Z为0;那么此时再看minimize中的第一项,将第一项按w*=w垂直+w平行展开后,且w垂直不为0,可以发现,w平行的内积是小于w*内积的,那么此时跟w*为最佳解矛盾,所以w垂直必须为0!那么也就是说最好的w可以由Z线性组合!
台大机器学习笔记——SVR 支持向量回归_第2张图片
3.在linear model里面,其中err的式子为最小平方误差即:
台大机器学习笔记——SVR 支持向量回归_第3张图片
4.此时可以通过w能写成z的线性组合这一公式,将原先的ridge regression的问题进行化简,将所有的w都替换为beta和z的式子,即为:
台大机器学习笔记——SVR 支持向量回归_第4张图片
那么现在我们跟之前讲的带核的SVM问题一样,将式中所有Z的内积写成了核函数的形式。
5.继续化简为,其实就是向量化,将求和的符号包含于矩阵相乘中:
台大机器学习笔记——SVR 支持向量回归_第5张图片
6.要minimize这个式子,我们可以先算对于beta什么时候梯度会是0,我们就对每个beta求偏导:
台大机器学习笔记——SVR 支持向量回归_第6张图片
那么我们可以得出beta的解,且其中式子的逆矩阵一定存在,因为K一定是半正定的,因为使用合法的kernel,就一定是半正定举证,再加上一个斜对角线有数的肯定是可逆的。
7.现在比较一下linear regression和加核的linear regression:
台大机器学习笔记——SVR 支持向量回归_第7张图片
不加核中的x为d*d,而加核的K为N*N。左边需要花的时间都跟d有关,右边都是跟样本数量N有关,那么当N很大的时候,使用kernel效率就不一定高。
8.此时加了核的linear regression叫做LSSVM,那么我们用相同的样本来比较一下LSSVM和之前讲的soft-margin SVM有何区别,通过下图可以看出,得出的解并没有很大的区别,但是可以发现,soft-margin中的support vector明显少于LSSVM,也就是说在soft-margin中的alpha很多都是0,而LSSVM中的beta都不为0。这将会导致在将来最预测的时候beta会多花很多的时间。
台大机器学习笔记——SVR 支持向量回归_第8张图片
9.那么我们现在就想是否能在regression中也能做出想之前soft-margin一样让解出来的beta也比较sparse,就是说让许多beta为0。我们就考虑一个tube regression,也就是说如果样本点里分类线的距离小于某一个阈值ε,那么我们就不计较它的误差,只有当它大于阈值的时候,才将大出的那部分算入误差err中,那么合起来的error measure就可以写成max后面那一项:
台大机器学习笔记——SVR 支持向量回归_第9张图片
10.现在的问题就是minimize下面这个式子,但是其中有max这一项,会存在有一些点不能微分,在之前SVM中,也会碰到某先点不能微分的情况,但是可以通过转换成QP,二次规划的式子。现在我们就刻意模仿之前的SVM解法,转化为QP问题:
台大机器学习笔记——SVR 支持向量回归_第10张图片
11.那么此时才真正的引出了支持向量回归的原始问题,为了跟SVM的写法相似,将10中的式子前的参数做了小小的改动,先就是如何将max拆开,然后转化为真正的二次规划的问题,我们将样本点与分隔线之间的误差如果在阈值之外,那么我们就将这个误差加到惩罚项中,但目前依然不是二次规划的问题,因为st中含有绝对值,那么将这个st条件拆开。此时就引出,误差上和误差下。那么此时就可以转化为一个二次规划的QP问题了:
台大机器学习笔记——SVR 支持向量回归_第11张图片
12.在SVM中,为了二次规划中摆脱d可能很大的问题,就引入了SVM对偶式子,就是引入拉格朗日公式,将原始的SVM转化为对偶问题:
台大机器学习笔记——SVR 支持向量回归_第12张图片
因为原始的SVM问题和SVR问题很相似,所以他们的对偶问题也很相似,并且可以加核。之所以要这么做,就是要确保求出的beta跟SVM中一样,要很稀疏,也就是说beta有很多都等于0,只含有少量的支持向量。
13.那么什么时候beta为0呢。如果样本点和y的差值小于阈值,那么误差项上和误差项下都等于0。因为样本点和y的差严格小于阈值,那么可以得出两个alpha都等于0,那么beta就等于0。所以落在tube外面的那些点才会是support vector。那么此时的beta也会是sparse的,且也可以套用dual,kernal等方法。
台大机器学习笔记——SVR 支持向量回归_第13张图片

你可能感兴趣的:(机器学习算法)