【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】感知器

感知器是一种非常早期的线性分类模型,作为一种简单的神经网络模型被提出。感知器是一种模拟生物神经元行为的机器,有与生物神经元相对应的部件,如权重(突触)、偏置(阈值)及激活函数(细胞体),输出为+1或-1。

模型

感知器的模型结构与其他回归函数相同,都是对线性模型的复合。
请添加图片描述
y ^ = s g n ( w T x ) \hat{y}=\mathrm{sgn}(w^Tx) y^=sgn(wTx)
但是与之前那些线性分类模型不同的是,感知器的输出在区间 ( − 1 , 1 ) (-1, 1) (1,1)

学习目标

在保证数据集线性可分的情况下( w ∗ w^* w存在),对于训练集 { ( x ( n ) , y ( n ) ) } n = 1 N \{(x^{(n)},y^{(n)})\}_{n=1}^N {(x(n),y(n))}n=1N,找到最优权重 w ∗ w^* w使得:
y ( n ) w ∗ T x ( n ) > 0 ,    ∀ n ∈ { 1 , ⋯   , N } y^{(n)}{w^*}^Tx^{(n)}>0,\ \ \forall n\in\{1,\cdots,N\} y(n)wTx(n)>0,  n{1,,N}
举例来说,假设一个样本中 y = 1 y=1 y=1,如果上式<0则说明预测值 y ^ = w ∗ T x = − 1 \hat{y}={w^*}^Tx=-1 y^=wTx=1,也就是说预测值与真实值不同,意味着该样本的分类不是正确的分类;反之则意味着样本被分到了正确的分类中。

优化方法:一种错误驱动的在线学习算法
  • 在线学习:数据是流式传输、一个一个的过来的,类似于从队列取出数据来进行学习,完成一次迭代后从头重新开始再一个一个进行学习。
  • 错误驱动:在数据预测错误时才对参数进行更新,否则不更新

