1. 程式人生 > >模式識別: 線性分類器

模式識別: 線性分類器

一、實驗目的和要求

目的

瞭解線性分類器,對分類器的引數做一定的瞭解,理解引數設定對演算法的影響。

 

要求

1. 產生兩類樣本

2. 採用線性分類器生成出兩類樣本的分類面

3. 對比線性分類器的效能,對比引數設定的結果

二、實驗環境、內容和方法

環境:windows 7,matlab R2010a

內容:通過實驗,對生成的實驗資料樣本進行分類。

 

三、實驗基本原理

感知器基本原理:

1.感知器的學習過程是不斷改變權向量的輸入,更新結構中的可變引數,最後實現在有限次迭代之後的收斂。感知器的基本模型結構如圖1所示:

圖1 感知器基本模型

其中,X輸入,Xi表示的是第i個輸入;Y表示輸出;W表示權向量;w0是閾值,f是一個階躍函式。

感知器實現樣本的線性分類主要過程是:特徵向量的元素x1,x2,……,xk是網路的輸入元素,每一個元素與相應的權wi相乘。,乘積相加後再與閾值w0相加,結果通過f函式執行啟用功能,f為系統的啟用函式。因為f是一個階躍函式,故當自變數小於0時,f= -1;當自變數大於0時,f= 1。這樣,根據輸出訊號Y,把相應的特徵向量分到為兩類。

然而,權向量w並不是一個已知的引數,故感知器演算法很重要的一個步驟即是尋找一個合理的決策超平面。故設這個超平面為w,滿足:

    

    (1)

引入一個代價函式,定義為:

        (2)

其中,Y是權向量w定義的超平面錯誤分類的訓練向量的子集。變數定義為:當時,= -1;當時,= +1。顯然,J(w)≥0。當代價函式J(w)達到最小值0時,所有的訓練向量分類都全部正確。為了計算代價函式的最小迭代值,可以採用梯度下降法設計迭代演算法,即:

        (3)

其中,w(n)是第n次迭代的權向量,

有多種取值方法,在本設計中採用固定非負值。由J(w)的定義,可以進一步簡化(3)得到:

        (4)

通過(4)來不斷更新w,這種演算法就稱為感知器演算法(perceptron algorithm)。可以證明,這種演算法在經過有限次迭代之後是收斂的,也就是說,根據(4)規則修正權向量w,可以讓所有的特徵向量都正確分類。

 

 

Fisher分類器原理:

Fisher線性判別分析的基本思想:通過尋找一個投影方向(線性變換,線性組合),將高維問題降低到一維問題來解決,並且要求變換後的一維資料具有如下性質:同類樣本儘可能聚集在一起,不同類的樣本儘可能地遠。

Fisher線性判別分析,就是通過給定的訓練資料,確定投影方向W和閾值y0,即確定線性判別函式,然後根據這個線性判別函式,對測試資料進行測試,得到測試資料的類別。

 

1.線性投影與Fisher準則函式

兩類問題中,假定有個訓練樣本其中個樣本來自型別,個樣本來自型別,。兩個型別的訓練樣本分別構成訓練樣本的子集

令: (4.5-1)

是向量通過變換得到的標量,它是一維的。實際上,對於給定的就是判決函式的值

由子集的樣本對映後的兩個子集為。因為我們關心的是的方向,可以令,那麼就是方向上的投影。使最容易區分開的方向正是區分超平面的法線方向。如下圖:

圖中畫出了直線的兩種選擇,圖(a)中,還無法分開,而圖(b)的選擇可以使區分開來。所以圖(b)的方向是一個好的選擇。

下面討論怎樣得到最佳方向的解析式。

各類在維特徵空間裡的樣本均值向量:

 (4.5-2)

通過變換對映到一維特徵空間後,各類的平均值為:

 (4.5-3)

對映後,各類樣本"類內離散度"定義為:

 (4.5-4)

顯然,我們希望在對映之後,兩類的平均值之間的距離越大越好,而各類的樣本類內離散度越小越好。因此,定義Fisher準則函式:

 (4.5-5)

使最大的解就是最佳解向量,也就是Fisher的線性判別式。

2.求解

的表示式可知,它並非的顯函式,必須進一步變換。

已知:, 依次代入(4.5-1)和(4.5-2),有:

 (4.5-6)

所以:

 (4.5-7)

其中: (4.5-8)

是原維特徵空間裡的樣本類內離散度矩陣,表示兩類均值向量之間的離散度大小,因此,越大越容易區分。

將(4.5-6)和(4.5-2)代入(4.5-4)式中:

 (4.5-9)

其中: (4.5-10)

因此: (4.5-11)

顯然: (4.5-12)

稱為原維特徵空間裡,樣本"類內離散度"矩陣。

是樣本"類內總離散度"矩陣。

為了便於分類,顯然越小越好,也就是越小越好。

將上述的所有推導結果代入表示式:

 —— 廣義Rayleigh商 (4.5-13)

式中皆可由樣本集計算出。

用lagrange乘子法求解的極大值點。

令分母等於非零常數,也就是:

定義lagrange函式:

 (4.5-14)

求偏導數:

得到:

 (4.5-15)

從上述推導(4.5-10)~(4.5-12)可知,維特徵的樣本協方差矩陣,它是對稱的和半正定的。當樣本數目時,是非奇異的,也就是可求逆。

則: (4.5-16)

問題轉化為求一般矩陣的特徵值和特徵向量。令,則的特徵根,的特徵向量。

 (4.5-17)

式中:

是一個標量。所以總是在方向上。將(4.5-17)代入到(4.5-15),可以得到:

其中,是一個比例因子,不影響的方向,可以刪除,從而得到最後解:

 (4.5-18)

就使取得最大值,可使樣本由維空間向一維空間對映,其投影方向最好。是一個Fisher線性判斷式。

討論:

如果,則樣本線性不可分。

,未必線性可分。

不可逆,未必不可分。

3.Fisher演算法步驟

由Fisher線性判別式求解向量的步驟:

① 把來自兩類的訓練樣本集分成兩個子集

② 由,計算

③ 由計算各類的類內離散度矩陣

④ 計算類內總離散度矩陣

⑤ 計算的逆矩陣

⑥ 由求解

這一節所研究的問題針對確定性模式分類器的訓練,實際上,Fisher的線性判別式對於隨機模式也是適用的。

Fisher演算法註釋:

(1)Fisher方法可直接求解權向量

(2)對線性不可分的情況,Fisher方法無法確定分類,Fisher可以進一步推廣到多類問題中去。

 

 

四、實驗過程描述

總結:

 

採用感知器演算法實現data1.m的資料分類流程如圖2所示:

圖2 單層感知器演算法程式流程

 

Fisher準則求得分類面的效能好壞一定程度上受樣本影響。有的時候Fisher可以完全正確分類,有的時候分類結果雖不是完全正確但尚可以接受,有的時候則很不理想。

 

五、實驗結果

感知器分類結果:

Fisher線性分類器分類結果:

六、附錄程式碼

單層感知分類器:

function Per1()

 

clear all;

close all;

 

%樣本初始化

x1(1,1)=5.1418; x1(1,2)=0.5950;

x1(2,1)=5.5519; x1(2,2)=3.5091;

x1(3,1)=5.3836; x1(3,2)=2.8033;

x1(4,1)=3.2419; x1(4,2)=3.7278;

x1(5,1)=4.4427; x1(5,2)=3.8981;

x1(6,1)=4.9111; x1(6,2)=2.8710;

x1(7,1)=2.9259; x1(7,2)=3.4879;

x1(8,1)=4.2018; x1(8,2)=2.4973;

x1(9,1)=4.7629; x1(9,2)=2.5163;

x1(10,1)=2.7118; x1(10,2)=2.4264;

x1(11,1)=3.0470; x1(11,2)=1.5699;

x1(12,1)=4.7782; x1(12,2)=3.3504;

x1(13,1)=3.9937; x1(13,2)=4.8529;

x1(14,1)=4.5245; x1(14,2)=2.1322;

x1(15,1)=5.3643; x1(15,2)=2.2477;

x1(16,1)=4.4820; x1(16,2)=4.0843;

x1(17,1)=3.2129; x1(17,2)=3.0592;

x1(18,1)=4.7520; x1(18,2)=5.3119;

x1(19,1)=3.8331; x1(19,2)=0.4484;

x1(20,1)=3.1838; x1(20,2)=1.4494;

x1(21,1)=6.0941; x1(21,2)=1.8544;

