Rubost PCA 优化

2017-09-03 13:08:08 YongqiangGao 阅读数 2284更多

分类专栏: 背景建模
 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

最近一直在看Robust PCA做背景建模的paper, 顺便总结了一下了Robust PCA.前面一篇博客介绍了PCA与Robust PCA区别,本篇博客总结Robust PCA 常见的优化方法,欢迎交流学习。在这里强烈推荐一篇博客Rachel Zhang的Robust PCA 学习笔记

1.预备知识

2.问题描述

许多实际应用中已知的数据矩阵D往往是低秩或近似低秩的,但存在随机幅值任意大且分布稀疏的误差破坏了原有数据的低秩性,为了恢复矩阵D的低秩结构,可将矩阵D分解为两个矩阵之和,即D=A+E,其中矩阵A和E未知,但A是低秩的,E是稀疏的。 
 
当矩阵E的元素服从独立同分布的高斯分布时,可用经典的PCA来获得最优的矩阵A,即转换为如下最优化问题: 
 
当E为稀疏的大噪声矩阵时,同时引入折中因此,此问题可转化为如下优化问题: 
 
上式中秩函数、0范数均非凸,变成了NP-hard问题,需要对其松弛,方可进行优化。由范数知识可知,核范数是秩函数的凸包,1范数是0范数的凸包,所以上述NP-hard问题松弛后可转化凸优化问题: 

3.Rubost PCA优化

增广拉格郎日乘子法(Augmented Lagrang Multipliers)

交替方向法(Alternating Direction Methods)

ADM 是对ALM的改善,加快了收敛速度,又称为不精确拉格朗日乘子法。 

迭代阈值法(Iterative Thresholding)

**加速近端梯度(Accelerated Proximal Gradient)

** 
将优化问题式的等式约束松弛到目标函数中,得到如下的拉格朗日函数: 

f(A,E)的Frechet梯度Lipschitz连续性推导 
 
f(x)二次逼近推导 

4.Rubost PCA优化总结

IT算法的迭代形式简单且收敛,但收敛速度比较慢,且很难选取合适的步长;APG与IT算法类似,但它却大大降低了迭代次数;ALM比APG快很多,而且ALM可以达到较高的精度,需要较低的存储空间。不精确拉格朗日乘子法(IALM)改善了EALM,不需要求解精确解,速度较快。

参考 
1. The Augmented Lagrange Multiplier Method for Exact Recovery of Corrupted Low-Rank Matrices 
2. Fast Convex Optimization Algorithms for Exact Recovery of a Corrupted Low-Rank Matrix 
3. A Singular Value Thresholding Algorithm for Matrix Completion 
4. Sparse and Low-Rank Matrix Decomposition via Alternating Direction Methods 
5. Robust Principal Component Analysis 
6. http://blog.csdn.net/tiandijun/article/details/44917237

Rubost PCA 优化的更多相关文章

  1. 机器学习公开课笔记(8):k-means聚类和PCA降维

    K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis ...

  2. Andrew Ng机器学习课程笔记--week8(K-means&PCA)

    Unsupervised Learning 本周我们讲学习非监督学习算法,会学习到如下概念 聚类(clustering) PCA(Principal Componets Analysis主成分分析), ...

  3. 主成分分析(PCA)原理总结

    主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一.在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用.一般我们提到降维最容易想到的算法就 ...

  4. 数据降维技术(1)—PCA的数据原理

    PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降 ...

  5. 主成分分析 (PCA) 与其高维度下python实现(简单人脸识别)

    Introduction 主成分分析(Principal Components Analysis)是一种对特征进行降维的方法.由于观测指标间存在相关性,将导致信息的重叠与低效,我们倾向于用少量的.尽可 ...

  6. 机器学习笔记----四大降维方法之PCA(内带python及matlab实现)

    大家看了之后,可以点一波关注或者推荐一下,以后我也会尽心尽力地写出好的文章和大家分享. 本文先导:在我们平时看NBA的时候,可能我们只关心球员是否能把球打进,而不太关心这个球的颜色,品牌,只要有3D效 ...

  7. PCA原理与实践

    在对数据进行预处理时,我们经常会遇到数据的维数非常之大,如果不进行相应的特征处理,那么算法的资源开销会很大,这在很多场景下是我们不能接受的.而对于数据的若干维度之间往往会存在较大的相关性,如果能将数据 ...

  8. PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...

  9. PCA算法是怎么跟协方差矩阵/特征值/特征向量勾搭起来的?

    PCA, Principle Component Analysis, 主成份分析, 是使用最广泛的降维算法. ...... (关于PCA的算法步骤和应用场景随便一搜就能找到了, 所以这里就不说了. ) ...

随机推荐

  1. Unity 2018 Game Development in 24 Hours Sams Teach Yourself 3rd Edition

    最新的Unity2018自学教材,如果新入坑Unity,直接从2018开始看吧! 点击下载提取码:tngj

  2. composer Changed current directory to没反应

    根据官方手册执行composer global require "laravel/installer" 显示Changed current directory to C:/User ...

  3. shell脚本将gbk文件转化为utf-8

    使用注意项: 原来文件格式gbk的,否则可能出现utf-8转utf-8乱码. #!/bin/bash function gbk2utf(){ file="$1" echo &quo ...

  4. PHP7 serialize_precision 配置不当导致 json_encode() 浮点小数溢出错误

    https://blog.csdn.net/moliyiran/article/details/81179825 感谢 @地狱星星:原因已找到, 该现象只出现在PHP 7.1+版本上建议使用默认值 s ...

  5. 003-结构型-04-外观模式(Facade)

    一.概述 Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种.Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面.这个一致的简单的界面被称作fa ...

  6. SeetaFaceDetection识别人脸

    SeetaFaceDetection识别人脸 #pragma warning(disable: 4819) #include <seeta/FaceEngine.h> #include & ...

  7. Django自定义用户认证系统之自定义用户模型

    参考文档:http://python.usyiyi.cn/django/topics/auth/customizing.html Django 自带的认证系统足够应付大多数情况,但你或许不打算使用现成 ...

  8. (二十三)IDEA 构建一个springboot工程,以及可能遇到的问题

    一.下载安装intellij IEDA 需要破解 二.创建springboot工程 其他步骤省略,创建好的工程结构如下图: 三.配置springoboot工程 3.1 如上图src/main目录下只有 ...

  9. 【Leetcode_easy】1029. Two City Scheduling

    problem 1029. Two City Scheduling 参考 1. Leetcode_easy_1029. Two City Scheduling; 完

  10. CentOS7为docker-ce配置阿里云镜像加速器

    一.找加速地址 https://promotion.aliyun.com/ntms/act/kubernetes.html 控制台 二.添加daemon.json 文件 vim /etc/docker ...