Rubost PCA 优化
Rubost PCA 优化
最近一直在看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 优化的更多相关文章
- 机器学习公开课笔记(8):k-means聚类和PCA降维
K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis ...
- Andrew Ng机器学习课程笔记--week8(K-means&PCA)
Unsupervised Learning 本周我们讲学习非监督学习算法,会学习到如下概念 聚类(clustering) PCA(Principal Componets Analysis主成分分析), ...
- 主成分分析(PCA)原理总结
主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一.在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用.一般我们提到降维最容易想到的算法就 ...
- 数据降维技术(1)—PCA的数据原理
PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降 ...
- 主成分分析 (PCA) 与其高维度下python实现(简单人脸识别)
Introduction 主成分分析(Principal Components Analysis)是一种对特征进行降维的方法.由于观测指标间存在相关性,将导致信息的重叠与低效,我们倾向于用少量的.尽可 ...
- 机器学习笔记----四大降维方法之PCA(内带python及matlab实现)
大家看了之后,可以点一波关注或者推荐一下,以后我也会尽心尽力地写出好的文章和大家分享. 本文先导:在我们平时看NBA的时候,可能我们只关心球员是否能把球打进,而不太关心这个球的颜色,品牌,只要有3D效 ...
- PCA原理与实践
在对数据进行预处理时,我们经常会遇到数据的维数非常之大,如果不进行相应的特征处理,那么算法的资源开销会很大,这在很多场景下是我们不能接受的.而对于数据的若干维度之间往往会存在较大的相关性,如果能将数据 ...
- PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)
主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...
- PCA算法是怎么跟协方差矩阵/特征值/特征向量勾搭起来的?
PCA, Principle Component Analysis, 主成份分析, 是使用最广泛的降维算法. ...... (关于PCA的算法步骤和应用场景随便一搜就能找到了, 所以这里就不说了. ) ...
随机推荐
- unity手机游戏应用程序调试控制台Lunar Mobile Console - PRO 1.5.5
unity手机游戏应用程序调试控制台Lunar Mobile Console - PRO 1.5.5 High-performance Unity iOS/Android console built ...
- Java实现简单RPC框架(转)
一.RPC简介 RPC,全称Remote Procedure Call, 即远程过程调用,它是一个计算机通信协议.它允许像本地服务一样调用远程服务.它可以有不同的实现方式.如RMI(远程方法调用).H ...
- oracle tablespace pctfree pctused
二.oracle pctfree和pctused详解 一.建立表时候,注意PCTFREE参数的作用 PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示 ...
- 从0开始学爬虫7之BeautifulSoup模块的简单介绍
参考文档: https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ # 安装 beautifulsoup4 (pytools) D:\pyt ...
- shell编程系列1--shell脚本中的变量替换
shell编程系列1--shell脚本中的变量替换 变量替换总结: .${变量#匹配规则} # 从头开始匹配,最短删除 .${变量##匹配规则} # 从头开始匹配,最长删除(贪婪模式) .${变量%匹 ...
- (待续)【转载】 DeepMind发Nature子刊:通过元强化学习重新理解多巴胺
原文地址: http://www.dataguru.cn/article-13548-1.html -------------------------------------------------- ...
- 利用OpenGL固定流水线绘制球体
在OS X上的一个OpenGL简单demo.所附赠的代码是绘制半个球体.开启了深度缓存和多重采样,采样数是4. 详细下载地址请见:http://www.cocoachina.com/bbs/read. ...
- dapperHelper
public class DapperHelper { /// 数据库连接名 private static string _connection = string.Empty; /// 获取连接名 p ...
- Spring cloud微服务安全实战-5-9实现基于session的SSO(Token有效期)
token的有效期 会出现一种情况session有效期还没到.但是token过期了. 用户登陆着,但是token失效了 没法访问服务了. 刷新令牌要和clientId和ClientSecret一起用, ...
- 【445】Markdown Syntax
ref: Markdown基本语法 ref: Markdown Guide ref: Markdown Cheatsheet ref: Markdown Tutorial Lists Basic Sy ...