简介
感知机是一种最早的神经网络模型,由Frank Rosenblatt于1957年提出。它是一种二元线性分类器,主要用于将输入数据划分为两个类别:正类和负类,它通过计算输入特征与权重的加权和,并经过激活函数处理,将输入数据进行二元分类。感知机的学习算法是基于随机梯度下降的,主要用于解决线性可分问题。然而,由于其局限性,当数据线性不可分时,感知机无法找到最优解。随着深度学习的发展,感知机被更复杂的多层感知机和深度神经网络所取代,这些模型能够处理更复杂的任务和非线性关系。
线性
在数学中,线性是指与一次方程(一次多项式)相关的性质。在二维平面中,线性表示为直线;在三维空间中,线性表示为一个平面。对于多维数据,线性表示为一个超平面。具体来说,一个函数或模型被称为线性的,他满足加性:函数的输出对于输入的加法是可加的,即: f(x + y) = f(x) + f(y) 和 奇次性:函数的输出对于输入的缩放是可调的。即,f(a * x) = a * f(x),其中a是一个常数。总的来说,线性函数的图像呈现直线、平面或超平面,而且具有一定的可加性和可缩放性。在线性模型中,输入特征与权重之间的关系是线性的。
非线性
在数学中,非线性是指不符合线性性质的函数或模型。换句话说,当函数或模型的输出不能表示为输入的加权和时,它就是非线性的。非线性函数的图像通常不是直线、平面或超平面,而是曲线、曲面或复杂的形状,非线性函数或模型的性质可以更加复杂和多样化,不具有线性函数的可加性和可缩放性。在非线性模型中,输入特征与权重之间的关系是非线性的,它们能够表示更加复杂的关系和特征。
在机器学习和深度学习中,线性模型和非线性模型的选择对于处理不同类型的数据和任务非常重要。线性模型在处理线性可分问题时表现较好,而非线性模型可以处理更复杂的任务和数据。
单层感知机
结构
它包含输入层和输出层,没有隐藏层。输入层接收特征向量,每个输入特征与相应的权重相乘,然后通过激活函数(通常是阶跃函数)得到输出。感知机是一种二元线性分类器,主要用于将输入数据分为两个类别:正类和负类。它最初被认为是神经网络的基础。这里引用的是一位博主的图片,这就是单个神经元的单层感知机:
工作原理
感知机的工作原理是通过学习权重参数来对输入数据进行分类。在训练过程中,感知机通过对训练样本进行反复迭代来调整权重和偏置项,使得模型能够正确分类训练数据。感知机的学习算法基于随机梯度下降(SGD),通过计算损失函数对权重的梯度,并沿着梯度的反方向更新权重,逐渐优化模型。例如下图,通过我的感知机模型,不断的更新迭代,最终找出一个能很好的拟合我这个点集的W,b,实现而分类,
优缺点
优点:感知机结构简单,易于理解和实现;对于小规模线性可分问题,具有较好的表现。
缺点:无法解决线性不可分问题;收敛速度较慢;对噪声数据敏感。
多层感知机
结构
其原理和单层感知机基本相似,但他与单层感知机的最大区别在于隐藏层,是一种基于神经网络的深度学习模型。它包含输入层、多个隐藏层和输出层。每个隐藏层由多个神经元组成,每个神经元与上一层的所有神经元相连。隐藏层和输出层都使用非线性激活函数,通常采用ReLU、Tanh、Sigmoid等。多层感知机的层数和每层神经元的数量是可以调整的超参数。下图为百度图库中的一张多层感知机的图片:
工作原理
多层感知机通过引入多个隐藏层和非线性激活函数,可以学习更复杂的特征表示和非线性关系,从而提高模型的表达能力。在训练过程中,多层感知机使用反向传播算法进行参数优化,通过计算损失函数对网络参数的梯度,并沿着梯度的反方向更新参数,逐渐拟合训练数据。
优缺点
优点:可以处理更复杂的任务和非线性关系;具有较强的表达能力;在大规模数据集上也具有较好的性能。
缺点:模型结构复杂,容易出现过拟合;对于大规模数据集和计算资源的需求较高。
总结
感知机是一种简单的神经网络模型,适用于小规模线性可分问题;多层感知机是一种深度学习模型,可以处理更复杂的任务和非线性关系。随着深度学习的发展,多层感知机取代了感知机成为处理复杂任务的主要工具,并在各种领域取得了显著的进展。
参考文章
https://blog.youkuaiyun.com/DXW_1203216/article/details/127244793
https://mp.weixin.qq.com/s?__biz=MzA5ODUxOTA5Mg==&mid=2652551447&idx=1&sn=a763c4de8b247e515e844bbc1ebd9ba2&chksm=8b7e484cbc09c15a4e79c1cb24de7d2bb38d42b081aac53693f374809f76308ddfb1eb0f945a&scene=