Improving the way neural networks learn

来源:互联网 发布:手机测试温度软件 编辑:程序博客网 时间:2024/05/22 14:21

Improving the way neural networks learn

@(深度学习)[深度学习]

二次代价函数

C=(ya)22ax=1,y=0Cw=(ay)σ(z)x=aσ(z)Cb=(ay)σ(z)=aσ(z)(a)(b)z=wx+ba=σ(z)

问题:当输出a趋近1的时候,σ(z)会变的非常小(σ(z)=σ(z)(1σ(z))),这个时候偏导也会变的特别小,因此学习的速度会下降

优化的方法

  • 代价函数的选择:cross-entropy
  • 正则化方法:L1;L2;dropout;artificial expantion(提升模型范化的能力)
  • 初始化weights的方法
  • 选择超参数的方法

cross-entropy cost function

C=1nx[ylna+(1y)ln(1a)],(1)

解决二次代价函数学习缓慢的问题:从下面的公式可以看出cross-entropy代价函数对wb的偏导和σ(z)无关,仅和σ(z)y(错误)有关系

在什么时候cross-entropy能够被解释为代价函数:
- C是一个非负的函数,可以观察到y的取值是0或1,a的取值在(0,1)之间,因此C>0
- 当神经元的输出趋近于期望的输出时,C会接近0,C0
- 总结而言 : cross-entropy是正的,且当神经元计算出接近于期望输出的值时,cross-entropy趋近于0

Cwj=1nx(yσ(z)(1y)1σ(z))σwj=1nx(yσ(z)(1y)1σ(z))σ(z)xj.(2)(3)

Cwj=1nxxj(σ(z)y).(4)

同理,对b的偏导:
Cb=1nx(σ(z)y).(4)

cross-entropy to many-neuron multi-layer networks:

C=1nxj[yjlnaLj+(1yj)ln(1aLj)].(5)

假如输出神经元是sigmoid neurons,cross-entropy总是更好的选择,在模型训练之前我们将会初始化参数w和b,可能会导致计算过程中输入x=1,输入结果是0的情况,这样的情况下,二次代价函数的学习速度会下降甚至停止。

代价函数对wLjk的偏导:

CwLjk=1nxaL1k(aLjyj).(67)

相比二次代价函数消去了σ(zLj)
CbLj=1nx(aLjyj)

假如输出层使用线性神经元,即激活函数不使用sigmoid,而是简单的使用aLj=zLj时,不会产生速度下降的问题,这个时候二次代价函数同样适用

总结:在选择代价函数的时候,应该考虑输出层激活函数的情况,输出层同时也对应机器学习中单个元的分类或者回归问题,通常分类问题选择cross-entropy,回归问题选择二次函数

Softmax

  • 为神经网络定义了一种新的输出类型

aLj=ezLjkezLj

特性:
- 输出相加等于一
- 输出的值总是正数
- 也就是说:softmax的输出可以看作一个概率分布
- aLjzLkj=k的时候为正jk时为负

区别:
- sigmoid层的输出aLj是对应加权输入的函数
- softmax层的输出与上一层的所有加权输入相关

softmax-learning slowdown problem

log-likelihood cost:ClnaLy
说明:在数字识别的例子中,假如输入的图像是数字7,那么log-likelihood cost为ClnaL7,在这个例子中,aL7是该输入为7的概率,假如此时模型能够较准确的估计,那么aL7趋近与1,则C会变得很小,相当于代价小。

sigmoid输出层——cross-entropy
softmax输出层——log-likelihood
identity输出层 ——quadratic

记住:backprogation假设了代价函数能够被写成输出层神经元的函数:

C=C(aL)

Backpropagation with softmax and the log-likelihood cost

输出层softmax:aLj=ezLjkezLk
代价函数(逻辑似然函数):C=kyklnaLk

δLj=CzLj=CaLjaLjzLj=aLjyj

regularization

L1 regularization:

C=C0+λnw|w|

Cw=C0w+λnsgn(w)

梯度下降的权重更新:

ww=wnλnsgn(w)ηC0w

l1的作用是,当λ足够大的时候,迫使一些参数估计精确的等于0,相当于执行了些特征选择

因此lasso模型更加适应于特征数量较少的数据集

L2 regularization:l2则会利用所有特征,只是对参数的值进行限制

In L1 regularization, the weights shrink by a constant amount toward 0. In L2 regularization, the weights shrink by an amount which is proportional to w

Dropout:修改神经网络的结构避免过拟合

0 0
原创粉丝点击