学习理论之感知器与最大间隔分类器

到目前为止,我们使用的学习方法都是批量学习(batch learning)方式,即首先给定训练集学习出拟合假设函数中的参数,然后评价的效果的时候使用独立的测试集。本篇博文将会介绍一种在线学习(online learning)方式,即算法必须在学习的过程中不断地作出预测,而不是批量学习方式一样,学习过程结束后才作出预测。

在线学习方式下,学习算法按顺序学习一个样本序列:.  具体来讲就是,算法先根据,利用假设函数(参数首先初始化为某些较合适的值),给出的预测值,预测完了之后,利用的实际值和预测值信息对参数进行更新;然后,在这个更新之后的参数的基础上,根据,计算出的预测值,再利用的实际值和预测值信息更新参数;如此重复下去直到最后一个样本。可以看出,在线学习只关注当前需要学习的样本所带来的误差,所以,在模型的应用过程就是学习参数过程中就需要不断预测,然后根据当前预测值与实际值的信息不断对参数做出调整。

我们给出感知器算法的在线学习残差的一个边界。标签集采用.

感知器的参数,其中 nx 的维度,参数之所以维度多了1,是因为,其中一个参数表示的是假设函数中的常数项,因此这个参数是没有 中某元素与之对应. 根据下面假设函数作出预测:

其中

给出一个训练样本,感知器学习规则就是,如果(即预测值和真实值相等),参数不作任何变化,如果不相等,用下面方式更新参数:

下面的理论会给出感知器算法的在线学习错误预测次数的边界,以为每一次在线学习都会产生一个样本误差. 注意在线学习错误预测次数与样本数量和输入的维度之间没有依赖关系。

定理 (Block, 1962, and Noviko, 1962)给定样本序列,假设对于所有样本有,进一步假设存在一个单位向量使得对于所有样本(即,当时,,当时,,所以以最小间隔至少为将数据分类),那么可以得出感知器算法在这个样本序列上的错误预测次数不超过.

证明:由上面讨论可知,算法只在假设函数做出了错误的预测时才会更新参数. 用  表第 k 次错误的权重,所以,因为权重被初始化为0, 如果对于样本预测错误为第 k 个错误,那么,意味着:

根据感知器学习规则,,那么:

逐步递推有:

已知,于是有:

同样推理:

和上面一样的方法逐步递推可得到:

一起可得到:

上面第二个不等式推导是根据是单位向量(并且z 和 的夹角).上面推导出的结果表明.

时间: 2024-11-09 00:14:22

学习理论之感知器与最大间隔分类器的相关文章

MachineLearning:二、感知器perception算法

