经典神经网络分类器
感知器
感知器学习算法是误分类驱动的在线学习算法,任意选取一个具有参数的分离超平面,采用随机梯度下降法不断极小化损失函数,多次迭代训练得到感知器参数w b。
定义损失函数(训练样本被错分的程度):
随机梯度下降法:
BP网络
由于感知器学习算法是一种单层网络的学习算法,在多层网络中,它只能改变最后层的权值。BP算法即误差反向传播算法,解决了多层神经网络隐含层神经元连接权值学习的问题,它用 Sigmoid 激活函数替代了阶跃函数
sigmoid函数导数满足以下性质:
对于一个神经网络:
对于输出层节点i:
其中,δi是节点i的误差项,yi是节点i的输出值,ti是样本对应于节点i的目标值。
对于隐藏层节点:
其中,ai是节点i的输出值,wki是节点i到它的下一层节点k的连接的权重,δk是节点i的下一层节点k的误差项。
然后,更新每一个连接上的权值:
其中,wji是节点i到节点j的权重,η是学习率,δj是节点j的误差项,xji是节点i传递给节点j的输入。
显然,计算一个节点的误差项,需要先计算每个与其相连的下一层节点的误差项。这就要求误差项的计算顺序必须是从输出层开始,然后反向依次计算每个隐藏层的误差项,直到与输入层相连的那个隐藏层。
需要注意的是,这些推导出的训练规则是根据激活函数是sigmoid函数、平方和误差、全连接网络、随机梯度下降优化算法。如果激活函数不同、误差计算方式不同、网络连接结构不同、优化算法不同,则具体的训练规则也会不一样。
另外,神经网络在层次深的情况下性能变得很不理想:传播时容易出现梯度弥散,陷入局部最优,且随着网络层数的增加而严重,所以只能处理浅层结构从而限制了性能。
自组织神经网络
对于感知器与BP神经网络,他们是有监督的,所以提出无监督的自组织神经网络。
在自组织神经网络中,输出神经元之间相互竞争激活,在任意时刻只有一个神经元被激活。被激活的神经元被称为胜利者神经元(WTA)
自组织竞争网络:
WTA竞争学习过程:
1、向量归一化:
2、寻找WTA获胜神经元:
3、网络输出与权值调整:
4、重新归一化处理:
自组织映射网络(SOM网):
能将高维度输入数据映射到低维空间(通常为二维),同时保持输入数据在高维空间的拓扑结构,运用竞争学习策略,依靠神经元之间互相竞争逐步优化网络。利用近邻关系函数来维持输入空间的拓扑结构,而不是用**损失函数。**来训练,它非常适合高维数据的可视化,能够维持输入空间的拓扑结构。