• 大小: 5KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: Matlab
  • 标签: DLPP  

资源简介

用matlab实现LPP算法,LPP算法在人脸等生物识别中具有广泛的应用

资源截图

代码片段和文件信息

function [eigvector eigvalue Y] = LPP(X W options)
% LPP: Locality Preserving Projections
%
%       [eigvector eigvalue] = LPP(X W options)

%             Input:
%               X       - Data matrix. Each row vector of fea is a data point.
%               W       - Affinity matrix. You can either call “constructW“
%                         to construct the W or construct it by yourself.
%               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 in the PCA
%                                            step. The percentage is
%                                            calculated based on the
%                                            eigenvalue. Default is 1
%                                            (100% all the non-zero
%                                            eigenvalues will be kept.
%             Output:
%               eigvector - Each column is an embedding function for a new
%                           data point (row vector) x  y = x*eigvector
%                           will be the embedding result of x.
%               eigvalue  - The eigvalue of LPP eigen-problem. sorted from
%                           smallest to largest. 


%       [eigvector eigvalue Y] = LPP(X W options) 
%               
%               Y:  The embedding results Each row vector is a data point.
%                   Y = X*eigvector
%
%
%    Examples:
%
%       fea = rand(5070);
%       options = [];
%       options.Metric = ‘Euclidean‘;
%       options.NeighborMode = ‘KNN‘;
%       options.k = 5;
%       options.WeightMode = ‘HeatKernel‘;
%       options.t = 1;
%       W = constructW(feaoptions);
%       options.PCARatio = 0.99
%       [eigvector eigvalue Y] = LPP(fea W options);
%       
%       
%       fea = rand(5070);
%       gnd = [ones(101);ones(151)*2;ones(101)*3;ones(151)*4];
%       options = [];
%       options.Metric = ‘Euclidean‘;
%       options.NeighborMode = ‘Supervised‘;
%       options.gnd = gnd;
%       options.bLDA = 1;
%       W = constructW(feaoptions);      
%       options.PCARatio = 1;
%       [eigvector eigvalue Y] = LPP(fea W options);


% Note: After applying some simple algebra the smallest eigenvalue problem:
% X^T*L*X = \le

评论

共有 条评论

相关资源