Code covered by the BSD License  

Highlights from
Kernel PCA and Pre-Image Reconstruction

4.5

4.5 | 5 ratings Rate this file 96 Downloads (last 30 days) File Size: 6.9 MB File ID: #39715
image thumbnail

Kernel PCA and Pre-Image Reconstruction

by

 

04 Jan 2013 (Updated )

standard PCA, Gaussian kernel PCA, polynomial kernel PCA, pre-image reconstruction

| Watch this File

File Information
Description

In this package, we implement standard PCA, kernel PCA, and pre-image reconstruction of Gaussian kernel PCA. We also provide three demos: (1) Two concentric spheres embedding; (2) Face classification with PCA/kPCA; (3) Active shape models with kPCA.
Standard PCA is not optimized for very high dimensional data. But our kernel PCA implementation is very efficient, and has been used in many research projects.

Required Products MATLAB
MATLAB release MATLAB 8.0 (R2012b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (11)
16 Jul 2014 mania

please help us to do fault detection in nonlinear systems with kernel pca. because i'm a starter in this field.

18 Jun 2014 Quan Wang

Hi Cheung,

If you compute ||a-b||, you will have to use loops. MATLAB loops are slow, and distanceMatrix avoids using loops, thus is very fast.

如果用||a-b||,就需要是用MATLAB循环,而MATLAB循环非常慢。我的distanceMatrix就是一个巧妙避免使用循环的方法,因此很快。

17 Jun 2014 Cheung

您好,请问在distanceMatrix函数中D=XX1+XX2-2*(X*X')起什么作用?如果使用gaussian的话,distance不应该直接就是||a-b||吗?请赐教,非常感谢!

24 Apr 2014 Quan Wang

Dear all,

We have updated the code and the document. The code now generates exactly the same results as shown in the document. I am sorry for the confusion in previous versions of this package. The current version has lots of significant improvements.

08 Mar 2014 Pradeesh

When running demo file why the 3rd fig is in 2d but not in 3d as plot3() is used to plot variable in 3d

03 Mar 2014 Yan Ou  
03 Mar 2014 Siqi

So Good!

03 Mar 2014 Siqi  
05 Apr 2013 Quan Wang

Beside, I myself am using this code package (v2.0) for a number of research projects. I am pretty sure the code works well and has been well optimized.

05 Apr 2013 Quan Wang

Hi Kris. The "paper" (actually a course project report) was using unordered eigenvalues, while in the updated code I have decreasingly ordered eigenvalues. So the code is more "correct" in a scientific sense. If you want to generate the same results as the report, you can uncomment
"% eigValue=eigValue(1:min(size(X)));"
in kPCA.m.

Hope this helps!

04 Apr 2013 Kris Villez

Dear Quan Wang,

Thanks for sharing your code. However, I am not able to reproduce the results displayed in Figure 3 and 4 of your paper.

For Figure 3, it is not clear what the order of the applied polynomial is.

For Figure 4, the two features are highly correlated while the should in fact be uncorrelated. I wondered if this is a mistake in the paper or in the code.

Thanks for your comments,
Kris

Updates
25 Feb 2013

The efficiency is optimized.

24 Apr 2014

We replaces all demos, and the data used for the demo. We also updated the document to provide better illustration and better experiments. Now the code generates exactly the same results as shown in the paper.

24 Apr 2014

addpath('../code') in demo2

Contact us