简介 50年代末 F.Rosenblatt提出感知器算法.线性分类器的设计就是利用训练样本来计算线性函数的权向量 问题 设有两类问题的判别函数 g(X)=w1x1+w2x2+w3=0 训练样本XA,XB∈ω1, XC,XD∈ω2则 g(XA)>0,g(XB)>0 g(XC)<0,g(XD)<0 即: WX>0 其中: 权向量 各样本特征向量的增1矩阵 该线性联立不等式只对线性可分问题有解,且是多解,因而只有按不同条件取最优解 赏-罚训练算法是一个迭代过程: 1)取权向量W(1

机器学习 —— 基础整理(六):线性判别函数——感知器、松弛算法、Ho-Kashyap算法

本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 (一)线性判别函数与广义线性判别函数 一.线性判别函数 这篇总结继续关注分类问题.假设判别函数(Discriminant function)的参数形式已知,用训练的方法直接根据样本估计判别函数的参数.线性判别函数的形式为: $$g(\textbf x)=\textbf w^{\top}\textbf x+w_0$$ $\textbf x\in \mathbb R^d$ 是

从感知器到SVM

这篇文章主要是分析感知器和SVM处理分类问题的原理,不涉及求解 感知器: 感知器要解决的是这样的一个二分类问题:给定了一个线性可分的数据集,我们需要找到一个超平面,将该数据集分开.这个超平面的描述如下: $w*x+b=0$ 而感知器的决策函数是: $f(x)=sign(w*x+b)$ 其中     $z=w*x+b$ 是数据集的一个线性回归. 而 $sign$则是一个简单的符号函数. 所以,我们可以这样理解.感知器是在线性回归的基础上,加了一个阈值,将: $w * x_i + b\geq 0$

Rosenblatt感知器详解

在学习了机器学习十大算法之后,我决定将目光投向神经网络,从而攀登深度学习的高峰.这条险路的第一个拦路虎就是Rosenblatt感知器.为什么这么说呢?不仅是因为它开拓性的贡献——感知器是第一个从算法上完整描述的神经网络,而Rosenblatt感知器是感知器作为监督学习的第一个模型.还因为学习Rosenblatt感知器能够帮助了解神经元的结构.信息流的传递以及知识的学习和存储,从而打开看待问题的全新视角——模拟人脑解决问题.当然,仅仅如此的话,它只能说是可口的羔羊,谈不上拦路的猛虎.自然是在理解这

Coursera机器学习基石 第2讲:感知器

第一讲中我们学习了一个机器学习系统的完整框架,包含以下3部分:训练集.假设集.学习算法 一个机器学习系统的工作原理是:学习算法根据训练集,从假设集合H中选择一个最好的假设g,使得g与目标函数f尽可能低接近.H称为假设空间,是由一个学习模型的参数决定的假设构成的一个空间.而我们这周就要学习一个特定的H——感知器模型. 感知器模型在神经网络发展历史中占有特殊地位,并且是第一个具有完整算法描述的神经网络学习算法(称为感知器学习算法:PLA).这个算法是由一位心理学家Rosenblatt在1958年提出

感知器的训练算法

 1.感知器算法来源和基本思想 “感知器”一词出自于20世纪50年代中期到60年代中期人们对一种分类学习机模型的称呼,它是属于有关动物和机器学习的仿生学领域中的问题.当时的一些研究者认为感知器是一种学习机的强有力模型,后来发现估计过高了,但发展感知器的一些相关概念仍然沿用下来. 采用感知器算法(Perception Approach)能通过对训练模式样本集的“学习”得到判别函数的系数.由于该算法不需要对各类别中模式的统计性质做任何假设,因此称为确定性的方法. 感知器算法实质上是一种赏罚过程: –

Python_sklearn机器学习库学习笔记(七)the perceptron(感知器)

一.感知器 感知器是Frank Rosenblatt在1957年就职于Cornell航空实验室时发明的,其灵感来自于对人脑的仿真,大脑是处理信息的神经元(neurons)细胞和链接神经元细胞进行信息传递的突触(synapses)构成. 一个神经元可以看做将一个或者多个输入处理成一个输出的计算单元.一个感知器函数类似于一个神经元:它接受一个或多个输入,处理 他们然后返回一个输出.神经元可以实时,错误驱动的学习,神经元可以通过一个训练样本不断的更新参数,而非一次使用整套的数据.实时学习可能有效的处理

统计学习方法(感知器)

感知机 假设:输入空间是 x?Rn 输出空间是 y={+1,-1} 由如下2.1函数进行分类称之为感知器 其中,w为权值向量,b为偏置 sign(.)是符号函数,记为如下所示: 感知机是一种线性分类模型,属于判别模型. 感知机模型的假设空间是定义在特征空间中的 所有线性分类模型(linear classification model)或 线性分类器(linear classifier) 即函数集合{f|f(x) = wx +b} 求感知机模型2.1,即求得模型参数w,b. 感知机预测,通过学习得

感知器算法初探

今天学了感知器算法:Perceptron Learning Algorithm (PLA) 觉得自己应该回去重新学学线性代数QAQ 依旧是自己的理解为主…… 感知器算法是一种线性分类器,对于一个样本,它具有x={x1, x2, ..., xn}这些特征,每个特征具有一个权值w={w1, w2, ..., wn},所以这个样本的特征向量为X=∑xi*wi.分类集为y={y1, y2, ..., yn},所以设分类函数为y=f(X),感知器的目的是求一个函数g≍f. 假设现在有一系列样本,样本共两个