2017/7/20 朱兴全教授学术讲座观点与总结第三讲:多层神经网络

1、多层神经网络(为何能够解决多种问题)html

多层神经网络:在输入和输出层上有隐含层,能够克服单层神经网络的限制处理非线性分离问题git

  • 多层有更大的区分度,多条线去拟合

    第三个图中,每个方块对应第二个图中神经网络,即有两个隐含层。算法


 

2、Feedforward Neural Networks网络

一、FF NN模型函数

选择sigmoid函数做为激活函数的缘由是其到处可导。性能

 

 

多层神经网络的偏差,输出偏差(指望输出与真实输出的差)、单个样本网络偏差(单个样本对应全部输出与指望输出的偏差)、全部样本的网络偏差。学习

前馈神经网络测试

loss:指望与实际状况的差别  去调整权重。观察到某种状况下(某一权重分布下)的影响(输出结果),去更改行为(权重),以使其往指望的方向改变。spa

 

二、训练:BP算法设计

重复:

  • 前向传递  从输入到输出的计算,获得error
  • 后向传递  从输出层开始,偏差反向传播,对每个神经元计算局部梯度,更改权重(最后层附近更改权重是最大的,越往前影响越弱,如绳子抖波浪同样)

 

算法步骤:

 二、BP规则的推导(我的认为十分调理清晰,简单易懂,很是推荐看看)

 

输出层与隐含层神经元的权重更新不一样

 

 

 

各个层到底学到的是什么?

权重与特征并不一样等,具备可区分性的特征对应的权重值更大,对应点(神经元)response更高。

 这里有一个demo,适合运行在32位的计算机上,但愿后面有时间来运行一下(64位要在x86里更改什么来着。。。)

http://www.inf.ed.ac.uk/teaching/courses/inf1-cg/labs/lab6/mcmaster/digit-demo.html

 

 

 训练中止法则:两点,一是整个平均偏差平方达到一个很小的值。二是使用验证集,整个模型的泛化性能表现足够良好。

 

  • 有效数据集:训练数据集、验证集(监测偏差,决定是否中止迭代)、测试集
  • 控制好模型的复杂度与泛化能力

  • 经过交叉验证选择合适的模型

 

三、神经网络设计

数据表示

 

①网络拓扑结构(层数等)

②网络参数(权重、学习率、隐藏层数和神经元个数、训练集样本个数)

 

相关文章
相关标签/搜索