機器學習 線性判別分析

2021-10-05 11:27:14 字數 2093 閱讀 1529

​ 在前面的博文中,我們介紹了一種經典的用於線性分類的方法--感知機。這篇博文中,我們介紹另外一種用於線性分類的方法:線性判別分析。其主要思想就是找到一條直線,把所有的樣本投影到該直線上,使得同型別的樣本盡可能近,非同型別的樣本盡可能遠。對於資料集\(d=\\)而言,定義\(\mathbf^t\),\(\mathbf=[y_1,\cdots,y_n]^t\)為資料集對應的標籤,另外資料集可以分為兩類,其中\(y_i=1\)的樣本集為\(c_1=\),其樣本個數為\(n_1\),另外\(y_i=-1\)的樣本集為\(c_2=(x_i|y_i=-1)\),其樣本個數為\(n_2\).線性判別分析的原則就是讓類內方差足夠小,類間方差足夠大。

​ 首先對於樣本點\(x_i\),定義\(z_i\)為

\[z_i=\mathbf^tx_i\quad s.t. \lvert\lvert \mathbf \rvert\rvert=1 \]

那麼均值和方差可以表示成

\[\bar=\frac\sum_^\mathbf^tx_i\\s_z=\frac\sum_^(z_i-\bar)(z_i-\bar)^t \]

那麼樣本資料集\(c_1\)和樣本資料集\(c_2\)的均值和方差可以分別表示成

\[\bar_1=\frac\sum_^\mathbf^x_i\\s_1=\frac\sum_^(z_i-\bar_)(z_i-\bar_)^t\\\bar_2=\frac\sum_^\mathbf^x_i\\s_2=\frac\sum_^(z_i-\bar_)(z_i-\bar_)^t\\ \]

那麼根據類內小,類間大的原則,定義如下的損失函式\(j(w)\)

\[j(w)=\frac_1-\bar_)^2} \]

通過最大化\(j(w)\),得到權重係數\(w\)

\[\hat}=argmax \quad j(w) \]

首先分子可以化簡成

\[(\bar_1-\bar_2)^2=(\frac\sum_^\mathbf^tx_i-\frac\sum_^\mathbf^tx_i)^2\\=\mathbf^t(x_}-x_)(x_}-x_)^t\mathbf \]

首先化簡\(s_1\),可以表示成

\[s_1=\frac\sum_^(\mathbf^tx_i-\bar_1)(\mathbf^tx_i-\bar)^t\\=\frac\sum_^(\mathbf^tx_i-\frac\sum_^\mathbf^tx_j)(\mathbf^tx_i-\frac\sum_^\mathbf^tx_j)^t\\\frac\sum_^\mathbf^t(x_i-\frac\sum_^x_j)(x_i-\frac\sum_^x_j)\mathbf\\=\mathbf^ts_\mathbf \]

其中\(s_\)表示樣本資料集\(c_1\)的樣本協方差矩陣。同理可得\(s_2\)可以化簡成

\[s_2=\mathbf^ts_\mathbf \]

\(s_\)表示樣本資料集\(c_2\)的樣本協方差矩陣。這樣就可以將\(j(w)\)表示成

\[j(w)=\frac^t(x_}-x_)(x_}-x_)^t\mathbf}^t(s_+s_)\mathbf}\\j(w)=\frac^ts_b\mathbf}^ts_w\mathbf} \]

其中\(s_w\)表示類內方差,\(s_b\)表示類間方差。那麼

\[j(w)=\mathbf^ts_b\mathbf(\mathbf^ts_w\mathbf)^\\ \]

然後對\(j(w)\)求偏導,然後令偏導數為0,可以得到\(\mathbf\)的解為

\[\mathbf=\frac^ts_w\mathbf}^ts_b\mathbf}(s_w^s_b\mathbf) \]

因為\(\mathbf^ts_w\mathbf\)的乘積是乙個實數,那麼\(\mathbf\)就可以進一步表示成

\[\mathbf \varpropto s_w^s_b\mathbf\\\rightarrow \mathbf \varpropto s_w^(x_}-x_)(x_}-x_)^t\mathbf \]

而\((x_}-x_)^t\mathbf\)的結果是乙個實數,對方向並沒有影響,那麼就可以得到

\[\mathbf \varpropto s_w^(x_}-x_) \]

因為只需要求得\(s_w^(x_}-x_)\),就可以得到\(\mathbf\).

線性判別分析 線性判別分析總覽

線性判別分析總覽 linea r discriminant analysis,lda 用於資料預處理中的降維 分類任務,其目標是找到能夠最大化類間區分度的座標軸成分。用幾個詞概括lda的特徵,即降維 分類。假設一批患者使用同一種腫瘤藥,一些人效果良好 response 而另一些人無明顯療效 not ...

機器學習筆記 線性判別分析(中)

之前簡要地介紹了一下線性判別函式的的基本性質,接下來我們進行更加詳細的討論。文中大部分公式和圖表來自 mlpp 和 prml 我們將樣本的分布用多元正態分佈來近似,為了更加了解這個表示式的含義,我們對協方差矩陣做特徵值分解,即 u ut 然後將協方差矩陣的逆用同樣方法分解,即 代入多元正態分佈的模型...

機器學習之線性判別分析(LDA)

根據公式可以計算出sw為 求其特徵值和特徵向量 value,vector np.linalg.eig sw.i sb value 1.5639568e 17,8.0000000e 00 vector 0.97421693,0.22561331 0.92309826,0.38456417 這裡選擇特徵...