神经网络框架

一、激活函数

  线性操作分类能力不强,而非线性表达可以分开数据。

  神经网络中隐层就是增加了激活函数,使得神经网络表达出更强大的效果。

  Sigmoid可作为激活函数,但容易引起梯度消失(导数趋近于0)。

  max(0,x)就是ReLU激活函数,可以解决梯度消失问题,导数简单,已经常用的神经网络激活函数。

  

  (JavaScript可以写网页版的神经网络)

二、过拟合

  

  λ越小,过拟合越严重,把离群点作为单独数据群拟合,λ调整至合适值,保证模型的泛化能力。

  

  神经元越多,越能表达复杂模型,但也越容易出现过拟合降低模型泛化能力。

  

  最后每一个操作都要经过激活函数(activation function)作用,才能使最终结果产生非线性。

  神经元就是权重参数w。

三、数据预处理

  

  原始数据样本都减去均值得到以0为中心化的数据,此时x、y轴浮动大小不一致,需要消除他们的差异,做归一化,得到[0,1]范围的数据。

四、权重初始化

  

  一般采用高斯初始化或随机初始化,常用随机初始化。

  b一般用0值初始化,也可以用1初始化。

五、DROP-OUT

  每次随机迭代,不是一次把所有的神经元进行迭代。可以降低过拟合风险。

  一般训练过程中出现过拟合是正常的,不出现反而可能是异常的。

  

  

posted @ 2018-11-02 11:29  zarjen  阅读(446)  评论(0编辑  收藏  举报