一、线性分类与感知机
1.1 神经元
由于神经网络的模拟对象是人的大脑,那么在讨论具体的模型之前,我们有必要先从生物学的角度来看看人的大脑有哪些特性。
根据生物学的研究,人脑的计算单元是神经元(neuron)。它能根据环境变化做出反应,再将信息给其他的神经元。在人脑中,大约有860亿个神经元,它们相互联结构成了极其复杂的神经系统,而后者正是人类智慧的物质基础。因此遵循人脑的生物结构,我们首先需要搭建模型来模拟人的神经元。
1.2 神经元模型
生物神经元:
一个典型的神经元由4个部分组成。
树突:一个神经元有若干个树突,它们能接收来自其他神经元的信号,并将信号传递给细胞体。
细胞体:细胞体是神经元的核心,它把各个树突传递过来的信号加总起来,得到一个总的刺激信号。
轴突:当细胞体内的刺激信号超过一定阈值之后,神经元的轴突会对外发送信号。
突触:该神经元发送的信号(若有)将由突触向其他神经元或人体内的其他组织(对神经信号做出反应的组织)传递。需要注意的是,神经元通常有多个突触,但它们传递的信号都是一样的。
生物神经元(Spiking模型):
生物神经元: Integrate-and-fire 模型
二、感知机模型
感知机是二分类的线性模型,其输入是实例的特征向量,输出的是实例的类别,分别是+1和-1,属于判别模型。
假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面。如果是非线性可分的数据,则最后无法获得超平面。
感知机输入到输出模型定义为:
由于感知机为判断模型,对于正确分类只有两类样本:
由此可以定义损失函数:
于是我们要找到超平面参数满足:
三、多层前馈网络与误差反传算法
3.1 多层感知机
多层感知机相对于单层多了以下特点:
引入了隐藏层(hidden layer)的结构,隐藏层通常指代的是,输入层(input layer)和输出层(output layer)中间的具有 N 个神经元的结构。其中层与层之间采用全连接的结构,跨层之前没有相连。
引入了新的非线性激活函数。
采用了反向传播算法(back propagation)。
多层感知机模型的提出是为了解决线性不可分问题(XOR)
多层前馈网络的反向传播学习算法即为BP算法,基于梯度下降策略,以目标的负梯度方向对参数进行调整。
3.2 BP算法
3.3.1 BP算法计算步骤
(1)初始化连接权值和阈值为一小的随机值,即W(0)=任意值,θ(0)=任意值。
(2)输入一个样本X。
(3)正向传播,计算实际输出,即根据输入样本值、互联权值和阈值,计算样本的实际输出。
其中输入层的输出等于输入样本值,隐含层和输出层的输入为地球物理勘探概论输出为地球物理勘探概论式中:f为阈值逻辑函数,一般取Sigmoid函数,即地球物理勘探概论式中:θj表示阈值或偏置;θ0的作用是调节Sigmoid函数的形状。
较小的θ0将使Sigmoid函数逼近于阈值逻辑单元的特征,较大的θ0将导致Sigmoid函数变平缓,一般取θ0=1。
(4)计算实际输出与理想输出的误差地球物理勘探概论式中:tpk为理想输出;Opk为实际输出;p为样本号;k为输出节点号。
(5)误差反向传播,修改权值地球物理勘探概论式中:地球物理勘探概论地球物理勘探概论(6)判断收敛。若误差小于给定值,则结束,否则转向步骤(2)。
3.3.2 BP算法推导
从输入端输入数据,按照上一轮的参数进行前向计算,很容易获得每一层节点输出
容易获得输出端输出,并于真值求差可获得输出端计算误差
由链式求导法则容易获得