亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pca.m

?? PCA/LDA/LPP/TensorLPP/代碼。 LPP是目前一種比較重要的子空間算法。基于Tensor的子空間算法
?? M
字號(hào):
function [eigvector, eigvalue, meanData, new_data] = PCA(data, options)
%PCA	Principal component analysis
%	Usage:
%	[EIGVECTOR, EIGVALUE, MEANDATA, NEW_DATA] = PCA(DATA, OPTIONS)
%
%	DATA: Rows of vectors of data points
%   options - Struct value in Matlab. The fields in options
%             that can be set:
%           ReducedDim   -  The dimensionality of the
%                           reduced subspace. If 0,
%                           all the dimensions will be
%                           kept. Default is 0.
%           PCARatio     -  The percentage of principal
%                           component kept. The percentage is
%                           calculated based on the
%                           eigenvalue. Default is 1
%                           (100%, all the non-zero
%                           eigenvalues will be kept.
%          Please do not set both these two fields. If both of them are
%          set, PCARatio will be used. 
%          
%   MEANDATA: Mean of all the data. 
%	NEW_DATA: The data after projection (mean removed)
%	EIGVECTOR: Each column of this matrix is a eigenvector of DATA'*DATA
%	EIGVALUE: Eigenvalues of DATA'*DATA
%
%	Examples:
% 			data = rand(7,10);
% 			options = [];
% 			options.ReducedDim = 4;
% 			[eigvector,eigvalue,meanData,new_data] = PCA(data,options);
% 
% 			data = rand(7,10);
% 			options = [];
% 			options.PCARatio = 0.98;
% 			[eigvector,eigvalue,meanData,new_data] = PCA(data,options);
%
%
% Note: Be aware of the "mean". For classification, you can use this code by:
% 	
%			fea_Train = fea(trainIdx,:);
%
%			[eigvector, eigvalue] = PCA(fea_Train, options)
%			fea_New = fea*eigvector;
%		or
%			[eigvector, eigvalue, meanData] = PCA(fea_Train, options)
%			fea_New_2 = (fea - repmat(meanData,nSmp,1))*eigvector;
%
%	 Then classification is then performed on "fea_new" or "fea_new_2". 
%	 Since we use Euclidean distance, the result will be the same for 
%	 nearest neighbor classifier on "fea_new" or "fea_new_2". 
%
%    If you call PCA by:
%			[eigvector, eigvalue, meanData, fea_Train_new] = PCA(fea_Train, options);
%	  Since "fea_Train_new" is "mean removed", you should also subtract the "meanData" 
%	  from each testing example, like
%			fea_Test = fea(testIdx,:);
%			fea_Test_new = (fea_Test - repmat(meanData,nSmpTest,1))*eigvector;

%
% 
%    Written by Deng Cai (dengcai@gmail.com), April/2004, Feb/2006

if (~exist('options','var'))
   options = [];
else
   if ~strcmpi(class(options),'struct') 
       error('parameter error!');
   end
end

bRatio = 0;
if isfield(options,'PCARatio')
    bRatio = 1;
    eigvector_n = min(size(data));
elseif isfield(options,'ReducedDim')
    eigvector_n = options.ReducedDim;
else
    eigvector_n = min(size(data));
end
    

[nSmp, nFea] = size(data);

meanData = mean(data);
data = data - repmat(meanData,nSmp,1);
%data11=data,

if nSmp >= nFea
    ddata = data'*data;
    ddata = max(ddata, ddata');
    if issparse(ddata)
        ddata = full(ddata);
    end

    if size(ddata, 1) > 1000 & eigvector_n < size(ddata, 1)/10  % using eigs to speed up!
        option = struct('disp',0);
        [eigvector, d] = eigs(ddata,eigvector_n,'la',option);
        eigvalue = diag(d);
    else
        [eigvector, d] = eig(ddata);
        eigvalue = diag(d);
        % ====== Sort based on descending order
        [junk, index] = sort(-eigvalue);
        eigvalue = eigvalue(index);
        eigvector = eigvector(:, index);
    end
    
    clear ddata;
    maxEigValue = max(abs(eigvalue));
    eigIdx = find(abs(eigvalue)/maxEigValue < 1e-12);
    eigvalue (eigIdx) = [];
    eigvector (:,eigIdx) = [];

else	% This is an efficient method which computes the eigvectors of
	% of A*A^T (instead of A^T*A) first, and then convert them back to
	% the eigenvectors of A^T*A.
    if nSmp > 700
        ddata = zeros(nSmp,nSmp);
        for i = 1:ceil(nSmp/100)
            if i == ceil(nSmp/100)
                ddata((i-1)*100+1:end,:) = data((i-1)*100+1:end,:)*data';
            else
                ddata((i-1)*100+1:i*100,:) = data((i-1)*100+1:i*100,:)*data';
            end
        end
    elseif nSmp > 400
        ddata = zeros(nSmp,nSmp);
        for i = 1:ceil(nSmp/200)
            if i == ceil(nSmp/200)
                ddata((i-1)*200+1:end,:) = data((i-1)*200+1:end,:)*data';
            else
                ddata((i-1)*200+1:i*200,:) = data((i-1)*200+1:i*200,:)*data';
            end
        end
    else
        ddata = data*data';
    end
   
    ddata = max(ddata, ddata');
    if issparse(ddata)
        ddata = full(ddata);
    end
    
    if size(ddata, 1) > 1000 & eigvector_n < size(ddata, 1)/10  % using eigs to speed up!
        option = struct('disp',0);
        [eigvector1, d] = eigs(ddata,eigvector_n,'la',option);
        eigvalue = diag(d);
    else
        [eigvector1, d] = eig(ddata);
        
        eigvalue = diag(d);
        % ====== Sort based on descending order
        [junk, index] = sort(-eigvalue);
        eigvalue = eigvalue(index);
        eigvector1 = eigvector1(:, index);
    end

    clear ddata;
    
    maxEigValue = max(abs(eigvalue));
    eigIdx = find(abs(eigvalue)/maxEigValue < 1e-12);
    eigvalue (eigIdx) = [];
    eigvector1 (:,eigIdx) = [];

    eigvector = data'*eigvector1;		% Eigenvectors of A^T*A
    clear eigvector1;
	eigvector = eigvector*diag(1./(sum(eigvector.^2).^0.5)); % Normalization

end

if bRatio
    if options.PCARatio >= 1 | options.PCARatio <= 0
        idx = length(eigvalue);
    else
        sumEig = sum(eigvalue);
        sumEig = sumEig*options.PCARatio;
        sumNow = 0;
        for idx = 1:length(eigvalue)
            sumNow = sumNow + eigvalue(idx);
            if sumNow >= sumEig
                break;
            end
        end
    end

    eigvalue = eigvalue(1:idx);
    eigvector = eigvector(:,1:idx);
else
    if eigvector_n < length(eigvalue)
        eigvalue = eigvalue(1:eigvector_n);
        eigvector = eigvector(:, 1:eigvector_n);
    end
end

if nargout == 4
    new_data = data*eigvector;
end

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线不卡一区| 国产永久精品大片wwwapp| 91视频观看免费| 怡红院av一区二区三区| 欧美影院一区二区三区| 天天色综合成人网| 精品毛片乱码1区2区3区| 国产精品一区二区久久不卡| 国产欧美日韩精品一区| 91视频免费观看| 丝袜亚洲另类欧美综合| 26uuu久久综合| av在线这里只有精品| 亚洲成人av在线电影| 日韩欧美aaaaaa| jlzzjlzz亚洲日本少妇| 亚洲第一激情av| 精品久久久久久无| 91视频.com| 免费人成网站在线观看欧美高清| 国产视频一区二区三区在线观看 | 欧美日韩激情一区二区| 日本亚洲电影天堂| 亚洲国产激情av| 欧美日韩免费高清一区色橹橹| 午夜成人免费电影| 久久久天堂av| 欧美日韩亚洲另类| 国产精品综合av一区二区国产馆| 国产精品成人一区二区三区夜夜夜 | 91一区二区在线| 全国精品久久少妇| 成人免费在线视频| 欧美一级欧美一级在线播放| av在线不卡网| 久久成人免费日本黄色| 一区二区三区中文字幕电影 | 福利一区二区在线| 亚洲第一二三四区| 中文一区在线播放| 欧美一区二区三区视频在线观看 | 亚洲一二三四区不卡| 国产亚洲欧洲997久久综合| 欧美日韩中文一区| 91一区在线观看| 国产二区国产一区在线观看| 人人精品人人爱| 一级女性全黄久久生活片免费| 国产香蕉久久精品综合网| 555www色欧美视频| 日本电影欧美片| 成人不卡免费av| 国产精品综合久久| 免费久久99精品国产| 亚洲成av人片一区二区梦乃| 中文字幕一区二区三区不卡| 久久精品夜色噜噜亚洲aⅴ| 欧美一区二区视频在线观看2020| 在线精品亚洲一区二区不卡| 9i在线看片成人免费| 国产精品亚洲人在线观看| 日韩成人午夜电影| 午夜精品久久久久久不卡8050| 亚洲精品自拍动漫在线| 中文字幕中文字幕在线一区 | 国产午夜精品在线观看| 日韩欧美一二区| 制服丝袜日韩国产| 9191成人精品久久| 69成人精品免费视频| 欧美日韩大陆在线| 欧美日韩aaaaaa| 欧美卡1卡2卡| 欧美一区二区精品| 欧美一级精品大片| 日韩精品一区二区三区swag| 欧美不卡在线视频| 2024国产精品| 欧美国产一区视频在线观看| 欧美国产精品专区| 国产精品久久久99| 亚洲欧美经典视频| 亚洲一区二区黄色| 视频在线观看91| 麻豆精品国产91久久久久久| 久久se这里有精品| 国产资源在线一区| 成人小视频在线| 91蜜桃传媒精品久久久一区二区| 91丨porny丨蝌蚪视频| 欧美性大战久久| 欧美一区二区三区不卡| 精品福利视频一区二区三区| 国产欧美一区二区三区在线老狼| 国产精品无码永久免费888| 国产精品久久夜| 一区二区三区波多野结衣在线观看| 亚洲一区二区美女| 精品无人码麻豆乱码1区2区 | 中文字幕一区二区不卡| 怡红院av一区二区三区| 蜜臀91精品一区二区三区 | 99re在线视频这里只有精品| 在线一区二区视频| 6080午夜不卡| 中文字幕精品一区二区三区精品 | 国产午夜精品在线观看| 亚洲欧美另类久久久精品| 日本在线播放一区二区三区| 国产精品亚洲人在线观看| 91国内精品野花午夜精品| 日韩午夜精品电影| 欧美韩国日本不卡| 天天亚洲美女在线视频| 国产精品456露脸| 欧美偷拍一区二区| 国产欧美日韩精品一区| 亚洲风情在线资源站| 国产黄色精品视频| 欧美日韩你懂得| 国产欧美精品一区| 亚洲成人黄色影院| 成人免费视频app| 欧美一区二区网站| 亚洲精品久久7777| 国产成人综合在线观看| 欧美人狂配大交3d怪物一区| 国产精品久久久久久久久免费相片| 日韩成人午夜精品| 色综合久久中文字幕| 久久久亚洲高清| 奇米影视一区二区三区小说| 色综合久久综合网欧美综合网| 亚洲精品在线网站| 日韩成人dvd| 91福利国产精品| 欧美极品xxx| 国产一区二区伦理片| 欧美美女一区二区在线观看| 亚洲视频一区在线观看| 国产精品1区2区| 欧美成人精品1314www| 亚洲国产欧美日韩另类综合| gogogo免费视频观看亚洲一| 久久色中文字幕| 青草国产精品久久久久久| 欧美日韩在线三级| 亚洲天堂中文字幕| 成人av网址在线| 国产亚洲综合色| 国产一区二区三区av电影 | 国产乱码精品一区二区三区av| 7777精品久久久大香线蕉| 亚洲国产欧美另类丝袜| 91国产免费看| 亚洲精品你懂的| 色狠狠色狠狠综合| 亚洲色图都市小说| 91在线无精精品入口| 1024国产精品| 91麻豆国产香蕉久久精品| 综合久久一区二区三区| 99久久久久久| 亚洲少妇最新在线视频| 色呦呦日韩精品| 亚洲国产日韩综合久久精品| 色狠狠色噜噜噜综合网| 亚洲午夜羞羞片| 欧美日韩精品一区二区| 亚洲成人tv网| 欧美一级久久久久久久大片| 美国欧美日韩国产在线播放| 日韩欧美一级在线播放| 韩国女主播成人在线| 久久综合视频网| 成人免费高清在线| 综合激情成人伊人| 欧美三级视频在线| 日韩电影在线免费观看| 精品乱人伦小说| 国产成a人亚洲精品| 中文字幕日韩av资源站| 欧美日韩综合色| 美女视频网站久久| 国产欧美日本一区二区三区| 波多野结衣亚洲一区| 亚洲精品日日夜夜| 欧美一区二区在线播放| 国产精品亚洲一区二区三区在线| 国产精品免费久久久久| 日本伦理一区二区| 蜜桃在线一区二区三区| 国产精品视频免费看| 欧美综合色免费| 蜜臀av国产精品久久久久| 中文字幕第一区第二区| 欧美一a一片一级一片| 麻豆freexxxx性91精品| 中文字幕亚洲在| 7777精品伊人久久久大香线蕉最新版 |