【学界】有约束转无约束,拉格朗日松弛观点下的L1正则化稀疏性探讨

【学界】有约束转无约束,拉格朗日松弛观点下的L1正则化稀疏性探讨

作者简介:本人本科是东北大学自动化专业,然后直接攻博读的是系统工程专业。目前在东北大学系统工程专业读博士,在流程工业综合自动化国家重点实验室做流程工业里边调度问题和运行优化问题。博士刚开始主要接触了很多Numerical optimization, convex optimization,Nonlinear programming的知识,用来解决实际工业过程中的优化问题。随着近几年来,人工智能机器学习火了起来,逐渐研究的重心也从数学优化转到机器学习相关领域了,但是我一直还是认为优化是自己的老本行,也一直从优化的角度去看待机器学习的问题去尝试做一些新的思考。这里要提一下这个专栏[运筹帷幄]大数据和人工智能时代下的运筹学是非常好的,里边的文章多数都是从运筹优化的角度去看待人工智能里边的问题,这个角度和本人的想法是完全一致的。

前言:这个是本人第二篇文章,我想从L1正则化问题切入。主要集中介绍2个问题,1 L1正则化项的形式是如何推导出来的,2 L1正则化项为什么能够产生稀疏的特性。我也看了知乎上有一些关于类似问题的讨论 该文章其实已经点出了L1正则化系数的特点 从局部泰勒展开说说L1和L2正则化。还有一些类似的文章都讨论过相关的一些问题,看了之后很受启发,但是总有一种"犹抱琵琶半遮面"的感觉。其实这个问题主要是涉及到了机器学习和优化问题两部分交叉的地方,要通过拉格朗日松弛将有约束转化为无约束来求解,但在分析L1正则化项稀疏性的时候,我们需要回到原始的那个带约束的问题上去会更好理解。求解的时候为了简便我们通常是将约束转化为无约束去求解,正是因为问题的求解(无约束优化模型)和问题分析(有约束优化模型)的优化模型是不一样的,导致了我们理解上的困难。本文实际上是阐释了两个模型之间的关系,采用拉格朗日松弛来说明这两个模型是等价的。然后在此基础上来分析带有L1范数约束的模型是如何产生稀疏性的。


1 L1,L2正则化项简介。

很多机器学习模型的cost function都会加入正则化项,其目的主要是为了克服过拟合的问题。根据正则化项具体表达形式不同常见的有L1正则化项也称为Lasso,L2正则化参数也称为Ridge。在python里边鼎鼎大名的scikit learning机器学习算法包里边有这两类正则化方法的描述。感兴趣的可以看一下scikit learning 的 documents,写得非常好,可以作为机器学习入门的实践教程了。scikit-learning documents

我们将不带正则化项的机器学习问题的cost function 定义如下

\[\mathop {\min }\limits_w \sum\limits_{n = 1}^N {{{\left( {{h_w}\left( {{x_i}} \right) - {y_i}} \right)}^2}} \] (A1)

\[{{h_w }\left( {{x_i}} \right)}\] 是模型的预测值, \[{{y_i}}\] 是真实值, \[{{x_i}}\] 是模型输入, w 是模型的参数,也是需要训练的参数, \[N\] 是样本的总数。

\[{{h_w }\left( {{x_i}} \right)}\] 可以是神经网络,可以是线性回归,可以是很多监督学习的模型,总之是需要通过求解该极小化问题来得到模型里边的参数 w

但是我们知道监督学习的模型很多时候有过拟合的问题,简单来说是模型过于复杂了,使得监督学习的模型在训练集表现很好,而对测试集表现很差。举个最经典的例子来说,我们要拟合如下的一个数据


若我们采用一个多项式函数 \[y = {w_0} + {w_1}x + {w_2}{x^2} + \cdots {w_M}{x^M}\]M 表示多项式函数的最高的阶次, M 越大则模型复杂度越高,自然也对图中的数据拟合的效果越好。如图所示 M=0 的时候就是一个常数了,根本没有什么拟合的效果, M=1 就是线性回归了,拟合效果也不好,随着 M 增大拟合效果表面上看是越来越好了,当 M=9 的时候甚至是达到了完美的拟合效果。 我们来看一下对应的系数 \[w\] 是多少如下表所示:

如上表所示,我们发现当 M=9 的时候其对应的系数 \[w\] 非常大,而且是有正有负,呈现出一种极为不稳定的状况。如果说此时输入 \[x\] 发生一个小的扰动的话,由于 \[w\] 很大,那么预测模型的输出可能会得到一个很大的扰动,这样就完全失去了预测模型的准确性。那么通过这里的例子我们是对过拟合有了一个直观的感受,怎么解决这类问题呢。当然有很多其它的方法,我们这里就只讨论正则化的方法。那么很简单的一个想法就来了,我要适当的限制参数 w 的大小,这样就能在一定程度上解决刚才的问题了,对不对?这个想法非常的直观,非常好理解。那么用数学模型表达出来就是如下所示

\[\begin{array}{l} \mathop {\min }\limits_w \sum\limits_{n = 1}^N {{{\left( {{h_w}\left( {{x_i}} \right) - {y_i}} \right)}^2}} \\ s.t.\;\;\;\;\sum\limits_{j = 1}^M {{{\left| {{w_j}} \right|}^q}} \le \eta \end{array}\] (A2)

其中 q\geq0

对比问题A1,该问题除了原来的目标函数外,多加入了一个关于训练参数 \[w\] 范数大小的限制约束,也就是说不能让 \[w\] 过大了,这和我们之前说的限制模型复杂度的直观想法是一致的。我这里给的是一个一般的形式所以采用了 q 来表达,若 q=1 则相当于是L1范数, q=2 相当于是L2范数。

到这里为止我们从直观上通过一个小例子分析了过拟合的问题,然后直观上给了一个解决方案,并用数学模型表达出来了。训练模型从原始的A1变为A2就能在一定程度上克服过拟合的问题了。


2 基于拉格朗日松弛的有约束转无约束