首先初始化一个权重向量 w ← 0 w\leftarrow 0 w0(通常是全零向量),每次分错一个样本(即 y w T x < 0 yw^Tx<0 ywTx<0)则更新权重
w ← w + y x w\leftarrow w+yx ww+yx
至于为什么要这样更新,可以看一个例子:如果 y w t T x < 0 y{w_t}^Tx<0 ywtTx<0,那么更新参数 w t + 1 = w t + y x w_{t+1}=w_t+yx wt+1=wt+yx,更新后 y w t + 1 T x = y ( w t + y x ) T x = y w t T x + y y T x T x = y w t T x + y 2 ∥ x ∥ 2 y{w_{t+1}}^Tx=y(w_t+yx)^Tx=y{w_t}^Tx+yy^Tx^Tx=y{w_t}^Tx+y^2\parallel x\parallel^2 ywt+1Tx=y(wt+yx)Tx=ywtTx+yyTxTx=ywtTx+y2x2,其中后项 y 2 ∥ x ∥ 2 > 0 y^2\parallel x\parallel^2>0 y2x2>0,因此最终 y w t + 1 T x ≥ y w t T x y{w_{t+1}}^Tx\geq yw_t^Tx ywt+1TxywtTx,经过多次迭代后,最终可以让这个结果>0。
感知器这种学习策略实际上与梯度下降的迭代过程非常类似,用这种思想,可以反推感知器的损失函数。按照随机梯度下降的迭代思路,对于一个样本,将 y x yx yx看作含梯度的项,同时参数优化方向与梯度方向相反,得:
∂ L ( w ) ∂ w = { − y x      i f    y w T x < 0 0      i f    y w T x > 0 L ( w ) = { − y w T x      i f    y w T x < 0 C         i f    y w T x > 0 \begin{aligned} \frac{\partial\mathcal{L}(w)}{\partial w} &=\left\{\begin{aligned} -yx\ \ \ \ & if\ \ yw^Tx<0\\ 0\ \ \ \ & if\ \ yw^Tx>0 \end{aligned}\right.\\\\ \mathcal{L}(w) &=\left\{\begin{aligned} -yw^Tx\ \ \ \ & if\ \ yw^Tx<0\\ C\ \ \ \ \ \ \ & if\ \ yw^Tx>0 \end{aligned}\right. \end{aligned} wL(w)L(w)={yx    0    if  ywTx<0if  ywTx>0={ywTx    C       if  ywTx<0if  ywTx>0
因此损失函数为
L ( w ; x , y ) = max ⁡ ( 0 , − y w T x ) \mathcal{L}(w;x,y)=\max(0, -yw^Tx) L(w;x,y)=max(0,ywTx)
也就是说,当样本分类正确( y w T x > 0 yw^Tx>0 ywTx>0)时损失为0,分类错误( y w T x < 0 yw^Tx<0 ywTx<0)时损失为 − y w T x -yw^Tx ywTx

下面是对错误驱动算法的伪代码描述
在这里插入图片描述

其中,随机排序的目的是为了保证了样本的随机性,不受少数几个样本的影响,如果已知保持训练集顺序不变就会导致训练集后面几个样本的权重大。其次,达到最大迭代次数也可以是在验证集上收敛。
相比Logistic回归,感知器不需要比较预测值与真实值之间的差异( y ( n ) − y ^ ( n ) y^{(n)}-\hat{y}^{(n)} y(n)y^(n))。也就是说,感知器不比较犯错误的程度有多大,而Logistic回归需要比较犯错误程度,但凡有一点偏差就要纠正,二者在不同的场景下各有优劣。
下面是一个感知器参数学习的更新过程示例,其中空心点表示负例,实心表示正例:
在这里插入图片描述

开始先随机初始化一个参数 w 1 w_1 w1,分界面为 w 1 T x = 0 w_1^Tx=0 w1Tx=0,此时,感知器预测的正例为 y w 1 T x > 0 yw_1^Tx>0 yw1Tx>0、负例为 y w 1 T x < 0 yw_1^Tx<0 yw1Tx<0,直观上来看,从分界线到参数 w 1 w_1 w1所在一侧为正例,另一侧为负例,如上图中左上所示。从中随机挑选一个样本,假如取到了正例样本但却被分为负例,则更新参数 w 2 = w 1 + y x w_2=w_1+yx w2=w1+yx,其中由于随机的样本是正例,也就是 y = 1 y=1 y=1,则 w 2 = w 1 + x w_2=w_1+x w2=w1+x,变成如上图右上所示。同样的操作,经过四次后变为右下所示的图,完成参数学习。

收敛性

感知器的收敛性是指给定训练集 D = { ( x ( n ) , y ( n ) ) } n = 1 N \mathcal{D}=\{(x^{(n)}, y^{(n)})\}_{n=1}^N D={(x(n),y(n))}n=1N,令R是训练集中最大的特征向量的模,即 R = max ⁡ n ∥ x ( n ) ∥ R=\max\limits_{n}\parallel x^{(n)}\parallel R=nmaxx(n) 。如果训练集 D \mathcal{D} D线性可分,两类感知器的参数学习算法权重更新次数不超过 R 2 γ 2 \frac{R^2}{\gamma^2} γ2R2。其中 γ \gamma γ表示一个趋向于零的很小的数,衡量样本中正负例的分离程度, γ \gamma γ越大说明样本中两例分离越大反之越小。
也就是说对于线性可分的数据集来说,感知器能够保证在有限的更新步骤当中找到这个分界面。
收敛性证明:
对于感知器来说,权重向量的更新方式为:
w k = w k − 1 + y ( k ) x ( k ) = w k − 2 + y ( k − 1 ) x ( k − 1 ) + y ( k ) x ( k ) \begin{aligned} w_k &=w_{k-1}+y^{(k)}x^{(k)}\\ &=w_{k-2}+y^{(k-1)}x^{(k-1)}+y^{(k)}x^{(k)} \end{aligned} wk=wk1+y(k)x(k)=wk2+y(k1)x(k1)+y(k)x(k)
则在第K次更新时的感知器的权重向量为:
w k = ∑ k = 1 K y ( k ) x ( k ) w_k=\sum_{k=1}^Ky^{(k)}x^{(k)} wk=k=1Ky(k)x(k)
则:
∥ w k ∥ 2 = ∥ w k − 1 + y ( k ) x ( k ) ∥ 2 = ∥ w k − 1 ∥ 2 + ∥ y ( k ) x ( k ) ∥ 2 + 2 w k − 1 T y ( k ) x ( k ) \begin{aligned} \parallel w_k\parallel^2 &=\parallel w_{k-1}+y^{(k)}x^{(k)}\parallel^2\\ &=\parallel w_{k-1}\parallel^2+\parallel y^{(k)}x^{(k)}\parallel^2+2w_{k-1}^Ty^{(k)}x^{(k)} \end{aligned} wk2=∥wk1+y(k)x(k)2=∥wk12+y(k)x(k)2+2wk1Ty(k)x(k)
上式中,由于只有遇到判错才会更新,因此 2 w k − 1 T y ( k ) x ( k ) < 0 2w^T_{k-1}y^{(k)}x^{(k)}<0 2wk1Ty(k)x(k)<0。此外, y ( k ) = ± 1 y^{(k)}=\pm 1 y(k)=±1所以式子中 ∥ y ( k ) x ( k ) ∥ 2 = ∥ x ( k ) ∥ 2 \parallel y^{(k)}x^{(k)}\parallel^2=\parallel x^{(k)}\parallel^2 y(k)x(k)2=∥x(k)2。式子中的正数项:
∥ w k − 1 ∥ 2 + ∥ y ( k ) x ( k ) ∥ 2 = ∥ w k − 1 ∥ 2 + ∥ x ( k ) ∥ 2 ≤ ∥ w k − 1 ∥ 2 + R 2 ≤ ∥ w k − 2 ∥ 2 + 2 R 2 ≤ K R 2 \begin{aligned} \parallel w_{k-1}\parallel^2+\parallel y^{(k)}x^{(k)}\parallel^2 &=\parallel w_{k-1}\parallel^2+\parallel x^{(k)}\parallel^2\\ &\leq\parallel w_{k-1}\parallel^2+R^2\\ &\leq\parallel w_{k-2}\parallel^2+2R^2\\ &\leq KR^2 \end{aligned} wk12+y(k)x(k)2=∥wk12+x(k)2≤∥wk12+R2≤∥wk22+2R2KR2
加上最后的小于0的项后上式仍然成立,因此可得 ∥ w k ∥ 2 ≤ K R 2 \parallel w_k\parallel^2\leq KR^2 wk2KR2
接下来,设 w ∗ w^* w为最优分界面对应的参数,由于 w w w的模与分类是无关的,只需要考虑正负号,因此约定 ∥ w ∗ ∥ 2 = 1 \parallel w^*\parallel^2=1 w2=1,同时有公式向量模的内积大于向量内积的模,因此:
∥ w k ∥ 2 = ∥ w ∗ ∥ 2 ∥ w k ∥ 2 ≥ ∥ w ∗ w k ∥ 2 = ∥ ∑ k = 1 K w ∗ T y ( k ) x ( k ) ∥ 2 \begin{aligned} \parallel w_k\parallel^2 &=\parallel w^*\parallel^2\parallel w_k\parallel^2\\ &\geq\parallel w^*w_k\parallel^2\\ &=\parallel \sum_{k=1}^K{w^*}^Ty^{(k)}x^{(k)}\parallel^2 \end{aligned} wk2=∥w2wk2≥∥wwk2=∥k=1KwTy(k)x(k)2
因为 w ∗ w^* w是最优的参数,因此上式是正确分类,也就是 w ∗ T y x {w^*}^Tyx wTyx一定大于零。假设 γ → 0 \gamma\rightarrow 0 γ0,则:
∥ w k ∥ 2 ≥ K 2 γ 2 \begin{aligned} \parallel w_k\parallel^2 &\geq K^2\gamma^2 \end{aligned} wk2K2γ2
综上所述,得到:
K 2 γ 2 ≤ ∥ w k ∥ 2 ≤ K R 2 K^2\gamma^2\leq\parallel w_{k}\parallel^2\leq KR^2 K2γ2≤∥wk2KR2
则有:
K 2 γ 2 ≤ K R 2 K γ 2 ≤ R 2 K ≤ R 2 γ 2 \begin{aligned} K^2\gamma^2&\leq KR^2\\ K\gamma^2&\leq R^2\\ K&\leq\frac{R^2}{\gamma^2} \end{aligned} K2γ2Kγ2KKR2R2γ2R2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/706863.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在项目中使用Volta控制node版本

在项目中使用Volta控制node版本 前端的技术很多年前就已经是井喷的状态了&#xff0c;基本每一年都有技术的迭代&#xff0c;而node作为前端基石之一也是一年一个样&#xff0c;这就导致了不同年代的版本使用不同的项目会经常出问题&#xff0c;高版本的node无法用于老的项目。…

【设计模式】行为型-模板方法模式

方法千变万化&#xff0c;心灵如潮&#xff0c;模板如画&#xff0c;画出生活的韵味。 文章目录 一、茶与咖啡二、模板方法模式三、模板方法模式的核心组成四、运用模板方法模式五、模板方法模式的应用场景六、小结推荐阅读 一、茶与咖啡 场景假设&#xff1a;我们需要完成茶…

测试开发面经分享,面试七天速成 DAY2

1. TCP和UDP的区别 a. TCP是面向连接的协议&#xff0c;而UDP是无连接的协议。 b. TCP提供可靠的数据传输&#xff0c;保证数据的有序性和完整性&#xff0c;而UDP则不提供这些保证。 c. TCP使用流控制和拥塞控制机制&#xff0c;以确保数据的可靠传输&#xff0c;而UDP没有这…

HCIE-QOS基本原理

QOS基本原理 QOS概述什么是QOSQoS服务模型区分服务模型QoS常用技术 (DiffServ模型)QoS数据处理流程 (DiffServ模型) QoS流分类和流标记QoS数据处理流程为什么需要流分类和流标记 简单流分类外部优先级 - VLAN报文外部优先级 - MPLS报文外部优先级 - IP报文各外部优先级间的对应…

Kafka集成flume

1.flume作为生产者集成Kafka kafka作为flume的sink&#xff0c;扮演消费者角色 1.1 flume配置文件 vim $kafka/jobs/flume-kafka.conf # agent a1.sources r1 a1.sinks k1 a1.channels c1 c2# Describe/configure the source a1.sources.r1.type TAILDIR #记录最后监控文件…

计算机视觉基础课程知识点总结

图像滤波 相关: 核与图像同向应用&#xff0c;不翻转。 卷积: 核在应用前翻转&#xff0c;广泛用于信号处理和深度学习&#xff08;现在常说的二维卷积就是相关&#xff09;。 内积: 向量化的点积操作&#xff0c;是相关和卷积的一部分。 模板匹配&#xff1a;通过在图像中…

Go变量作用域精讲及代码实战

1. 变量的作用域概述 在编程中&#xff0c;变量的作用域&#xff08;Scope&#xff09;定义了变量在程序中的可见性和生命周期。理解变量的作用域对于编写健壮且可维护的代码至关重要。Go语言&#xff08;简称Go&#xff09;提供了几种不同的作用域类型&#xff0c;使得开发者可…

13600KF+3060Ti,虚拟机安装macOS 14,2024年6月

距离上次装macOS虚拟机已经有一段时间了&#xff0c;macOS系统现在大版本升级的速度也是越来越快了&#xff0c;由于Office只支持最新三个版本的macOS&#xff0c;所以现在保底也得安装macOS 12了&#xff0c;我这次是用macOS 14做实验&#xff0c;13和12的安装方式和macOS 14一…

Word同行内的文字如何左右分别对齐

先打开标尺&#xff08;视图-标尺&#xff09; 开右边&#xff0c;选一个制表位置&#xff0c;比如我选34 切回开始&#xff0c;点段落段落右下角 然后 然后 我修改为35&#xff08;因为“6月13日”总共3个字符&#xff09; 在文字中间按下Tab键&#xff0c;效果如下

视频生成模型 Dream Machine 开放试用;微软将停止 Copilot GPTs丨 RTE 开发者日报 Vol.224

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

《C++程序设计》银行管理系统

莫思身外无穷事 且尽生前有限杯 我们先来看一下项目需求&#xff1a; 【场景】 在日常生活中&#xff0c;我们普遍接触到窗口服务系统&#xff0c;如到银行柜台办理业务、景区现场购买门票等。当需要办理业务的顾客数超过窗口数量时&#xff0c;我们需遵循排队等待原则。 【需…

微服务 | Springboot整合Dubbo+Nacos实现RPC调用

官网&#xff1a;Apache Dubbo 随着互联网技术的飞速发展&#xff0c;越来越多的企业和开发者开始关注微服务架构。微服务架构可以将一个大型的应用拆分成多个独立、可扩展、可维护的小型服务&#xff0c;每个服务负责实现应用的一部分功能。这种架构方式可以提高开发效率&…

怎么用住宅代理IP?使用住宅代理IP有哪些好处?

如何使用住宅代理IP&#xff1a; 使用住宅代理IP主要涉及以下几个步骤&#xff1a; 选择合适的代理IP供应商&#xff1a; 考虑供应商的可靠性、代理IP的质量、速度、稳定性以及价格。选择信誉良好且服务稳定的供应商&#xff0c;确保获得高质量的代理IP服务。配置代理IP&#…

2024年中漫谈

不知不觉&#xff0c;2024年已来到了6月&#xff0c;博主不禁感叹时光易逝&#xff0c;岁月的车轮滚滚向前&#xff0c;永不止步&#xff0c;此刻无关贫穷与富裕&#xff0c;伟大与平凡。 于是乎&#xff0c;宇宙&#xff08;时空&#xff09;看似毫无终点&#xff0c;一望无垠…

辽宁普通测径仪升级智能测径仪后都有哪些改进?

关键字: 普通测径仪, 智能测径仪, 测径仪升级, 测径仪特点, 智能测径仪优势, 目前多数厂家测径仪的数据处理方式是单片机计算出最终结果&#xff0c;然后传输到工控机后期处理。这样的电路系统对轧钢现场的高温、高粉尘和强电磁干扰的环境适应性很差&#xff0c;使得同一厂家、…

芯片后端对于芯片设计公司的重要性

在芯片设计流程中&#xff0c;后端设计是一个至关重要的环节&#xff0c;它直接关系到芯片从设计到实际生产的转化&#xff0c;以及最终产品的性能、可靠性、成本和上市时间。 以下是为什么芯片后端非常重要的几个关键原因&#xff1a; 物理实现&#xff1a;后端设计是芯片从逻…

【APP移动端自动化测试】第二节.Appium介绍和常用命令代码实现

文章目录 前言一、Appium介绍和安装二、python代码功能实现 2.1 hello appium 参数详解 2.2 在脚本内启动其他app 2.3 获取app的包名和界面名 2.4 关闭app和驱动对象 2.5 安装和卸载以及是否安装app 2.6 将应用置于后台总结 前言 一、Appium介绍…

Vertical Layout 、Horizontal Layout 实验窗体自适应布局

实验目的 学习实验使用布局实现如下自适应界面 窗体邮件&#xff0c;布局设置为垂直布局 用同样的方法&#xff0c;添加groupbox&#xff0c;并右键设置为水平布局 拖入一个Horizontal Layout&#xff0c;然后拖入button&#xff0c;拖入 Horizontal Spacer 遇到一个问题&#…

openh264 帧内预测编码过程源码分析

函数关系 说明&#xff1a; 可以看到完成帧内预测编码的核心函数就是 WelsMdI16x16、WelsMdI4x4、WelsMdI4x4Fast 、WelsMdIntraChroma 四个函数。 原理 WelsMdI16x16函数 功能&#xff1a;针对16x16像素块的帧内模式决策过程&#xff1a; 局部变量申明&#xff1b;根据宏块…

三星公布尖端芯片进展 | 百能云芯

三星电子在本周三举办的年度晶圆制造盛会上&#xff0c;揭开了未来多项技术革新的神秘面纱&#xff0c;并宣布其晶圆制造业务将整合全球领先的记忆芯片、晶圆制造及封装服务&#xff0c;为AI芯片客户提供一站式服务&#xff0c;以加速其生产进程。 三星强调&#xff0c;客户仅需…