RPCA的算法推导-增广拉格朗日乘子法- PPT讲解

在这里插入图片描述

大家好,今天我要讲的是RPCA,那么什么是RPCA呢,它又有什么作用呢,在这里我分了四个部分去讲,背景和意义,RPCA的研究内容,也就是算法的推导,RPCA在现实中的应用。在很多的具体问题中,我们可以将信号或是数据来用矩阵来表示,使得对于数据的理解,建模,处理和分析更为的方便,然而这些数据经常面临着确实,损坏,受到噪声污染等问题,而如何在各种情况下得到干净的,准确的,结构性良好的数据,就是我们要解决的问题了,而且在实际应用中,给定的数据往往是低秩的或是近似低秩的,只是由于噪声等其他原因的使得给定的数据变得不再低秩,为了恢复原有数据,也就是为了使数据重新变得低秩起来,我们可以采用RPCA的方法来进行处理,就是将这个矩阵分解为两个矩阵之和:D = A + E,A是低秩矩阵,而E是稀疏矩阵,就是关于噪声等的问题的矩阵。例如如图,我们可以看到这个图片上面有很多密密麻麻的小点,用专业点的话来讲就是它受到了噪声的污染,那么当我们想要去得到它还没有被污染的图片,就可以采用RPCA的方法,将原始的矩阵D(将图像看成一个行向量,将这些行向量组成矩阵)分解为一个低秩矩阵和一个稀疏矩阵,其中低秩矩阵就是我们想得到的原始的图片,稀疏矩阵则是噪声污染矩阵。第二张关于人脸的图片的原理也是一样的。
在这里插入图片描述那么问题就是如何去将D 分解为 A + E 的问题 我们可以用如下的优化问题来求解 也就是求当低秩矩阵A的秩和稀疏矩阵E的0范数均取得最小的时候 所得到的对应的A和E,能够转化为这个优化问题求解,是因为我们要分解得到的矩阵A是低秩的,当A的秩取最小的时候,则可以认为A低秩,E是稀疏的,而E的0范数是指E矩阵中非零元素的个数,当非0元素的个数越少的时候,也就可认为E越稀疏,因此转化为了这个优化问题,λ指的是噪声所占的权重,是一个已知量, 但是因为在这个式子中 A的秩和E的0范数是非凸的,也就是无法求出最优解,因此我们用A矩阵的核范数来近似A矩阵的秩,核范数指的是A的奇异值值和,所以当核范数越小时,可近似认为A的秩越低,而用E的1范数来近似矩阵E的0范数,时因为1范数指的是当矩阵中某一列的的元素的绝对值的和取最大的时候,这个某列的元素的绝对值的和则为1范数,那么如果这个和已经很小了,趋向于0,也就说明其他列的元素的绝对值的和也很小,也就可以近似认为非0元素的个数很少,所以问题就转换为这个式子了
A的核范数和E的1范数均是凸函数,而凸函数有最优解,所以便可以通过这个式子,就是当A的核范数和E的1范数取最小的时候,对应的A和E,就是我们想得到的A和E。
在这里插入图片描述去求解这个问题有不同的算法,如加速近端梯度算法,对偶法等,在这里我们采用增广拉格朗日乘子法来进行求解,第一步,我们构造出一个拉格朗日函数,将有约束问题转化为无约束问题,其中Y指的是拉格朗日乘子,按理论来讲,Y应该要足够大,因为你想求的A 和E相加是要趋近于D的 而为了使A和E 更加精确的趋近于D ,使这个拉格朗日的函数更加精确,所以使Y足够大,后面新增的式子是值得是Y和D-A-E的一个内积, 而将有约束问题转化为无约束问题(之前的式子是需要满足条件D= A + E),是需要付出一些代价的,所以我们增加了惩罚项,在这里同理,u作为一个正标量,也要足够大,接下来就是要找出满足当这个拉格朗日函数取最小的时候所对应的A E 和Y 了.
在这里插入图片描述
在这里我们固定其他变量Y A u 然后得到了一个关于E的一个函数 因为把其他变量当成了常量 所以可以忽略 在对E函数的化简的过程中也是用到了这个原理 化简过程就不一一细说了 数学问题 同理 对于A的化简步骤也是一样的
在这里插入图片描述
在这里我们得到了关于A和E的化简的函数 就是当着两个函数取最小的时候 分别对应的A和E 但是我们发现到这一步 还是不知道该如何求解
在这里插入图片描述这个时候 我们发现有人对于这种式子的优化问题已经给出了解决方案 在这里我也不知道为什么就可以用到这个 反正大概是别人提出的一种算法或是模型来解决这类问题 就是关于软阈值的一个函数 我们可以和我们化简得到的式子进行对比,发现很相似,于是我们将E当做X 将 D- A - Y/u 当做M λ/u当做那里的ε 然后对于我们化简的时候 我们要求不仅要E的1范数取最小 还尽量要后面的等于0 这样关于E的这个函数才会达到最小 那么我们就可以近似认为 E = D- A - Y/u 这样后面才会等于0 也就是当我们对D- A - Y/u进行操作的时候 也就是对于E进行了操作 因为近似两者相等 那么D- A - Y/u 是M 也就是软阈值函数中的x 也就是D- A - Y/u 中的元素是x, λ/u是软阈值函数中的ε ε 是足够小的 而 λ/u也是足够小的,这个在前面就说明了,理论上u要足够大,那么当D- A - Y/u中的元素大于λ/u 就会减去λ/u 知道最后收敛到0 小于-λ/u也是一样的原理 那么就这样对D- A - Y/u中的元素进行迭代更新 也就是近似可以说对E进行更新 使得最后我们得到的E会是一个稀疏矩阵 接下来就是对于A进行这样的操作了,但是发现如果是对A进行对E同样的操作 则会使得A也稀疏 而我们要的不是A得稀疏 要的是A的低秩 这时候我们对A进行奇异值的分解 将分解得到的那个对角矩阵去进行和E一样的操作 则那个对角矩阵稀疏了 也就表明A的低秩 于是这样 我们便得到了我们想要的A和E 对于Y和u的更新则是根据定义 其实也就是为了让Y和u慢慢的足够大 而这样定义的
在这里插入图片描述这是最后关于算法的步骤
这都是我自己的理解 可能会有些错误 希望能有读者指出

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值