这三种范数是机器学习中经常用到的公式,下面介绍一下自己对这个最精炼的理解以及使用技巧。
简介
- L0:对一个包含n个元素的向量,计算非零元素的个数
- L1:对一个包含n个元素的向量,计算各个元素绝对值之和
- L2:对一个包含n个元素的向量,计算各个元素平方之和,再取平方根
形象化理解
- L0 由于在np上的局限性,我们通常更多的使用L1和L2。
- L1和L2都可以用在机器学习上用来添加在损失函数里,当成是对于模型反向传播时的一种惩罚措施,来使我们的模型按照我们的期望提高泛化能力或者稀疏特性。
- 采用数形结合的方法可以很好的理解L1和L2。
- 在多维空间中,L1我们可以想象成一种包含多个角的图形,每个角都处在一个维度所代表的坐标轴上,这也就造成了采用L1正则化,会使得我们最后的模型参数会有大部分为0值(因为处在坐标轴上),这也就形成了一个由模型参数构成的稀疏矩阵。
- 关于L2范数,由于其带有平方项,因此和L1不同,其在多维空间中的分布更像是类球体,比较圆滑,也就造成了最后模型优化后得到的参数往往都比较小,趋向于0,但是不等于0,这样的模型对于新输入的测试数据,不会因为某个特征的数值而使得最后的输出偏离过大,也就在一定程度上提高了模型的泛化能力。
- L1和L2在二维空间(两个参数)中的形象化表示如下图: