[吃瓜教程]南瓜书第5章神经网络

1.M-P神经元

M-P神经元,全称为McCulloch-Pitts神经元,是一种数学模型,用于模拟生物神经元的功能。这个模型是由Warren McCulloch和Walter Pitts在1943年提出的。它是人工智能和计算神经科学领域中非常重要的早期模型。
M-P神经元接收n个输入(通常来自其他神经元),并给各个输入赋予权重计算加权和,然后和自身特有的阈值 θ \theta θ进行比较(作减法),最后经过激活函数(模拟“抑制”和“激活”)处理得到输出(通常是给下一个神经元)
y = f ( ∑ i = 1 n w i x i − θ ) = f ( w T x + b ) y=f(\sum_{i=1}^nw_ix_i-\theta)=f(w^Tx+b) y=f(i=1nwixiθ)=f(wTx+b)
单个M-P神经元:感知机(sgn作激活函数)、对数几率回归(sigmoid作激活函数)
多个M-P神经元:神经网路

2.感知机(分类模型)

2.1 sgn函数

sgn 函数,或称为符号函数(sign function):是一个数学函数,用于确定一个实数的符号。sgn 函数的定义如下:

  • 当x>0时,sgn(x)=1
  • 当x=0时,sgn(x)=0
  • 当x<0时,sgn(x)=-1
    图像如下:
    在这里插入图片描述

2.2 感知机

1)模型
其具体公式如下:
y = s g n ( w T w − θ ) = { 1 , w T x − θ > = 0 0 , w T x − θ < 0 y=sgn(w^Tw-\theta) =\begin{cases} 1& ,{w^Tx-\theta>= 0}\\ 0& ,{w^Tx-\theta<0} \end{cases} y=sgn(wTwθ)={10,wTxθ>=0,wTxθ<0
其中, x ∈ R N x\in \mathbb{R}^N xRN为样本的特征向量,是感知机模型的输入, w , θ w,\theta w,θ是感知机模型的参数, w ∈ R n w\in \mathbb{R}^n wRn为权重, θ \theta θ 为阈值

从几何的角度来说,给定一个线性可分的数据集T,感知机的学习目标是求得能对数据集T中的正负样本完全正确划分的超平面,其中 w T x − θ w^Tx-\theta wTxθ即为超平面方程。
n维空间的超平面 ( w T x + b = 0 , 其中 w , x ∈ R n ) (w^Tx+b=0,其中w,x \in \mathbb R^n) (wTx+b=0,其中w,xRn):

  • 超平面方程不唯一
  • 法向量w垂直于超平面
  • 法向量w和位移项b确定一个唯一超平面
  • 法向量w指向的那一半空间为正空间,另一半为负空间

缺点: 只能解决线性可分的问题
模型图如下所示,只包含一个输入层和一个输出层。
在这里插入图片描述

2)策略
感知机的学习策略是,随机初始化 w , b w,b w,b,将全体训练样本带入模型找出误分类样本,假设此时误分类样本的集合为 M ⊆ T M\subseteq T MT对任意一个误分类样本 ( x , y ) ∈ M (x,y)\in M (x,y)M来说,当 w T x − θ > = 0 w^Tx-\theta >=0 wTxθ>=0时,模型输出值为 y ^ = 1 \hat y=1 y^=1,样本真实标记为y=0;繁殖,当 w T x − θ < 0 w^Tx-\theta<0 wTxθ<0时,模型输出值为 y ^ \hat y y^=0,样本真实标记为y=1。综合两种情况可知,以下公式恒成立
( y ^ − y ) ( w T x − θ ) > = 0 (\hat y-y)(w^Tx-\theta)>=0 (y^y)(wTxθ)>=0
所以,给定数据集T,其损失函数可以定义为:
L ( w , θ ) = ∑ x ∈ M ( y ^ − y ) ( w T x − θ ) L(w,\theta)=\sum_{x\in M}(\hat y-y)(w^Tx-\theta) L(w,θ)=xM(y^y)(wTxθ)
此时损失函数是非负的。如果没有误分类点,损失函数值为0.而且,误分类点越少,误分类点离超平面越近,损失函数值就越小。
损失函数还可以进一步优化,将 θ \theta θ并入 w w w向量中成为第n+1维0,其中x的第n+1维恒为-1。那么损失函数进一步简化为:
L ( w ) = ∑ x ∈ M ( y ^ − y ) w T x L(w)=\sum_{x\in M}(\hat y-y)w^Tx L(w)=xM(y^y)wTx
3)算法
当误分类样本集合M固定时,可以球的损失函数 L ( w ) L(w) L(w)的梯度为
∇ w L ( w ) = ∑ x i ∈ M ( y ^ i − y i ) x i \nabla_wL(w)=\sum_{x_i\in M}(\hat y_i-y_i)x_i wL(w)=xiM(y^iyi)xi
学习算法具体采用的是随机梯度下降法,也即极小化过程中不是一次使M中的所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。所以权重 w w w的更新公式为:
w ← w + Δ w w \leftarrow w+\Delta w ww+Δw
Δ w = − η ( y ^ i − y i ) x i = η ( y i − y ^ i ) x i \Delta w=-\eta(\hat y_i-y_i)x_i=\eta(y_i-\hat y_i)x_i Δw=η(y^iyi)xi=η(yiy^i)xi
其中 η \eta η为学习率,最终解出来的w通常不唯一。
从几何角度方便理解一点,如下图所示,
在这里插入图片描述
可以看到红线和绿线都可以把正负样本分开,它们代表了两组 w w w,因此说明解不唯一。

