机器学习损失函数、L1-L2正则化的前世今生

前言:

我们学习一个算法总是要有个指标或者多个指标来衡量一下算的好不好,不同的机器学习问题就有了不同的努力目标,今天我们就来聊一聊回归意义下的损失函数、正则化的前世今生,从哪里来,到哪里去。

一.L1、L2下的Lasso Regression

和Ridge Regression

对于机器学习,谈到正则化,首先映入脑子的可能是L1正则化、L2正则化,接着又跑出来Lasso Regression、Ridge Regression,那么恭喜你,你已经走在了机器学习、人工智能的康庄大道上了,至少短期来看这条路还是不错滴。下面我们就正式开聊,小板凳走起。

介于大家可能对L1、L2比较熟悉,我们就先从L1、L2这种特殊的正则化聊到他们的原始样貌,知道她从哪里来要到哪里去,走一条从特殊到一般的路,一条更加广阔看的更远的路。

But不同的方向,不同的学科领域对一些相同的知识点有着不同的爱称,为了交流方便,在这里简单啰嗦一下,L1、L2这种在机器学习方面叫做正则化,统计学领域的人喊她惩罚项,数学界会喊她范数。整体来说本质不变,源于数学。

L1使用的是绝对值距离,也叫做街区(City-Block)距离(曼哈顿距离),L2使用的是平方距离,也叫做欧式(Euclidean)距离。当盐啦,还有切比雪夫距离等等。

帮助

敲黑板,不管是绝对值还是平方还是切比雪夫距离都是明氏距离(明考夫斯基距离)的特殊形式额已,大家感兴趣的自己查一下,不继续往下展开了,下一次可以具体写一写更多的别样式的距离。好像跑偏了,赶紧转回来。

耳熟能详的Lasso Regresssion是线性回归的一种,下面看看Lasso的简介:

Lasso是由1996年Robert Tibshirani首次提出,全称Least absolute shrinkage and selection operator。该方法是一种压缩估计。它通过构造一个罚函数得到一个较为精炼的模型,使得它压缩一些系数,同时设定一些系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。

Lasso Regresssion使用的就是L1正则化, 下面就是Lasso Regression 的Loss Function的样子,是不是很美丽:

简单说一下,第一个SUM(∑)里面可以看出来是一个线性回归求损失平方,第二个SUM(∑)是线性回归中系数的服从条件,用来约束解的区域,凸优化中的约束求解一般都长这个样子。

此外,Lasso Regression的整体损失求极小的样子改成拉格朗日形式就是下面这个式子的模样:

是不是找到了数学分析或者高等数学的感觉啦! 从式子里可以看到回归系数使用的是L1正则化,是惩罚参数或者叫做调节参数。L1范数的好处是当惩罚参数充分大时可以把某些待估的回归系数精确地收缩到0。

趁热打铁,我们再来看看Ridge Regression,也是线性回归的一个,看看简介:

RidgeRegression是一种专用于共线性的回归方法,对病态数据的拟合要强于最小二乘法(有想了解共线性问题,最小二乘的同学可以自己查资料了,如果对矩阵运算和矩阵性质熟悉的话会容易理解)。

岭回归使用的是L2正则化,下面的式子就是Ridge Regression的Loss Function 的美丽容颜:

细心的同学眼睛已然盯上了式子的最后面,是不是传说中的L2正则项,系数的平方和。上式的等价问题如下:

不管是Lasso Regression还是Ridge Regression 都有一个共同的参数,那就是惩罚参数L,那么怎么来确定呢?

通常使用交叉验证法(CV)或者广义交叉验证(GCV),当然也可以使用AIC、BIC等指标。

我们学习Lasso Regression 或者Ridge Regression的时候,一定见过下面这张图:

这张图很好的解释了为什么使用L1范数可以导致稀疏解,L2范数导致稠密解。下面从自己理解的角度和大家分享一下。

上面的图中实心的黑点也就是是真实的损失函数(不带有正则项的部分)我们暂叫做原问题的最优解,然后红色的圈圈就是系数β_1、β_2在原问题下可能的解的范围,接着是蓝色的实心圈是正则项约束的可能的解的范围。

我们都知道如果两个函数要是有共同的解,那么在几何意义下或者说从几何图形上来看,这两个函数的图像所在范围是要有共同交点或者要有交集。

所以,由于Lasso Regression或者Ridge Regression的整个Loss Function也就是我们的目标函数是由原问题和正则项两部分构成的,那么如果这个目标函数要有解并且是最小解的话,原问题和正则项就要有一个切点,这个切点就是原问题和正则项都满足各自解所在范围下的共同的解,红圈圈从图中的实心黑点也就是原问题最优解出发不断往外变化与蓝色实心圈相切的时候,L1范数意义下可能得到有的维度上的系数为零(就是切点所在的坐标处,β_1坐标为0),这也就是为什么说L1可以导致稀疏解,同理L2范数意义下,相切的点就不在坐标轴上,β_1和β_2都取0。

也许你已经发现,其实说L1范数下可以导致稀疏并不是说L1范数下一定导致稀疏,这还得看原问题的最优解到底在哪个地方取值。

二.Lq下的目标函数

其实看到这里你可能会问,既然有L1、L2会不会有Lq呢?答案是肯定的,有!直接上图

