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的估计会不会影响很大?
    证明没看。

  • 相关阅读:
    JSP语法学习笔记
    jsp 自定义标签
    java排序算法
    Linux系统rootpassword改动
    人生中第一次面试——北漂18年(1)
    msgsnd的一个小问题
    推荐系统中的矩阵分解演变方式
    FZU 2124 FOJ 2124 吃豆人【BFS】
    啦啦啦啦、新人学习中。。
    【Linux】线程并发拷贝程序
  • 原文地址:https://www.cnblogs.com/initial-h/p/15503115.html
Copyright © 2011-2022 走看看