x1(22,1)=4.0802; x1(22,2)=6.2646;

x1(23,1)=3.0627; x1(23,2)=3.6474;

x1(24,1)=4.6357; x1(24,2)=2.3344;

x1(25,1)=5.6820; x1(25,2)=3.0450;

x1(26,1)=4.5936; x1(26,2)=2.5265;

x1(27,1)=4.7902; x1(27,2)=4.4668;

x1(28,1)=4.1053; x1(28,2)=3.0274;

x1(29,1)=3.8414; x1(29,2)=4.2269;

x1(30,1)=4.8709; x1(30,2)=4.0535;

x1(31,1)=3.8052; x1(31,2)=2.6531;

x1(32,1)=4.0755; x1(32,2)=2.8295;

x1(33,1)=3.4734; x1(33,2)=3.1919;

x1(34,1)=3.3145; x1(34,2)=1.8009;

x1(35,1)=3.7316; x1(35,2)=2.6421;

x1(36,1)=2.8117; x1(36,2)=2.8658;

x1(37,1)=4.2486; x1(37,2)=1.4651;

x1(38,1)=4.1025; x1(38,2)=4.4063;

x1(39,1)=3.9590; x1(39,2)=1.3024;

x1(40,1)=1.7524; x1(40,2)=1.9339;

x1(41,1)=3.4892; x1(41,2)=1.2457;

x1(42,1)=4.2492; x1(42,2)=4.5982;

x1(43,1)=4.3692; x1(43,2)=1.9794;

x1(44,1)=4.1792; x1(44,2)=0.4113;

x1(45,1)=3.9627; x1(45,2)=4.2198;

 

 

x2(1,1)=9.7302; x2(1,2)=5.5080;

x2(2,1)=8.8067; x2(2,2)=5.1319;

x2(3,1)=8.1664; x2(3,2)=5.2801;

x2(4,1)=6.9686; x2(4,2)=4.0172;

x2(5,1)=7.0973; x2(5,2)=4.0559;

x2(6,1)=9.4755; x2(6,2)=4.9869;

x2(7,1)=9.3809; x2(7,2)=5.3543;

x2(8,1)=7.2704; x2(8,2)=4.1053;

x2(9,1)=8.9674; x2(9,2)=5.8121;

x2(10,1)=8.2606; x2(10,2)=5.1095;

x2(11,1)=7.5518; x2(11,2)=7.7316;

x2(12,1)=7.0016; x2(12,2)=5.4111;

x2(13,1)=8.3442; x2(13,2)=3.6931;

x2(14,1)=5.8173; x2(14,2)=5.3838;

x2(15,1)=6.1123; x2(15,2)=5.4995;

x2(16,1)=10.4188; x2(16,2)=4.4892;

x2(17,1)=7.9136; x2(17,2)=5.2349;

x2(18,1)=11.1547; x2(18,2)=4.4022;

x2(19,1)=7.7080; x2(19,2)=5.0208;

x2(20,1)=8.2079; x2(20,2)=5.4194;

x2(21,1)=9.1078; x2(21,2)=6.1911;

x2(22,1)=7.7857; x2(22,2)=5.7712;

x2(23,1)=7.3740; x2(23,2)=2.3558;

x2(24,1)=9.7184; x2(24,2)=5.2854;

x2(25,1)=6.9559; x2(25,2)=5.8261;

x2(26,1)=8.9691; x2(26,2)=4.9919;

x2(27,1)=7.3872; x2(27,2)=5.8584;

x2(28,1)=8.8922; x2(28,2)=5.7748;

x2(29,1)=9.0175; x2(29,2)=6.3059;

x2(30,1)=7.0041; x2(30,2)=6.2315;

x2(31,1)=8.6396; x2(31,2)=5.9586;

x2(32,1)=9.2394; x2(32,2)=3.3455;

x2(33,1)=6.7376; x2(33,2)=4.0096;

x2(34,1)=8.4345; x2(34,2)=5.6852;

x2(35,1)=7.9559; x2(35,2)=4.0251;

x2(36,1)=6.5268; x2(36,2)=4.3933;

x2(37,1)=7.6699; x2(37,2)=5.6868;

x2(38,1)=7.8075; x2(38,2)=5.0200;

x2(39,1)=6.6997; x2(39,2)=6.0638;

x2(40,1)=5.6549; x2(40,2)=3.6590;

x2(41,1)=6.9086; x2(41,2)=5.4795;

x2(42,1)=7.9933; x2(42,2)=3.3660;

x2(43,1)=5.9318; x2(43,2)=3.5573;

x2(44,1)=9.5157; x2(44,2)=5.2938;

x2(45,1)=7.2795; x2(45,2)=4.8596;

x2(46,1)=5.5233; x2(46,2)=3.8697;

x2(47,1)=8.1331; x2(47,2)=4.7075;

x2(48,1)=9.7851; x2(48,2)=4.4175;

x2(49,1)=8.0636; x2(49,2)=4.1037;

x2(50,1)=8.1944; x2(50,2)=5.2486;

x2(51,1)=7.9677; x2(51,2)=3.5103;

x2(52,1)=8.2083; x2(52,2)=5.3135;

x2(53,1)=9.0586; x2(53,2)=2.9749;

x2(54,1)=8.2188; x2(54,2)=5.5290;

x2(55,1)=8.9064; x2(55,2)=5.3435;

 

 

for i=1:45 r1(i)=x1(i,1);end;

for i=1:45 r2(i)=x1(i,2);end;

for i=1:55 r3(i)=x2(i,1);end;

for i=1:55 r4(i)=x2(i,2);end;

 

figure(1);

%plot(r1,r2,'*',r3,r4,'o');

hold on;%保持當前的軸和影象不被重新整理,在該圖上接著繪製下一圖

 

plot(r1,r2,'ro',...

'LineWidth',1,...

'MarkerEdgeColor','k',...

'MarkerFaceColor',[1 0 0],...

'MarkerSize',7);

 

