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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CobaltStrike权限传递MSF

一、测试环境 操作系统&#xff1a; 1.VMware17 2.kali 6.1.0-kali5-amd64 3.Win10x64 软件&#xff1a; 1.cs4.0 2.metasploit v6.3.4-dev 二、测试思路 1.cs是一款渗透测试工具&#xff0c;但没有漏洞利用的模块&#xff0c;我们可以在拿到目标主机的权限后&#xff0c;将…

高速直线导轨驱动与控制,精准稳定的运动核心元件

直线导轨在工业生产中&#xff0c;精度和稳定性是至关重要的。而在各种机械设备中&#xff0c;高精度直线导轨是提高设备运动控制精度和平稳性的核心部件&#xff0c;当我们考虑高速运动时&#xff0c;直线导轨的精度和稳定性是非常重要的因素。 直线导轨系统中如何确保高速运动…

怎么更快捷的修改图片大小?压缩图片jpg、png、gif的快捷方法

jpg作为最常用的一种图片格式&#xff0c;在遇到图片太大问题时&#xff0c;该如何操作能够快速在压缩图片jpg的大小呢&#xff1f;图片太大无法上传时目前常见的一个使用问题&#xff0c;只有将图片处理到合适的大小才可以正常在平台上传使用&#xff0c;一般情况下想要快速解…

LLM大模型开发的一般流程

何谓大模型开发&#xff1f; 将开发以大语言模型为功能核心、通过大语言模型的强大理解能力和生成能力、结合特殊的数据或业务逻辑来提供独特功能的应用称为大模型开发。 主要功能点&#xff1a; 调用工具prompt engineering数据工程业务逻辑拆分 一般开发流程&#xff1a;…

Perl语言入门学习

引言 Perl是一种功能强大的编程语言&#xff0c;广泛用于文本处理、系统管理和Web开发。它以其灵活性和强大的正则表达式处理能力著称。本篇博客将介绍Perl的基础知识&#xff0c;并通过多个例子帮助初学者快速上手。 1. 安装Perl 在开始学习Perl之前&#xff0c;您需要确保…

Stable diffusion 3 正式开源

6月12日晚&#xff0c;著名开源大模型平台Stability AI正式开源了&#xff0c;文生图片模型Stable Diffusion 3 Medium&#xff08;以下简称“SD3-M”&#xff09;权重。 SD3-M有20亿参数&#xff0c;平均生成图片时间在2—10秒左右推理效率非常高&#xff0c;同时对硬件的需求…

贪心+构造,CF1153 C. Serval and Parenthesis Sequence

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1153C - Codeforces 二、解题报告 1、思路分析 对于括号匹配问题我们经典做法是左括号当成1&#xff0c;右括号当成-1 那么只要任意前缀非负且最终总和为0那么该括号序列就是合法 对于本题&…

计算机网络 —— 运输层(TCP三次握手)

计算机网络 —— 运输层&#xff08;TCP三次握手&#xff09; 三次握手第一次握手第二次握手第三次握手两次握手行不行&#xff1f; 我们今天来学习TCP的三次握手&#xff1a; 三次握手 TCP三次握手是TCP协议中建立连接的过程&#xff0c;旨在确保双方准备好进行可靠的通信。…

从零开始的<vue2项目脚手架>搭建:vite+vue2+eslint

前言 为了写 demo 或者研究某些问题&#xff0c;我经常需要新建空项目。每次搭建项目都要从头配置&#xff0c;很麻烦。所以我决定自己搭建一个项目初始化的脚手架&#xff08;取名为 lily-cli&#xff09;。 脚手架&#xff08;scaffolding&#xff09;&#xff1a;创建项目时…

本地GPT-window平台 搭建ChatGLM3-6B

一 ChatGLM-6B 介绍 ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#xff0c;新一代开源模型 ChatGLM3-6B 已发布&#xff0c;拥有10B以下最强的基础模型&#xff0c;支持工具调用&#xff08;Function Call&#xff09;、代码执行&#xff08;Code Interpreter&…

webshell获取总结(cms获取方法、非cms获取方法、中间件拿Webshell方法)

