热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

机器学习笔记—感知机

在学习理论的最后,我们介绍一种不同的机器学习模型。之前介绍的都是批学习,先从训练集合中学习,再在测试集上评估。本文介绍的是在线学习,边学习边预测。给定学习算法一个序列例子(x(1),y(1)),

在学习理论的最后,我们介绍一种不同的机器学习模型。之前介绍的都是批学习,先从训练集合中学习,再在测试集上评估。本文介绍的是在线学习,边学习边预测。

给定学习算法一个序列例子 (x(1),y(1)),(x(2),y(2)),...,(x(m),y(m)),算法先遇到 x(1),然后预测 y(1) 是什么,做了预测后,y(1) 的真实值会给算法,算法使用这个信息来执行学习。然后给算法 x(2) 并要求做预测,然后再给 y(2) 的真实值,再次执行学习,直到 (x(m),y(m))。在在线学习中,我们对算法在执行过程中的错误总数很感兴趣。

我们将给感知机算法的在线学习错误一个上界,为使连续求导容易些,我们还使用标识 y∈{-1,1}

感知机算法有参数 θ∈Rn+1,做预测是根据

hθ(x)=g(θTx)

其中

给定训练集 (x,y),感知机学习规则以下面方式更新。如果 hθ(x)=y,那么对参数不作更改。不然执行以下更新:

θ:=θ+yx

下面定理给了感知机算法的在线学习错误一个上界。注意下面给的上界,并不明显依赖于序列的例子个数 m 或者输入的维度 n。

定理:给定序列 (x(1),y(1)),(x(2),y(2)),...,(x(m),y(m)),假设对所有的 i,都有 ||x(i)||≤D,且有一个单位长度向量 u(||u||2=1),使得 y(i)(uTx(i))≥γ(例如,当 y(i)=1 时,uTx(i)≥γ,当 y(i)=-1 时,uTx(i)≤-γ,所以,是 u 以至少 γ 的间隔把数据分开)。感知机在序列上犯错的总数至多是 (D/γ)2

证明:感知机只是在它犯错时才更新权重,令 θ(k) 表示犯第 k 个错误时的权重,θ(1)=0(权重初始化为 0),如果第 k 个错误时在例子 (x(i),y(i)) 上,那么 g((x(i))Tθ(k))≠y(i),所以

(x(i))Tθ(k)y(i)≤0

从感知机学习规则,有 θ(k+1)(k)+y(i)x(i)

然后可得

通过推导,可得

(k=1))Tu≥kγ

同样可得到

同样应用归纳法

||θ(k+1)||2≤kD2

联合式子,可得

第二个式子的依据是,u 是个单位长度的向量,zTu=||z||·||u||cosΦ≤||z||·||u||,其中 Φ 是 z 和 u 的角度。

结果显示 k≤(D/γ)2,所以感知机的第 k 个错误, k≤(D/γ)2

 

参考资料:

1、http://cs229.stanford.edu/notes/cs229-notes6.pdf


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 高效提取PDF页面的实用技巧
    在学习和工作中,我们经常需要与他人共享PDF格式的资料。然而,有时只需要分享部分内容,而不仅仅是整个文档。本文将介绍如何使用福昕阅读器领鲜版高效地提取PDF页面,以提高文件传输效率和查阅便捷性。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
  • 本次考试于2016年10月25日上午7:50至11:15举行,主要涉及数学专题,特别是斐波那契数列的性质及其在编程中的应用。本文将详细解析考试中的题目,并提供解题思路和代码实现。 ... [详细]
  • 黑鸟安全团队发布最新警告,Apache Struts2框架曝出S2-048高危漏洞。目前该漏洞的攻击代码(POC)已公开,建议各企业和组织立即检查是否使用了受影响的Struts2版本,并采取相应措施进行防护。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 本文详细介绍了福昕软件公司开发的Foxit PDF SDK ActiveX控件(版本5.20),并提供了关于其在64位Windows 7系统和Visual Studio 2013环境下的使用方法。该控件文件名为FoxitPDFSDKActiveX520_Std_x64.ocx,适用于集成PDF功能到应用程序中。 ... [详细]
author-avatar
手机用户2502860565
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有