浅谈L0,L1,L2范数及其应用

原文传送门:浅谈L0,L1,L2范数及其应用 

浅谈L0,L1,L2范数及其应用

在线性代数,函数分析等数学分支中,范数(Norm)是一个函数,其赋予某个向量空间(或矩阵)中的每个向量以长度或大小。对于零向量,另其长度为零。直观的说,向量或矩阵的范数越大,则我们可以说这个向量或矩阵也就越大。有时范数有很多更为常见的叫法,如绝对值其实便是一维向量空间中实数或复数的范数,而Euclidean距离也是一种范数。

范数的一般化定义:设p≥1的实数,p-norm定义为:

||x||p:=(∑i=1n∣∣xi∣∣p)1p(1)

此处,当p=1时,我们称之为taxicab Norm,也叫Manhattan Norm。其来源是曼哈顿的出租车司机在四四方方的曼哈顿街道中从一点到另一点所需要走过的距离。也即我们所要讨论的l1范数。其表示某个向量中所有元素绝对值的和。 而当p=2时,则是我们最为常见的Euclidean norm。也称为Euclidean distance。也即我们要讨论的l2范数。 而当p=0时,因其不再满足三角不等性,严格的说此时p已不算是范数了,但很多人仍然称之为l0范数。 这三个范数有很多非常有意思的特征,尤其是在机器学习中的正则化(Regularization)以及稀疏编码(Sparse Coding)有非常有趣的应用。

下图给出了一个Lp球的形状随着P的减少的可视化图。

1- L0 范数

虽然L0严格说不属于范数,我们可以采用等式1来给出l0-norm得定义:

||x||0:=0∑i=0nx0i‾‾‾‾‾‾⎷(2)

上面的公式仍然让人不是很明白,0的指数和平方根严格意义上是受限条件下才成立的。因此在实际应用中,多数人给出下面的替代定义:

||x||0=#(i)withxi≠0(3)

其表示向量中所有非零元素的个数。正是L0范数的这个属性,使得其非常适合机器学习中稀疏编码,特征选择的应用。通过最小化L0范数,来寻找最少最优的稀疏特征项。但不幸的是,L0范数的最小化问题在实际应用中是NP难问题。因此很多情况下,L0优化问题就会被relaxe为更高维度的范数问题,如L1范数,L2范数最小化问题。

2- L1 范数

对于向量X,其L1范数的定义如下:

||x||1:=∑i=1n∣∣xi∣∣(4)

其应用范围非常的广泛。如在计算机视觉中的Sum of Absolute DifferentsMean Absolute Error,都是利用L1范式的定义。

L1最优化问题的解是稀疏性的,其倾向于选择很少的一些非常大的值和很多的insignificant的小值。而L2最优化则更多的非常少的特别大的值,却又很多相对小的值,但其仍然对最优化解有significant的贡献。但从最优化问题解的平滑性来看,L1范数的最优解相对于L2范数要少,但其往往是最优解,而L2的解很多,但更多的倾向于某种局部最优解。

但由于L1范数并没有平滑的函数表示,起初L1最优化问题解决起来非常困难,但随着计算机技术的到来,利用很多凸优化算法使得L1最优化成为可能。

3- L2 范数

当然范数中最常见,也最著名的非L2范数莫属。其应用也几乎包括科学和工程的各个领域。定义公式如下:

||x||2:=∑i=1nx2i‾‾‾‾‾‾⎷(5)

也Euclidean Norm,如果用于计算两个向量之间的不同,即是Euclidean Distance.

欧几里德范数的最优化问题可以用如下公式表述:

min||x||2subjecttoAx=b(6)

借助拉格朗日乘子,我们便可以解决该最优化问题。由L2衍生,我们还可以定义无限norm,即l-infinity norm:

||x||∞:=∞∑i=1nx∞i‾‾‾‾‾‾⎷(7)

一眼看上去上面的公式还是有点tricky的。我们通过一个简单的数学变换,假设X_j是向量中最大的元素,则根据无限大的特性,我们可以得到:

x∞j>>x∞i∨j≠i

则可知

∑i=1nx∞i=x∞j

则根据公式(7)的定义,我们可以得到:

||x||∞=∞∑i=1nx∞i‾‾‾‾‾‾⎷=∞x∞j‾‾‾√=∣∣xj∣∣

因此我们便可以说l-infinity norm是X向量中最大元素的长度。

||x||∞=max(∣∣xj∣∣)(8)

