實驗一感知器準則演算法實驗
一、實驗目的:
貝葉斯分類方法是基於後驗概率的大小進行分類的方法,有時需要進行概率密度函式的估計,而概率密度函式的估計通常需要大量樣本才能進行,隨著特徵空間維數的增加,這種估計所需要的樣本數急劇增加,使計算量大增。
在實際問題中,人們可以不去估計概率密度,而直接通過與樣本和類別標號有關的判別函式來直接將未知樣本進行分類。這種思路就是判別函式法,最簡單的判別函式是線性判別函式。採用判別函式法的關鍵在於利用樣本找到判別函式的係數,模式識別課程中的感知器演算法是一種求解判別函式係數的有效方法。
本實驗的目的是通過編制程式,實現感知器準則演算法,並實現線性可分樣本的分類。
二、實驗內容:
實驗所用樣本資料如表2-1給出(其中每個樣本空間(資料)為兩維,x 1表示第一維的值、x 2表示第二維的值),編制程式實現1、 2類 2、 3類的分類。分析分類器演算法的效能。
2-1 感知器演算法實驗資料
具體要求
1、複習感知器演算法;
2、寫出實現批處理感知器演算法的程式
1)從a=0開始,將你的程式應用在和的訓練資料上。記下收斂的步數。
2)將你的程式應用在和類上,同樣記下收斂的步數。
3)試解釋它們收斂步數的差別。
3、提高部分:和的前5個點不是線性可分的,請手工構造非線性對映,使這些點在對映後的特徵空間中是線性可分的,並對它們訓練乙個感知器分類器。分析這個分類器對剩下的(變換後的)點分類效果如何?
三、參考例程及其說明:
針對、和的分類程式如下:
clear
%original data
w1=[.1 6.8 -3.
5 2.0 4.1 3.
1 -0.8 0.9 5.
0 3.9; 1.1 7.
1 -4.1 2.7 2.
8 5.0 -1.3 1.
2 6.4 4.0];
w2=[7.1 -1.4 4.
5 6.3 4.2 1.
4 2.4 2.5 8.
4 4.1;4.2 -4.
3 0.0 1.6 1.
9 -3.2 -4.0 -6.
1 3.7 -2.2];
w3=[-3.0 0.5 2.
9 -0.1 -0.4 -1.
3 -3.4 1 -5.1 1.
9; -2.9 8.7 2.
1 5.2 2.2 3.
7 6.2 3.4 1.
6 5.1];
%normalized
ww1=[ones(1,size(w1,2)); w1];
ww2=[ones(1,size(w2,2)); w2];
ww3=[ones(1,size(w3,2)); w3];
w12=[ww1,-ww2];
y=zeros(1,size(w12,2));
a=[1;1;1];
k=0;
while any(y<=0)
for i=1:size(y,2)
y(i)=a'*w12(:,i);
enda=a+(sum((w12(:,find(y<=0)))'))';
k=k+1;
enda
kfigure(1)
plot(w1(1,:),w1(2,:),'r.')
hold on
plot(w2(1,:),w2(2,:),'*')
xmin=min(min(w1(1,:)),min(w2(1,:)));
xmax=max(max(w1(1,:)),max(w2(1,:)));
ymin=min(min(w1(2,:)),min(w2(2,:)));
ymax=max(max(w1(2,:)),max(w2(2,:)));
xindex=xmin-1:(xmax-xmin)/100:xmax+1;
yindex=-a(2)*xindex/a(3)-a(1)/a(3);
plot(xindex,yindex)
w12=[ww2,-ww3];
y=zeros(1,size(w12,2));
a=[1;1;1];
k=0;
while any(y<=0)
for i=1:size(y,2)
y(i)=a'*w12(:,i);
enda=a+(sum((w12(:,find(y<=0)))'))';
k=k+1;
enda
kfigure(2)
plot(w2(1,:),w2(2,:),'r.')
hold on
plot(w3(1,:),w3(2,:),'*')
xmin=min(min(w2(1,:)),min(w3(1,:)));
xmax=max(max(w2(1,:)),max(w3(1,:)));
xindex=xmin-1:(xmax-xmin)/100:xmax+1;
yindex=-a(2)*xindex/a(3)-a(1)/a(3);
plot(xindex,yindex)
上述程式執行後,可以得到線性分類器如圖2-1和圖2-2所示。
圖2-1感知器訓練演算法得到、的分類線圖2-2感知器訓練演算法得到、的分類線
思考問題:感知器演算法最終得到的權值w有什麼用途?有了權值後如何得到分類面?
實驗二 fisher線性判別實驗
二、實驗要求:
1、改寫例程,編制用fisher線性判別方法對三維資料求最優方向w的通用函式。
2、對下面表3-1樣本資料中的類別ω1和ω2計算最優方向w。
3、畫出最優方向w的直線,並標記出投影後的點在直線上的位置。
表3-1 fisher 線性判別實驗資料
4、選擇決策邊界,實現新樣本xx1=(-0.7,0.58,0.089),xx2=(0.047,-0.4,1.04)的分類。
5、設某新類別3資料如表3-2所示,用自己的函式求新類別3分別和1、2分類的投影方向和分類閾值。
表3-2 新類別樣本資料
三、參考例程及其說明
求取資料分類的fisher投影方向的程式如下:其中w為投影方向。
clear
clcw1=[-0.4,0.58,0.
089;-0.31,0.27,-0.
04;-0.38,0.055,-0.
035;-0.15,0.53,0.
011;-0.35,.47,0.
034;0.17,0.69,0.
1;-0.011,0.55,-0.
18;-0.27,0.61,0.
12;-0.065,0.49,0.
0012;-0.12,0.054,-0.
063];
w2=[0.83,1.6,-0.
014;1.1,1.6,0.
48;-0.44,-0.41,0.
32;0.047,-0.45,1.
4;0.28,0.35,3.
1;-0.39,-0.48,0.
11;0.34,-0.079,0.
14;-0.3,-0.22,2.
2;1.1,1.2,-0.
46;0.18,-0.11,-0.
49];
xx1=[-0.7,0.58,0.089];
xx2=[0.047,-0.4,1.04];
s1= cov(w1,1);
m1= mean(w1);
s2= cov(w2,1);
m2= mean(w2);
sw= s1 + s2;
w= inv(sw)*(m1-m2)';
h1=figure(1)
for i=1:10
plot3(w1(i,1),w1(i,2),w1(i,3),'r*')
hold on
plot3(w2(i,1),w2(i,2),w2(i,3),'bo')
endy1=w'*w1';
y2=w'*w2';
figure(2)
for i=1:10
plot3(y1(i)*w(1),y1(i)*w(2),y1(i)*w(3),'rx')
hold on
plot3(y2(i)*w(1),y2(i)*w(2),y2(i)*w(3),'bp')
end程式執行結果如圖3-1和圖3-2所示。
圖3-1 原始資料分布圖圖3-2 線性投影後圖形
思考問題:空間中一點向某方向投影後(可以以二維空間為例體會這個問題),投影點到座標原點的距離應是多少?圖3-2是否為投影後的樣本在直線上的位置?
若不是,請重新作圖,得到該投影直線和位置。
模式識別考試
基於最小錯誤率的貝葉斯決策為 相等 1.假定二類協方差矩陣不相等,則第一步分別 計算二類樣本的均值 第二步分別計算二類樣本的協方差 代入x 2 0 至決策規則有 2.假設兩類協方差矩陣相等,則第一步得到此時的協方差矩陣為 代入x 2 0 至決策規則有 1.簡要說明最大似然估計的步驟 第一步 寫出隨機...
模式識別作業
題目一 計算特徵向量之間的距離 任意構造10個人在程式設計 離散數學 資料結構 計算機組成原理4門課的成績表。計算兩兩之間的歐式距離 絕對值距離,設計合適的閾值,能否進行分類?答 題目中每個人共有四門課,也就是每個人有4個特徵,每門課的成績也就是這4個特徵的量化。例如某人的成績就可以表示為 95,6...
模式識別練習題
一 試問 模式 與 模式類 的含義。如果一位姓王的先生是位老年人,試問 王先生 和 老頭 誰是模式,誰是模式類?答 在模式識別學科中,就 模式 與 模式類 而言,模式類是一類事物的代表,概念或典型,而 模式 則是某一事物的具體體現,如 老頭 是模式類,而王先生則是 模式 是 老頭 的具體化。二 試說...