原文地址: PCA算法
完成機器學習相關編程,實現PCA算法。算法
Instructions and submission guidelines:編程
You are required to write code for performing PCA and kernel PCA (KPCA) on a given dataset. After performing PCA/KPCA, you will use various classifiers to perform classification. You will investigate the effect of applying PCA, KPCA and KPCA with different types of kernels. Specifically, the tasks you need to complete are:app
[Master student only] Append 256 noisy dimensions to the original data, that is, for each sample xi, appending a 256-dimensional random feature vector to xi to make it a 512-dimensional feature. Then repeat the KPCA experiments by using a linear SVM as the classifier. Test and analyse the results. The following lines give an example code (Matlab) for appending noise featuresdom
For Gaussian-RBF kernel, you need to set the bandwith hyper-parameter. An empirical approach is to choose it. You are encouraged to scale up and down this empirical chosen parameter a little bit to find out the best performed hyper-parameter.機器學習
You can choose either Matlab, Python, or C/C++. I would personally suggest Matlab or Python.ide
The PCA and KPCA part of your code should not rely on any 3rd-party toolbox. Only Matlab's built-in API's or Python/ C/C++'s standard libraries are allowed. party implementation of linear SVM for your experiments.學習
You are also required to submit a report ([10 pages in PDF format), which should have the following sections (report contributes 50% to the mark; code 50%):ui
In summary, you need to submit (1) the code that implements PCA/KPCA and (2) a report in PDF.this
You will use USPS dataset to test your model. It contains 10 classes with 7291 training samples and 2007 testing samples. The feature dimensionality is 256. The training data can be found in usps.libsvm and testing data can be found in usps.t.libsvm.spa
(本文出自csprojectedu.com,轉載請註明出處)