自适应滤波:矩阵求逆
Posted 桂。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自适应滤波:矩阵求逆相关的知识,希望对你有一定的参考价值。
作者:桂。
时间:2017-04-02 10:36:09
链接:http://www.cnblogs.com/xingshansi/p/6658655.html
【读书笔记09】
前言
西蒙.赫金的《自适应滤波器原理》第四版第八章:最小二乘法。因为最小二乘涉及到矩阵求逆,因为通常对于秩缺矩阵其逆是不可求的,这就需要借助广义逆矩阵。而广义逆矩阵可以借助奇异值分解(SVD,Singularly Valuable Decomposition)进行求解。
有了这个思路,在学习各类最小二乘方法之前,对广义矩阵求逆、SVD分解进行梳理是有必要的,本文主要梳理矩阵求逆。
一、满秩情况
A-方阵
对于$n$x$n$的非奇异矩阵$\\bf{A}$,对应的逆矩阵为:${{\\bf{A}}^{ - 1}}$.
B-长方形阵
此时对应逆矩阵分为:左逆矩阵以及右逆矩阵。
对于矩阵A(n×m):
- 如果A是满列秩(n>=m)对于符合LA=I的矩阵解为:${\\bf{L}} = {\\left( {{{\\bf{A}}^H}{\\bf{A}}} \\right)^{ - 1}}{{\\bf{A}}^H}$;
- 如果A是满行秩(n<=m)对于符合AR=I的矩阵解为:${\\bf{R}} = {{\\bf{A}}^H}{\\left( {{{\\bf{A}}}{\\bf{A}^H}} \\right)^{ - 1}}$.
可以看出,当$m=n$时,${\\bf{R}}={\\bf{L}}={{\\bf{A}}^{ - 1}}$.
二、秩亏缺情况
满秩情况中,通过矩阵左/右乘,可以实现满秩方阵,进而求逆得解,对于秩亏缺的情况,上面的求逆思路不再适用,这就需要一种更广义的定义逆矩阵的方式,也就是需要同时左、右乘以矩阵变换,才能得到满秩的特性,广义逆矩阵对满秩情况仍然有效。给出Moore-Penrose逆矩阵定义:
令$\\bf{A}$是任意$m$x$n$矩阵,如果${{\\bf{A}}^+ }$满足以下四个条件,称矩阵${{\\bf{A}}^+ }$是$\\bf{A}$的广义逆矩阵:
1)${\\bf{A}}{{\\bf{A}}^+ }{\\bf{A}} = {\\bf{A}}$;
2)${{\\bf{A}}^+ }{\\bf{A}}{{\\bf{A}}^+ } = {{\\bf{A}}^+ }$;
3)${\\bf{A}}{{\\bf{A}}^+ } = {\\left( {{\\bf{A}}{{\\bf{A}}^+ }} \\right)^H}$;
4)${{\\bf{A}}^+ }{\\bf{A}} = {\\left( {{{\\bf{A}}^+ }{\\bf{A}}} \\right)^H}$;
具体的原理推导可以参考:张贤达《矩阵分析与应用》p61~64.
容易看出:$\\bf{A}$的满秩情况,广义逆矩阵仍然使用。Moore-Penrose逆矩阵是广义逆矩阵的一种形式。
三、求解Moore-Penrose逆矩阵
求解有多种思路,这里只分析基于SVD分解的方法。首先给出求解步骤:
背景知识:
对于存在正交矩阵$\\bf{U}$、$\\bf{V}$,使得:
${\\bf{A}}{\\rm{ = }}{\\bf{U\\Sigma }}{{\\bf{V}}^H}$
式中:
且$r = rank({\\bf{A}})$.
求解步骤:
利用SVD进行广义逆矩阵求解:
${{\\bf{A}}^ + } = {\\bf{V}}{{\\bf{\\Sigma }}^ + }{{\\bf{U}}^H}$
其中:
事实上,对于秩为$r$,$\\bf{A}$分解可简写为:
${\\bf{A}} = {{\\bf{U}}_r}{{\\bf{\\Sigma }}_1}{{\\bf{V}}_r}^H$
从而SVD可以简化为:
${{\\bf{A}}^ + } = {{\\bf{V}}_r}{\\bf{\\Lambda }}_{_{\\rm{1}}}^{ - 1}{\\bf{V}}_{_r}^H{{\\bf{A}}^H}$
其中${{\\bf{\\Lambda }}_1} = diag\\left( {\\sigma _{_1}^2,\\sigma _{_2}^2,...,\\sigma _{_r}^2} \\right)$.
因为暂时不讨论SVD,此处先直接调用,给出对应代码:
a = [ 1 7 5 1 6 4 2 7 8 10 5 4]; [U,S,V] = svd(a); K = min(size(a)); S_plus = [diag(1./diag(S))].^2; a_mp = 0; for i = 1:K a_mp = a_mp+V(:,i)*S_plus(i,i)*V(:,i)\'*a\'; end求解的a_mp为广义逆矩阵,其结果与`pinv`指令的作用等价。
理论证明:
表达式简写:
首先分析Moore-Penrose条件1:
Moore-Penrose条件2与条件1证明类似;
再分析Moore-Penrose条件3:
即${\\bf{A}}{{\\bf{A}}^+ } = {\\left( {{\\bf{A}}{{\\bf{A}}^+ }} \\right)^H}$;条件4同理。
既然广义矩阵求逆可以借助SVD分解,需要看看SVD如何分解,对SVD进行梳理点击这里。
有了广义逆矩阵,如何求解最小二乘可以点击这里。
参考:
- 张贤达:《矩阵分析与应用》.
以上是关于自适应滤波:矩阵求逆的主要内容,如果未能解决你的问题,请参考以下文章