您的位置:首页 > 理论基础 > 计算机网络

Multi-linear classification(MLP)多层神经网络基础原理

2014-11-07 19:43 405 查看

感知器vol.2

线性分类不能分隔非线性的边界,可以用多个超平面来取代单个超平面



如图简单示意合并两个超平面对数据进行分类
对hyperplane A和B的输出zA和zB,计算

以0为临界值
取h+1个神经元可以构成一个multi-linear classifier,其中h个hyperplane作边界分割,1个作为h个hyperplane的混合器

用不同的方式将神经元组合在一起,所形成的感知器就叫做 multi-layer perceptron (MLP)



xi是点X输入的各方向的坐标,yi是第一层的输出,z是整个感知器的输出,vi,j是从xi到yj的系数,wi是从yi到z的系数,由此我们得到一个MLP模型

MLP learning
多层的学习方式和单层类似:
每次取单点计算Error并通过改变hyperplane来降低error,并重复该过程

我们将两层的系数分别计为vb,a和wb,通过这两个系数的偏导数来减小eout

下面的表达式中v的下标b,a,b代表到处的因子为yb,导入的因子为xa。


像delta rule一样,我们通过一阶偏导数修正v和w

于是有

,z是经过当前模型计算后得出的值,z*是训练样本中的原值。令yh和xn等于1
同理可得关于vb,a的一阶偏导数


更新过程和linear classification一样,同样是步骤t的系数值加上偏导数与learning rate的乘积

Back-propagation algorithm
该算法用于计算怎么样高效地将b和w系数收敛到合理值


第一遍将y和z的值按一遍的顺序算出

,并计算出关于各个维度的偏导数
再计算

,展开讲

依次求出y0到yn的值和其偏导数,接着

,求出

,继而




完成更新步骤


其余和linear classification的循环类似

可以将Retro-propagation algorithm 可以作为回归算法
输入值为一系列输入点X
一系列对于每一个点X的value值
调用back-propagation减少error

MLP对范围有要求[-1,1]之间,如果输入值大于范围,则MLP会丢失信息
过多的神经元会导致过拟合,并对数据中的噪音较敏感

training error:在对数据进行回归时的误差,有最小值
testing error:在training中没有用到的点误差,当到达最小值后升高
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据挖掘