aoi学院

Aisaka's Blog, School of Aoi, Aisaka University

机器学习-范数与正则化

范数

范数(Norm)是具有度量性质的函数,在机器学习中,经常用来衡量向量的大小

范数把一个向量映射为一个非负值的函数,我们可以将一个向量x,经范数后表示点距离原点的距离,那么Lp范数定义如下:

其中p属于R,p大于等于1。


经典范数

L0范数

表示统计向量中非零元素的个数(不是严格意义上的范数)

我们可以通过最小化L0范数,来寻找最少最优的稀疏特征项。但不幸的是,L0范数的最优化问题是一个NP hard问题(L0范数同样是非凸的)。因此,在实际应用中我们经常对L0进行凸松弛,理论上有证明,L1范数是L0范数的最优凸近似,因此通常使用L1范数来代替直接优化L0范数。

L1范数

表示零元素与非零元素差别非常重要时使用。例如:每当x中某个元素从0增加到m,则对应的L1范数也会增加m。也就是每个元素绝对值之和。也被称为是”稀疏规则算子”。

L2范数

欧几里得范数,表示从原点出发到向量x确定的点的欧几里得距离。在快接近源值时L2范数增长缓慢,对于区分恰好是零的元素和非零但值很小的元素的情况就不适用了(转为L1范数)。也就是通常说的欧氏距离。有人把它的回归叫“岭回归”(Ridge Regression),也有人叫它“权值衰减”(Weight Decay)。

L∞范数

表示最大范数,只是统计向量中的最大值,也就是最大幅值的元素的绝对值。

Frobenius范数

类似于L2范数,用来衡量矩阵的大小。

总结

最后,两个向量的点积也可以用范数来表示:


正则化

为何使用正则化?因为正则化可以避免过拟合的产生和减少网络误差。

表达式:

第一项表示经验风险,第二项表示正则项。

正则化与范数关系:R(f)就是相关范数表达式。

L1正则

凸函数,不是处处可微分。得到的是稀疏解(最优解常出现在顶点上,且顶点上的 w 只有很少的元素是非零的)。

L2正则

凸函数,处处可微分,且易于优化。

Dropout

Dropout是深度学习中经常采用的一种正则化方法。核心思想是减少神经元之间复杂的共适应性。当隐藏层神经元被随机删除之后,使得全连接网络具有了一定的稀疏化,从而有效地减轻了不同特征的协同效应。使神经网络中的某些神经元随机失活,让模型不过度依赖某一神经元,达到增强模型鲁棒性以及控制过拟合的效果。


参考资料

https://cloud.tencent.com/developer/article/1509971