经典神经网络分类器

感知器

感知器学习算法是误分类驱动的在线学习算法,任意选取一个具有参数的分离超平面,采用随机梯度下降法不断极小化损失函数,多次迭代训练得到感知器参数w b。

定义损失函数(训练样本被错分的程度):

bp神经网络分类训练样本 bp神经网络分类器_权值


随机梯度下降法:

bp神经网络分类训练样本 bp神经网络分类器_感知器_02

BP网络

由于感知器学习算法是一种单层网络的学习算法,在多层网络中,它只能改变最后层的权值。BP算法即误差反向传播算法,解决了多层神经网络隐含层神经元连接权值学习的问题,它用 Sigmoid 激活函数替代了阶跃函数

sigmoid函数导数满足以下性质:

bp神经网络分类训练样本 bp神经网络分类器_机器学习_03


对于一个神经网络:

bp神经网络分类训练样本 bp神经网络分类器_机器学习_04


对于输出层节点i:

bp神经网络分类训练样本 bp神经网络分类器_神经网络_05


其中,δi是节点i的误差项,yi是节点i的输出值,ti是样本对应于节点i的目标值。对于隐藏层节点

bp神经网络分类训练样本 bp神经网络分类器_神经网络_06


其中,ai是节点i的输出值,wki是节点i到它的下一层节点k的连接的权重,δk是节点i的下一层节点k的误差项。然后,更新每一个连接上的权值:

bp神经网络分类训练样本 bp神经网络分类器_权值_07


其中,wji是节点i到节点j的权重,η是学习率,δj是节点j的误差项,xji是节点i传递给节点j的输入。

显然,计算一个节点的误差项,需要先计算每个与其相连的下一层节点的误差项。这就要求误差项的计算顺序必须是从输出层开始,然后反向依次计算每个隐藏层的误差项,直到与输入层相连的那个隐藏层。

需要注意的是,这些推导出的训练规则是根据激活函数是sigmoid函数、平方和误差、全连接网络、随机梯度下降优化算法。如果激活函数不同、误差计算方式不同、网络连接结构不同、优化算法不同,则具体的训练规则也会不一样。

另外,神经网络在层次深的情况下性能变得很不理想:传播时容易出现梯度弥散,陷入局部最优,且随着网络层数的增加而严重,所以只能处理浅层结构从而限制了性能。

自组织神经网络

对于感知器与BP神经网络,他们是有监督的,所以提出无监督的自组织神经网络。

在自组织神经网络中,输出神经元之间相互竞争激活,在任意时刻只有一个神经元被激活。被激活的神经元被称为胜利者神经元(WTA)

自组织竞争网络:

WTA竞争学习过程:

1、向量归一化:

bp神经网络分类训练样本 bp神经网络分类器_bp神经网络分类训练样本_08

2、寻找WTA获胜神经元:

bp神经网络分类训练样本 bp神经网络分类器_权值_09

3、网络输出与权值调整:

bp神经网络分类训练样本 bp神经网络分类器_bp神经网络分类训练样本_10


bp神经网络分类训练样本 bp神经网络分类器_神经网络_11


4、重新归一化处理:

bp神经网络分类训练样本 bp神经网络分类器_神经网络_12

自组织映射网络(SOM网):

能将高维度输入数据映射到低维空间(通常为二维),同时保持输入数据在高维空间的拓扑结构,运用竞争学习策略,依靠神经元之间互相竞争逐步优化网络。利用近邻关系函数来维持输入空间的拓扑结构,而不是用**损失函数。**来训练,它非常适合高维数据的可视化,能够维持输入空间的拓扑结构。