3.神经网络

为了解决线性不可分的数据集(其他的当个神经元的模型也可以结局线性不可分的数据集,只是感知机不可以),提出了由多个神经元构成的神经网络,且用通用近似定理可以证明:只需一个包含足够多神经元的隐层,多层前馈网络(最经典的神经网络之一)就能以任意精度逼近任意复杂度的连续函数。
优点:
既能做回归,也能做分类,而且不需要复杂的特征工程。
需要考虑的问题:

  • 对于具体场景,神经网络该做多深,多宽?(没有理论支撑,都是实践经验)
  • 对于具体场景,神经网络的结构该如何设计才最合理(没有强理论指导)
  • 对于具体场景,神经网络的输出结果该如何解释?(模型的可解释性可以用来指导特征调整)

经典神经网络——多层前馈网络:
每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接。
在这里插入图片描述
将神经网络(NN)看作一个特征加工函数
x ∈ R d → N N ( x ) → y = x ∗ ∈ R l x\in R^d \rightarrow NN(x) \rightarrow y=x^* \in R^l xRdNN(x)y=xRl
回归:后面接一个 R l → R R^l \rightarrow R RlR的 神经元
y = w T x ∗ + b y=w^Tx^*+b y=wTx+b
分类:后面接一个 R l → [ 0 , 1 ] R^l \rightarrow [0,1] Rl[0,1]的神经元,例如激活函数为sigmoid函数的神经元
y = 1 1 + e − ( w T x ∗ + b ) y=\frac{1}{1+e^{-(w^Tx^*+b)}} y=1+e(wTx+b)1
神经网络可以自动提取特征不用人为的手工设计特征。
神经网络训练方法——BP算法:
在20世纪80年代之前,尽管神经网络已经存在一段时间,但其实际应用受到了限制,主要原因在于无法有效地训练多层神经网络
在这个背景下,1986年,David E. Rumelhart, Geoffrey E. Hinton, 和 Ronald J. Williams在他们的论文《Learning representations by back-propagating errors》中提出了反向传播算法。这一算法为多层前馈神经网络的训练提供了一个有效的方法,使得神经网络可以在更多复杂问题上展现出强大的表现力。
BP算法是一种基于随机梯度下降的参数更新算法。反向传播算法在处理多层神经网络时,通过链式法则有效地计算梯度,而随机梯度下降则用于基于这些梯度更新权重。反向传播算法与随机梯度下降相辅相成,共同实现了多层神经网络的高效训练。
下面是以输入层第i个神经元与隐层第h个神经元之间的连接全 v i h v_{ih} vih为例推导一下:
损失函数
E k = 1 2 ∑ j = 1 l ( y ^ j k − y j k ) 2 E_k=\frac12\sum^l_{j=1}(\hat y^k_j-y^k_j)^2 Ek=21j=1l(y^jkyjk)2
Δ v i h = − η ∂ E k ∂ v i h \Delta v_{ih}=-\eta \frac{\partial{E_k}}{\partial{v_{ih}}} Δvih=ηvihEk
用链式求导得到
∂ E k ∂ v i h = ∑ j = 1 l ∂ E k ∂ y ^ j k ∗ ∂ y ^ j k ∂ β j ∗ ∂ β j ∂ b h ∗ ∂ b h ∂ α h ∗ ∂ α h ∂ v i h \frac{\partial{E_k}}{\partial{v_{ih}}}=\sum^l_{j=1}\frac{\partial{E_k}}{\partial{\hat y^k_j}}*\frac{\partial{\hat y^k_j}}{\partial{\beta_j }}*\frac{\partial{\beta_j }}{\partial{b_h}}*\frac{\partial{b_h}}{\partial{\alpha_h}}*\frac{\partial{\alpha_h}}{\partial{v_{ih}}} vihEk=j=1ly^jkEkβjy^jkbhβjαhbhvihαh

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

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

