在机器学习中,经常需要对模型进行正则化,以降低模型对数据的过拟合程度,那么究竟如何理解正则化的影响?本文尝试从可视化的角度来解释其影响。
首先,正则化通常分为三种,都是在loss函数的基础上外加一项:
L0: ,即不等于0的元素个数
L1: ,即所有元素的绝对值之和
L2: ,即所有元素的绝对值平方和
训练模型的时候,模型将在保证loss主体损失下降的情况下,尽量保证权重往这些方向走,从L1,L2的函数中就可以看出,在做梯度下降的时候,这些函数都将把权重赶向接近0的地方,让权重变得更加稀疏,大部分数据都在0附近。
从最小化结构风险的角度来看(这个和奥卡姆剃刀律有异曲同工之妙),在多个模型中,我们选择最简单的那个模型作为最好的模型,而不是最复杂的,权重分布最离散的那个。
从人类的角度来看,神经元(千亿量级)的连接是极为稀疏的,平均每个神经元不超过十万,这与总的神经元个数之间有极大的差距(至少六个数量级的差距),因此从先验的角度来看,我们最好训练一个连接极少(权重0极多)的模型才接近人类大脑。
可惜,L0正则化是一个NP难问题,我们很难保证准确率的前提下,挑选哪些元素是0,哪些不是,因此,一般我们用L1替代L0(具体为什