引
这篇文章的思想很简单,如何将robust 和 kernel结合起来:找出异常值,将异常值排除,再进行kernel PCA。但是实际上,并非这么容易。
首先,论文抛出了俩个问题:
1.在原空间中为异常值的点,通过kernel隐式地被映射到高维空间后是否依旧是异常值;
2.如何判断该点是否为异常值。
主要内容
问题一
论文引了一篇文献来说明此问题,我没有去查阅:
当非线性映射
Φ
(
⋅
)
\Phi(\cdot)
Φ(⋅)为连续平滑(可微?)的函数是,数据的拓扑结构 不变。所以,一般的kernel应当是符合条件的。
问题二
论文圈定一个范围,先找到一个超球体,将所有的数据点都包裹进去的最小超球体,即:
∥
Φ
(
x
i
)
−
c
∥
≤
R
2
\|\Phi(x_i) - c\| \le R^2
∥Φ(xi)−c∥≤R2
其中
c
c
c是球体的中心,假设
c
=
∑
i
λ
i
0
Φ
(
x
i
)
c = \sum \limits_i \lambda_i^0 \Phi(x_i)
c=i∑λi0Φ(xi),那么
λ
i
0
\lambda_i^0
λi0将是下列方程的最优解(这个也是引入文献说明的,我也不打算深究):
好吧,截个图:
有了中心,我们就可以通过计算
Φ
(
x
i
)
\Phi(x_i)
Φ(xi)与
c
c
c的最大距离来确定
R
R
R:
好了,现在
R
R
R也找到了,可是,所有的点都在超球内,得找一个
R
′
R'
R′来限定出一些奇异值来,问题是
R
′
R'
R′该怎么找呢?这个地方我真的觉得蛮扯的,找一个
R
′
R'
R′使得异常点的数量为
3
%
∼
5
%
3\% \sim 5\%
3%∼5%,这个怎么说呢,我觉得会不会太主观了。所以,就是以一定步长来搜索
R
′
R'
R′?感觉好蠢。