plot(r3,r4,'bo',...

'LineWidth',1,...

相關推薦

模式識別 線性分類

一、實驗目的和要求 目的: 瞭解線性分類器,對分類器的引數做一定的瞭解,理解引數設定對演算法的影響。   要求: 1. 產生兩類樣本 2. 採用線性分類器生成出兩類樣本的分類面 3. 對比線性分類器的效能,對比引數設定的結果 二、實驗環境、

CS231n課程筆記3.1線性分類(SVM,softmax)的誤差函式、正則化

CS231n簡介 課程筆記 這篇是線性分類器的第二部分,回憶線性分類器的線性體現在score的獲得,即score = Wx+b,然後predict_label = argmax(score)。具體細節以及關於線性分類器的解釋請參考CS231n課程筆記

模式識別 學習筆記第四章 線性分類 (持續更新中。。。)

1 引言 基於樣本直接設計分類器需要三個基本要素: 1. 分類器即判別函式的型別,也就是從什麼樣的判別函式類中去求解; 2. 分類器設計的目標或準則,確定函式類中的某些待定引數; 3. 如何設計演算法利用樣本資料搜尋到最優的函式引數。 判別函式

LDA-模式識別線性分類

線性判別式分析,又稱為Fisher線性判別~(Linear discriminant analysis)(Fisher linear discriminant) 最大化類間均值,最小化類內方差 通過調整權重向量元件,可選擇一個投影方向,最大化地類別分離性~ 兩個類的均值向量: 對樣本進行投影時,使得類別

OpenCV機器學習SVM分類實現MNIST手寫數字識別

0. 開發環境 最近機器學習隨著AI人工智慧的興起越來越火,博主想找一些ML的庫來練手。突然想起之前在看Opencv的doc時發現有ML的component,於是心血來潮就開始寫程式碼試試。話不多說,直接進正題。 以下我的開發環境配置: -Windows7

機器學習(一)快速入門線性分類

定義 假設特徵與分類結果存線上性關係的模型,這個模型通過累加計算每個維度的特徵與各自權重的乘積來幫助類別決策。 線性關係公式 :f(w,x,b)=w^tx+b x=(x1,x2,…xn) 代表n維特徵列向量,w=(w1,w2,…wn)代表對應的權

線性分類Fisher線性判別

我們知道,基於樣本直接設計分類器需要三個基本要素:判別函式型別、分類器設計準則、尋優演算法。這裡我們討論的線性判別函式型別為:g(x)=wTx+w0。採用不同的準則和不同的尋優演算法就會得到不同的線性分類器。 一、線性判別函式 剛才我們說了,線性分類器的判別

模式識別分類迴歸決策樹CART的研究與實現

摘 要:本實驗的目的是學習和掌握分類迴歸樹演算法。CART提供一種通用的樹生長框架,它可以例項化為各種各樣不同的判定樹。CART演算法採用一種二分遞迴分割的技術,將當前的樣本集分為兩個子樣本集,使得生成的決策樹的每個非葉子節點都有兩個分支。因此,CART演

模式識別感知的實現

在之前的模式識別研究中,判別函式J(.)的引數是已知的,即假設概率密度函式的引數形式已知。本節不考慮概率密度函式的確切形式,使用非引數化的方法來求解判別函式。由於線性判別函式具有許多優良的特性,因此這裡

【轉】SVM入門(六)線性分類的求解——問題的轉化,直觀角度

content cli 樣本 image ges 五個 是你 角度 spa SVM入門(六)線性分類器的求解——問題的轉化,直觀角度 讓我再一次比較完整的重復一下我們要解決的問題:我們有屬於兩個類別的樣本點(並不限定這些點在二維空間中)若幹,如圖, 圓形的樣本點定為正樣

深度學習—線性分類理解

訓練集 所有 分享 距離 tro 更新 問題 最優化 線性分類 1、我們將要實現一種更強大的方法來解決圖像分類問題,該方法可以自然地延伸到神經網絡和卷積神經網絡上。這種方法主要有兩部分組成:一個是評分函數(score function),它是原始圖像數據到類別分值的映射。另

線性分類實現預測鳶尾花的種類(python)

rom dir Coding and func shape 交叉驗證 pri state 這是個人學習時跑的代碼,結果就不貼了,有需要的可以自己運行,僅供參考,有不知道的可以私下交流,有問題也可以聯系我。當然了我也只能提供一點建議,畢竟我也只是初學者 第一個頁面 # -*-

Dream team: Stacking for combining classifiers夢之隊組合分類

由於 into it is appear nds lin eas 行操作 blank sklearn實戰-乳腺癌細胞數據挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&u

設計模式叠代(Iterator)模式

open 先來 strac alt rri print pre 並且 3-0 一、什麽是叠代器模式   說白了就是一種遍歷集合中元素的一種設計模式,我們趕緊先來看一下例子 二、實現舉例   這裏我們舉一個例子,是將書(Book)放置到書架中(BookShelf),一個叠

分類設計之線性分類線性SVM(含Matlab程式碼)

對於高維空間的兩類問題,最直接的方法是找到一個最佳的分類超平面,使得並且,對於所有的正負訓練樣本和. 因此,以上問題可以表達為: 問題P0可以轉化為 兩邊除以\epsilon,並且做變數替換,最終得到下面的線性規化(linear programming

【Mark Schmidt課件】機器學習與資料探勘——進一步討論線性分類

本課件主要內容包括: 上次課程回顧:基於迴歸的分類方法 Hinge損失 Logistic損失 Logistic迴歸與SVMs “黑盒”分類器比較 最大餘量分類器 支援向量機 魯棒性與凸近似 非凸0-

【Mark Schmidt課件】機器學習與資料探勘——線性分類

本課件主要內容包括: 上次課程回顧:L1正則化 組合特徵選擇 線性模型與最小二乘 梯度下降與誤差函式 正則化 辨識重要郵件 基於迴歸的二元分類? 一維判決邊界 二維判決邊界 感知器演算法

機器學習筆記(六)KNN分類

1 KNN演算法 1.1 KNN演算法簡介 KNN(K-Nearest Neighbor)工作原理:存在一個樣本資料集合,也稱為訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類對應的關係。輸入沒有標籤的資料後,將新資料中的每個特徵與樣本集中資料對應的特

神經網路學習引入-線性分類 Linear Classification

線性分類器 評分函式(score function):計算原始資料到所屬分類的得分 損失函式(loss function):量化預測得分和實際情況之間的認可度 從影象到標籤得分的引數對映 定義評分函式

# cs231n (二)線性分類

cs231n (二)線性分類器 標籤(空格分隔): 神經網路 0.回顧 cs231n (一)影象分類識別講了KNN k-Nearest Neighbor分類器存在以下不足: 分類器必須記住所有訓練資料並將其儲存起來,以便於未來測試資料用於比較,儲存空