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:
• Write code for performing PCA
• Apply PCA to the given dataset and then perform classification with the
nearest neighbour classifier. Analyse the performance change against
different reduced dimensions. (suggestion: from 256 to 10)
• Write code for performing KPCA. Use three kernel functions, Linear Kernel
(equivalent to PCA), Gaussian-RBF kernel and Hellinger kernel (See the
lecture slides)
• Apply KPCA to the given dataset and then perform classification with nearest
neighbour classifier. Analyse the performance change against different
reduced dimensions. (suggestion: from 256 to 10)
You can choose either Matlab, Python, or C/C++. I would personally suggest
Matlab or Python.
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%):
• An algorithmic description of PCA and KPCA. (5%) • Your understanding of
PCA and KPCA (anything that you believe is relevant to this algorithm) (5%)
• Some analyses of your implementation. You should plot an error curve against
the number of reduced dimensions. For KPCA, results from different kernels
should be plotted on the same figure with different colours. (20% for master
students and 40% for undergraduate students)
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。