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中没有用到的点误差,当到达最小值后升高
相关文章推荐
- 深度学习笔记二:多层感知机(MLP)与神经网络结构
- MLP(多层神经网络)介绍
- 各框架下(tensorflow, pytorch, theano, keras)实现几个基础结构神经网络(mlp, autoencoder, CNNs, recurrent, recursive)
- 基于反向传播的多层神经网络训练原理
- MLP(多层神经网络)与人工神经网络
- 零基础入门神经网络:从原理、主要类型到行业应用
- 深度学习基础模型算法原理及编程实现--04.改进神经网络的方法
- 基于反向传播的多层神经网络训练原理(翻译)
- ufldl学习笔记与编程作业:Multi-Layer Neural Network(多层神经网络+识别手写体编程)
- MLP(多层神经网络)介绍
- 神经网络之多层感知机MLP的实现(Python+TensorFlow)
- Halcon实战之基于MLP多层神经网络的训练学习
- 人工神经网络基础概念、原理知识(补)
- MLP(多层神经网络)介绍
- 用TensorFlow构建基础的神经网络(一):MLP
- 利用反向传播训练多层神经网络的原理
- 多层神经网络(MLP)快速入门
- 深度学习基础模型算法原理及编程实现--06.循环神经网络
- MLP(多层神经网络)介绍
- 【神经网络】零基础入门神经网络:从原理、主要类型到行业应用