《数据挖掘:理论与算法》学习笔记(六)—神经网络

感知机—神经网络最基本的模型

感知机(perceptron)是二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别(取1和0)。感知机对应于输入空间中将实例划分为两类的分离超平面。感知机旨在求出该超平面.
《数据挖掘:理论与算法》学习笔记(六)—神经网络
其中,w0w_0 是一个偏差值,这个条件是必要的,如果没有这个条件,切平面会经过原点。我们需要这个偏差值控制决策平面到原点的距离。

下图中感知机实现了与门和或门的功能
《数据挖掘:理论与算法》学习笔记(六)—神经网络
为了求得合适的超平面,我们导入了基于误分类的损失函数,利用梯度下降法 对损失函数进行最优化(最优化)。
《数据挖掘:理论与算法》学习笔记(六)—神经网络
但利用梯度下降算法收敛到正确的权值的前提条件是训练的样本线性可分

如果训练的样本线性不可分,我们需要借助 DeltaDelta 学习规则。
DeltaDelta 的关键思想是:利用梯度下降来搜索可能的权向量的假设空间,以找到最佳拟合训练样例的权向量

《数据挖掘:理论与算法》学习笔记(六)—神经网络
其中,tdt_d 是期望输出,oto_t 是实际输出。

批量梯度下降算法思路
《数据挖掘:理论与算法》学习笔记(六)—神经网络
随机梯度下降算法
《数据挖掘:理论与算法》学习笔记(六)—神经网络
一个样本更新一次参数

多层感知机

《数据挖掘:理论与算法》学习笔记(六)—神经网络
下面是异或门的分类,从图中可以明显看出,这是线性不可分的
《数据挖掘:理论与算法》学习笔记(六)—神经网络
我们用多层感知机把复杂的问题拆开,就能解决问题。
XOR的例子中输出层映射到隐藏层后,就转化为了一个线性可分的问题。
《数据挖掘:理论与算法》学习笔记(六)—神经网络
其中,我们经常使用Sigmoid函数,它被用作神经网络的阈值函数,将变量映射到0,1之间。
《数据挖掘:理论与算法》学习笔记(六)—神经网络
神经网络的学习算法—反向传播算法
误差对权重求偏导
《数据挖掘:理论与算法》学习笔记(六)—神经网络

其他的一些神经网络介绍

Elman神经网络
《数据挖掘:理论与算法》学习笔记(六)—神经网络

Elman网络可以看作是一个具有局部记忆单元和局部反馈连接的递归神经网络

它的主要结构是前馈连接, 包括输入层、 隐含层、 输出层, 其连接权可以进行学习修正;反馈连接由一组“结构 ” 单元构成,用来记忆前一时刻的输出值, 其连接权值是固定的。在这种网络中, 除了普通的隐含层外, 还有一个特别的隐含层,称为关联层 (或联系单元层 ) ;该层从隐含层接收反馈信号, 每一个隐含层节点都有一个与之对应的关联层节点连接。关联层的作用是通过联接记忆将上一个时刻的隐层状态连同当前时刻的网络输入一起作为隐层的输入, 相当于状态反馈。隐层的传递函数仍为某种非线性函数, 一般为 Sigmoid函数, 输出层为线性函数, 关联层也为线性函数。

Hopfield神经网络
《数据挖掘:理论与算法》学习笔记(六)—神经网络

Hopfield神经网络是一种递归神经网络