LDA(線性判別分析)
- LDA(線性判別分析)
- 1.LDA是什麼
- 2.問題背景
- 3.投影
- 4.離散度
- 5.目標函式
- 6.推廣到多分類
1.LDA是什麼
LDA是一種解決二分類問題的線性方法。它描述,對於給定樣例集,將樣例點投影到一條直線上,這條直線能使異樣的樣例相距遠,同類的樣例分佈靠近,對於新的樣例,根據在這條直線上的投影判斷屬於哪一類別。
因此我們的所有任務圍繞確定直線展開。
2.問題背景
首先描述問題背景,這裡直接引用西瓜書原話:
這裡描述的是一個二分類問題。
那麼如何理解投影?
3.投影
若已知向量$\vec{x}$和向量$\vec{w}$ ,求$\vec{x}$在向量$\vec{w}$上的投影,可以用內積表示:
$$
\vec{x} \cdot \vec{w} = |\vec{x}||\vec{w}|\cos {\theta}
$$
當w為單位向量,該投影為:
$$
|\vec{x}|\cos {\theta}
$$
因此在下圖上,$y$表示target(標籤),假設x與y有線性關係由引數集合$w$確定($y = wx + b,w^T = {w,b}*$)
則任意x在直線上的投影可以認為是x根據線性關係找到的y值,那麼這個投影過程表示為:
$$
w^TX
$$
其中$x_i$在向量$X$方向上($X={X_1;X_2..;X_i}$)
4.離散度
前面提到需要使得“異樣的樣例相距遠,同類的樣例分佈靠近”,因此我們需要一個衡量標準,異樣的距離使用類間散度衡量,同樣使用類內散度衡量
$ \ {\mu}_i$用來表示各類的均值,這裡只有$\ {\mu_0},{\mu_1}$,分別表示正類和負類的均值。異類之間的距離使用均值在直線的投影的距離表示:
$$
||wT\mu_0-wT\mu_1||_2^2 = wT(\mu_0-\mu_1)(\mu_0-\mu_1)Tw
$$
這裡下標2表示2類向量的模,即歐幾里得距離
同類之間使用協方差比較距離:
$$
w^T(\Sigma_0 + \Sigma_1) w
$$
$\ {\Sigma}$為協方差矩陣
為了簡化表示,我們引入兩個新概念,類間散度矩陣和類內散度矩陣。
類間散度矩陣用$\ {S_b}$表示:
$$
S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T
$$
類內散度矩陣用$S_w$表示:
$$
S_w= \Sigma_0+\Sigma_1
$$
5.目標函式
為了同時考慮”使同類樣例的投影點儘可能接近,可以讓同類樣例投影點的協方差儘可
能小“,設定目標函式:
$$
J=\frac{wTS_bw}{wTS_ww}
$$
求這個目標函式的最大值可以轉換為求$\ S_b$和$\ S_w$的”廣義瑞利商“,這裡使用拉格朗日乘子法求解,具體過程不在討論範圍。
$$
min\quad ω^TS_bw\
s.t.\quad w^TS_ww = 1 .
$$
最終求得$\ w = S^{-1}(\mu_0-\mu_1)$
6.推廣到多分類
在多分類問題中,LDA一般作為降維方法進行屬性約簡。設target數量為N,$\mu$為所有資料的均值,$\ {\mu_i}$表示示屬性i的均值,$m_i$表示第i屬性的資料量。
首先定義”全域性散度矩陣“:
$$
S_t=S_b+S_w=\sum_{i=1}m({x_i}-\mu)({x_i}-\mu)T
$$
$\ {S_w}$ 可以表示為:
$$
{S_w}i = \sum \Sigma_i = \sum_{x\in X_i} \ (x-\mu_i)(x-\mu_i)^T\
S_w = \sum_{i=1}^N S_{wi}
$$
$\ {S_b}$可以表示為:
$$
S_b=\sum_{i=1}Nm_i(\mu_i-\mu)(\mu_i-\mu)T
$$
推導參考:
多分類 LDA 可以有多種實現方法,使用 $S_w$, $S_t$ 兩者中的任何兩個即可。常見的一種實現是採用最佳化目標
$$
max_W{\frac{tr(WTS_bW)}{tr(WTS_wW)}}
$$
$tr(\cdot)$表示矩陣的跡(trace)即矩陣對角線上元素的和,我們在LDA中要做的是找到一個投影矩陣$W$,使得這個比值最大化。
該式可以轉換為一個最大廣義特徵值的問題的求解:
$$
S_bW=\lambda S_wW
$$
$W$的閉式解則是 $S_w ^{-1}S_b$_的N-1個最大廣義特徵值所對應的特徵向量組成的矩陣,即我們要求的投影矩陣