A ROBUST KERNEL PCA ALGORITHM

Lu C, Zhang T, Du X, et al. A robust kernel PCA algorithm[C]. international conference on machine learning and cybernetics, 2004: 3084-3087.

这篇文章的思想很简单,如何将robust 和 kernel结合起来:找出异常值,将异常值排除,再进行kernel PCA。但是实际上,并非这么容易。

首先,论文抛出了俩个问题:
1.在原空间中为异常值的点,通过kernel隐式地被映射到高维空间后是否依旧是异常值;
2.如何判断该点是否为异常值。

主要内容

问题一

论文引了一篇文献来说明此问题,我没有去查阅:
当非线性映射 Φ ( ) \Phi(\cdot) 为连续平滑(可微?)的函数是,数据的拓扑结构 不变。所以,一般的kernel应当是符合条件的。

问题二

论文圈定一个范围,先找到一个超球体,将所有的数据点都包裹进去的最小超球体,即:
Φ ( x i ) c R 2 \|\Phi(x_i) - c\| \le R^2
其中 c c 是球体的中心,假设 c = i λ i 0 Φ ( x i ) c = \sum \limits_i \lambda_i^0 \Phi(x_i) ,那么 λ i 0 \lambda_i^0 将是下列方程的最优解(这个也是引入文献说明的,我也不打算深究):
在这里插入图片描述
好吧,截个图:
在这里插入图片描述

有了中心,我们就可以通过计算 Φ ( x i ) \Phi(x_i) c c 的最大距离来确定 R R :
在这里插入图片描述
好了,现在 R R 也找到了,可是,所有的点都在超球内,得找一个 R R' 来限定出一些奇异值来,问题是 R R' 该怎么找呢?这个地方我真的觉得蛮扯的,找一个 R R' 使得异常点的数量为 3 % 5 % 3\% \sim 5\% ,这个怎么说呢,我觉得会不会太主观了。所以,就是以一定步长来搜索 R R' ?感觉好蠢。

猜你喜欢

转载自blog.csdn.net/MTandHJ/article/details/89884152
PCA