目录
[1. M-P 神经元](#1. M-P 神经元)
[2. 感知机(分类模型)](#2. 感知机(分类模型))
[2.1 sgn 函数](#2.1 sgn 函数)
[2.2 感知机](#2.2 感知机)
[3. 神经网络](#3. 神经网络)
[3.1 优点](#3.1 优点)
[3.2 缺点](#3.2 缺点)
[3.3 经典神经网络------多层前馈网络](#3.3 经典神经网络——多层前馈网络)
[3.4 神经网络训练方法------BP 算法](#3.4 神经网络训练方法——BP 算法)
[3.5 反向传播算法](#3.5 反向传播算法)
[4. 总结](#4. 总结)
1. M-P 神经元
M-P 神经元,全称为 McCulloch-Pitts 神经元,是一种用于模拟生物神经元功能的数学模型。该模型由 Warren McCulloch 和 Walter Pitts 于 1943 年提出,是人工智能和计算神经科学领域的重要早期模型。
M-P 神经元接收 n 个输入(通常来自其他神经元),并对各个输入赋予权重,计算加权和,然后与神经元特有的阈值 θ 进行比较(作减法)。最后,经过激活函数(模拟"抑制"和"激活")处理得到输出(通常传递给下一个神经元):
单个 M-P 神经元可以构成感知机(使用 sgn 作为激活函数)或对数几率回归(使用 sigmoid 作为激活函数),多个 M-P 神经元可以构成神经网络。
2. 感知机(分类模型)
2.1 sgn 函数
sgn 函数,或称为符号函数(sign function),是一个用于确定实数符号的数学函数。sgn 函数的定义如下:
- 当 x>0x > 0x>0 时,sgn(x) = 1
- 当 x=0x = 0x=0 时,sgn(x) = 0
- 当 x<0x < 0x<0 时,sgn(x) = -1
2.2 感知机
1)模型
感知机的具体公式如下:
其中, 为样本的特征向量,是感知机模型的输入;和 \是感知机模型的参数,分别为权重和阈值。
从几何角度来看,给定一个线性可分的数据集 ,感知机的学习目标是找到能将数据集中的正负样本完全正确划分的超平面, 即为超平面方程。 n 维空间中的超平面具有以下特点:
-
超平面方程不唯一 ;
-
法向量 垂直于超平面 - 法向量 和位移项 确定一个唯一的超平面 ;
-
法向量 指向的那一半空间为正空间,另一半为负空间。
缺点:感知机只能解决线性可分的问题。
模型图如下所示,只包含一个输入层和一个输出层。
2)策略
感知机的学习策略是随机初始化和,将所有训练样本带入模型找出误分类样本。假设误分类样本的集合为,对任意一个误分类样本 来说:
当 时,模型输出 \,但真实标记为
当 时,模型输出 ,但真实标记为
综合两种情况可知,以下公式恒成立:
所以,给定数据集 ,损失函数可以定义为:
如果没有误分类点,损失函数值为 0。当误分类点越少且离超平面越近,损失函数值越小。 损失函数还可以进一步优化,将 并入向量中成为第 n+1 维,其中 的第 n+1 维恒为 -1。简化后的损失函数为:
3)算法
当误分类样本集合 固定时,可以求得损失函数 的梯度:
学习算法具体采用随机梯度下降法,即每次随机选取一个误分类点进行梯度下降。权重 的更新公式为:
其中为学习率。最终解出来的通常不唯一。
3. 神经网络
为了解决线性不可分的数据集问题(感知机无法解决,但其他单个神经元模型可以),提出了由多个神经元构成的神经网络。根据通用近似定理,只需一个包含足够多神经元的隐层,多层前馈网络(最经典的神经网络之一)就能以任意精度逼近任意复杂度的连续函数。
3.1 优点
- 广泛的应用能力:神经网络既能用于回归问题,也能用于分类问题,显示出很强的通用性。
- 减少特征工程:神经网络能够自动提取特征,减少了复杂的人工特征工程工作量。
3.2 缺点
- 架构设计依赖经验:在具体应用场景中,如何选择神经网络的深度和宽度没有明确的理论指导,通常依赖于经验和实验。
- 结构设计缺乏理论支撑:在设计神经网络的结构时,没有强有力的理论指导,设计最合理的网络结构需要反复尝试和优化。
- 可解释性差:神经网络的输出结果通常难以解释,模型的决策过程不透明,这在需要高可解释性的应用中是一个挑战。模型的可解释性对于指导特征调整非常重要。
3.3 经典神经网络------多层前馈网络
每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接。
可以将神经网络(NN)看作一个特征加工函数:
回归: 后面接一个的神经元,形式为
分类: 后面接一个 的神经元,例如激活函数为 sigmoid 的神经元,形式为:
神经网络可以自动提取特征,不用人为的手工设计特征。
3.4 神经网络训练方法------BP 算法
在20世纪80年代之前,尽管神经网络已经存在一段时间,但其实际应用受到了限制,主要原因在于无法有效地训练多层神经网络。在此背景下,1986年,David E. Rumelhart、Geoffrey E. Hinton 和 Ronald J. Williams 在他们的论文《Learning Representations by Back-Propagating Errors》中提出了反向传播算法。这一算法为多层前馈神经网络的训练提供了有效的方法,使得神经网络可以在更复杂的问题上展现出强大的表现力。
3.5 反向传播算法
反向传播算法(Backpropagation,简称BP)是一种基于随机梯度下降(SGD)的参数更新算法。在处理多层神经网络时,反向传播通过链式法则有效地计算每个参数的梯度,而随机梯度下降则利用这些梯度来更新权重,从而实现网络的高效训练。
反向传播算法与随机梯度下降相辅相成,共同实现了多层神经网络的高效训练。以下是以输入层第 i个神经元与隐层第 h 个神经元之间的连接权重为例的推导:
损失函数:
权重的更新量:
通过链式求导得到:
反向传播的关键步骤
- 前向传播:计算每一层的输出,直到得到网络的最终输出。
- 计算损失:根据输出和目标值,计算损失函数 EEE。
- 反向传播:通过链式法则计算损失函数关于每个权重的梯度。
- 更新权重:使用梯度下降法更新权重。
4. 总结
- M-P 神经元 是一种早期重要的数学模型,用于模拟生物神经元的功能。
- 感知机 是基于 M-P 神经元的分类模型,适用于线性可分的数据。
- 神经网络 由多个神经元构成,能够解决线性不可分的问题,并且具有很强的函数逼近能力。
- 反向传播算法(BP算法) 是训练神经网络的核心方法,通过梯度下降法实现高效训练。
参考文献
[1] 【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导
[2] 周志华.机器学习[M].清华大学出版社,2016.
[3] 谢文睿 秦州 贾彬彬.机器学习公式详解第2版[M].人民邮电出版社,2023.