⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcabigfn.m

📁 利用ICA变换进行人脸检测,是一种新的人脸检测方法
💻 M
字号:
%function [U,R,E] = pcabigFn(B);%Compute PCA by calculating smaller covariance matrix and reconstructing%eigenvectors of large cov matrix by linear combinations of original data%given by the eigenvecs of the smaller cov matrix. %Data in Cols of B. Third version.  %%***** justification%%B = N x P data matrix.  N = dim of data  (Data in Cols of B, zero mean)%                        P = #examples%                        N >> P%%Want eigenvectors ui of BB' (NxN)%Solution:%Find eigenvectors vi of B'B (PxP)%From def of eigenvector: B'Bvi = di vi ---> BB'Bvi = di Bvi%Eigenvecs of BB' are Bvi%-------------------------------%[V,D] = eig (B'B)%Eigenvecs are in cols of V.    (Sorted cols)%%U = BV;  Cols of U are Bvi (eigenvecs of lg cov mat.) (Gave unit length)%R = B'U; Rows of R are pcarep of each observation.%E = eigenvalues        (eigenvals of small and large cov mats are equal)%*****function [U,R,E] = pcabigFn(B);%Read data into columns of B;%B = datamat';[N,P] = size(B);%********subtract meanmb=mean(B');B=B-(ones(P,1)*mb)';%********Find eigenvectors vi of B'B (PxP)[V,D] = eig (1/(P-1)*(B'*B));   %scale factor gives eigvals correct                                %magnitude for large cov mat                                 %(assuming sample cov)                                %(assuming sample cov)%********Sort eigenvectorseigvalvec = max(D);[seigvals, index] = sort(eigvalvec); % sort goes low to highVsort = V(:,[fliplr(index)]);%********ReconstructU = B*Vsort;  % Cols of U are Bvi. (N-dim Eigvecs)%********Give eigvecs unit length.  Improves classification.length = sqrt (sum (U.^2));U = U ./ (ones(N,1) * length);R = B'*U;  % Rows of R are pcarep of each image.E = fliplr(seigvals);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -