The perception and large margin classifiers
假设样例按照到来的先后顺序依次定义为。
为样本特征,
为类别标签。任务是到来一个样例
,给出其类别结果
的预测值,之后我们会看到真实值
,然后根据真实值来重新调整模型参数,整个过程是重复迭代的过程,直到所有的样例完成。这么看来,我们也可以将原来用于批量学习的样例拿来作为在线学习的样例。在在线学习中,我们主要关注在整个预测过程中预测错误的样例数。
用表示正例,
表示负例,支持向量机中提到的感知算法(perception algorithm),我们的假设函数为:
其中,x是n维特征向量,是n+1维参数权重。函数g用来将
计算结果映射到-1和1上。具体公式如下:
提出一个在线学习算法如下:
新来一个样例,我们先用从之前样例学习到的
来得到样例的预测值y,如果
(即预测正确),那么不改变
,反之
如果对于预测错误的样例,进行调整时只需加上(实际上为正例)或者减去(实际负例)样本特征x值即可。
初始值为向量0。这里我们关心的是
的符号,而不是它的具体值。调整方法非常简单,然而这个简单的调整方法还是很有效的,它的错误率不仅是有上界的,而且这个上界不依赖于样例数和特征维度。
下面定理阐述了错误率上界:
定理(Block and Novikoff):
给定按照顺序到来的样例。假设对于所有的样例
,也就是说特征向量长度有界为D。更进一步,假设存在一个单位长度向量
且
。也就是说对于y=1的正例,
,反例
,u能够有
的间隔将正例和反例分开。那么感知算法的预测的错误样例数不超过
。
根据对SVM的理解,这个定理就可以阐述为:如果训练样本线性可分,并且几何间距至少是,样例样本特征向量最长为D,那么感知算法错误数不会超过
。这个定理是62年提出的,63年Vapnik提出SVM,可见提出也不是偶然的,感知算法也许是当时的热门。
下面主要讨论这个定理的证明:
感知算法只在样例预测错误时进行更新,定义是第k次预测错误时使用的样本特征权重,
初始化为0向量。假设第k次预测错误发生在样例
上,利用
计算
值时得到的结果不正确(也就是说
,调换x和
顺序主要是为了书写方便)。也就是说下面的公式成立:
根据感知算法的更新方法,我们有。这时候,两边都乘以u得到
两个向量做内积的时候,放在左边还是右边无所谓,转置符号标注正确即可。
这个式子是个递推公式,就像等差数列一样f(n+1)=f(n)+d,由此我们可得:
因为初始为0,下面我们利用前面推导出的
和
得到
也就是说的长度平方不会超过
与D的平方和。
又是一个等差不等式,得到:
两边开根号得:
其中第二步可能有点迷惑,我们细想u是单位向量的话,
因此上面的不等式成立,最后得到:
也就是预测错误的数目不会超过样本特征向量x的最长长度与几何间隔的平方,实际上整个调整过程中就是x的线性组合。
整个感知算法应该是在线学习中最简单的一种了。
The perception and large margin classifiers的更多相关文章
- 基于Caffe的Large Margin Softmax Loss的实现(中)
小喵的唠叨话:前一篇博客,我们做完了L-Softmax的准备工作.而这一章,我们开始进行前馈的研究. 小喵博客: http://miaoerduo.com 博客原文: http://www.miao ...
- 基于Caffe的Large Margin Softmax Loss的实现(上)
小喵的唠叨话:在写完上一次的博客之后,已经过去了2个月的时间,小喵在此期间,做了大量的实验工作,最终在使用的DeepID2的方法之后,取得了很不错的结果.这次呢,主要讲述一个比较新的论文中的方法,L- ...
- Large Margin Softmax Loss for Speaker Verification
[INTERSPEECH 2019接收] 链接:https://arxiv.org/pdf/1904.03479.pdf 这篇文章在会议的speaker session中.本文主要讨论了说话人验证中的 ...
- cosface: large margin cosine loss for deep face recognition
目录 概 主要内容 Wang H, Wang Y, Zhou Z, et al. CosFace: Large Margin Cosine Loss for Deep Face Recognition ...
- Large Margin DAGs for Multiclass Classification
Abstract We present a new learning architecture: the Decision Directed Acyclic Graph (DDAG), which i ...
- 吴恩达机器学习笔记43-SVM大边界分类背后的数学(Mathematics Behind Large Margin Classification of SVM)
假设我有两个向量,
- 吴恩达机器学习笔记42-大边界的直观理解(Large Margin Intuition)
这是我的支持向量机模型的代价函数,在左边这里我画出了关于
- Kemaswill 机器学习 数据挖掘 推荐系统 Ranking SVM 简介
Ranking SVM 简介 排序一直是信息检索的核心问题之一,Learning to Rank(简称LTR)用机器学习的思想来解决排序问题(关于Learning to Rank的简介请见我的博文Le ...
- Coursera, Machine Learning, SVM
Support Vector Machine (large margin classifiers ) 1. cost function and hypothesis 下面那个紫色线就是SVM 的cos ...
随机推荐
- Python连接mysql基本操作
创建数据库表 import pymysql # 打开数据库连接 db= pymysql.connect(host='localhost',user="root",password= ...
- Java--- Ajax异步验证用户名是否存在
今天复习了一下 Ajax异步验证用户名是否存在,在下面我写三种,一般开发时候都用第三种 jQuery和Ajax结合的形式,下面就介绍三种,具体说明代码里就有啦,废话不多说,直接上代码: 第一种方式: ...
- Java包装类的自动拆装箱
题目: Integer i = 42; Long l = 42l; Double d = 42.0; 下面为true的是 A.(i == l) B.(i == d) C.(l == d) D.i.eq ...
- python异常处理机制
python有五种异常处理机制,分别是 1.默认异常处理器. 如果我们没有对异常进行任何预防,那么程序在执行过程中发生异常就会中断程序,调用python默认的异常处理器,并在终端输出异常信息,如图所示 ...
- 显示“快捷键清单” acessksy
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 结构体变量的 extern 使用方法,转--
要求如下,在.h文件中这样定义: typedef struct typFNT_GB16 // 汉字字模数据结构 { signed ]; // 汉字内码索引 ]; ...
- 【ShareCode】不错的技术文章 -- 如何使用异或(XOR)运算找到数组中缺失的数?
如何使用异或(XOR)运算找到数组中缺失的数? 今天给大家分享一篇关于使用XOR(异或)运算找到数组中缺失的数的问题. 在一次Javascript面试中,有这么一个问题: 假设有一个由0到99(包含9 ...
- 百度地图JS只显示一个省
转载地址:http://www.cnblogs.com/wondergx/p/5305602.html 转载地址:https://blog.csdn.net/myfmyfmyfmyf/article/ ...
- SpringCloud使用Feign调用服务时,@FeignClient注解无法使用
关于解决这个问题的理论根源传送门:https://blog.csdn.net/alinyua/article/details/80070890我在这里只提供解决方案 0. 结论和解决方案 Spring ...
- 【工具】switchhost
1.前提 主要功能切换host 2.下载路径 https://oldj.github.io/SwitchHosts/ 3.使用略(太简单)