相关文章

【VIM的使用】

Vim 是一个非常强大的文本编辑器&#xff0c;尤其在 Linux 环境下被广泛使用。它基于 vi 编辑器开发而来&#xff0c;增加了许多功能和改进。下面是一个简化的 Vim 教程&#xff0c;帮助你快速上手&#xff1a; 启动 Vim 要启动 Vim&#xff0c;只需在终端中输入 vim [filen…

Python酷库之旅-第三方库Pandas(001)

目录 一、Pandas库的由来 1、背景与起源 1-1、开发背景 1-2、起源时间 2、名称由来 3、发展历程 4、功能与特点 4-1、数据结构 4-2、数据处理能力 5、影响与地位 5-1、数据分析“三剑客”之一 5-2、社区支持 二、Pandas库的应用场景 1、数据分析 2、数据清洗 3…

【机器学习】Google开源大模型Gemma2:原理、微调训练及推理部署实战

目录 一、引言 二、模型简介 2.1 Gemma2概述 2.2 Gemma2 模型架构 三、训练与推理 3.1 Gemma2 模型训练 3.1.1 下载基座模型 3.1.2 导入依赖库 3.1.3 量化配置 3.1.4 分词器和模型实例化 3.1.5 引入PEFT进行LORA配置 3.1.6 样本数据清洗与加载 3.1.7 模型训练与保…

每日复盘-20240704

今日关注&#xff1a; 20240704 六日涨幅最大: ------1--------300391--------- 长药控股 五日涨幅最大: ------1--------300391--------- 长药控股 四日涨幅最大: ------1--------300391--------- 长药控股 三日涨幅最大: ------1--------300391--------- 长药控股 二日涨幅最…

【SSL 1056】最大子矩阵 (多维DP)

题目大意 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵&#xff0c;你的任务是找到最大的非空&#xff08;大小至少是 1 ∗ 1 1*1 1∗1&#xff09;子矩阵。 比如&#xff0c;如下 4 ∗ 4 4*4 4∗4 子矩阵 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 的最大子矩阵是 …

Python——面向对象编程(类和对象)2

目录 私有属性和私有方法 01.应用场景及定义方式 02.伪私有属性和私有方法 继承 1.1继承的概念、语法和特点 1.继承的语法&#xff1a; 2.专业术语&#xff1a; 3.继承的传递性 1.2方法的重写 1.覆盖父类的方法 2.对父类方法进行扩展 关于super 1.3 父类的私有属性和…

树状数组基础知识

lowbit: lowbit(x)x&(-x) 树状数组&#xff1a; 树状数组的功能&#xff1a; 数组 在O(1)的时间复杂度实现单点加&#xff1a; 在O(lng n)的时间复杂度实现查询前缀和&#xff1a; 树状数组的定义&#xff1a; 查询前x项的和操作&#xff1a; ll query(int x){ll s0;f…

JavaScript懒加载图像

懒加载图像是一种优化网页性能的技术&#xff0c;它将页面中的图像延迟加载&#xff0c;即在用户需要查看它们之前不会立即加载。这种技术通常用于处理大量或大尺寸图像的网页&#xff0c;特别是那些包含长页面或大量媒体内容的网站。 好处 **1. 加快页面加载速度&#xff1a…

SCI一区TOP|徒步优化算法(HOA)原理及实现【免费获取Matlab代码】

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年&#xff0c;SO Oladejo受到徒步旅行启发&#xff0c;提出了徒步优化算法&#xff08;Hiking Optimization Algorithm, HOA&#xff09;。 2.算法原理 2.1算法思想 HOA灵感来自于…

