ML- 范数与正则化惩罚

范数

L1范数

L1范数是我们经常见到的一种范数,它的定义如下:

v
表示向量x中非零元素的绝对值之和。
L1范数有很多的名字,例如我们熟悉的曼哈顿距离、最小绝对误差等。使用L1范数可以度量两个向量间的差异,如绝对误差和(Sum of Absolute Difference)

由于L1范数的天然性质,对L1优化的解是一个稀疏解,因此L1范数也被叫做稀疏规则算子。通过L1可以实现特征的稀疏,去掉一些没有信息的特征,例如在对用户的电影爱好做分类的时候,用户有100个特征,可能只有十几个特征是对分类有用的,大部分特征如身高体重等可能都是无用的,利用L1范数就可以过滤掉。

L2范数

L2范数是我们最常见最常用的范数了,我们用的最多的度量距离欧氏距离就是一种L2范数,它的定义如下:
在这里插入图片描述
表示向量元素的平方和再开平方。
像L1范数一样,L2也可以度量两个向量间的差异,如平方差和(Sum of Squared Difference):
在这里插入图片描述

正则化惩罚

模型训练集的效果越来越好,但测试集的效果反而越来越差——过拟合
正则化惩罚。可以惩罚数值较大的权重参数,让他们对结果的影响小一点,防止模型为了迎合训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力。

L1正则化

在这里插入图片描述

L2正则化

在这里插入图片描述
α代表正则化惩罚力度,α越大惩罚力度越大。

L2 计算起来更方便,而 L1 在特别是非稀疏向量上的计算效率就很低;还有就是 L1 最重要的一个特点,输出稀疏,会把不重要的特征直接置零,而 L2 则不会;
最后,L2 有唯一解,而 L1 不是。

L1 Norm 和L2 Norm的区别核心:L2对大数,对outlier更敏感。
实际应用过程中,L1 nrom几乎没有比L2 norm表现好的时候,优先使用L2 norm是比较好的选择。

你可能感兴趣的:(MachineLearning)