zoukankan      html  css  js  c++  java
  • Online PCA for Contaminated Data


    发表时间:2013(NIPS 2013)
    文章要点:这篇文章提出了一个online robust PCA算法。在online case下,需要根据数据流不断更新Principal Component,但是数据流里面可能有异常值,如果不剔除就会影响Principal Component的估计效果。作者的想法是来了一个sample之后,先根据当前的Principal Component张成的子空间去计算一下这个sample的距离

    这里的距离其实像是一个余弦距离,所以如果太小,就可以认为是异常值。不过作者计算这个值并不直接设置阈值剔除,而是根据概率来接受或者拒绝。这里有个normalized的假设,所以这个值在0-1之间,就可以当成采样的概率来用,伪代码里用(delta_i)表示。如果不是异常值(authentic samples),(delta_i)就会比较大,被接受的概率就大,如果是异常值(outlier),(delta_i)就会很小,被接受的概率就会小。然后就用接受的样本去做online PCA的更新。然后整个流程一直做下去。
    总结:很不错的思路,感觉貌似所有的robust的估计都会用相似的想法做一下,就是先排除一些异常值,然后去做更新。
    疑问:文章里面第一个PCA的计算会严重依赖第一个batch的样本,这个batch里的异常值是没有被剔除的,对初始Principal Component的估计会不会影响很大?
    证明没看。

  • 相关阅读:
    Win10下 Docker Flask实例
    4.1 线性映射的概念
    桥梁的基本组成和分类
    Qt5字符串编码转换学习
    在右键菜单中添加用Jupyter Notebook打开
    左右手(直角)坐标系叉乘计算公式
    __new__方法与单键实例
    向量组的秩
    从线性组合的角度理解三维运算
    Hexo使用小结
  • 原文地址:https://www.cnblogs.com/initial-h/p/15503115.html
Copyright © 2011-2022 走看看