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的方法还是非常好的。
Regularized least-squares classification(正则化最小二乘法分类器)取代SVM的更多相关文章
- paper 130:MatLab分类器大全(svm,knn,随机森林等)
train_data是训练特征数据, train_label是分类标签.Predict_label是预测的标签.MatLab训练数据, 得到语义标签向量 Scores(概率输出).1.逻辑回归(多项式 ...
- MatLab2012b/MatLab2013b 分类器大全(svm,knn,随机森林等)
train_data是训练特征数据, train_label是分类标签.Predict_label是预测的标签.MatLab训练数据, 得到语义标签向量 Scores(概率输出). 1.逻辑回归(多项 ...
- cs231n线性分类器作业 svm代码 softmax
CS231n之线性分类器 斯坦福CS231n项目实战(二):线性支持向量机SVM CS231n 2016 通关 第三章-SVM与Softmax cs231n:assignment1——Q3: Impl ...
- 斯坦福机器学习视频笔记 Week3 逻辑回归与正则化 Logistic Regression and Regularization
我们将讨论逻辑回归. 逻辑回归是一种将数据分类为离散结果的方法. 例如,我们可以使用逻辑回归将电子邮件分类为垃圾邮件或非垃圾邮件. 在本模块中,我们介绍分类的概念,逻辑回归的损失函数(cost fun ...
- Andrew Ng机器学习课程笔记--week3(逻辑回归&正则化参数)
Logistic Regression 一.内容概要 Classification and Representation Classification Hypothesis Representatio ...
- 为什么用linear regression可以做classification
输出空间 错误衡量方式 能不能直接用linear regression for classification 当成一个分类器回传回去 heuristic(启发式的:试探) 错误衡量 complexit ...
- cs231n笔记 (一) 线性分类器
Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设 ...
- Multi-label && Multi-label classification
Multi-label classification with Keras In today’s blog post you learned how to perform multi-label cl ...
- 线性SVM与Softmax分类器
1 引入 上一篇介绍了图像分类问题.图像分类的任务,就是从已有的固定分类标签集合中选择一个并分配给一张图像.我们还介绍了k-Nearest Neighbor (k-NN)分类器,该分类器的基本思想是通 ...
随机推荐
- Vuex 实际使用中的一点心得 —— 一刷新就没了
问题 在开发中,有一些全局数据,比如用户数据,系统数据等.这些数据很多组件中都会使用,我们当然可以每次使用的时候都去请求,但是出于程序员的"洁癖"."抠"等等优 ...
- python基础学习笔记——shelve、shutil模块
shelve 我们之前学了json和pickle模块 这些都是序列化的模块,咱们进行在讲一个序列化的东西 叫做shelve 你们肯定有个疑问,这个东西和那个类似为什么要讲.是因为这个模块比较简单的,并 ...
- 《C#高级编程》笔记系列第三弹
我们在开发WinForm时,经常会看到partial关键字,比如,我们新建一个Windows Form时,后台代码自动添加如下: 1 public partial class Form1 : Form ...
- Centos 6.5升级openssl到1.1.0f版本
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz ./config --prefix=/usr/local/openssl share ...
- matlab调用自己写的函数时报错: reference to a cleared variable
原因是在自己写的函数中加了clear. 解决办法:自己定义的函数中不能加clear,可以加clc;
- 组合数学的卡特兰数 TOJ 3551: Game of Connections
这个就是卡特兰数的经典问题 直接用这个公式就好了,但是这个题涉及大数的处理h(n)=h(n-1)*(4*n-2)/(n+1) 其实见过好几次大数的处理了,有一次他存的恰好不多于30位,直接分成两部分l ...
- 【HTML/XML 1】HTML 速成总结
导读:反反复复的看完了HTML的速成材料,前面学习了牛腩,所以这块知识只能是作为一种旧知识的复习.和机房重构时的SQLHelper一样,刚开始都是稀里糊涂的用了,后面系统的学习后,才知道为什么要那样用 ...
- ASP.NET中一般处理程序报的错误:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
1.把context.Response.End();代码换成 HttpContext.Current.ApplicationInstance.CompleteRequest(); 2.把context ...
- EasyUI 获取行ID,符合条件的添加样式
function GetTableTrID() { var p = $('#PreFixgrid').prev().find('div table:eq(1)'); var ID = $(p).fin ...
- MAC生成公钥私钥
前言 需要开发者在本地上使用openssl来生成私钥和公钥 由于mac 自带openssl工具,所以不用像windows那样要下载安装openssl工具 步骤 1.创建一个文件夹,终端进入该文件夹 c ...