當前位置:首頁 > 芯聞號 > 充電吧
[導讀]淺談壓縮感知(十九):MP、OMP與施密特正交化關(guān)于MP、OMP的相關(guān)算法與收斂證明,這里僅簡單陳述算法流程及二者的不同之處。主要內(nèi)容:MP的算法流程及其MATLAB實現(xiàn)OMP的算法流程以及MATLA

淺談壓縮感知(十九):MP、OMP與施密特正交化

關(guān)于MP、OMP的相關(guān)算法與收斂證明,這里僅簡單陳述算法流程及二者的不同之處。

主要內(nèi)容:

MP的算法流程及其MATLAB實現(xiàn)OMP的算法流程以及MATLAB實現(xiàn)MP與OMP的區(qū)別施密特正交化與OMP的關(guān)系一、MP(匹配追蹤)的算法流程:

二、MP的MATLAB實現(xiàn):

%?MP:匹配追蹤算法
%?dictionary:?超完備字典
%?x:?待表示信號
%?M?=?4;?N?=?10;
%?Phi?=?randn(M,N);?%?字典
%?for?nn?=?1:N
%?????Phi(:,nn)?=?Phi(:,nn)/norm(Phi(:,nn));
%?end
%?b?=?randn(M,1);?%?信號
function?x?=?MP(dictionary,x,iter)
[M,N]?=?size(dictionary);
residual?=?zeros(M,iter);?%殘差矩陣,保存每次迭代后的殘差
residual(:,1)?=?x;?%初始化殘差為x
L?=?size(residual,2);?%得到殘差矩陣的列
pos_num?=?zeros(1,L);?%用來保存每次選擇的列序號
resi_norm?=?zeros(1,L);?%用來保存每次迭代后的殘差的2范數(shù)
resi_norm(1)?=?norm(x);?%因為前面已初始化殘差為x
iter_out?=?1e-3;
iter_count?=?0;

