1. 程式人生 > >線性模型之LDA和PCA推導

線性模型之LDA和PCA推導

線性模型之LDA和PCA

線性判別分析LDA

LDA是一種無監督學習的降維技術。

思想:投影后類內方差最小,類間方差最大,即期望同類例項投影后的協方差儘可能小,異類例項的投影后的類中心距離儘量大。

二分類推導

給定資料集\(D=\{(x_i,y_i)\}_{i=1}^m\),令\(X_i,\mu_i,\sum_i\)分別表示第\(i\in \{0,1\}\)類例項的集合,均值,和協方差矩陣

則兩類樣本中心點在\(w\)方向直線的投影分別為\(w^Tu_0,w^Tu_1\);若將所有的樣本點都投影到\(w\)方向直線上,則兩類樣本的協方差分別是\(w^T\sum_0 w,w^T\sum_1 w\)

此處推導用到的知識點
方差: $\frac{\sum_{i=1}^m(x_i-\overline{X})(x_i-\overline{X})}{n-1}$ 協方差: $\frac{\sum_{i=1}^m(x_i-\overline{X})(y_i-\overline{Y})}{n-1}$ $\sum_0=\sum_{x\in X_0}(x-u_0)(x-u_0)^T$

根據投影后類內方差最小,類間方差最大,欲最大化的目標為:

  • \(J=\frac{||w^Tu_0-w^Tu_1||^2}{w^T\sum_0 w+w^T\sum_1 w}\)

類內散度矩陣:

  • \(S_w=\sum_{x \in Y_i}(x-u_i)(x-u_i)^T\)

類間散度矩陣:

  • \(S_b=(u_0-u_1)(u_0-u_1)^T\)

則目標重寫為\(S_w,S_b\)的廣義瑞利商

  • \(J=\frac{w^TS_bw}{w^TS_ww}\)
  • 解與w只與方向有關與長度無關,令,\({w^TS_ww}=1\)

目標函式等價於

  • min\(\quad -w^TS_bw\)
  • \(s.t. \quad {w^TS_ww}=1\)

引入拉格朗日乘子法

  • \(S_bw = \lambda S_ww\)

\(S_bw\)方向恆為\((u_0-u_1)\)

  • \(S_bw = \lambda (u_0-u_1)\) 帶入上式得:
  • \(w = S_w^{-1}(u_0-u_1)\)

奇異值分解:

  • \(S_w=U\sum V^T\)
  • \(S_w^{-1}=V\sum^{-1} U^T\)

從貝葉斯決策理論的角度闡釋:當兩類滿足資料同先驗,滿足高斯分佈且協方差相等時,LDA達到最優

N分類

全域性散度矩陣:

  • \(S_t=S_b+S_w=\sum^m_{i=1}(x_i-u)(x_i-u)^T\)
  • \(S_w=\sum^N_{i=1}\sum_{x \in X_i}(x-u_i)(x-u_i)^T\)
  • \(S_b=S_t-S_w=\sum^N_{i=1}m_i(u_i-u)(u_i-u)^T\)

根據LDA思想,目標函式為:

  • \(J(W)=\frac{tr(W^TS_bW)}{tr(W^TS_wW)}\)
  • \(S_bw = \lambda S_ww\)

PCA

PCA的主要思想是將n維特徵對映到k維上,這k維是全新的正交特徵也被稱為主成分,是在原有n維特徵的基礎上重新構造出來的k維特徵

訊號領域:訊號具有較大方差,噪音具有較大方差,信噪比越大意味著資料質量越高。所以PCA的目標就是最大化投影誤差。

第一步:將資料進行去中心化:

第二步:方差:

  • x在單位向量上的投影為\(x^Tw\)
  • \(D(x)=\frac{1}{n}\sum_{i=1}^m(x_i^Tw)^2\)
  • = \(\frac{1}{n}\sum_{i=1}^mw^Tx_ix_i^Tw\)
  • = \(w^T(\frac{1}{n}\sum_{i=1}^mx_ix_i^T)w\)
  • = \(w^T\sum w\)

第三步:目標函式:

  • \(max \quad w^T\sum w\)
  • \(max \quad w^Tw=1\)

第四步:拉格朗日

  • \(D(x)=w^T\sum w=\lambda w^Tw=\lambda\)

投影后的方差就是投影后的協方差特徵值,將特徵值由大到小排列,取前d個主成分(主成分間相互正交)

由於得到協方差矩陣的特徵值特徵向量有兩種方法:特徵值分解協方差矩陣、奇異值分解協方差矩陣,所以PCA演算法有兩種實現方法:基於特徵值分解協方差矩陣實現PCA演算法、基於SVD分解協方差矩陣實現PCA演算法

降維後的資訊佔比:

  • \(\eta=\sqrt{\frac{\sum_{i=1}^d\lambda_i^2}{\sum_{i=1}^n \lambda_i^2}}\)

PCA和LDA的相同點

PCA和LDA都是經典的降維演算法;

PCA和LDA都假設資料是符合高斯分佈的;

PCA和LDA都利用了矩陣特徵分解的思想。

PCA和LDA的不同點

PCA是無監督(訓練樣本無標籤)的,LDA是有監督(訓練樣本有標籤)的;

PCA去除原始資料集中冗餘的維度,讓投影子空間的各個維度的方差儘可能大,也就是熵儘可能大。LDA是通過資料降維找到那些具有判斷力的維度,使得原始資料在這些維度上的投影,不同類別儘可能區分開來。

LDA最多可以降到k-1維(k是訓練樣本的類別數量,k-1是因為最後一維的均值可以由前面的k-1維的均值表示);而PCA沒有這個限制

LDA還可以用於分類。

LDA可能會過擬合數據