📄 dualcov.m
字号:
function Z=dualcov(varargin)% DUALCOV Dual representation of covariance matrix.%% Synopsis:% Z=dualcov(num_data)% Z=dualcov(labels, y)%% Description:% This function computes a matrix Z [num_data x num_data] which allows % to express the sample covariance matrix of data sample X [dim x num_data] % in terms of dot products. %% Z = dualcov(num_data) computes a matrix Z [num_data x num_data] such that % cov(X',1) = X*Z*X'.%% m = dualcov(labels,y) computes a matrix Z [length(y) x length(y)] such that% cov(X(:,find(labels==y))',1) = X*Z*X',%% where labels [1 x num_data] is a vector of data labels and y [1x1] % is a label od class which covariance metrix is to be computed.%% Example:% Unlabeled data:% data = load('riply_trn');% ca = cov( data.X', 1)% cb = data.X*dualcov(size(data.X,2))*data.X'%% Labeled data:% data = load('riply_trn');% ca1 = cov( data.X(:,find(data.y==1))',1)% cb1 = data.X*dualcov(data.y,1)*data.X'% ca2 = cov( data.X(:,find(data.y==2))',1)% cb2 = data.X*dualcov(data.y,2)*data.X'%% See also % DUALMEAN.%% About: Statistical Pattern Recognition Toolbox% (C) 1999-2003, Written by Vojtech Franc and Vaclav Hlavac% <a href="http://www.cvut.cz">Czech Technical University Prague</a>% <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a>% <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a>% Modifications:% 16-may-2004, VF% 14-may-2004, VF% 22-Jan-2003, VF% 22-May-2001, V. Franc, createdif nargin == 2, % labeled data labels = varargin{1}; y = varargin{2}; num_data = length(labels); inx_y=find( labels == y); n = length(inx_y); J=ones(n,1)/n; Zy = ( eye(n,n)/n - J*J' ); Z = zeros(num_data,num_data); Z(inx_y,inx_y) = Zy;else % unlabeled data n = varargin{1}; J=ones(n,1)/n; Z = ( eye(n,n)/n - J*J' ); endreturn;% EOF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -