(2) 根据当前数据集恐怕数据分布参数,使用该分部形成更多的数据
(3) 数据提高,通过一定规则在现有数据集的基础上扩展数据
3、正则化
正则化思想:由于模型过拟合很大可能是因为训练模型过分复杂,因此在训练时,在对损失函数进行最小化的同时,我们要限定模型参数的数目,即加入正则项,即不是以为的去减少损失函数,同时还考虑模型的复杂程度
未加入正则项的模型损失函数:
加入正则项L后损失函数:
其中λ是正则项系数,是拿来权衡正则项和损失函数之间权重,正则化有以下两种:
(1) L1正则化(L1范数):权重向量w的绝对值之和
(2) L2正则化(L2范数):权重向量w的平方和再求平方根,欧几里得范数,其中w代表模型的参数,k则代表了模型参数的个数
(3) L1正则化和L2正则化的区别
L1正则化和L2正则化就会促使权重矩阵变小,即权重w变小,因此都具有避免过拟合的能力,但不同是L1正则化更易形成系数的权重矩阵,即权重w变小为0;L2正则化只会是w变小但不会出现大量为0现象
这里请注意,以下给出三个重要解释
解释1:为什么权重w变小能避免过拟合? 先看右图:
过拟合时,拟合函数的系数常常比较大,正如上图,红色过拟合函数曲线须要恐怕到训练集中的每一个点,最终产生了波动很大的拟合函数。所以在过拟合函数的个别区间里,函数值的波动很大, 这便会促使函数在该区间的行列式值的绝对值很大,由于自变量有大有小,所有只有系数w足够大能够保证行列式值足够大。因此控制参数w的范数不要太大,曲线波动便会小,能更好的拟合数据。
解释2:为何L1正则化更易形成系数权重矩阵,而L2不会出现大量w值为0?
先看L1正则化损失函数:
其中J0是原始损失函数,如下图是在二维空间中,只有两个权重即w1和w2,此时求解J0可以画出等值线,同时L=∑w|w| 可以画出圆形,当两个图形相交时便得出最优解:
如图所示,当前最优解是:
可以看出L1正则化是权重的绝对值之和,图形有很多突出的角,二维情况下有四个,多维情况下将会更多,J0与这种角的接触机率远小于与L1其他部份接触的机率,因此最优解上将会有大量是与这种角接触得到的,所以有w = 0,因此L1正则化便会形成稀疏的权重矩阵
我们再来瞧瞧L2损失函数:
如下图所示,与L1正则化不同的是L2正则化中L2= α∑ww2 图形是一个圆,这样最优解w出现为0的概率便会小好多,所以不具有形成稀疏权重矩阵的性质
解释三:为什么如果L2正则化和L1正则化会出现权重衰减?
对L2正则化损失函数 J=J0+ α∑ww2 求导得:
可以得出w更新公式为:
在不使用L2正则化时,求导结果中w前的系数为1,先上式w前系数是(1-2ηα),其中η、α都是整数,因此(1-2ηα)小于1,便会促使w权重衰减:
同理对L1正则化损失函数 J= J0 + α∑w|w| 求导可得:
上式sgn表示权重w的符号,因为原式中是绝对值|w|机器学习防止过拟合,求导后便有符号,w的更新规则为:
比未加入L1正则化多出了- ηα*sgn(w),可以剖析无论w为正还是为负,在上式中w的绝对值均会变小,出现权重衰减。
4、dropout
dropout是深度学习中增加过拟合风险的方式,神经网路形成过拟合主要是因为神经元之间的协同作用形成的机器学习防止过拟合,dropout便是在神经网路训练过程中让部份神经元失活,阻断部份神经元之间的协同作用,减少神经元之间的联合适应性。看右图:
对上图神经网路使用dropout方式后:
欢迎见谅讨论!