LDA 線性判別式分析

2021-10-01 18:10:55 字數 1533 閱讀 8374

線性判別式分析(linear discriminant analysis),簡稱為lda。也稱為fisher線性判別(fisher linear discriminant,fld),是模式識別的經典演算法,在2023年由belhumeur引入模式識別和人工智慧領域。

基本思想是將高維的模式樣本投影到最佳鑑別向量空間,以達到抽取分類資訊和壓縮特徵空間維數的效果,投影後保證模式樣本在新的子空間有最大的類間距離最小的類內距離,即模式在該空間中有最佳的可分離性。

可以看到兩個類別,乙個綠色類別,乙個紅色類別。左圖是兩個類別的原始資料,現在要求將資料從二維降維到一維。直接投影到x1軸或者x2軸,不同類別之間會有重複,導致分類效果下降。右圖對映到的直線就是用lda方法計算得到的,可以看到,紅色類別和綠色類別在對映之後之間的距離是最大的,而且每個類別內部點的離散程度是最小的(或者說聚集程度是最大的)。

pca降維是直接和資料維度相關的,比如原始資料是n維的,那麼pca後,可以任意選取1維、2維,一直到n維都行(當然是對應特徵值大的那些)。

lda 降維是直接和類別的個數相關的,與資料本身的維度沒關係,比如原始資料是n維的,一共有c個類別,那麼lda降維之後,一般就是1維,2維到c-1維進行選擇(當然對應的特徵值也是最大的一些),舉個例子,假設圖象分類,兩個類別正例反例,每個圖象10000維特徵,那麼lda之後,就只有1維特徵,並且這維特徵的分類能力最好。

ps:對於很多兩類分類的情況,lda之後就剩下1維,找到分類效果最好的乙個閾值貌似就可以了。

pca投影的座標系都是正交的,而lda根據類別的標註,關注分類能力,因此不保證投影到的座標系是正交的(一般都不正交)。

這一節,主要討論只有兩個類別的資料,lda的計算。

現在要找到乙個向量w,將資料x投影到w上去之後,得到新的資料y。

第一,為了實現投影後的兩個類別的距離較遠,用對映後兩個類別的均值差的絕對值來度量。

第二,為了實現投影後,每個類內部資料點比較聚集,用投影後每個類別的方差來度量。

類別i的均值:

投影後均值差的絕對值:

目標優化函式為:

優化目標j(w)改寫如下,這樣是為了方便推導出計算w的方法。

假設資料是n維特徵,m個資料,分類個數為2。那麼sw實際上是每個類別的協方差矩陣之和,每個類別的協方差矩陣都是n*n的,因此sw是n*n的,m1-m2是n*1的。計算得到的w是n*1的,即w將維特徵對映為1維。

ps:這裡不用糾結與sw的協方差矩陣形式,實際上這是拆拆開來w和w_t後的結果,實際上w*sw*w_t後,仍舊是乙個數值,即表示兩個類的投影後方差之和。

對於s_w,就是「兩個類別的協方差矩陣之和」變成了「多個類別的協方差矩陣之和」。

對於n維特徵、c個類別、m個樣本的資料,是將n維資料對映為c-1維。即所求的w是乙個n*(c-1)的矩陣。s_w是乙個n*n的矩陣(沒有除以樣本數的協方差矩陣之和),s_b是乙個c*c的矩陣,實際上s_b矩陣的的秩最多是c-1,這是因為n_i*(m_i-m)這c向量實際上是線性相關的,因為他們的和是均值m的常數倍。這導致後面求解w,實際上是求出c-1個向量乙個構成的乙個w。

具體計算忽略。

特徵選擇 降維 線性判別式分析 LDA

以前lda是用來分類的,pca是用來降維的。pca的降維是為了減少後續計算量,本身對於區分不同的類的能力並沒有提公升。pca是無監督的,而lda是能把不同的類往乙個最佳的方向去投影,從而使兩類之間的距離最大,達到易於區分的目的,lda是有監督。下面這篇博文很好的講述了lda的演算法的原理,很值得一讀...

LDA 線性判別分析 Fisher線性判別

1.lda是什麼 線性判別式分析 linear discriminant analysis 簡稱為lda。也稱為fisher線性判別 fisher linear discriminant,fld 是模式識別的經典演算法,在1996年由belhumeur引入模式識別和人工智慧領域。基本思想是將高維的模...

LDA 線性判別分析

1.lda是什麼 線性判別式分析 linear discriminant analysis 簡稱為lda。也稱為fisher線性判別 fisher linear discriminant,fld 是模式識別的經典演算法,在1996年由belhumeur引入模式識別和人工智慧領域。基本思想是將高維的模...