周志华老师机器学习西瓜书(第二章)——模型评估与选择,同时解释为什么L1可以做特征选择,其系数为0(L2正则类似)

久仰西瓜书大名,之前拜读过,没做笔记又忘了。重新来过,做下笔记以备忘。

本章节主要讲诉三个方面内容,一是过拟合,包括该现象的解释、产生与解决办法,二是说明模型的衡量指标,三是方差偏差的概念。

过拟合通俗来说,就是在训练集集合上很好,在测试集上表现不好,泛化能力不好。过拟合现象产生原因一般有三种[参考Ref[2]]:

1) 数据噪声,

2) 训练集数据不足

3)模型过于复杂

      缓解过拟合问题就显得比较重要(注意,无法避免!)过拟合现象缓解的方法一般来说,有K折交叉验证(留出法、自助法)[3]、正则化(L1、L2等)、数据增强、dropout、early stopping[3-5]。主要来说说正则化的事情,其余方法比较常规(数据增强在图像当中应用更多一些,比如,对图像做反转啊,对称什么的),有时间后续再补充。

    规则化通常意义上来说,是模型复杂度的单调递增函数,加入期望风险(损失函数),是为了有效降低模型复杂度。正则化通常意义上来说,我们有L0、L1、L2正则和核函数规则化。

   L0范数是指w向量中非0的元素的个数,L1范数是指w向量的绝对值之和,L2是参数矩阵w的2范数(也叫岭回归或者权值衰减,各元素的平方和然后求平方根。)。但在通常意义上我们很少听到L0正则化的方法,在书籍或者paper中看到更多的可能是L1、L2和核范数等等。

   有人就问了,既然L0可以这么直接的降低模型复杂度(非0个数),为什么不用L0而用L1、L2、核函数这些呢?参考文件[6]指出是因为两个原因:一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。

-------------------------------------------------20180808-----------------------------------------------------------------

L1是L0的最优凸近似我们怎么理解呢?(⊙﹏⊙)先睡了,醒了再说。。。。

------------------------------------------------20180809------------------------------------------------------------------

L1,L1图形化表示[7]:

周志华老师机器学习西瓜书(第二章)——模型评估与选择,同时解释为什么L1可以做特征选择,其系数为0(L2正则类似)

 

这个图形怎么理解呢?我们可以这样来看。一般目标函数由经验风险函数和正则项组成(啥,参考[8]李航老师的统计学习方法,这里只做概要介绍)。经验风险函数可以用来衡量一个模型对数据拟合的效果,从整体上反映平均意义下的模型效果。(模型一次预测的好坏用损失函数来度量)。

给定数据集(X,y),假设模型是非概率模型y=f(x)【概率/非概率模型参考文献[8],概率模型是条件概率的模型,非概率是决策函数的模型】给定损失函数L,则经验风险函数可以由式(1)表示。

周志华老师机器学习西瓜书(第二章)——模型评估与选择,同时解释为什么L1可以做特征选择,其系数为0(L2正则类似)                                                    式(1)

仅仅由式(1)表示,泛化能力差。进而引入结构风险函数。结构风险=经验风险+惩罚系数*模型复杂度,其中复杂度J(f)可以理解成假设空间的泛函。(泛函是啥?En,,,,这个就太复杂了。。。。。)通常意义上,求解得到最有模型是最小化结构风险函数,即如式(2).

周志华老师机器学习西瓜书(第二章)——模型评估与选择,同时解释为什么L1可以做特征选择,其系数为0(L2正则类似)                                                    式(2)

式子(2)也可以理解成目标函数是经验风险函数(式子(1)),同时考虑到约束条件

周志华老师机器学习西瓜书(第二章)——模型评估与选择,同时解释为什么L1可以做特征选择,其系数为0(L2正则类似) ,其中C为常数。这样图1相对容易理解了(图1针对是两个变量的情况,方便理解),我们可以把图1中的等高线看成是经验风险函数的数值,而黑色看成是L1正则约束,当等高线逐步逼近于L1正则时,会有一个交点,这个交点的坐标为(0,w2),这样w1系数就是0。映射到多维上会有很多特征系数为0,系数不为0的特征被筛选出来,故而L1可以做特征筛选。

对于L2,类似分析,其二维平面图形如图2所示。

周志华老师机器学习西瓜书(第二章)——模型评估与选择,同时解释为什么L1可以做特征选择,其系数为0(L2正则类似)

图2 L2正则在二维平面图形展示。

至于另一个问题,L1和L2正则从贝叶斯角度来看,线性回归模型的L1正则等价于加入了拉普拉斯先验,线性回归模型的L2正则等价于加入了高斯分布[9]。具体推导过程且听下回分解,也可见文献[9][10]。借用文献[9]的一张图来表示贝叶斯学派眼中的L1/L2正则。

周志华老师机器学习西瓜书(第二章)——模型评估与选择,同时解释为什么L1可以做特征选择,其系数为0(L2正则类似)

图3 贝叶斯学派中的L1/L2正则[9]

拉普拉斯的分布相比高斯要更陡峭,红色表示拉普拉斯,黑色表示高斯[9]。怎么理解这句话呢,我们可以这么来理解,L2正则的作用是均衡化系数,而L1是一个筛选,这就导致L2正则曲线更为平滑一些,故而黑色表示L2正则曲线,L2正则曲线又可以理解为加入了高斯先验概率,故而黑色表示高斯,红色更为陡峭,为拉普拉斯先验分布。

Ref:

[1] 机器学习西瓜书

[2] https://blog.csdn.net/jinlong_xu/article/details/72636708

[3] https://www.cnblogs.com/boat-lee/p/5503036.html

[3] https://blog.csdn.net/wtq1993/article/details/51252376

[4] https://blog.csdn.net/yezi_1026/article/details/52761058

[5] https://blog.csdn.net/zhang_shuai12/article/details/52578239

[6] https://blog.csdn.net/zouxy09/article/details/24971995/

[7] https://blog.csdn.net/*_shi/article/details/52433975

[8] 李航老师的统计学习方法

[9] https://www.cnblogs.com/dylan9/p/8716839.html

[10] https://blog.csdn.net/haolexiao/article/details/70243292