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

感知器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中没有用到的点误差,当到达最小值后升高

你可能感兴趣的:(大数据算法,数据挖掘)