文章目录[x]
- 1:L0范数
- 2:L1范数
- 3:L2范数
- 4:总结
L0、L1、L2范数
L0范数
L0范数表示向量中非0元素的个数,即希望数据集中的大部分元素都是0(即希望数据集是稀疏的),
所以可以用于ML中做稀疏编码,特征选择,即通过L0范数来寻找最少最优的稀疏特征项。
但不幸的是,L0范数的最优化问题是一个NP hard问题,而且理论上有证明,L1范数是L0范数的最优凸近似,
因此通常使用L1范数来代替。
L1范数
常见应用为:Lasso Regression
L1范数表示向量中每个元素绝对值的和,L1范数的解通常是稀疏性的,
倾向于选择数目较少的一些非常大的值或者数目较多的insignificant的小值。
L2范数
常见应用为:Ridge Regression
L2范数即欧氏距离,L2范数越小,可以使得w的每个元素都很小,接近于0,
但L1范数不同的是他不会让它等于0而是接近于0.但由于L1范数并没有平滑的函数表示,
起初L1最优化问题解决起来非常困难,但随着计算机技术的到来,
利用很多凸优化算法使得L1最优化成为可能。
总结
从贝叶斯先验的角度看,加入正则项相当于加入了一种先验。即当训练一个模型时,
仅依靠当前的训练数据集是不够的,为了实现更好的泛化能力,往往需要加入先验项。
L1范数相当于加入了一个Laplacean先验;
L2范数相当于加入了一个Gaussian先验。
在机器学习中正则化是指在损失函数中通过引入一些额外的信息,来防止ill-posed问题或过拟合问题。
一般这些额外的信息是用来对模型复杂度进行惩罚(Occam's razor)。
转载自:https://blog.csdn.net/u012535605/article/details/78217618