七.正则化

吴恩达机器学习之正则化(Regularization)

http://www.cnblogs.com/jianxinzhou/p/4083921.html

从数学公式上理解L1和L2

https://blog.csdn.net/b876144622/article/details/81276818

虽然在线性回归中加入基函数会使模型更加灵活,但是很容易引起数据的过拟合。

例如将数据投影到30维的基函数上,模型就会过于灵活,甚至成功拟合了异常数据。

通过基函数在每个位置的振幅,可以观察到,当基函数重叠在一起时,通查就是出现了过拟合:相邻基函数的系数相互抵消。针对这种问题,我们如果对较大的模型参数进行惩罚,从而抑制模型剧烈波动,应该就可以解决问题。这个惩罚机制被称为正则化,有几种不同的表现形式。

在深度学习中,监督类学习问题其实就是在正则化参数同时最小化误差。最小化误差目的是让模型拟合训练数据,而正则化参数的目的是防止模型过分拟合训练数据。

参数太多,会导致模型复杂度上升,容易过拟合,也就是训练误差小,测试误差大。因此,我们需要保证模型足够简单,并在此基础上训练误差小,这样训练得到的参数才能保证测试误差也小,而模型简单就是通过正则化函数来实现的。

正则化项可以是模型参数向量的范数。如:L0、L1、L2等。 

一、L0范数与L1范数

L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。换句话说,让参数W是稀疏的。

 L1范数是指向量中各个元素绝对值之和。L1范数是L0范数的最优凸近似。任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。W的L1范数是绝对值,|w|在w=0处是不可微。

虽然L0可以实现稀疏,但是实际中会使用L1取代L0。因为L0范数很难优化求解,L1范数是L0范数的最优凸近似,它比L0范数要容易优化求解。

二、L2范数

 L2范数,又叫“岭回归”(Ridge Regression)、“权值衰减”(weight decay)。这用的很多吧,它的作用是改善过拟合。过拟合是:模型训练时候的误差很小,但是测试误差很大,也就是说模型复杂到可以拟合到所有训练数据,但在预测新的数据的时候,结果很差。

L2范数是指向量中各元素的平方和。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。

三、L1范数和L2范数的差别

一个是绝对值最小,一个是平方最小: L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。

你可能感兴趣的:(七.正则化)