Fisher線性判別與感知器演算法Matlab實現

2021-06-26 09:12:38 字數 2413 閱讀 6123

本文是在學習此書chapter4時,跑的實驗。

%   x : d*n維輸入資料  

%   t : 標籤  

%     

%   w : [w0 w1 w2]     

%   mis_class : 錯誤分類資料點數  

%  對t做簡單的檢查  

if size(unique(t),2)~=2  

return  

elseif max(t)~=1  

return  

elseif min(t)~=-1  

return  

end  

[dim num_data] = size(x);  

w = ones(dim+1,1);%%w = [w0 w1 w2]'  

x = [ones(1,num_data); x];  

maxiter = 100000;  

mis_class = 0;  

iter = 0;  

while iteriter = iter+1;  

y = w'*x;  

label = ones(1, num_data);%  

label(y<=0) = -1;    

index = find(label~=t); %錯誤分類的點  

mis_class = numel(index); %錯誤分類點的數目     

if mis_class==0  

break  

end  

for i = 1:mis_class  

w = w + x(:,index(i))*t(index(i));  

end  

end  

if iter==maxiter  

disp(['達到最大迭代次數' num2str(maxiter)])  

線性分類器 Fisher線性判別

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

線性判別函式 判定面以及感知器

標籤 模式分類 不知道你還記不記得前面講過的判別函式的問題 見概述,貝葉斯策略,最大似然估計 乙個 判別函式 是指由x的各個分量的線性組合而成的函式 g x w tx w 0 這裡w 是 權向量 w0 被稱為 閾值權 或者 偏置 一般情況下有c個這樣的判別函式,分別對應c類中的一類,我們總是選取gi...

判別函式(四)之感知器演算法

基本思想 感知器的訓練演算法 已知兩個訓練模式集分別屬於 1類和 2類,權向量的初始值為w 1 可任意取值。若 若 若 若以上情況不符合,則表明該模式樣本在第k次中分類正確,因此權向量不變,即 w k 1 w k 若對此時,感知器演算法可統一寫成 感知器演算法實質上是一種賞罰過程對正確分類的模式則 ...