目录

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\)的一个近似的原像):

\[\rho(z) = \|\Phi(z) - P_H \Phi(x)\|^2
\]

获得了一个迭代公式:

\[z(t) = \frac{\sum_{i=1}^N w_i k(x_i, z(t-1))x_i}{\sum_{i=1}^N w_i k(x_i, z(t-1))}
\]

其中\(w_i=\sum_{h=1}^Hy_h u_i^h\),\(u\)通过求解kernel PCA获得(通常是用\(\alpha\)表示的),\(z(0)=x\)。

主要内容

虽然我们可以通过撇去小特征值对应的方向,但是这对于去噪并不足够。Kernel PCA and De-Noisingin Feature Spaces中所提到的方法,也就是上面的那个迭代的公式,也没有很好地解决这个问题。既然\(\{y_h\}\)并没有改变——也就是说,我们可能一直在试图用带噪声的数据去恢复一个不带噪声的数据。

所以,作者论文,在迭代更新过程中,\(y_h\)也应该进行更新。



这样,每一步我们都可以看作是在寻找:

\[\|\Phi(z)-P_H\Phi(\widetilde{x}(t)\|
\]

的最小值。

从\((10)\)可以发现,除非\(\widetilde{x}(t)=z(t-1)\)是\(x\)的一个比较好的估计,否则,通过这种方式很有可能会失败(这里的失败定义为,最后的结果与\(x\)差距甚远)。这种情况我估计是很容易发生的。所以,作者提出了一种新的,更新\(\widetilde{x}(t)\)的公式:



其中\(B(t)\)为确定度,是一个\(M \times M\)的矩阵,定义为:

\[B(t) = diag(\beta_1(t), \ldots, \beta_M(t)) \\
\beta_j(t) = \exp (-(x_j - z_j (t-1))^2/2\sigma_j^2)
\]

对角线元素,反映了\(x_j\)和\(z_j(t-1)\)的差距,如果二者差距不大,说明\(P_H(x)\)和\(x\)的差距不大,\(x\)不是异常值点,所以,结果和\(x\)的差距也不会太大,否则\(x\)会被判定为一个异常值点,自然\(z\)应该和\(x\)的差别大一点。

\(\sigma_j\)的估计是根据另一篇论文来的,这里只给出估计的公式:



\(\mathrm{med}(x)\)表示\(x\)的中位数,\(\varepsilon_{ij}\)表示第\(i\)个训练样本第\(j\)个分量与其重构之间平方误差。话说,这个重构如何获得呢?

Robust De-noising by Kernel PCA的更多相关文章

  1. A ROBUST KERNEL PCA ALGORITHM

    目录 引 主要内容 问题一 问题二 Lu C, Zhang T, Du X, et al. A robust kernel PCA algorithm[C]. international confer ...

  2. Kernel Methods (5) Kernel PCA

    先看一眼PCA与KPCA的可视化区别: 在PCA算法是怎么跟协方差矩阵/特征值/特征向量勾搭起来的?里已经推导过PCA算法的小半部分原理. 本文假设你已经知道了PCA算法的基本原理和步骤. 从原始输入 ...

  3. Kernel PCA 原理和演示

    Kernel PCA 原理和演示 主成份(Principal Component Analysis)分析是降维(Dimension Reduction)的重要手段.每一个主成分都是数据在某一个方向上的 ...

  4. 【模式识别与机器学习】——PCA与Kernel PCA介绍与对比

    PCA与Kernel PCA介绍与对比 1. 理论介绍 PCA:是常用的提取数据的手段,其功能为提取主成分(主要信息),摒弃冗余信息(次要信息),从而得到压缩后的数据,实现维度的下降.其设想通过投影矩 ...

  5. Probabilistic PCA、Kernel PCA以及t-SNE

    Probabilistic PCA 在之前的文章PCA与LDA介绍中介绍了PCA的基本原理,这一部分主要在此基础上进行扩展,在PCA中引入概率的元素,具体思路是对每个数据$\vec{x}_i$,假设$ ...

  6. Kernel PCA and De-Noisingin Feature Spaces

    目录 引 主要内容 Kernel PCA and De-Noisingin Feature Spaces 引 kernel PCA通过\(k(x,y)\)隐式地将样本由输入空间映射到高维空间\(F\) ...

  7. Kernel PCA for Novelty Detection

    目录 引 主要内容 的选择 数值实验 矩形框 spiral 代码 Hoffmann H. Kernel PCA for novelty detection[J]. Pattern Recognitio ...

  8. Missing Data in Kernel PCA

    目录 引 主要内容 关于缺失数据的导数 附录 极大似然估计 代码 Sanguinetti G, Lawrence N D. Missing data in kernel PCA[J]. europea ...

  9. 核化主成分分析(Kernel PCA)应用及调参

    核化这个概念在很多机器学习方法中都有应用,如SVM,PCA等.在此结合sklearn中的KPCA说说核函数具体怎么来用. KPCA和PCA都是用来做无监督数据处理的,但是有一点不一样.PCA是降维,把 ...

随机推荐

  1. A Child's History of England.7

    After the death of Ethelbert, Edwin, King of Northumbria [公元616年,隋朝末年], who was such a good king tha ...

  2. C++最小内积

    Description 向量是几何中的一个重要概念. 考虑两个向量 v1=(x1,x2,...,xn)和v2=(y1,y2,...,yn),向量的内积定义为 x1y1+x2y2+...+xnyn 例如 ...

  3. Output of C++ Program | Set 18

    Predict the output of following C++ programs. Question 1 1 #include <iostream> 2 using namespa ...

  4. OkHttp3 使用

    导入 compile 'com.squareup.okhttp3:okhttp:3.3.0' GET请求 String url = "https://www.baidu.com/" ...

  5. android:为TextView添加样式、跑马灯、TextSwitcher和ImageSwitcher实现平滑过渡

    一.样式 设置下划线: textView.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//下划线 textView.getPaint().setAnt ...

  6. springmvc中文件跨服务器传输的方法

    //1.首先在tomcat的新端口上重新开启一个tomcat服务器fileuploadserver服务器,并且在webapps下新建一个uploads文件夹 //2.在业务服务器上书写前端页面和后端的 ...

  7. 关于tensorflow无法使用gpu

    python3.6 无法使用tensorflow gpu 环境名称 test1 在控制台里进入环境 conda activate test1 使用python python 查看gpu能否使用 pri ...

  8. MySQL安装详细教程(数据库免安装版)

    MySQL安装详细教程(数据库免安装版)mysql-5.7.33-winx64.zip 一.软件下载 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产 ...

  9. 🏆【Alibaba中间件技术系列】「RocketMQ技术专题」Broker配置介绍及发送流程、异常(XX Busy)问题分析

    参考资料 Rocketmq官网:http://rocketmq.apache.org/ Rocketmq的其它项目:https://github.com/apache/rocketmq-externa ...

  10. 测试工具_siage

    目录 一.简介 二.例子 三.参数 一.简介 Siege是一个多线程http负载测试和基准测试工具. 1.他可以查看每一个链接的状态和发送字节数 2.可以模拟不同用户进行访问 3.可以使用POST方法 ...