4- 机器学习中的应用

不知道有多少人是因为机器学习中的正则化和特征选择等才开始了解这些范数的,至少我是。L0范数本身是特征选择的最直接最理想的方案,但如前所述,其不可分,且很难优化,因此实际应用中我们使用L1来得到L0的最优凸近似。L2相对于L1具有更为平滑的特性,在模型预测中,往往比L1具有更好的预测特性。当遇到两个对预测有帮助的特征时,L1倾向于选择一个更大的特征。而L2更倾向把两者结合起来。

4-1 正则化

在机器学习中正则化是指在损失函数中通过引入一些额外的信息,来防止ill-posed问题或过拟合问题。一般这些额外的信息是用来对模型复杂度进行惩罚(Occam's razor)。其一般形式如下:

Loss(X,Y)=Error(X,Y)+α∣∣∣∣w∣∣∣∣(9)

∣∣∣∣w∣∣∣∣便可以选取L1或是L2范数来作为惩罚项,不同的模型,其损失函数也不同,对于线性回归而言,如果惩罚项选择L1,则是我们所说的Lasso回归,而L2则是Ridge回归。下面我们列出了不同模型中的正则化的损失函数(来自Andrew Ng的Machine Learning课程):

Regularized Logistic Regression

J(θ)=−1m[∑i=imy(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]+λ2m∑j=1nθ2j

Regularized Neural Network

J(θ)=−1m[∑i=im∑k=1Ky(i)klog(hθ(x(i)))k+(1−y(i))log(1−(hθ(x(i)))k)]+λ2m∑l=1L−1∑i=1sl∑j=1sl+1(θ(l)ji)2

Soft Margin SVM

12|w|2+C∑imax(0,1−yi(w⊺xi+b))

从上面可以看出常用的正则化项多是L2范数,除了防止过拟合的问题,还有一个好处就是能否改善ill-posed(condition)问题。尤其是当训练样本相对于特征数非常少时,其矩阵便是非满秩的,往往倾向于有无数个解,且是不可逆的。其condition num便会很大。一方面,根据此得到的最优化值很不稳定,往往某个特征变量很小的变动都会引发最终结果较大的偏差。另外通过矩阵求逆从而求的最优解就会变的非常困难。如对于线性回归而言,求的最优解析解为:

wˆ=(XTX)−1XTy

而加上L2正则项后,其变为:

w⋅=(XTX+λI)−1XTy

从而可以直接求逆,改善了condition number。

而对于无解析解,通过迭代优化的算法,L2正则化通过将目标函数变为λ-strongly convex(λ强凸),有效的加快了其收敛速度。

4-2 贝叶斯先验

正则化项从贝叶斯学习理论的角度来看,其相当于一种先验函数。即当你训练一个模型时,仅仅依靠当前的训练集数据是不够的,为了实现更好的预测(泛化)效果,我们还应该加上先验项。而L1则相当于设置一个Laplacean先验,去选择MAP(maximum a posteriori)假设。而L2则类似于 Gaussian先验。如下图所示:

从上图可以看出,L1先验对大值和小值的tolerate都很好,而L2先验则倾向于均匀化大值和小值。

4-3 特征选择与稀疏编码

机器学习社区里通常把特征选择的方法分为三种。一种是基于统计学的一些方法,对特征进行预筛选,选出子集作为模型输入。如统计推理使用的假设检验,P值。另一种是采用某种成熟的学习算法进行特征选择,如决策树中采用信息增益来选择特征。还有一种便是在模型算法中进行自动特征选择。而L1范数作为正则化项,其特征选择的图谱倾向于spiky,实现了有效的特征选择。

稀疏编码也是想通过寻找尽可能少的特征表达某个输入的向量X。

mina(j)i,ϕi∑j=1m∣∣∣∣∣∣∣∣x(j)−∑i=1ka(j)iϕi∣∣∣∣∣∣∣∣2+λ∑i=1kS(a(j)i)

其中ϕi是所要寻找的基向量,a(j)i是我们要优化的各个基向量的权重。最右边的表达式便是其正则化惩罚项,在这里也称Sparse Cost。实际中我们通常便用L1范数。

5 参考

[1.]Wiki: Norm.

[2.]Rorasa's blog.

[3.]MaxJax.

[4.]机器学习中的范数规范化.

[5.]Difference between l1 and l2.

[6.]gradient-descent-wolfe-s-condition-and-logistic-regression.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容