多层感知器速成

多层感知器

人工神经网络通常被称为多层感知器(MLP,Multilayer Perceptron)

神经网络的预测能力来自网络的分层或多层结构,多层结构是通过选择不同尺度的数据特征,并将它们组合成高阶特征,从而实现对新数据的预测。

神经元

神经元是构成神经网络的基本模块。神经元模型是一个具有加权输入,并且使用激活功能产生输出信号的基础计算单元。

神经元模型是一个包含输入、输出与计算功能的模型。

输入:类比神经元的树突

输出:类比神经元的轴突

计算:类比细胞核

神经元权重:采用小随机数初始化权重。

激活函数:加权输入与神经元输出的简单映射。最简单的激活函数是临界值判定,如输入总和高于阈值(如0.5),则神经元将输出值1.0,否则将输出值0.0。

神经网络

网络中神经元的构架通常被称为网络拓扑。

在设计一个神经网络时,输入层的节点数与特征的维度匹配,输出层的节点数与目标的维度匹配。而中间层的节点数,由设计者指定的。而节点数设置多少,会影响整个模型的效果。一般是根据经验来设置的。

较好的方法就是预先设定几个可选值,通过切换几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。

训练神经网络

v 随机梯度下降算法:不直接计算梯度的精确值,而用梯度的无偏估计来代替梯度,以便降低计算开销,而从让数据快速收敛。

前向传播:输入通过神经元的激活函数,一直传递到输出。

反向传播:将网络的输出与预期输出进行比较,并计算错误,然后将错误通过网络一次传播回来,并且根据它们对错误的贡献量更新权重。

epoch:在神经网络的模型训练中,会使用训练数据重复此过程。整个训练数据集的一轮更新网络。

完成整个神经网络模型的训练需要数十、数百或数千个epoch。

权重更新

通常数据集非常大,为了提高计算效率,在网络更新时,使用少量样本对进行更新,也就是说设置一个相对较小的批处理大小(batch_size)。权重更新被称为学习率的配置参数控制,通常使用较小的学习率,如0.1、0.01或更小。

动量(Momentum):不恰当的初始权值,可能使得网络的损失函数在训练过程中陷入局部最小值,达不到全局最优的状态。

学习率衰减(Learning Rate Decay):训练集的损失下降到一定程度后就不再下降。降低学习率又会延长训练所需的实践。平衡这两者之间矛盾解决方案。基本思想:学习率随着训练的进行逐渐衰减。

预测新数据

在多层神经网络中,训练的主题是优化和泛化

 

猜你喜欢

转载自blog.csdn.net/zhangyuee19501107/article/details/81051802