图2.2所示为生物神经元与人工网络神经元基本结构对比示意图,人工神经网络借鉴了生物神经元的结构与功能特征,模仿其信息传递功能进行设计。生物神经元与人工网络神经元的结构功能对照见表2.1。
图2.2 生物神经元与人工网络神经元
表2.1 生物、人工网络神经元结构功能对照
借鉴生物神经元结构设计的人工神经元就是单层感知机(或单层感知器),单层感知机(Single Layer Perceptron)是最简单的神经网络,包含输入层和输出层,且二者是直接连接的。图2.3所示为单层感知器结构示意图,其中, x i 为输入层,可以是图像等特征信息,也可以是来自其他神经元的输入; w i 表示相应的网络连接权重, b 是偏置,各个输入参数 x i 乘以相应权重 w i ,然后累加,再加上偏置,经过激活函数 f 计算得到输出 y 。其中输入层在于模拟生物神经元的树突接收输入信号,加权和的计算则是模拟生物神经元的细胞体进行加工和处理接收到的信号,激活函数的作用在于模拟生物神经元的轴突控制信号的输出,输出层即是模拟生物神经元的突触对结果进行输出。
图2.3 单层感知器
一个单层感知器可以简单理解为一个线性回归模型,其由输入数据、权重、偏差(或阈值)和输出构成。单层感知器的计算公式为:
对于单层感知器来讲,训练的过程就是学习获得它的权重和偏置的过程,如果将偏置也看作是一个特殊的权重的话,那么问题就转化为通过训练数据集来得到权重 w i 的过程。对于训练数据集( x i , y i ),假设单层感知机输出为 ,那么在其学习过程中权重参数的调整为
式中, η 为学习率,取值范围为(0,1)。这是单层感知机的参数更新方式。
实例2.1给出了利用单层感知机解决一个简单的分类问题:假设平面坐标系上有4个点,分别标签为1的(5,4)和(4,5),标签为-1的(1,2)和(3,2),构建一个单层感知器将这4个数据分为两类。
利用上述代码构建的单层感知器对4个点进行分类,分类结果如图2.4所示。
图2.4 单层感知器分类结果