项目进度管理(信息系统项目管理师)

定义活动的输出&#xff1a;活动清单、活动属性、里程碑清单定义活动的输入包括进度管理计划、范围基准、事业环境因素、组织过程资产定义活动的工具与技术包括专家判断、分解、滚动式规划、会议分解是一种把项目范围和项目可交付成果逐步划分为更小、更便于管理的组成部分的技…

【pearcmd】通过pearcmd.php 进行GetShell

https://cloud.tencent.com/developer/article/2204400 关于PHP 配置 register_argc_argv 小结 的一些研究文章。 应用例题 [NewStarCTF 2023 公开赛道]Include &#x1f350; <?phperror_reporting(0);if(isset($_GET[file])) {$file $_GET[file];if(preg_match(/flag|l…

部署LVS-DR 群集

1 LVS-DR 集群 LVS-DR &#xff08;Linux Virtual Server Director Server ) 工作模式&#xff0c; 是生产环境中最常用的一种工作模式 1.1&#xff1a;LVS-DR工作原理 LVS-DR 模式&#xff0c; Director Server 作为群集的访问入口&#xff0c; 不作为网关使用&#xff0c;…

7.4总结

今天写了几道题目 最近&#xff0c;一年级学生马克西姆学习了科拉兹猜想&#xff0c;但他在讲课时没有太注意&#xff0c;所以他认为猜想中提到了以下过程&#xff1a; 有一个变量 $$$x$$$ 和一个常数 $$$y$$$ 。下面的操作要执行 $$$k$$$ 次&#xff1a; - 将 $$$x$$$ 增加…

Axure教程:App侧边抽屉菜单交互制作

今天给大家示范一下抽屉菜单在Axure中的做法。在抽屉式菜单中&#xff0c;要实现两个交互效果&#xff0c;分别是&#xff1a; 交互一 抽屉菜单中1、2级菜单项的伸缩效果 实现逻辑&#xff1a;设置动态面板的切换状态及“推动/拉动原件”实现 交互二 菜单项的选中状态切换 …

2025年中国国际新能源汽车技术零部件及服务展览会

中国国际新能源汽车技术零部件及服务展览会&#xff0c;从设计到制造、从使用到服务&#xff0c;精准“链”接新能源汽车全产业链的技术供应商和汽车制造商&#xff0c;专业面向新能源造车供应链的行业盛会。2024展会回顾&#xff1a;在展会的3天里&#xff0c;有62家车企核心供…

6种ETL计算引擎介绍

目录 一、ETL计算引擎定义 二、ETL计算引擎的功能和特性 三、6种ETL计算引擎 1、MapReduce 2、Tez 3、Spark 4、Flink 5、ClickHouse 6、Doris 一、ETL计算引擎定义 ETL&#xff08;Extract, Transform, Load&#xff09;计算引擎是用于执行ETL过程中数据转换阶段的关键组件之一…

分布式计算、异构计算与算力共享

目录 算力 算力共享的技术支撑 云计算技术 边缘计算技术 区块链技术 分布式计算、异构计算与算力共享 分布式计算:计算力的“集团军作战” 异构计算:计算力的“多兵种协同” 算力共享:计算力的“共享经济” 深入融合,共创计算新纪元 算力共享对科研领域的影响 …

stm8玩耍日记1

写在前面&#xff0c;如题所示&#xff0c;这是一个stm8L051F3的玩耍记录。 环境使用的是IAR for stm8&#xff0c;使用stlink v2作为调试下载器&#xff0c;跟着st中文论坛的一个大佬的教程学习的。 整体配置下来&#xff0c;点亮了led&#xff0c;感觉和stm32的开发差不多&…

java项目自定义打印日志,打印请求方式,参数用时等

1.相关依赖 <!-- 私人工具包 --><dependency><groupId>cn.changeforyou</groupId><artifactId>location</artifactId><version>1.13-SNAPSHOT</version></dependency><!-- hutool工具依赖 --><dependency>…

路由器的ip地址与网关的区别是什么

在网络世界中&#xff0c;路由器扮演着至关重要的角色&#xff0c;它负责数据的传输和网络的互联。而在路由器的设置中&#xff0c;有两个常见的概念&#xff1a;IP地址和网关。那么&#xff0c;路由器的IP地址与网关的区别是什么&#xff1f;下面与虎观代理小二一起了解一下吧…