机器学习:概念与理解(二):回归、稀疏与正则约束 ridge regression,Lasso
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。
“机器学习:概念与理解“系列,我本着开放与共享(open and share)的精神撰写,目的是让更多的人了解机器学习的概念,理解其原理,学会应用。现在网上各种技术类文章很多,不乏大牛的精辟见解,但也有很多滥竽充数、误导读者的。这个系列对教课书籍和网络资源进行汇总、理解与整理,力求一击中的,通俗易懂。机器学习很难,是因为她有很扎实的理论基础,复杂的公式推导;机器学习也很简单,是因为对她不甚了解的人也可以轻易使用。我希望好好地梳理一些基础方法模型,输出一些真正有长期参考价值的内容,让更多的人了解机器学习。所以对自己的要求有三:(1)不瞎写,有理有据;(2)不装,尽量写的通俗易懂;(3)多看多想,深入浅出。
本人14年刚刚毕业于浙大计算机系,希望与志同道合的朋友一起交流,我刚刚设立了了一个技术交流QQ群:433250724,欢迎对算法、技术、应用感兴趣的同学加入,在交流中拉通——算法与技术,让理论研究与实际应用深度融合;也希望能有大牛能来,为大家解惑授业,福泽大众。推广开放与共享的精神。如果人多我就组织一些读书会,线下交流。
本节的内容需要依赖上一节已经讲了的机器学习:概念到理解(一):线性回归,线性回归的模型是这样的,对于一个样本
其中,
线性回归的目标是用预测结果尽可能地拟合目标label,用最常见的Least square作为loss function:
可以直接求出最优解:
看起来似乎很简单,但是在实际使用的过程中会有不少问题,其中一个主要问题就是上面的协方差矩阵不可逆时,目标函数最小化导数为零时方程有无穷解,没办法求出最优解。尤其在
ridge regression
最为常见的就是对
有解析解:
其中
实际上ridge regression可以用下面的优化目标形式表达:
也就是说,我依然优化线性回归的目标,但是条件是
稀疏约束,Lasso
先看一下几种范式(norm)的定义,
如前面的ridge regression,对
稀疏约束最直观的形式应该是约束0范式,如上面的范式介绍,
有趣的是,
很重要的是1范式容易求解,并且是凸的,所以几乎看得到稀疏约束的地方都是用的1范式。
回到本文对于线性回归的讨论,就引出了Lasso(least absolute shrinkage and selection operator) 的问题:
也就是说约束在一个
红色的椭圆和蓝色的区域的切点就是目标函数的最优解,我们可以看到,如果是圆,则很容易切到圆周的任意一点,但是很难切到坐标轴上,因此没有稀疏;但是如果是菱形或者多边形,则很容易切到坐标轴上,因此很容易产生稀疏的结果。这也说明了为什么1范式会是稀疏的。
Lasso稀疏性的进一步理解:
类似Ridge,我们也可以写出Lasso的优化目标函数:
根据一般的思路,我们希望对
定义1:记
其中
图 subgradient
注意在
性质1:点
很容易理解,看上面的图,在
为了方便说明,需要做一个简化假设,即数据
假设lasso问题
情况1:gradient存在的区间,即
由于gradient在最小值点=0,所以
所以
其中
很容易看出,
最后得到
其中
情况2:gradient不存在,即
根据前面的性质1,如果
其中
所以和情况(1)和(2)可以合并在一起。所以呢,如果在这种特殊的orthonormal情况下,我们可以直接写出Lasso的最优解:
OK,再回顾一下前面的ridge regression,如果也考虑上面说的orthonormal情况下,可以很容易得出最优解为
很容易得出结论,ridge实际上就是做了一个放缩,而lasso实际是做了一个soft thresholding,把很多权重项置0了,所以就得到了稀疏的结果!
除了做回归,Lasso的稀疏结果天然可以做机器学习中的另外一件事——特征选择feature selection,把非零的系数对应的维度选出即可,达到对问题的精简、去噪,以及减轻overfitting。
上面是做了简化后的讨论,实际中lasso求解还要复杂的多。在下一篇文章中,将描述和Lasso非常相关的两种方法,forward stagewise selection和最小角回归least angle regression(LARS),它们三者产生的结果非常接近(几乎差不多),并且都是稀疏的,都可以做feature selection。有的时候就用Lars来作为Lasso的目标的解也是可以的。
参考资料
[1] http://blog.csdn.net/zouxy09/article/details/24971995
[2] The elements of statistical learning, ch3
[3] http://freemind.pluskid.org/machine-learning/sparsity-and-some-basics-of-l1-regularization/
[4] http://en.wikipedia.org/w/index.php?title=Subderivative&redirect=no#The_subgradient