在线性代数以及一些数学领域中,范数(norm) 的定义是:
a function that assigns a strictly positive length or size to each vector in a vector space, except for the zero vector. ——Wikipedia
简单点说,一个向量的 norm 就是将该向量投影到 [0, ) 范围内的值,其中 0 值只有零向量的 norm 取到。看到这样的一个范围,相信大家就能想到其与现实中距离的类比,于是在机器学习中 norm 也就总被拿来表示距离关系:根据怎样怎样的范数,这两个向量有多远。
上面这个怎样怎样也就是范数种类,通常我们称为p-norm,严格定义是:
其中当p 取 1 时被称为 1-norm,也就是提到的 L1-norm,同理 L2-norm 可得。
L1 和 L2 范数的定义
根据上述公式 L1-norm 和 L2-norm 的定义也就自然而然得到了。
先将 p=1 代入公式,就有了 L1-norm 的定义:
然后代入 p=2,L2-norm 也有了:
L2 展开就是熟悉的欧几里得范数:
题外话,其中 L1-norm 又叫做 taxicab-norm 或者 Manhattan-norm,可能最早提出的大神直接用在曼哈顿区坐出租车来做比喻吧。下图中绿线是两个黑点的 L2 距离,而其他几根就是 taxicab 也就是 L1 距离,确实很像我们平时用地图时走的路线了。
L1 和 L2 范数在机器学习上最主要的应用大概分下面两类:
- 作为损失函数使用
-
作为正则项使用也即所谓 L1-regularization 和 L2-regularization
我们需要做的是,获得一条线,让数据点到线上的总距离(也就是error)最小。还记得之前在范数介绍中提到的用来表示距离吗,于是也可以用能表示距离的 L1-norm 和 L2-norm 来作为损失函数了。首先是 L1-norm 损失函数,又被称为 least absolute deviation (LAD,最小绝对偏差)
如果我们最小化上面的损失函数,其实就是在最小化预测值 和目标值 的绝对值。
之后是大家最熟悉的 L2-norm 损失函数,又有大名最小二乘误差 (least squares error, LSE):
网友评论