如何制作一个网站做淘宝券,做做同城网站好还是做垂直网站好,不相关的网站做单项链接可以吗,网站建设lnmp什么是正则化#xff1f;
正则化(regularization)是一种实用的减少方差(variance)的方法#xff0c;也即避免过度拟合
几种正则化的方法
L2正则化
又被称为权重衰减(weight dacay) 在成本函数中加上正则项#xff1a; 其中 由于在w的更新过程中会递减#xff0c;即权…什么是正则化
正则化(regularization)是一种实用的减少方差(variance)的方法也即避免过度拟合
几种正则化的方法
L2正则化
又被称为权重衰减(weight dacay) 在成本函数中加上正则项 其中 由于在w的更新过程中会递减即权重衰减 w递减的过程实际上是w趋近于0的过程
在这个过程中部分单元的影响逐渐减小(可以近似看作隐藏)最终成为深层神经网络(类似线性回归)从最开始的右图逐渐变为左图即从high variance -- high bias
在变化的中间存在一个just right的状态这个状态则是最优情况
缺点
为了搜索合适的正则化参数lambda需要进行大量验证计算花费时间很长 dropout(随机失活)
dropout基本原理将神经网络中的部分单元进行随机删除/失活(将它们的影响降至几乎不存在)让原本的神经网络样本训练规模变小
常用方法inverted dropout(反向随机失活) 设置一个概率参数keep_prob在例子中设置为0.8表示有0.2的概率让单元失活
设置bool矩阵d3将a3矩阵与d3矩阵进行矩阵乘法运算然后a3/keep_prob保持未被失活单元的数据的完整性
代码实现
import numpy as np
a3np.random.rand(3,3)
print(before dropout : \n,a3)
keep_prob0.8
# print(a3.shape[0],a3.shape[1])
d3np.random.rand(a3.shape[0],a3.shape[1])keep_prob
# print(d3 ,d3)
a3np.multiply(a3,d3)
a3/keep_prob
print(after dropout : \n,a3)
运行结果 dropout合理性的解释
dropout会压缩权重(shrink weights)完成预防过拟合的外层正则化(类似L2正则化的功能)与L2正则化不同的是dropout对不同的应用方式会产生不同的效果 keep_prob的数值越小dropout的效果越显著
对于某些层若担心过拟合可以设置更小的keep_prob参数值而对于其他层若无需使用dropout则可以设置keep_prob1
缺点
需要进行许多验证来得出不同的keep_prob参数值
同时因为每次迭代部分节点都会被随机移除J函数的定义无法被明确给出难以对递减程度进行评估与复查
数据扩增data augmentation
当无法获得充足的数据时又需要大量的数据时则会选择这种方法
对原有数据进行一定的处理产生新的数据
缺点
需要额外的算法验证对新数据判断是否合理
early stopping
只需运行一次梯度下降找到w的较小值中间值和较大值
在梯度下降过程中及时停止得到较合理的dev set error和train set error