三、**結果
四、**
在uci資料集上的iris和sonar資料上驗證演算法的有效性:
iris資料3類,4維,150個資料;sonar資料2類,60維,208個樣本.
訓練和測試樣本有三種方式進行劃分:(三選一)
1. 將資料隨機分訓練和測試,多次平均求結果
2. k折交叉驗證
3. 留1法
針對不同維數,畫出曲線圖
兩類的線性判別問題可以看作是把所有的樣本都投影到乙個方向上,然後在這個然後在這個一維空間中確定乙個分類的閾值。過這個閾值點且與投影方向垂直的超平面就是兩類的分類面。fisher線性判別的思想就是,選擇投影方向,使投影後兩類相隔盡可能遠,而同時每一類內部的樣本又盡可能聚集,如圖1所示。
這裡只討論兩分類的問題,訓練樣本集是x =,每乙個樣本是乙個d維向量,其中w1類的樣本是x1 =,w2類的樣本是x2 =。我們要尋找乙個投影方向w(w也是乙個d維向量),投影以後的樣本變成
留一法是k摺法的一種極端情況。
在k摺法中,將全部訓練集 s分成 k個不相交的子集,假設 s中的訓練樣例個數為 n,那麼每乙個子集有 n/k 個訓練樣例,相應的子集稱作 。每次從分好的子集中裡面,拿出乙個作為測試集,其它k-1個作為訓練集,根據訓練訓練出模型或者假設函式。然後把這個模型放到測試集上,得到分類率,計算k次求得的分類率的平均值,作為該模型或者假設函式的真實分類率。
當取k的值為樣本個數n時,即將每乙個樣本作為測試樣本,其它n-1個樣本作為訓練樣本。這樣得到n個分類器,n個測試結果。用這n個結果的平均值來衡量模型的效能,這就是留一法。在uci資料集中,由於資料個數較少,採用留一法可以使樣本利用率最高。
在iris資料集中,有150個樣本,共三類setosa、versicolour、virginica,一共有4維特徵,分別為sepal length、sepal width、petal length、petal width.
在fisher線性判別方法中,由於只能夠判別兩類,所以將iris資料集分三種情況:1-2類,1-3類,2-3類,分別判斷每一種情況的fisher判別準確率。用留一法對訓練和測試樣本進行劃分之後,計算出每一類之間的最優投影方向w1、w2、w3之後,再進行準確率測試。
在 sonar 資料集中,有 208 個樣本,共兩類:字母「r」(岩石)和「m」(礦 井),並且有一共有 60 維的特徵。
針對多維的情況,我們可以得出資料集在不同維度下的 fisher 線性判別準 確率。在這個時候出現了乙個問題:如何在 60 維中選取維數?假設我們要計算 在 42 維的準確率,選哪些維數才最接近真實值?對此,我採用多次取樣求平均 的方法,對樣本特徵進行打亂,選前 42 維的特徵進行計算,重複十次打亂的過 程,求準確率的平均值,這樣可以規避由於某些特徵比較易於區分而導致的準確 率高於平均水平的情況。
在最佳投影方向 w0 投影的結果,其中黑色的點為 w1 類,紅色的點為 w2 類, 分類閾值為(0,0)點
從投影點可以看出,第一類和第二類、第一類和第三類相隔特別遠,利用線性判別能夠完全將它們分開,而第二類和第三類相隔比較近,但利用線性判別也能基本將其分開,得出的準確率也能證明這一點。
首先對 60 維的時候進行投影,得到兩類的投影結果
從圖中可以看出,兩類的分介面處交集較多,準確率約為 0.75
將 60 維擴大到 1 ~ 60 維,得出每一維的準確率,針對不同維數,畫出曲 線圖。
從圖中可以看出,在只有一維的時候,利用 fisher 線性判別得出的準確率 約為 0.5,隨著維數的增長,準確率慢慢提高,最終趨於乙個穩定值 0.75 左 右。
github位址如下
pattern recognition/lda
fisher線性判別 判別分析 Fisher判別
上期 判別分析概述 中我們提到,判別分析 discriminant analysis 是根據判別物件若干個指標的觀測結果判定其應屬於哪一類的資料統計方法,其中fisher判別一般用於指標為定量資料的兩類判別,bayes判別多用於指標為定量資料的多類判別,同時,兩者均可利用spss完成,但在運用和解讀...
LDA 線性判別分析 Fisher線性判別
1.lda是什麼 線性判別式分析 linear discriminant analysis 簡稱為lda。也稱為fisher線性判別 fisher linear discriminant,fld 是模式識別的經典演算法,在1996年由belhumeur引入模式識別和人工智慧領域。基本思想是將高維的模...
Fisher判別分析
將高維度空間的樣本投影到低維空間上,使得投影後的樣本資料在新的子空間上有最小的類內距離以及最大的類間距離,使得在該子空間上有最佳的可分離性 可以看出右側投影後具有更好的可分離性。剛學完感覺兩個很類似,實際上兩個方法是從不同的角度來降維。pca是找到方差盡可能大的維度,使得資訊盡可能都儲存,不考慮樣本...