low rank的一个测试数据

今天找来了low rank的优化代码,自己做了个仿真,数据是这样子的

1:来自3维空间中的100个点,分为2个子空间,第一个子空间数据D1包含50个点,第二个子空间D2也包含50个点

2:对于D1中的10个点随机加了10个高斯噪声,第二个子空间不变

3:用LRR求得去掉噪声后的原始数据,PLOT出来对比。如图:


low rank的一个测试数据_第1张图片


第一幅为原始数据图,圈圈的来自D1, 点点的来自D2。

第二幅为给D1加上高斯噪声的点,其中粉红色的圈圈为噪声。

第三幅图为LRR优化之后,可以看到粉红色圈圈基本进入了红色圈圈所在的子空间了。


不知道是不是我这个数据是自己生成的原因,觉得效果真是太好了。


这里说下LRR的数学描述为:


这个地方其实可以做很多解释的

1:首先如果X就是按照子空间顺序排列的话,因为知道噪声在这个地方时影响了之前的数据的rank,那么做一个对核范的约束,可以尽量减少对噪声的依赖,来表达元数据,同时得到一个2,1范约束的噪声。

2:如果X不是按照子空间排列的话,同时知道,影响的是Z中的列的顺序,那么Z中列顺序的改变,并不影响Z的rank的。所以还是这个优化方法。


PS:做了仿真之后可以反向推导出来很多不需要证明就可以理解的事情。

你可能感兴趣的:(low rank的一个测试数据)