1.4 正则化
考虑对LR加正则化,我们可以加L1 norm和L2 norm,如下图所示:
图来自于吴恩达老师深度学习课程PPT
如图所示,我们在cost function上对W添加了正则化(这里不考虑b,假设已经对数据进行了标准化处理)。一范数是指W所有分量(所有系数)的绝对值之和,二范数是指W所有分量的平方和开方,所以二范数的平方为W所有分量的平方和,即W的内积。
根据对目标函数的观察,注意到我们的目标是求目标函数J的最小值,但是加上正则化(惩罚项)之后,我们要优化的目标函数值变大了,因为L1(lasso)、L2(ridge)正则化结果都是正数,所以为了实现我们求最小值的目标,我们会希望惩罚参数lambda(lambda的取值为非负数)能够使一部分的变量值变小或直接为0,其实这也正是一范数和二范数的效果。
一范数和二范数对变量的压缩效果都由惩罚参数lambda决定,lambda越大,变量压缩越明显,当lambda大到一定程度时,对于一范数,正则化可以使所有变量压缩至0;lambda越小,变量压缩越不明显,比如lambda取0时,相当于没有进行正则化。lambda的值需要通过交叉验证来判断。这里啰嗦一点,因为lambda在python中属于保留字段,所以对lambda我们一般写作lambd。
一范数和二范数对变量的压缩效果是不一样的。一范数和二范数的数学形式决定了他们的压缩效果,比如一范数能够使一些取