赞
踩
正则化实际上是一种偏置,是有监督学习算法中的归纳偏置。正则化常常被用于解决模型的过拟合问题。而这里探讨的是非常常用的范数正则化。以神经网络为例,它的思想是在损失函数(也称为代价函数)加入一个正则项(最右边的那一项),如下
使得神经网络里面各个权重变小,理想状态是变为0,但实际上没法做到。其中:
实验分为两组。第一组是控制正则化的强度,通过改变(由0增大)的值实现,其目的是观察正则化的强度对模型的影响;第二组是控制用于训练模型的样本数量,通过训练集和测试集的划分(训练集的比例由大变小)实现,其目的是使得少量样本对模型训练的过程造成过拟合现象,进而观察正则项是否能够在一定程度下解决过拟合的问题。
实验预期。第一组:小的正则参数对模型的影响小,大的正则参数对模型的影响大,合适的正则参数使得模型的性能达到最好。第二组:小的训练样本导致模型出现过拟合现象,然后合适的正则化缓解了模型过拟合现象。
所用数据集和部分的实验代码:参考资料的第2个链接。
第一组实验结果如下。
观察1:正则参数对正则项的影响。随着正则参数的增大,正则项越来越小。这和预期结果是一样,因为梯度下降会使得神经网络的各个参数的范数不断变小。
观察2:正则参数对模型准确率(测试集)的影响。随着正则参数的增大,模型的准确率越来越高。这和预期结果大致一样,即随着正则参数的提高,模型的准确率会有所提高。但感到疑惑的是为什么增大到一定程度,模型准确率会一直这么高呢?
观察3:正则参数对模型AUC的影响。随着正则参数增大到一定程度,模型的AUC值急剧下降。到了这里,对于观察2的疑惑也就自然明白了。准确率不是评估模型的最好指标,因为它有点片面,举个例子,预测了100个样本,其中99个是类别a,其中1个是类别b,如果模型无论样本是啥都预测为类别a,这样的情况下模型的准确率依然是高的。所以我这里认为观察2有可能是出现了这样的情况(个人理解,可反驳,评论区见)。再来说下观察3的结果吧。观察3是符合实验的预期结果的,因为正则化强度如果越来越强,就会使得模型的正则项变得越来越小,这个时候模型的表示能力就会变弱,所以它的预测能力也跟着变差。
第二组实验结果如下。
观察4:正则参数为1(合适的正则化,由第一组实验得到)和正则化参数为0(无正则化)时,训练样本数量对模型准确率(测试集)的影响。下图的横坐标是训练集的比例,纵坐标是准确率。虽然准确率不是衡量模型的最好指标,但准确率来体现正则化的作用,就足够了。我们可以发现,当训练集的样本数据为10%和40%时,有正则化(红色)的模型的性能是比没有正则化(蓝色)的模型要好的。和实验的预期结果大致一样。
1.神经网络的正则项
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。