Regularized least-squares classification(正则化最小二乘法分类器)取代SVM


在机器学习或者是模式识别其中有一种重要的分类器叫做:SVM 。这个被广泛的应用于各个领域。可是其计算的复杂度以及训练的速度是制约其在实时的计算机应用的主要原因。因此也非常非常多的算法被提出来。如SMO,Kernel的方法。


可是这里要提到的 Regularized least-squares classification 是一个和他有着相同的效果的分类器。比較而言计算却比較的简单(We see that a Regularized Least-Squares Classification problem can be solved by solving a single system of linear
equations.)。接下来将对其进行介绍。


首先我们知道终于要求得的结果是: f(x)= <W, x> +b 

策略函数:

我们还是要来看一下他的策略:结构风险最小化Function。

                                                         

通过使用kernel的方法将x 投影到希尔伯特空间(仅仅须要隐式的表示)得到的结果是:

                                                                             ( 这里的alpha就是以下的c啦!)

带入到目标函数以及简化,我们得到终于要求的函数 f*(x):

                                                                     

这就是终于要求的结果。后面额的核函数我们能够採用一些经常使用的核函数处理掉(比方说:高斯核(Gaussian Kernel)等)。

那怎样来解决ci勒?


怎样解c:


大家都知道在SVM其中採用的是合页损失函数(hinge loss Function)。可是非常显然这里是平方损失函数:

                                                                     

同一时候我们对于上面的f*(x)带入到最開始的策略函数其中:

                                              

于是我们再来通过求导。令导数等于0。解出这个方程:

                                                                                

有没有发现异常的简单啊!


这里要注意的是: K 是一个n*n的方阵,对于训练来讲,没两个样本(投影到高维空间后)都要做内积才可以得到K。


但事实上作者也说了,能够通过一个线性的问题来解决并不意味着它的时间复杂度和空间复杂度就小了:训练一个Kernel的时间还是须要非常长的。同一时候也须要较大的空间来存储下这种核:K。

可是仍旧是能够通过一些的方法来明显的提高它的性能的。

结果的比較:

文章中提到:It took 10,045 seconds (on a Pentium IV running at 1.5 GhZ) to train 20 one-vs-all SVMs, and only 1,309 seconds to train the equivalent RLSC classifiers. At test time, both SVM and RLSC yield a linear hyperplane, so testing times are equivalent. 足见速度能够达到SVM的速度的9倍左右,而精度却能够达到相当的程度。

我们再来看一个測试的比較。下表表示的是两种算法在两个数据集上面的错误率:

                    

最上面的数据代表训练的样本数,以下书错误率。能够看得出来RLS的方法还是非常好的。

原文地址:https://www.cnblogs.com/mfmdaoyou/p/7221471.html