上图中,可以明显看到一个趋势,即q越小,曲线越贴近坐标轴,q越大,曲线越远离坐标轴,并且棱角越明显。那么 q=0 和 q=oo 时极限情况如何呢?猜猜看。

聪明的你猜对了吧,答案就是十字架和正方形。也许你又开始有问题了,既然L0是十字架,为什么不用L0作为正则项?

从理论来说,L0确实是求稀疏解的最好的正则项,但是机器学习中特征的维度往往很大,你也可以理解为系数很多很多,然后解L0又是个NP-hard问题,因此在实际工程应用中极有限制,不可行。

也许你又有问题了,为啥我们非得得到稀疏解呢?

其实这个问题并不绝对。从统计上来说,稀疏解可以舒缓模型的过拟合问题,毕竟可以使模型复杂度降低了嘛,然后你从一些应用场景上来说,比如医生看病,你一下让他看几百千。。。个指标得出正确答案简单,还是就几个关键指标就可以正确断诊来的好。毕竟解决问题还是要先抓住主要矛盾的,对不。

在统计学中,相比较于L1、L2这种特殊意义下的Lasso Regression 、Ridge Regression,更普遍意义Lq范数下的关于求系数的目标Loss Function为如下形式:

从上式可以看到最后面关于系数的约束就变成了Lq范数。

这个时候你就可以探索一下原问题在q取不同的值得情况对应的Lq 为惩罚项组合而成的目标函数得到的问题的解有什么不同!!!

三、普遍意义下的目标函数

除了上面提到的不管是线性回归问题常用的最小二乘法的平方损失函数,还是加入了L1、L2正则项等问题的目标函数,还有很多很多的以损失函数为目标函数的种类,譬如说,Logistics Regression使用的Log对数损失函数、SVM 使用的Hinge损失函数、Adaboost使用的指数损失函数、0-1损失函数绝对值损失函数等等。

整体来说我们已经完成了要讲的内容,但是作为“吾将上下而求索”的新青年,还是想知道这些目标函数的祖宗到底是谁?想看一看我们的目标损失函数从何而来,当当当当,下面的式子就揭晓了答案:

上式中的L一长串表示的是一般原问题的的损失函数,后面的J表示的是由于想到的某些解的特殊性或者说由于条件限制而加入原问题损失函数的一个规范项,一个约束。

从这个式子来说,不管是线性回归问题,还是我们讲的L1、L2、Lq等问题都只是她的多少代徒子徒孙而已。

本文我们从Lasso Regression、Ridge Regression为切入点引入了L1、L2范数,并且讲了L1、L2在Lasso Regression、Ridge Regression上为什么表现不同,L1为什么可以引起稀疏,哪些情况需要稀疏,接着引入了泛化的Lq范数,并且指出为啥不能用L0范数,最后给出了损失函数和正则化的最一般问题的来源,扒拉了下其他算法使用的目标函数的宗源。

有讲的不妥的地方还望各位客官指正。

作者:赵慧

编辑:赵一帆

原文发布于微信公众号 - 机器学习算法全栈工程师(Jeemy110)

原文发表时间:2017-09-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

聊一聊贝叶斯和MCMC......

1073
来自专栏数据派THU

开发者必读:计算机科学中的线性代数(附论文)

来源:机器之心 作者:Petros Drineas、Michael W. Mahoney 本文共3994字,建议阅读6分钟。 本文为你分享一篇来自普渡大学与UC...

21810
来自专栏大数据挖掘DT机器学习

R语言多元分析系列

系列之一:主成分分析 主成分分析(principal components analysis, PCA)是一种分析、简化数据集的技术。它把原...

2746
来自专栏一名叫大蕉的程序员

机器学习虾扯淡之线性回归No.39

今天晚上,整理了一下线性回归的完整的数学推导过程以及应用。 0x00甩定义 首先什么是线性回归? 就是面包屑嘛,我们跟着一个一个面包屑走,然后duang~~在...

1707
来自专栏CDA数据分析师

R语言实现常用的5种分析方法(主成分+因子+多维标度+判别+聚类)

R语言多元分析系列之一:主成分分析 主成分分析(principal components analysis, PCA)是一种分析、简化数据集的技术。它把原始数据...

2959
来自专栏AI2ML人工智能to机器学习

一步一步走向锥规划 - LS

一般来说凸优化(Convex Optimization, CO)中最一般的是锥规划 (Cone Programming, CP) 问题, 最简单的是最小二乘(...

701
来自专栏大数据挖掘DT机器学习

通俗理解LDA主题模型

0 前言 印象中,最开始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过...

1.1K5
来自专栏机器之心

从概率论到多分类问题:综述贝叶斯统计分类

机器之心编译 参与:刘晓坤、路雪 概率论是人类描述宇宙的最基本的工具之一。它与统计分类尤其相关,可推导出大量重要结果,提升人类对外部世界的认知。本文作者 Pet...

3097
来自专栏人工智能头条

机器学习 —— 浅谈贝叶斯和MCMC

791
来自专栏AI2ML人工智能to机器学习

最小二乘法的6个假设 (上篇)

我们曾经在“一步一步走向锥规划 - LS”里面详细介绍了最小二乘法的由来和几何解释。 并且, 在“回归分析中的问题和修正的探讨”中谈到了经典最小二乘法OLS的局...

702

扫码关注云+社区