目录 前期准备&#xff1a; 1、cookices靶场网站搭建&#xff1a; 2、dedecms靶场环境搭建&#xff1a; 获取Webshell方法总结&#xff1a; 一、CMS获取Webshell方法 二、非CMS获取Webshell方法 1、数据库备份获取Webshell 例如&#xff1a; 2、抓包上传获取Webshell 3、…

新注册与新核准有什么区别?在哪可以找到新注册新核准的企业名单?

新注册&#xff1a;指的是公司刚刚完成工商注册登记&#xff0c;成为法律意义的经营实体。 新核准&#xff1a;指的是企业通过证券监管机构的审核&#xff0c;获得公开发行股票或债券的资格。 注册主要关注企业的基本资质和合规性&#xff0c;而核准是已经注册的公司进行财务…

49.Python-web框架-Django解决多语言redirect时把post改为get的问题

目录 1.背景 2.思路 3.寻找 Find and Replace 4.再次运行程序&#xff0c;POST来了 5.小结 1.背景 昨天在练习一个Django功能时&#xff0c;把form的method设置为POST&#xff0c;但是实际提交时&#xff0c;一直是GET方法。最后发现这是与多语言相关&#xff0c;django前面…

FRP 内网穿透 | 实现远程访问与安全管理

唠唠闲话 内网穿透简介 在互联网上&#xff0c;两个不同主机进行通信需要知道对方的 IP 地址。由于世界人口和设备众多&#xff0c;IPv4 资源相对紧缺&#xff0c;因此绝大部分情况下是通过路由器或交换机转换公网 IP 后才上网。 位于路由器或交换机后的设备通常是内网设备&…

C#操作MySQL从入门到精通(22)——创建表与操纵表

前言 我们新建数据库以后,最需要做的就是创建表,对数据库的操作绝大多数情况下都是都对表的操作,本文就是讲解如何创建表以及修改表中的列,修改表名等操作。由于创建表的方法基本上有两种,一种是使用带有界面的工具比如Navicate来创建表,另一种是使用sql语句来创建表,实…

SAP 价格金额信息控制

1)migo / mb51/mb51/mb59 关于价格和金额的显示&#xff0c;需要权限控制&#xff0c;当权限对象F_BKPF_BUK,检查对应【公司代码】 和 ACTVT有03’的权限&#xff0c;如果没有03的权限&#xff0c;对应行的价格和金额显示为空 关于价格和金额的显示&#xff0c;需要权限控制&a…

景联文科技:打造亿级高质量教育题库,赋能教育大语言模型新未来

随着人工智能技术的持续进步&#xff0c;从广泛的通用大语言模型到针对各行业的垂直大语言模型&#xff0c;已成为人工智能大语言模型技术深化演进的必然趋势。 教育大语言模型是适用于教育场景、具有庞大规模参数、融合了广泛的通用知识和专业知识训练形成的人工智能模型。能为…

多商户小程序开发步骤和方法

在当今的数字经济中&#xff0c;多商户小程序作为一种创新的商业平台&#xff0c;提供了一种新的商业模式&#xff0c;使多个商户能够在同一平台上展示和销售他们的产品或服务。这种模式不仅增强了消费者选择的多样性&#xff0c;也为商家提供了一个更广泛的销售渠道。以下是详…

Modbus协议转Profinet协议网关与气体监测系统配置案例

一、背景&#xff1b;Modbus协议和Profinet协议作为工业领域常见的两种通讯协议&#xff0c;各自具有一定的特点和应用范围。Modbus转Profinet网关&#xff08;XD-MDPN100/300&#xff09;在工业自动化控制系统中&#xff0c;可以将Modbus协议转换为Profinet协议&#xff0c;以…

基于栅格占据概率和距离场的机器人覆盖轨迹模拟

基于栅格占据概率和距离场的机器人覆盖轨迹模拟 简介 辐射场模型实现 理论基础 指数函数建模 我们使用指数函数来表示机器人在某个栅格上停留时间对覆盖概率的影响: p ( t ) 1 − e − λ t p(t) 1 - e^{-\lambda t} p(t)1−e−λt 其中 λ \lambda λ 是控制增长速率…