for?mm?=?1:iter
????%迭代退出條件
????if?resi_norm(mm)?<?iter_out
????????break;
????end
????%求出dictionary每列與上次殘差的內(nèi)積
????scalarproducts?=?dictionary'*residual(:,mm);
?????%找到內(nèi)積中最大的列及其內(nèi)積值
????[val,pos]?=?max(abs(scalarproducts));
????%更新殘差
????residual(:,mm+1)?=?residual(:,mm)?-?scalarproducts(pos)*dictionary(:,pos);
????%計算殘差的2范數(shù)(平方和再開根號)
????resi_norm(mm+1)?=?norm(residual(:,mm+1));
?????%保存選擇的列序號
????pos_num(mm)?=?pos;
????iter_count?=?iter_count?+?1;
end
%繪出殘差的2范數(shù)曲線
resi_norm?=?resi_norm(1:iter_count+1);
plot(resi_norm);grid;
%顯示選擇的字典原子
pos_num?=?pos_num(1:iter_count);
disp(pos_num);
%稀疏系數(shù)(稀疏表示)
dict?=?dictionary(:,pos_num);
y_vec?=?(dict'*dict)^(-1)*dict'*x;
disp(y_vec);
figure;plot(y_vec);

三、OMP(正交匹配追蹤)的算法流程:

四、OMP的MATLAB實現(xiàn):

%?MP:匹配追蹤算法
%?dictionary:?超完備字典
%?x:?待表示信號
%?M?=?4;?N?=?10;
%?Phi?=?randn(M,N);?%?字典
%?for?nn?=?1:N
%?????Phi(:,nn)?=?Phi(:,nn)/norm(Phi(:,nn));
%?end
%?b?=?randn(M,1);?%?信號
function?x?=?OMP(dictionary,x,iter)
[M,N]?=?size(dictionary);
residual?=?zeros(M,iter);?%殘差矩陣,保存每次迭代后的殘差
residual(:,1)?=?x;?%初始化殘差為x
L?=?size(residual,2);?%得到殘差矩陣的列
pos_num?=?zeros(1,L);?%用來保存每次選擇的列序號
resi_norm?=?zeros(1,L);?%用來保存每次迭代后的殘差的2范數(shù)
resi_norm(1)?=?norm(x);?%因為前面已初始化殘差為x
iter_out?=?1e-3;
iter_count?=?0;
aug_mat?=?[];

for?mm?=?1:iter
????%迭代退出條件
????if?resi_norm(mm)?<?iter_out
????????break;
????end
????%求出dictionary每列與上次殘差的內(nèi)積
????scalarproducts?=?dictionary'*residual(:,mm);
????%找到內(nèi)積中最大的列及其內(nèi)積值
????[val,pos]?=?max(abs(scalarproducts));
????%最小二乘的增廣矩陣
????aug_mat?=?[aug_mat?dictionary(:,pos)];
????%最小二乘投影
????proj_y?=?aug_mat*(aug_mat'*aug_mat)^(-1)*aug_mat'*x;
????%更新殘差
????residual(:,mm+1)?=?x?-?proj_y;
????%計算殘差的2范數(shù)(平方和再開根號)
????resi_norm(mm+1)?=?norm(residual(:,mm+1));
?????%保存選擇的列序號
????pos_num(mm)?=?pos;
????iter_count?=?iter_count?+?1;
end
%繪出殘差的2范數(shù)曲線
resi_norm?=?resi_norm(1:iter_count+1);
plot(resi_norm);grid;
%顯示選擇的字典原子
pos_num?=?pos_num(1:iter_count);
disp(pos_num);
%稀疏系數(shù)
dict?=?dictionary(:,pos_num);
y_vec?=?(dict'*dict)^(-1)*dict'*x;
disp(y_vec);
figure;plot(y_vec);

五、MP與OMP的區(qū)別:

OMP與MP的不同根本在于殘差更新過程:OMP減去的Pem是em在所有被選擇過的原子組成的矩陣Φt所張成空間上的正交投影,而MP減去的Pem是em在本次被選擇的原子φm所張成空間上的正交投影。基于此,OMP可以保證已經(jīng)選擇過的原子不會再被選擇。

六、施密特(Schimidt)正交化與OMP 1、施密特(Schimidt)正交化的過程:

上面的的[x,y]表示向量內(nèi)積,[x,y]=xTy=yTx=[x,y]。施密特正交化公式中的br實際上可寫為:

分子之所以可以這么變化是由于[x,y]實際上為一個數(shù),因此[x,y]x=x[x,y]=?xxTy。

2、OMP與施密特(Schimidt)正交化的關(guān)系:

結(jié)論:OMP分解過程,實際上是將所選原子依次進行Schimidt正交化,然后將待分解信號減去在正交化后的原子上各自的分量即可得殘差。其實(式3)求殘差的過程也是在進行施密特正交化。

3、驗證OMP殘差求解過程與Schmidt正交化的關(guān)系

%?驗證OMP殘差求解過程與Schmidt正交化的關(guān)系
%
clc;clear;close?all;
M?=?4;?N?=?10;
Phi?=?randn(M,N);?%?字典
for?nn?=?1:N
????Phi(:,nn)?=?Phi(:,nn)/norm(Phi(:,nn));
end
b?=?randn(M,1);?%?信號
res0?=?b;?%?初始化殘差為待稀疏信號b
%?OMP
%?選擇字典第一個原子
c1?=?Phi'*?res0;?%?求矩陣Phi各列與b的內(nèi)積
[val1,pos1]?=?max(abs(c1));?%?找到內(nèi)積中最大的列及其內(nèi)積值
phit?=?[Phi(:,pos1)];?%?由所有選出的列組合的矩陣
Pphi?=?phit*(phit'*phit)^(-1)*phit';?%?正交投影變換矩陣
omp_res1?=?res0?-?Pphi*res0;?%?OMP用上一次殘差減去殘差在phit列空間的正交投影
omp_resb?=?b?-?Pphi*b;?%?OMP用待稀疏信號b減去b在phit列空間的正交投影
%?Schimidt
x?=?Phi(:,pos1);?%?Schimidt正交化第一個向量
Px?=?x*(x'*x)^(-1)*x';
smt_res1?=?res0?-?Px*b;?%?實際上是b?-?Px*b
%?test?
norm(omp_res1-omp_resb)
norm(omp_resb-smt_res1)

%?OMP
%?選擇字典第二列
c2?=?Phi'?*?omp_res1;
[val2,pos2]?=?max(abs(c2));
phit?=?[Phi(:,pos1)?Phi(:,pos2)];?
Pphi?=?phit*(phit'*phit)^(-1)*phit';
omp_res2?=?omp_res1?-?Pphi*omp_res1;
omp_resb?=?b?-?Pphi*b;
%?Schimidt
y?=?Phi(:,pos2)?-?Px*Phi(:,pos2);?%?Schimidt正交化第二個向量
Py?=?y*(y'*y)^(-1)*y';
smt_res2?=?smt_res1?-?Py*b;?%?實際上是b?-?Px*b?-?Py*b,上一次殘差減去b在第2列正交化所得z上的投影
%?test
norm(omp_res2-omp_resb)
norm(omp_resb-smt_res2)

%?OMP
%?選擇字典第三列
c3?=?Phi'?*?omp_res2;
[val3,pos3]?=?max(abs(c3));
phit?=?[Phi(:,pos1)?Phi(:,pos2)?Phi(:,pos3)];
Pphi?=?phit*(phit'*phit)^(-1)*phit';
omp_res3?=?omp_res2?-?Pphi*omp_res2;?
omp_resb?=?b?-?Pphi*b;
%?Schimidt
z?=?Phi(:,pos3)?-?Px*Phi(:,pos3)?-?Py*Phi(:,pos3);??%?Schimidt正交化第三個向量
Pz?=?z*(z'*z)^(-1)*z';
smt_res3?=?smt_res2?-?Pz*b;?%?實際上是b?-?Px*b?-?Py*b?-?Pz*b,上一次殘差減去b在第3列正交化所得z上的投影
%?test
norm(omp_res3-omp_resb)
norm(omp_resb-smt_res3)

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