low rank representation 低秩表达

本文探讨了低秩表达(low-rank representation)在子空间分割中的应用,特别是其在去除噪声和离群点方面的优势。介绍了几种常见的子空间分割方法,包括基于概率模型、基于分解的方法以及基于稀疏的子空间分割,并对比分析了它们各自的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

去年已经开始在接触低秩表达,最近学习到一些paper,发现对这个还是不是很理解,今天从这里开始记录一下对低秩表达的学习。

目前低秩表达主要用在子空间分割上,也就是给定一组数据,这组数据是从某几个子空间上来的,通过低秩表达可以达到对来自这几个子空间的数据进行聚类,可以找到哪些数据时来自具体的哪个子空间。


首先子空间分割有很多种方法比如基于概率模型的(由于高斯分布最能代表一个子空间,所以一般基于这种方法的数据都符合高斯分布)

其次是基于分解的方法,一般是基于现有分解方法的修改,并且是基于多次迭代完成的

接着是比较火的基于稀疏的子空间分割(sparse subspace clustering),通过对表达系数矩阵进行一个稀疏的约束完成(通过对每一列的系数约束完成整个稀疏矩阵的获取)。


上面三个分解方法的缺点就是:对noise和outliers很敏感,一旦有噪声那么分解方法就不精确。

所以提出来了low rank representation的方法,因为low rank是对系数矩阵整体的约束,所以llr的方法是从全局的观点出发来表达的,其次由于噪声会提高数据的rank,故在low rank的约束下自然就去掉了噪声,所以该方法对噪声的鲁棒性很强。

### 关于和稀疏表示的代码实现 #### 1. 基础概念介绍 和稀疏表示是一种用于处理数据的方法,在信号处理、图像恢复等领域有广泛应用。该方法假设观测到的数据可以被建模为一个成分加上一个稀疏误差项。 #### 2. Python 实现示例 下面是一个简单的Python代码片段,展示了如何利用`numpy`库来构建并求解加稀疏模型: ```python import numpy as np from scipy.optimize import minimize def nuclear_norm(X): """计算矩阵核范数""" U, s, Vt = np.linalg.svd(X, full_matrices=False) return sum(s) def l1_norm(x): """L1 范数""" return abs(x).sum() def objective_function(M, L_est, S_est, lambda_): """目标函数定义""" error_matrix = M - L_est - S_est loss = nuclear_norm(L_est) + lambda_*l1_norm(S_est.flatten()) return loss + 0.5 * np.sum(error_matrix ** 2) def low_rank_sparse_decomposition(M, rank=None, lambda_=0.1): """ 对输入矩阵M执行与稀疏分解 参数: M : 输入矩阵 rank : 预期部分的最大,默认None则自动估计 lambda_: 控制稀疏程度参数 返回值: tuple: (L,S),其中L代表分量,S代表稀疏噪声分量 """ m,n=M.shape if not rank: # 自动选择合适的rank大小 pass initial_guess_L=np.zeros((m,min(m,n))) initial_guess_S=np.random.rand(*M.shape)*lambda_ result=minimize( fun=lambda params:objective_function(M,*params.reshape(2,-1),lambda_), x0=(initial_guess_L.ravel(),initial_guess_S.ravel()),method='Powell' ) optimal_params=result.x.reshape(2,-1) L_optimal=optimal_params[0].reshape(initial_guess_L.shape) S_optimal=optimal_params[1].reshape(initial_guess_S.shape) return L_optimal, S_optimal ``` 此段代码实现了基于优化的目标函数最小化过程,通过调整正则化系数λ控制稀疏度,并采用交替方向乘子法(ADMM)或其他数值最优化技术解决实际问题中的大规模实例[^1]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值