📄 线性判别分析的伪逆算法程序(matlab6.5).txt
字号:
function C=ldapinv(X,y);
% 此程序仅用于两类分类的线性判别
% X 样本矩阵,每行为一样本
% y 类别标记,必须用1或者-1
% 当样本数比较多的时候,判别率逼近贝叶斯判别率
% C 为返回的判别系数,C中最后一个元素为常数项。
% 将此算法与PCA或PLS联用,即可产生PCA-LDA或 PLS-LDA.
% 参考书目: Pattern Classification,Second Edition.
% 作者: Richard O.Duda Peter E.Hart David G.Stork
% 译者: 李宏东 姚天翔 等
% 机械工业出版社
% H.D. Li,Nov. 23.
A=length(y);B=length(find(y==1));C=A-B;
XX=[];r1=A/B;r2=A/C;R=[];
for i=1:A
if y(i)==1;
XX=[XX;[X(i,:) 1]];R=[R;r1];
elseif y(i)==-1
XX=[XX;[-X(i,:) -1]];R=[R;r2];
else
display('Wrong class indicator! It should be 1 or -1');
end
end
C=pinv(XX)*ones(A,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%说明:拷贝以上程序存为.m文件,在matlab下即可调用%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -