感知机(Perceptron)这个名字来源于它模仿人类感知世界的原理。在1950年代末期,由心理学家和神经学家Frank Rosenblatt提出,最初的想法是创建一个能够模拟人类视觉感知的模型。在那个时代,研究者们开始探索如何用机器来模仿人脑的功能,尤其是如何处理和识别视觉信息。
感知机的命名灵感来自于它试图模拟生物神经元的工作原理,特别是试图理解视觉信号是如何被大脑处理的。Rosenblatt的感知机模型由一系列简单的单元组成,每个单元接受输入信号,进行加权求和,并通过一个激活函数产生输出,这个过程类似于神经元接收信号,进行加权处理,并决定是否发送脉冲。
感知机模型是一个线性分类器,用于解决二分类问题。它使用加权输入和一个阈值函数来产生输出。如果加权输入的总和超过了阈值,感知机就会输出1(或+1),否则输出0(或-1)Rosenblatt还提出了一个感知机学习规则,允许模型根据错误反馈调整权重,以逐步逼近最佳分类边界。这个规则是监督学习的一个早期例子。
在1969年,Marvin Minsky和Seymour Papert发表了一本书《Perceptrons》,其中指出感知机无法解决非线性可分问题,如异或(XOR)问题。这一发现极大地影响了感知机的研究热度,甚至导致了整个AI领域的冬天。尽管如此,感知机的理论和算法为后来的神经网络和深度学习打下了基础。在Minsky和Papert的批评之后,研究人员开始探索多层神经网络,即神经网络的隐藏层,这克服了线性可分性的限制。
单层感知机与线性可分性
对于单层感知机,确实只能解决线性可分问题。这意味着如果两类数据能够在二维空间中通过一条直线(在更高维度中则是超平面)分开,那么单层感知机就能找到这样的边界来分类数据。然而,当数据不是线性可分的,比如异或(XOR)问题,单层感知机就无能为力了,因为它不能表达非线性边界。
多层感知机与非线性可分性
多层感知机(Multilayer Perceptron,MLP)通过引入一个或多个隐藏层,能够解决非线性可分问题。这是因为隐藏层的神经元可以学习到数据的非线性表示,从而在更高维的空间中将原本不可分的数据变得可分。实际上,即使是只有一个隐藏层的神经网络,也已经被证明具有通用逼近能力,也就是说,理论上它可以逼近任何连续函数。
高维空间中的分类边界
对于输入特征参数更多、层数更深的神经网络,确实相当于在高维空间中去拟合一个分类边界。每一层神经元都可以看作是在学习数据的不同抽象层次上的表示,而最终的分类决策则是在这些抽象表示的基础上做出的。深度神经网络能够捕捉数据的复杂结构,通过学习多层次的特征表示,来拟合复杂的决策边界。
函数逼近与权重优化
从另一个角度来看,神经网络是在尝试逼近一个理想的输出函数。网络的权重和偏置就是这个函数的参数,通过反向传播算法和梯度下降等优化方法,我们可以调整这些参数,使网络的输出尽可能接近期望的输出。这个过程可以视为在高维参数空间中寻找最优解,也就是寻找一组权重和偏置,使得网络的损失函数最小化,从而最好地拟合训练数据。
BP 算法的工作流程
对每个训练样例,BP 算法执行以 作:先将输入示例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果;然后计算输出层的误差,再将误差逆向传播至隐层神经元,最后根据隐层神经元的误差来别连接权和|词值进行调整. 该法代过程循环进行,直到达到某些停止条件为止。
正则化(Regularization)是一种防止模型过拟合的技术,它通过在损失函数中添加一个惩罚项来限制模型的复杂度。正则化项通常与模型的参数有关,用来控制参数的大小,从而简化模型,增强模型的泛化能力。最常见的两种正则化方法是L1正则化和L2正则化:
一图胜千言:
常常用以下策略来跳出局部最小:
- 用多组不同参数值初始化多个神经网络 按标准方法训练后,取其误差最小的解作为最终参数。这相当于从多个不同的初始点开始搜索,这样就可能陷入不同的局部极小从中进行选择有可能获得更接近全局最小的结果。
- 使用 "模拟退火" (simulated annealing) 技术。 模拟退火在每一步都 以二定的概率接受 比当前解更差的结果,从而有助 "跳出"局部最小。在每步迭代过程中,接受"次优解"的概率要随着时间的推移而逐渐降低从而保证算法稳定。
- 使用随机梯度下降。与标准梯度下降法精确计算梯度不同, 随机梯度下降法在计算梯度时加入了随机因素。于是,即便陷入局部极小点,它计算出的梯度仍可能不为零,这样就有机会跳出局部极小继续搜索。