开发者学堂课程【机器学习算法 :改进的回归方法-2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7216
改进的回归方法-2
内容介绍
一、岭回归选择自变量
二、岭回归的缺点
三、岭回归的案例
四、LASSO 回归
一、岭回归选择自变量
岭回归选择自变量的原则:
1. 将设计矩阵 x 中心化,就是拿到了一个样本,对它进行一个中心化、标准化,这样标准化之后不同变量的系数才有了可比性。否则的话不同的变量之间还存在一个两章问题。剔除掉标准化岭回归系数比较稳定且绝对值很小的自变量。它比较稳定且绝对值很小就说明这个自变量对最终的结果影响有限
2. 另外当 k 比较小时,标准化岭回归系数的绝对值不小,但是不稳定,随着 k 值的增大迅速变小并趋于零,这种岭回归系数不稳定、振动趋于0的自变量也应该删除;
3. 还有就是剔除掉标准化岭回归系数很不稳定的变量。它可能对最终的结论有影响。但是它的影响变化比较大。这样就把它剔除掉。
二、岭回归的缺点
岭参数和自变量选择过于主观和随意,基本要靠目测。目测的话这个误差与每个人的经验是相关的,很容易出现相同的情况不同的人,判断出来的结论不一样。就是同样的数据绘制出来同样的岭迹图,经过不同的人来看选择的 k 值就不一样,从而导致最终的拟合方程也不一样。
三、岭回归的案例
分析民航客运量的影响因素,y 值就是民航客运量,单位是万人。已知的数据有国民收入、消费额、铁路客运量、民航航线里程和旅游入境人数等等。
首先去做标准化。有一个标准化的公式。根据标准化公式标准化自变量和因变量: 基于现有的 x 值把它做一个标准化,就用第一个公式就行。这里面 x 是知道的,x 的平均值也是知道的。这样的话可以把量纲消除掉。根据公式计算不同 k 值时的标准岭估计参数,绘制岭迹图:这里加 k 乘以单位矩阵,k 值不一样就得到不同的 β 值,这样的话可以绘制一个岭迹图。
首先按照之前介绍的几种情况简单的分析一下。beta-2 和 beta-3 对应的这两个自变量和 ,它两应该存在严重的多重共线性。这两个的相关性非常大,是强相关性的自变量。这两个里面肯定要去掉一个,其他的都还可以。其他的相对来说是比较平稳的,没有剧烈的波动。这个绝对值也没有小到要忽略。最下面这条线对应的可以考虑是否要把它去掉。因为它的绝对值还是比较小的,当然也可以保留。但是得到的最直接的结论是 beta-2 和 beta-3这两个回归系数对应的自变量可能是相关性比较强。
去掉一个自变量之后再去做拟和可以看到没有那么剧烈的波动了。beta-1 和 beta-2 只保留了一个。beta-1 的变化就比较平稳,不像和它相关的变量也存在的时候变化那么剧烈。这基本上相对来说就是一个比较稳定的岭迹图。
这个时候存在一个问题,选择岭参数不同的人选的是不一样的。比如它趋于稳定不再有交叉了,这个值的范围还是挺广的。可以从0.05~0.1再往后都可以。具体选择哪个根据经验而来。岭参数在0.02和0.1之间,要找拐点,这里选择的是0.08,当然可以选更小一点的也可以是更大一点的。其实这个时候 k 有多个选择,可以把这几组都列出来,使用之前介绍的那种交叉验证法,不断去算相同的 k 值或不同的 k 值等等这些情况,选出一个最小的就好了。这个时候就基于自变量 ,因为 beta-2 对应的自变量被踢掉了,认为它和 beta-1 的相关性很强,去掉一个就剩四个自变量了。刚才那个的标准化的值已经算出来了,所以据它的建模就得到了这个方程。
然后还需要把标准化方程转为非标准化方程,因为建模的时候是基于加工过的变量的,那最终的方程要转化成原始的变量。这样以后做预测或者是控制就非常方便了。刚才说过变换的时候是中心化标准的值它是一个计算公式,所以反过来就要用它来表示了。就可以用原始值,和这个标准化的值有一个对应关系。这个时候把它带出来就行了。
代入后就得到方程:
这样的话就完成了民航客运量的分析。
四、LASSO 回归
1、基本介绍
LASSO 回归是 Least Absolute Shrinkage and Selection Operator 的缩写,是一种压缩估计。它的惩罚函数就是 L1 范数,L1 范数就是绝对值。它能得到一个较为精炼的模型,把一些系数给去掉了。再讲模型选择的时候讲过这个 LASSO 回归或者叫 L1 范数和 L2 范数缩减系数或惩罚的时候它的惩罚不一样。简单地来讲如果是 L1 它更倾向于把其中一些系数变成0。假设有两个方向,和,实际上最有可能得到的结果是其中一项等于0,就是等于0了,只留了这一项。那么 L2 范数它不一样。选中的点它的和的值都存在。所以 L1 范数更倾向于把其中一些项的系数给变成 0,就是把一些自变量给排除掉。L2范数会把原来的自变量基本保留,不过它会把某些影响不大的自变量的系数变得很小,有时可能小到接近于0但不能是0。
2、LASSO 回归
LASSO 回归常见的求解方法有两种:
坐标下降法:(Coordinate Descent):沿坐标轴下降,迭代求解
最小角回归法:(Least Angle Regression,LAR):适用于高维
坦白说回归的这些变种比如像 LASSO 回归相对来说比较复杂。到这里基本上把整个回归的内容都讲解完了,在做线性回归的时候碰到一些问题并怎样把它消解掉。