Kernel - PCA - 变换

2020-06-23 12:27

作业9

编程题实验报告

(一)实验内容:

采用Gaussian核函数,对Iris数据集实现Kernel PCA 变换,降到两维,并与第二章上机题4得到的结果进行比较。

(二)实验原理:

1)传统线性PCA:

a) 样本减去平均值; b) 计算协方差矩阵;

c) 计算协方差矩阵的特征值和特征向量;

d) 将特征向量按对应特征值大小,从大到小排序; f) 将数据转换到需要降到K维的新空间中。

2)用Kernel函数在高维空间做PCA:

a) 数据的标准化:减去均值;

b) 计算核函数:核函数矩阵大小是数据中样本数的平方; c) 中心化核矩阵:

d) 特征值分解,并将特征向量按特征值的大小顺序排序; e) 将数据转换到需要降到K维的新空间中。 (三)实验程序:

1)PCA:

用的作业3编程题中,KL变换的程序,在这次试验中,只需KL变换后取前两列数据即可。

2)KPCA:

实现函数:[train_kpca] = kpcaFordata(train,kk,rbf_var) 输入参数:train:待降维的高维数据;

kk:预期降维的维数(默认值为2);

rbf_var:高斯核函数的参数2?2;

输出参数:train_kpca:已经从高维降到kk维后的新数据。

3)LLE:

参考程序链接:http://www.cs.nyu.edu/~roweis/lle/code.html

3)ISOMAP:

参考程序链接:http://isomap.stanford.edu/ (四)实验结果分析和讨论: a) PCA:

b) KPCA: c) LLE:

图1 PCA简单线性降维后的得到的二维散点图

图2 KPCA降维后的得到的二维散点图

图3 LLE降维后的得到的二维散点图

d) ISOMAP:

图4 ISOMAP降维后的得到的二维散点图

分析:由图中可以明显的看出:

(1) 这几种降维方法对于Iris数据集都可以实现很好的降维,其中,只有PCA实现线性变换,其余三种均

是非线性变换。当隐层节点数较小时,类似于降维,损失了信息,对于神经网络,回归出现欠拟合;

(2) 从四种算法的计算复杂度,PCA和KPCA都相对简单;

(3) KPCA降维方法依赖于核函数的选择以及核函数参数选择,LLE算法依赖于所选近邻个数,ISOMAP

算法性能受数据的拓扑结构影响。


Kernel - PCA - 变换.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广联达GDL V2012电力软件用户使用操作指南

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: