代码部分:全连接层网络_iwill323的博客-CSDN博客
目录
优化算法
随机梯度下降Stochastic Gradient Descent (SGD)
正则化
问题引出
How do we choose between W and 2W?
正则化作用
在损失函数中额外引入了正则项,用于对权重的调整,在最小化loss的同时,权重值的选择被限定了。比如,在W和2W之间,显然是选择了W
加入了正则化项后,要想最小化loss,那么权重W也要尽可能的小,于是一些冗余的权重被抑制(比如高此项,参照下图),模型变得简单,防止过拟合
正则化的作用:
- Express preferences over weights
- Push against fitting the data too
well so we don’t fit noise in the data
- Improve optimization by adding curvature
L1和L2正则化
L2正则化倾向得到小而分散的权重,最终结果能考虑到各种输入的影响(如w2),而不是少数输入的影响(如w1),提高了模型的泛化能力,减弱过拟合
L1正则化倾向得到稀疏的权重(类似于w1)
优化
http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/演示网站
随机梯度下降Stochastic Gradient Descent (SGD)
现在一般使用minibatch
# Vanilla update
x+=-learning_rate*dx
存在的问题
1.不同维度变化率差别大的时候,下降慢
在下图中,变量梯度并不指向最小值,输出对x方向输入变化不敏感,对y方向敏感,于是SGD算法在y方向会强烈振动,而在x方向进展缓慢
2.可能会陷于局部最优点