DA04 Dimension Reduction, Part I
DA04 Dimension Reduction :: Part I Note
This is DA04 part I
note. Include some detail of feature selection and penalized regression.
Why do we need to reduce the dimension?
This is an interesting and basic question. Why reduce the dimension? Let’s see two kind of dataset.
A flatten dataset
首先来看这样的一个所谓“扁平”的数据集。我们有
这时候出现了一个问题,资料的数目远远比回归变量的数目小。在 DA02 的几何意义诠释中,我们提到的情况是
stepwise regression
来逐渐添加变量。否则的话,我们的计算过程将变得十分漫长。
A normal dataset
与扁平数据集对应的是正常的数据集。即
在
Feature Selection or Extraction
维度灾难意味着我们使用了太多的feature selection
。
所谓的
feature
,就是一些重要的回归变量。
常用的方法大致可以分为三类。分别是所谓的 Supervised method
,所谓的 unsupervised method
和所谓的 non-linear method
。其中:
Supervised method
需要我们同时有 和 值。常用的有:Subset Regression
Penealized Regression
(will add little constraint on top of the regression)- Least Absolute Shrinkage & Selection Operator (Lasso Regression)
- Ridge Regression (RR)
- Elastic Net
- Partial Least Squares Regression (A powerful regression method, it will be used in
multiple regression
case, and this method considers the cov. between and )
Unsupervised method
我们并不要求有 值。常用的有:- Principal Component Analysis (PCA)
- Factor Analysis (FA)
non-linear method
常用的有:- Independent Component Analysis (ICA)
- Locality Preserving Projections (LPP)
- t-distributed Stochastic Neighbor Embedding (tSNE)
我们将分别介绍。在 part 1 中,我们主要介绍 Supervised method
。
Subset Regression
在 Subset Regression
中,我们希望通过逐个对比不同模型的方法,找到一个最合适的模型,从而筛选变量。
以5个回归变量( regressors )的模型为例。我们可以通过增加/减少变量的方法来构建不同的 regression model 。
我们就在这31个模型中选择。可以利用我们前面提到的 R-Square
, Adjusted R-Square
, AIC
, BIC
来筛选。
不过要注意的是,这只是一个仅含有
linear term
的模型。我们没法筛选具有交叉项(如)的模型。
How to identify key regressors?
那完成了所谓的模型筛选,我们又如何界定什么是关键的回归变量呢?
直觉的方法是,比较
If … Comparing ?
如果比较
仍然以 DA02 中的 mpg 回归问题为例。我们能发现,回归系数的值很容易受到回归变量量纲的影响。一个
如果想要用
的值来筛选 regressor ,那至少要做一次针对 的标准化。
If … Comparing the p-value of
是否有所谓的 “small p-value, more significant” 呢?答案依旧是 No 。
注意我们的 p-value ,仅仅是用来进行假设检验的!极小的 p-value 只能说明
Here are OK ways…
有两种方法来筛选。
标准化的公式为:
然后构建新的回归模型
这时候的
Penalized (Regularized, Shrinkage) Regression
下面我们来介绍所谓的 Penalized Regression 方法。这种方法将用选定的关键变量来构建回归模型。分别介绍 Least Absolute Shrinkage & Selection Operator
, Ridge Regression
与 Elastic Net
。
Least Absolute Shrinkage & Selection Operator ( Lasso )
Lasso
是一种通过增加 Constraints ,以期望限制原本 LSE 模型的规模,从而控制模型参数
在最小二乘回归中,我们期望求解的的等式是:
在最小二乘回归的基础上,我们期望加上一些限制条件,从而来限制
subject to:
where tuning factor
.
这里加入的限制条件如上。我们称这个限制条件为所谓的 L1-norm constraint
。
我们也可以利用凸优化的相关知识,将上面两式合并为一个,即:
这样我们后续便可以对这个式子进行 minimize 操作。我们将 lagrange multiplier
。
In Lasso, we want to Kill the coefficient beta. We hope our constraint shrink those insignificant or small
, and force them to be 0.
Ridge Regression (RR)
在所谓的 Ridge Regression
中,我们更换了 constraint ,但是整体的目标和架构与 Lasso 没什么出入。
subject to:
where tuning factor
.
The equivalent expression is:
where Lagurange Multiplier
. We want to estimate
Mathematic behind RR
现在我们来看 RR 背后的一些数学原理。实际上 RR 和正常的回归很想,只不过双方的限制不同。
在 RR 中,我们期望进行优化的函数表达式是:
其中, 最小二乘
,而 L2-norm
。我们对
解得:
这就是我们在 Ridge Regression 的限制下求得的
那现在,所谓的 ridge
在什么地方?
ridge
is coming from
我们的
注意到右边的是一个 diagonal matrix。我们将把 ridge
的来源。
Mathematic behind Lasso: Not an easy case
然而在 Lasso 中,是一个比较麻烦的事情。因为我们采用了带有绝对值的 L1-norm。这让问题变得复杂了一些。
在 Lasso 中,我们必须假设
成立,才会有 closed form solution。然而在实际过程中,这个假设基本上是很难达成的。我们必须用机器学习的方法来解决这个问题
现在,我们来对 Lasso 的最优化过程进行处理。我们总共有
现在对
这里用一个小 trick ,将
让左边的为
现在处理偏微分时候我们留下的 ? 项:我们有:
我们现在可以合并前面的结果了。我们有:
现在令其为0,我们便可以得到
那这样我们就得到一个计算
How do I know when do I use these 3 values? We need to check the condition.
is a given value, we can randomly assign a . and can be calculated. - After many rounds, we can get a stable
.
Geometrical Meaning of LASSO and Ridge Regression
现在我们来看 Lasso 和 Ridge Regression 的几何意义。
左边是 Lasso 的几何图像,右边是 Ridge 的几何图像。
首先要牢记,Lasso 试图去掉那些不显著或者很小的
红色虚线是最小二乘估计的 Response Surface 。我们当然期望找到所谓的 minimum point
,我们可以构建特别复杂的模型来做到。但通过加入 constraint ,我们限制了我们的 searching space 的规模。我们希望在这个限制后的 searching space 中,寻找到一个部分。这个部分是 searching space 与 response surface 的最近的交集。从而得到一个恰当的估计值。
对于 Lasso 来说:
- 限制条件
决定了方形的 searching space 的宽度。 - 在 Lasso 中,边界是笔直的。这意味着我们想要找的解肯定在边界的 corner point 上,即左图的红点。并且这个 corner point 总是存在。
- 这个点就是与 response surface 的唯一交集,也是一个恰当的估计值。
在 Ridge 中:
- 同样的,限制条件
决定了 searching space 的宽度。不过 RR 中 searching space 是一个圆形。 - 意味着我们想要找的解肯定在边界上,不过这里是一段边界,而非某个点。
- 这个边界就是我们的估计值。我们认为 RR 是一个 much balanced distribution of coefficients。
LASSO vs. Ridge Regression (RR)
的影响:
大 会尝试让我们的回归系数 尽可能地趋近于0。 为0 就是正常的线性回归模型。
还有一个是对抗 collinearity 的影响:
在 collinearity 出现时,我们有
因此,Lasso 和 RR都可以避免多重共线性带来的影响。
不同的是,Lasso 试图去 kill 掉某个回归变量,而 RR 试图找到一个平衡的方法,去对出现 collinearity 的变量进行一些均等的权重分布,使其都尽可能地小。
Elastic Net
有的时候,我们既希望能 kill 掉一些变量,又能很好地控制一些变量趋近于0。这时候自然有一个问题,如何 Combine Lasso 和 RR ?这就是 Elastic Net
的来源。
Elastic Net 加入了一个所谓的 Smoothing Factor
penalty
。
Lasso Regression
Ridge Regression
Elastic Net
How Do We Fit the Penalized Regression?
Step #1: Choose and Fix
Step #2: Choose
第二步是确定使用什么样的
- 使用 Lasso - 需要利用诸如梯度下降的方法来得到
。在梯度下降的时候还要注意 的符号问题。 - 使用 Ridge Regression - 有 closed form solution 。只需要解
即可。 - 使用 Elastic Net - 需要利用类似 Lasso 的方法来解决。
左边是 Lasso 的参数变化图。可以发现 Lasso 的参数归零非常快。右边是 RR 的参数变化图,可以发现即使
An Extra Question: Should we Normalize the Data?
We still need to normalize the data.
我们前面已经提过说,Lasso 和 RR 这一系列的回归方法,都只关注 coefficient 的 value 本身。如果 data 没有 normalize ,则一定会由于量纲不一致,产生不同数量级的
Be careful at the very beginning!
What’s more:
Lasso: Powerful to select variables.
RR: Avoid collinearity, weight distributed balancedly.
Reference
本文中的所有图片,Slides均来源于國立台灣大學工業工程學研究所藍俊宏副教授所開設的資料分析方法課程中之 DA04 Dimension Reduction.pdf
。特此感謝藍俊宏老師在我學習歷程上的幫助!