The perception and large margin classifiers
Posted on 2018-12-10 09:08 wzd321 阅读(314) 评论(0) 编辑 收藏 举报 假设样例按照到来的先后顺序依次定义为。
为样本特征,
为类别标签。任务是到来一个样例
,给出其类别结果
的预测值,之后我们会看到真实值
,然后根据真实值来重新调整模型参数,整个过程是重复迭代的过程,直到所有的样例完成。这么看来,我们也可以将原来用于批量学习的样例拿来作为在线学习的样例。在在线学习中,我们主要关注在整个预测过程中预测错误的样例数。
用表示正例,
表示负例,支持向量机中提到的感知算法(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和
顺序主要是为了书写方便)。也就是说下面的公式成立:
两个向量做内积的时候,放在左边还是右边无所谓,转置符号标注正确即可。
这个式子是个递推公式,就像等差数列一样f(n+1)=f(n)+d,由此我们可得:
又是一个等差不等式,得到:
两边开根号得:
其中第二步可能有点迷惑,我们细想u是单位向量的话,
因此上面的不等式成立,最后得到:
也就是预测错误的数目不会超过样本特征向量x的最长长度与几何间隔的平方,实际上整个调整过程中就是x的线性组合。
整个感知算法应该是在线学习中最简单的一种了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!