---
tags: 機器學習 (Machine Learning)
---
# 線性模型與正則化 (Linear Models and Regularization)
## Linear regression
### 前言
假設數據$X$具有$n$筆資料與$p$個變數,首先對$X$進行正規化,再利用此數據集建立線性模型
$$
Y_{n \times 1}=X_{n \times p} \beta_{p \times 1}+\epsilon
$$
上式的線性模型分為兩個部分,$X\beta$為規律性的部分,而$\epsilon$則代表隨機性。假設線性模型是正確的,我們希望找到一個損失函數(Loss function)來衡量$Y$和$X\beta$的距離,而次損失函數越小越好,將上述文字利用數學表示,即
$$
\min L(\beta)
$$
而在線性模型中通常利用$L_2$-norm來衡量$Y$和$X\beta$的距離
$$
L(\beta)=\| y-X\beta \|_2^2
$$
### 推導
#### 最小平方法
在線性回歸中可以將損失函數(Loss function)改寫為
$$
L(\beta)=( y-X\beta )^T (y-X\beta)
$$
對向量$\beta$微分並令其為0,可得
$$
X^T(X\beta−y)+X^T(X\beta−y)=0
$$
移項後
$$
\hat{\beta}_{OLS}=(X^TX)^{−1}X^Ty
$$
#### 最大概似估計(Maximum Likelihood Method)
由前言我們知道$\epsilon$為隨機的部分,和$X$無關,我們假設
$$
\epsilon \sim \mathcal{N}(0,\sigma^2)
$$
其中$\sigma$為未知且固定的常數。
則可推得
$$
Y=X\beta + \epsilon \sim \mathcal{N}(X\beta, \sigma^2)
$$
因為$Y$之間互為獨立,可以寫下聯合機率密度函數,
$$
L_p(Y|X, \beta, \sigma^2)=\prod_{i=1}^n p(y_i|x_i,\beta,\sigma^2) = \prod_{i=1}^n \frac{1}{\sqrt{2 \pi}\sigma} \exp\{ -\frac{(y_i-x_i\beta)^2}{2 \sigma^2} \}
$$
對上式取$\log$,
$$
\ell(\beta)=\sum_{i=1}^n \log p(y_i|x_i,\beta,\sigma^2) = n \log \frac{1}{\sqrt{2 \pi}\sigma} - \sum_{i=1}^n \frac{(y_i-x_i \beta)^2}{2 \sigma^2}
$$
則最大化概似函數,
$$
\max_{\beta} \ell(\beta)=- \sum_{i=1}^n \frac{(y_i-x_i \beta)^2}{2 \sigma^2}
$$
因為$\sigma^2$為常數,因此$\max \ell(\beta)$等同於最小化損失函數$\min L(\beta)$
$$
L(\beta)=(y-X\beta)^T (y-X\beta)=\sum_{i=1}^n (y_i-x_i \beta)^2
$$
因此利用最大概似估計法所得的$\hat{\beta}$即為
$$
\hat{\beta}=(X^TX)^{−1}X^Ty
$$
### 性質:
1. $Y$和$X$必須存在線性關係
2. 當$X$上升一個單位時,$y$==平均==上升$\beta$個單位
:::danger
因為$\epsilon \sim \mathcal{N}(0,\sigma^2)$
$$
\mathbb{E}(Y|X)=\mathbb{E} (X\beta + \epsilon) = X\beta
$$
:::
3. Log-Log線性模型: 當$X_1$增加$1\%$,$Y$平均增加$\hat{\beta}_1$比例
:::danger
Suppose
\begin{align*}
\log Y &= \beta_0 + \beta_1 \log X_1 + \epsilon\\
\log Y^* &= \beta_0 + \beta_1 \log \left( X_1 (1+\delta) \right) + \epsilon \\
&=\beta_0 + \beta_1\log X_1 + \beta_1 \log (1+\delta) + \epsilon
\end{align*}
By Taylor expansion, we know that
$$
log(1+\delta) \approx \delta
$$
when $\delta \rightarrow 0.$
Hence
\begin{align*}
\log \left( \frac{Y^*}{Y} \right)=\beta_1 \log (1+ \delta) \approx \beta_1 \delta
\end{align*}
Moreover,
\begin{align*}
\log \left( \frac{Y^*}{Y} \right) = \log \left( 1 + \frac{Y^*-Y}{Y} \right) \approx \frac{Y^*-Y}{Y}
\end{align*}
Thus,
$$
\frac{Y^*-Y}{Y} \approx \beta_1 \delta
$$
,which means a percent change in $X_1$ leads to an estimated $\hat{\beta}_1$ percentage change in the average value of $Y$
:::
4. 樣本數必須多於特徵變數($n>p$)
5. 若沒有常數項,則模型必須通過原點
6. 對異常值非常的敏感
7. 遺漏變量
8. 若有多重共線性的問題,估計會變得非常不穩定
:::info
#### 共線性(Collinearity):
假設我們利用OLS估計,則$\hat{\beta}$為
$$
\hat{\beta}_{OLS}=(X^TX)^{-1}X^Ty=(X^TX)^{-1}X^T(X\beta+\epsilon)=\beta+(X^TX)^{-1}X^T\epsilon
$$
其中$\beta$為真實值。由上式可知,$\hat{\beta}_{OLS}$受到$(X^TX)^{-1}X^T\epsilon$的影響,若$(X^TX)^{-1}X$變大,再乘上$\epsilon$後,會使得$\hat{\beta}_{OLS}$嚴重偏離真實值($\beta$)。為了方便分析,將$X$做SVD轉換,
$$
X=U \Sigma V^T
$$
帶入
$$
(X^TX)^{-1}X^T=V \Sigma^{-1}U
$$
其中
$$
\Sigma^{-1}=\begin{bmatrix}
\frac{1}{\sigma_1} & & & \cdots\\
& \ddots & & \cdots \\
& & \frac{1}{\sigma_p} & \cdots
\end{bmatrix}
$$
出現共線性時,有些$\sigma$會趨近於0,換句話說,$\frac{1}{\sigma}$太大,使得估計式$\hat{\beta}$的干擾過大,偏離真實值($\beta$)
:::
9. 省略變數偏誤 (Omitted Variable Bias)
假設真實模型為
$$
Y=X\beta + Z\delta + U \text{ where $U \sim N(0,I)$}
$$
而我們忽略了變數$Z$而假設模型為
$$
Y=X\beta + U \text{ where $U \sim N(0,I)$}
$$
忽略$Z$後得到的$\hat{\beta}$為
$$
\hat{\beta}=(X^TX)^{-1}X^T Y
$$
得$E(\beta)$為
\begin{align*}
E[\hat{\beta}]&=(X^TX)^{-1}X^T (X\beta + Z\delta + U)\\
&=\beta+(X^TX)^{-1}E[X^TZ|X]\delta+(X^TX)^{-1}X^TE[U]\\
&=\beta+(X^TX)^{-1}E[X^TZ|X]\delta
\end{align*}
其中$(X^TX)^{-1}E[X^TZ|X]\delta$即為省略變數偏誤。
## 嶺回歸 (Ridge regression)
為了解決共線性與樣本數少於特徵向量導致不能計算的缺點,我們需要在損失函數上增加懲罰項,亦即將損失函數(Loss function)改寫為
$$
L(\beta)=( y-X\beta )^T (y-X\beta)+\lambda \beta^T \beta
$$
### 推導
對$\beta$微分並令其為0,可得
$$
\frac{\partial L(\beta)}{\partial \beta}= 2X^T(X\beta−y)+2\lambda \beta=0
$$
移項後得$\beta$的封閉解為
$$
\hat{\beta}_{Ridge}=(X^TX+\lambda I)^{−1}X^Ty
$$
### 性質:
1. 當$n<p$時,仍可估計。當$n<p$時,$X^TX$是不可逆矩陣,而嶺回歸對$\beta$的估計式相當於在對角線上加上$\lambda$值,使得$(X^TX+\lambda I)$成為可逆矩陣。
2. 當數據中的特徵變數增加時($p$增加),我們就越容易捕捉到共線性的變數。而當模型具有共線性時,估計所得的$\beta$就會非常地不穩定(variance會變很大)
3. 當$\lambda \rightarrow \infty$,則$\hat{\beta}_{Ridge}$會趨近於$0$;反之,若$\lambda=0$則$\hat{\beta}_{Ridge}=\hat{\beta}_{OLS}$
:::info
### Linear, PCA, Ridge regression的比較:
\begin{align*}
\hat{y}_{OLS} &= X \hat{\beta}_{OLS}=X (X^T X)^{-1}X^T y = U U^T y\\
\hat{y}_{PCR} &= X_{PCR} \hat{\beta}_{PCR} = U \mbox{diag}\{ 1,..., 1,0,...,0\} U^T y \\
\hat{y}_{Ridge} &= X \hat{\beta}_{Ridge} = X (X^T X + \lambda I)^{-1}X^T y = U \mbox{diag} \frac{d_i^2}{d_i^2 + \lambda} U^T y
\end{align*}
1. 若 $\lambda=0$,$\hat{y}_{OLS}=\hat{y}_{Ridge}$
2. 若 $\lambda>0$,當$d_i$越大時,ridge regression越不容易受到$\lambda$的影響;當$d_i$越小時,ridge regression對該$\beta$的懲罰越大。
3. 在 PCA regression(PCR)中,對於大的$d_i$並不會影響其對應的$\beta$,然而過小的$d_i$則會被完全移除。可以對應為對前q個大的特徵值其所對應的$\lambda=0$,剩餘的p-q個維度其$\lambda=\infty$
4. 由上述2點和第3點可知,ridge regression相較於PCA regression(PCR)為較為平滑之版本;但是若每個特徵值皆差不多大,則ridge regression可視為平均懲罰所有的特徵向量,此時和PCR會非常的不一樣
5. 在實務上,Ridge regression表現得比較好。
:::
## LASSO
### 前言
我們希望在估計模型的時候,可以順便選取重要的變數,換句話說,將不重要的變數估計為0。因此我們可以將其用數學式表達之
$$
\min_{\beta \in \mathbb{R}^p} \|y-X\beta \|_2^2 \text{ subject to $\|\beta \|_0 \leq k$}
$$
上式又稱之為Best Subset Selection。然而此限制式並非凸函數且不可微分,因此在估計$\beta$相當的困難。而在數學上我們已知當$L_p$-norm的$p$介在0到1之間時具有稀疏性(Sparsity),且$p=1$時恰巧為凸函數,因此我們將Best Subset Selection的限制範圍改為
$$
\min_{\beta \in \mathbb{R}^p} \|y-X\beta \|_2^2 \text{ subject to $\|\beta \|_1^1 \leq t$}
$$
上式即為著名的Least Absolute Shrinkage and Selection Operator(LASSO)。透過KKT條件,可以將其改寫為
$$
\min_{\beta \in \mathbb{R}^p} \|y-X\beta \|_2^2 + \lambda \|\beta \|_1^1
$$
### 定義
假設我們的損失函數(Loss function)為
$$
L(\beta)=\sum_{i=1}^n \left( y_i-\sum_{j=1}^p x_{ij} \beta_j \right)^2 + \lambda \sum_{j=1}^p \| \beta_j \|_1
$$
令
\begin{align*}
RSS(\beta) &= \sum_{i=1}^n \left( y_i-\sum_{j=1}^p x_{ij} \beta_j \right)^2\\
d(\beta) &= \lambda \sum_{j=1}^p \| \beta_j \|_1
\end{align*}
其中$d(\beta)$為懲罰項。
### 推導
1. 對$RSS(\beta)$偏微分可得
\begin{align*}
\frac{\partial RSS(\beta)}{\partial \beta} &=-2 \sum_{i=1}^n x_{ik} \left( y_i-\sum_{j=1}^p x_{ij} \beta_j \right)\\
&=-2 \sum_{i=1}^n \left( x_{ik}y_i-x_{ik}\sum_{j=1,j \not=k}^p x_{ij} \beta_j -x_{ik}^2\beta_k \right)\\
&=-2 \sum_{i=1}^n x_{ik} \left( y_i-\sum_{j=1,j \not=k}^p x_{ij} \beta_j\right)+2 \beta_k \sum_{i=1}^n x_{ik}^2
\end{align*}
假設
\begin{align*}
p_k&=\sum_{i=1}^n x_{ik} \left( y_i-\sum_{j=1,j \not=k}^p x_{ij} \beta_j\right)\\
z_k&=\sum_{i=1}^n x_{ik}^2
\end{align*}
則
$$
\frac{\partial RSS(\beta)}{\partial \beta_k}=-2p_k+2z_k \beta_k
$$
2. 對$d(\beta)$微分:在這邊微分必須利用sub-gradient的技巧
$$
\lambda \frac{\partial \sum_{j=1}^p|\beta_j|}{\partial \beta_k} =
\begin{cases}
-\lambda & \text{if $\beta_k<0$} \\
[-\lambda,\lambda] & \text{if $\beta_k=0$} \\
\lambda & \text{if $\beta_k>0$} \\
\end{cases}
$$
3. 因此$L(\beta)$的對$\beta_k$的偏微分即為
$$
\frac{\partial L(\beta)}{\beta_k}=-2p_k+2z_k \beta_k+\begin{cases}
-\lambda & \text{if $\beta_k<0$} \\
[-\lambda,\lambda] & \text{if $\beta_k=0$} \\
\lambda & \text{if $\beta_k>0$}
\end{cases}
$$
令$\frac{\partial L(\beta)}{\beta_k}=0$得到
$$
\hat{\beta}_k=
\begin{cases}
\frac{p_k+\frac{\lambda}{2}}{z_k} & \text{if $p_k<-\frac{\lambda}{2}$} \\
0 & \text{if $-\frac{\lambda}{2} \leq p_k \leq \frac{\lambda}{2}$} \\
\frac{p_k-\frac{\lambda}{2}}{z_k} & \text{if $p_k>\frac{\lambda}{2}$}
\end{cases}
$$
通過上述的公式,我們可以每次選取一個維度進行最佳化,直到收斂,此方法又稱為Coordinate Descent。
### 性質
1. 具有可解釋性
2. 當$n<p$時仍可運算
3. LASSO同時進行選模和估計,將不重要的變數,直接估計為$0$;但亦會壓縮到重要的變數,使重要的特徵變數具有偏誤(bias)
## Elastic-Net
###### tags: `Linear Model`, `Ridge`, `PCR`, `LASSO`, `Elastic-net`, `Regularization`