前面一个小节得到了带约束的优化问题A2,在实际的求解中,带约束的优化问题往往较难求解,大多都是转化为无约束优化问题去求解。接下来自然而然的我们采用拉格朗日乘子法将约束转化到目标函数上去,也就将约束优化问题A2转化为一个无约束的优化问题(若对拉格朗日松弛不熟悉的可参考上一次我写过的文章【学界】非凸转成凸、约束转无约-运筹学和支持向量机中的拉格朗日松弛法。那么这个无约束优化问题的形式是什么样的呢?这里直接先把最终的结论摆上来

\[\mathop {\min }\limits_w \sum\limits_{n = 1}^N {{{\left( {{h_w}\left( {{x_i}} \right) - {y_i}} \right)}^2}} + \lambda \sum\limits_{j = 1}^M {{{\left| {{w_j}} \right|}^q}} \] (A3)

其中 \[\lambda \] 为正则化系数。

看到A3这个问题的形式,相信大家是不陌生了,这就是我们机器学习模型中常用的正则化方法其实最终是求解A3这个优化问题。 q=1 就是Lasso, q=2 是Ridge。那么下面整个本小节就是探讨A2和A3实际上是等价的。

下面是具体推导过程:

采用拉格朗日乘子法将约束优化问题A2的约束放到目标函数上去,即有约束转无约束,得到如下表达式

\[\mathop {\min }\limits_w \sum\limits_{n = 1}^N {{{\left( {{h_w}\left( {{x_i}} \right) - {y_i}} \right)}^2}} + \lambda \sum\limits_{j = 1}^M {\left( {{{\left| {{w_j}} \right|}^q} - \eta } \right)} \] (A4)

其中 \lambda 是乘子,是通过求解对偶问题得到的(如果不熟悉对偶问题可以参考我之前的文章【学界】非凸转成凸、约束转无约-运筹学和支持向量机中的拉格朗日松弛法)。当A2是一个凸优化问题的时候,这个转化从A2到A4是完全等价的。

进一步分析优化问题A4,对于给定的 \[\lambda ,\eta \] 而言,由于是对 \[w\] 求极小值,所以优化问题A4和A3等价。由此可知若A2是一个凸优化,则A2和A4是等价的。若 \[{{h_w}\left( {{x_i}} \right)}\] 是线性函数的时候(此时是线性回归),A2是一个凸优化问题,

到此我们已经将A2,A3,A4三个优化问题的关系完全搞明白了。我想说的是A2实际上是我们从防止过拟合的角度出发,给出的原始的优化模型,但是它是带约束的不好求解,在实际中我们都是通过转化为A3这样的无约束优化来求解的。实际上前面已经提到过,在这里我还需要再次强调一下的是A2到A3/A4的等价性是基于A2是凸优化, 如果A2非凸, 他们的局部最优解之间是有对偶间隙的。 等价关系也只有在 (\omega^*, \lambda^*) 是全局最优的时候才成立。下面在分析L1正则化项稀疏性的时候我们就发现若采用A3这样的形式,我们不太能够给出一个直观的解释,而采用A2来分析就非常直观。而此处我们已经证明了A2和A3实际上是等价的,所以我们就可以转而去分析A2。


3 基于约束优化问题形式的L1正则化项稀疏性分析

下面分析优化问题A2的最优解可能会落到那个位置,为了简单起见我们认为 w 只有2维即 \[\left( {{w_1},{w_2}} \right)\] 如下图所示:

左边表示的是 q=2 的时候目标函数等高线和约束的示意图,图中所对应的优化问题如下所示:

\[\begin{array}{l} \mathop {\min }\limits_w \sum\limits_{n = 1}^N {{{\left( {{h_w}\left( {{x_i}} \right) - {y_i}} \right)}^2}} \\ s.t.\;\;\;\;w_1^2 + w_2^2 \le \eta \end{array}\] (B1)

如图的左半边所示,蓝色的圆圈表示的是目标函数的等高线,蓝色的圆心代表目标函数的最优值。当没有正则化项的时候,也就是没有约束的时候,我们的最优值显然就是蓝色圆心的位置,可以明显看到该位置的 w 值的分量相对比较大,这一点也是和我们第一小节举的例子完全对应上了。如果加上约束的话,最优值就不会是原来蓝色圆心的位置了,因为这个地方是不满足约束的。B1的约束实际上一个圆,满足约束的 \[\left( {{w_1},{w_2}} \right)\] 必须是圆上和圆内部的点。实际上就是在这个圆上和圆内部找一个让目标函数最优的 \[\left( {w_1^*,w_2^*} \right)\] ,当目标函数等高线和圆相交的一点就是最优解 \[\left( {w_1^*,w_2^*} \right)\] 。这个最优解 \[\left( {w_1^*,w_2^*} \right)\] 可能落在圆上任意一点。也就是说L2正则化会限制住 w 的大小,但是不会让 w 的分量变成0。


右边是 q=1 的目标函数等高线和约束的示意图,图中所对应的优化问题如下所示:。

\[\begin{array}{l} \mathop {\min }\limits_w \sum\limits_{n = 1}^N {{{\left( {{h_w}\left( {{x_i}} \right) - {y_i}} \right)}^2}} \\ s.t.\;\;\;\;\left| {{w_1}} \right| + \left| {{w_2}} \right| \le \eta \end{array}\] (B2)

同理蓝色的圆圈表示的是目标函数的等高线,蓝色的圆心代表目标函数的最优值。无约束的情况和上面是一样的,下面直接分析有约束的情况。由于是一范数,其约束的形态是一个菱形,同样蓝线是目标函数的等高线。同理实际上最优的 \[\left( {w_1^*,w_2^*} \right)\] 必须在这个菱形上和菱形内取到的。当 \[\eta \] 足够小的时候,也就是这个菱形足够小的时候,最优解 \[\left( {w_1^*,w_2^*} \right)\] 总会落在菱形的四个顶点上其中一个顶点。也就是说 \[\left( {w_1^*,w_2^*} \right)\] 必然有一个为0,对于高维空间这个结论依然是成立的。所以采用L1正则化系数会让得到的最优解 \[{w^*}\] 落到顶点上,这样 \[{w^*}\] 的一些分量值就会为0,从而产生了稀疏性。


以上的图来源于经典教程PRML,这里就是把这个问题解释了一遍。下面通过两个特殊点的例子进一步直观的剖析一下这个问题。如下图所示:

\[\left( {\bar w_1^*,\bar w_2^*} \right)\] 表示无约束的最优解, \[\left( {w_1^*,w_2^*} \right)\] 表示有约束的最优解,我们可以看出这个图和图2右半边的不同。虽然采用了L1正则化项,但是最终的解 \[\left( {w_1^*,w_2^*} \right)\] 不像之前分析的那样会落到顶点上去,也就没有了稀疏性。从图中明显可以看到是什么原因造成了L1正则化稀疏性的丧失呢。直观来看是两个原因,1无约束的最优点 \[\left( {w_1^*,w_2^*} \right)\] 离约束边界太近了,也可以说是可行域太大了,2无约束的最优点\[\left| {\frac{{\bar w_1^*}}{{\bar w_2^*}}} \right|\] 很接近于1,接近1代表的意思是说不同的模型参数系数重要程度相差不大。

如果反之 \[\left| {\frac{{\bar w_1^*}}{{\bar w_2^*}}} \right|\] 很不接近与1,那会怎么样呢,如下图所示:

这个时候我们就比较有信心认为,加入L1正则化项之后,会使得最优点落到顶点上,进而保持稀疏性。如上图中所示不带约束的最优解 \[\bar w_1^* > > \bar w_2^*\] , 加入约束之后的最优解是 \[w_2^* = 0,w_1^* = \eta \] 。这里很直观的感受到了L1正则化系数在做了一件什么事情呢,L1正则化系数可以让原本较小的 w 分量为0,原本较大的 w 分量为 \[\eta \] ,进一步说是让原本不太重要的输入不起作用了,让原本比较重要的输入的系数其作用的强度限制在 \[\eta \]

到这里相信通过这两个直观的例子(PRML书里边没有提到的例子),我们加深了对L1正则化项的理解。需要说明的是以上过程并不是一个严谨的数学推导过程,如果要扣里边细节问题的话肯定有不少,但是通过这样一个直观的感受便于大家理解数学原理背后的东西,明白思想和意思就行。

最后我们要说一下稀疏性对很多机器学习建模问题来说是非常重要的,也是非常好的一个性质。既然有很多系数等于0了,那么说明与之对应的输入是没有用了,这些输入就可以舍去,相当于起到了 降维和feature selection的作用。特殊要说明的是用L1正则化来降维和PCA降维是不同的,可以理解为L1正则化是用了数据的标签来做的,而PCA无需数据的标签。所以L1正则化实际上是带有监督学习性质的降维方法。


总结

本文将正则化项理解为带约束的优化问题A2,通过带约束的优化问题A2分析了L1正则化的稀疏性。基于拉格朗日松弛给出了带约束的优化问题A2和我们实际求解的无约束的优化问题A3是等价的。该方法的不足是要依赖于原问题的凸优化性质,实际上也可以采用KKT来说明这一转化过程,只不过KKT是最优性的必要条件不是充要条件,所以KKT也存在一些不完美的地方。目前为止我还没有想到针对一般问题(非凸的)怎么给出一个理论上的说明,所以也欢迎大家提出相关的意见。至此我们可以看到,机器学习里边很多最基本的概念和运筹优化有着密不可分的联系,有约束转无约束,优化问题等价转化等等概念为我们深入理解机器学习提供了理论基础。


参考文献

[1] Biship C M. Pattern Recognition and Machine Learning (PRML)[M], spring, 2006

[2] Jorge Nocedal, Stephen J Wright. Numerical Optimization[M], spring, 2006.

[3] Boyd S, Vandenberghe L. Convex optimization[M]. Cambridge university press, 2004.


欢迎大家更多的关注运筹优化和人工智能这两个领域之间的联系,也欢迎大家多读该专栏的文章[运筹帷幄]大数据和人工智能时代下的运筹学


敬请关注和扩散本专栏及同名公众号,会邀请全球知名学者陆续发布运筹学、人工智能中优化理论等相关干货、知乎Live及行业动态:
『运筹OR帷幄』大数据人工智能时代的运筹学--知乎专栏

专栏文章汇总和有奖投稿须知:

『运筹OR帷幄』专栏文章分类汇总+面向学术界/工业界征稿(含招聘广告)+专栏编辑/审稿招募

编辑于 2018-01-08