Takahashi T, Kurita T. Robust De-noising by Kernel PCA[C]. international conference on artificial neural networks, 2002: 739-744.
引
这篇文章是基于对Kernel PCA and De-Noisingin Feature Spaces的一个改进。
针对高斯核:
k(x,y)=exp(−∥x−y∥2/c)
我们希望最小化下式(以找到x的一个近似的原像):
ρ(z)=∥Φ(z)−PHΦ(x)∥2
获得了一个迭代公式:
z(t)=∑i=1Nwik(xi,z(t−1))∑i=1Nwik(xi,z(t−1))xi
其中wi=∑h=1Hyhuih,u通过求解kernel PCA获得(通常是用α表示的),z(0)=x。
主要内容
虽然我们可以通过撇去小特征值对应的方向,但是这对于去噪并不足够。Kernel PCA and De-Noisingin Feature Spaces中所提到的方法,也就是上面的那个迭代的公式,也没有很好地解决这个问题。既然{yh}并没有改变——也就是说,我们可能一直在试图用带噪声的数据去恢复一个不带噪声的数据。
所以,作者论文,在迭代更新过程中,yh也应该进行更新。
这样,每一步我们都可以看作是在寻找:
∥Φ(z)−PHΦ(x(t)∥
的最小值。
从(10)可以发现,除非x(t)=z(t−1)是x的一个比较好的估计,否则,通过这种方式很有可能会失败(这里的失败定义为,最后的结果与x差距甚远)。这种情况我估计是很容易发生的。所以,作者提出了一种新的,更新x(t)的公式:
其中B(t)为确定度,是一个M×M的矩阵,定义为:
B(t)=diag(β1(t),…,βM(t))βj(t)=exp(−(xj−zj(t−1))2/2σj2)
对角线元素,反映了xj和zj(t−1)的差距,如果二者差距不大,说明PH(x)和x的差距不大,x不是异常值点,所以,结果和x的差距也不会太大,否则x会被判定为一个异常值点,自然z应该和x的差别大一点。
σj的估计是根据另一篇论文来的,这里只给出估计的公式:
med(x)表示x的中位数,εij表示第i个训练样本第j个分量与其重构之间平方误差。话说,这个重构如何获得呢?