[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

人工神经网络(Artificial Neural Networks)顾名思义,是模仿人大脑神经元结构的模型。上图是一个有隐含层的人工神经网络模型。X = (xxx)是ANN的输入,也就是一条记录的在m个属性上的值。每个属性对应一个输入节点。

对于输入层来说,输入层的输出O就是输入层的输入x

对于隐含层的其中一个节点j来说,节点j的输入为ΣOw(i的取值为所有与节点j相连的输入层节点)。可以发现,节点与节点之间的连接是有一个权重的,这个权重将会影响最后的分类结果。而我们对ANN的训练过程,实际上也就是调整权重的过程。

而隐含层的输出,引入一个激励函数,此时,将激励函数设为

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

上图中激励函数中的自变量x,在ANN中就是这个节点的输入,也就是ΣOw

对于输出层来说,输入值就是隐含层的输出值。而输出层的输出值,与隐含层的计算方法类似。通常,取相同的激励函数。

前向算法:用来对一条数据进行分类。通过以上的计算方法,可以得出一个输出,将这个输出与阈值相比较,就能能出分类结果。

后向算法:用来训练模型,调整权重。

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

E表示ANN预测的分类与真实分类的误差。我们的目标是将E变的越小越好。

给定一个标注好的数据集[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP,可以定义这样一个误差函数:

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

计算E的梯度[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

上式为下降的“步子”

Batch neural network training

思想:对于每一天记录,都算出其O,再计算E,求出梯度,调整w。

Online training

思想:根据每一天单挑记录,修改权重。

优点:更快的收敛率和减少陷入局部最优解的可能。

算法过程[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

[数据挖掘课程笔记]人工神经网络(ANN)-LMLPHP

04-13 15:04