????????歡迎來到本博客????????
??博主優(yōu)勢:??????博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。
??座右銘:行百里者,半于九十。
??????本文目錄如下:??????
目錄
??1 概述
??2 運行結(jié)果
??3?參考文獻(xiàn)
??4 Matlab代碼、數(shù)據(jù)、文章講解
??1 概述
文獻(xiàn)來源:
文章來源地址http://www.zghlxwxcb.cn/news/detail-468719.html
摘要:非負(fù)矩陣分解 (NMF) 是一種線性降維 分析非負(fù)數(shù)據(jù)的技術(shù)。NMF 的一個關(guān)鍵方面是選擇 依賴于噪聲模型(或 噪聲)假設(shè)數(shù)據(jù)。在許多應(yīng)用中,噪聲模型是未知的 而且難以估計。在本文中,我們定義了一個多目標(biāo)NMF (MO-NMF) 問題,其中多個目標(biāo)在同一 NMF 中組合 型。我們建議使用拉格朗日對偶性來明智地優(yōu)化一組 在加權(quán)和法框架內(nèi)使用的加權(quán),即 我們最小化單個目標(biāo)函數(shù),它是 all 的加權(quán)和 目標(biāo)函數(shù)。我們設(shè)計了一種基于乘法的簡單算法 更新以最小化此加權(quán)總和。我們展示了如何使用它來查找 分布穩(wěn)健的 NMF (DR-NMF) 解決方案,即 最小化所有目標(biāo)中的最大誤差,使用雙重方法解決 通過受弗蘭克-沃爾夫算法啟發(fā)的啟發(fā)式方法。我們說明 這種方法對合成、文檔和音頻數(shù)據(jù)集的有效性。這 結(jié)果表明,DR-NMF對噪聲模型的識別具有魯棒性 NMF問題。
原文摘要:
Abstract:?Nonnegative matrix factorization (NMF) is a linear dimensionality reduction technique for analyzing nonnegative data. A key aspect of NMF is the choice of the objective function that depends on the noise model (or statistics of the noise) assumed on the data. In many applications, the noise model is unknown and difficult to estimate. In this paper, we define a multi-objective NMF (MO-NMF) problem, where several objectives are combined within the same NMF model. We propose to use Lagrange duality to judiciously optimize for a set of weights to be used within the framework of the weighted-sum approach, that is, we minimize a single objective function which is a weighted sum of the all objective functions. We design a simple algorithm based on multiplicative updates to minimize this weighted sum. We show how this can be used to find distributionally robust NMF (DR-NMF) solutions, that is, solutions that minimize the largest error among all objectives, using a dual approach solved via a heuristic inspired from the Frank-Wolfe algorithm. We illustrate the effectiveness of this approach on synthetic, document and audio data sets. The results show that DR-NMF is robust to our incognizance of the noise model of the NMF problem.
?
??2 運行結(jié)果
% DR-NMF?
options.scalings = [1/solall{1}(1,end); 1/solall{end}(2,end)];?
x = x*options.scalings(1);?
y = y*options.scalings(2);?
options.distribrobust = 1;?
options.lambda = [0.5;0.5];?
fprintf('Computing the solution of DR-NMF. \n');?
[Wr,Hr,er,lam] = multiNMFbeta(X,r,options);% Plot Pareto Front?
set(0, 'DefaultAxesFontSize', 12);
set(0, 'DefaultLineLineWidth', 2);
figure;?
plot(x,y,'o--'); hold on;?
plot(er(1,end),er(2,end),'kx','MarkerSize',12);
maxxy = min(max(x), max(y));?
plot([1 maxxy],[1 maxxy],'k--');?
xlabel('First objective');?
ylabel('Second objective');?
legend('Pareto Front', 'DR-NMF', 'x = y');?title(sprintf('Pareto frontier for a randomly generated matrix: \n IS-NMF vs. KL-NMF, and DR-NMF'));
?
load('piano_Mary.mat');?
[m,n] = size(V);?
r = 4;?
% Initialization & parameters
options.W = rand(m,r);?
options.H = rand(r,n);?
options.beta = [0;1];?
options.distribrobust = 0;?
options.maxiter = 100;?
% IS-NMF
options.lambda = [1; 0];?
fprintf('Computing the solution of NMF with Itakuro-Saito (IS-NMF) divergence: \n');?
[Wis,His,eis] = multiNMFbeta(V,r,options);?
% KL-NMF
options.lambda = [0; 1];?
fprintf('Computing the solution of with Kullback-Leibler (KL-NMF) divergence: \n');?
[Wkl,Hkl,ekl] = multiNMFbeta(V,r,options);?
% DR-NMF?
% This is crucial: you need to specify the scaling of the objective
% functions; cf. the paper.?
options.scalings = [1/eis(1,end); 1/ekl(2,end)];?
options.distribrobust = 1;?
fprintf('Computing the solution of distributionally robust NMF (DR-NMF): \n');?
[Wdr,Hdr,edr,lam] = multiNMFbeta(V,r,options);% Display errors
display('Values of scaled objective functions:');?
fprintf('IS error for IS-NMF = %2.2f, KL error for IS-NMF = %2.2f\n', 1,eis(2,end)/ekl(2,end));?
fprintf('IS error for KL-NMF = %2.2f, KL error for KL-NMF = %2.2f\n', ekl(1,end)/eis(1,end),1);?
fprintf('IS error for DR-NMF = %2.2f, KL error for DR-NMF = %2.2f\n', edr(1,end),edr(2,end));?
fprintf('******************************************************************************\n')% Plot errors?
% Display
set(0, 'DefaultAxesFontSize', 9);
set(0, 'DefaultLineLineWidth', 2);
figure;?
plot( ?(eis.*repmat(options.scalings,1,size(eis,2)))' ); hold on;?
plot( ?(ekl.*repmat(options.scalings,1,size(ekl,2)))','-.');?
plot( ?edr' ,'o--');?
legend('IS error for IS-NMF', 'KL error for IS-NMF', ...?
? ? ? ? 'IS error for KL-NMF', 'KL error for KL-NMF', ...?
? ? ? ? 'IS error for DR-NMF', 'KL error for DR-NMF');
axis([0 100 0.95 10]);
xlabel('Iterations');?
title(sprintf('Comparison of IS-NMF, KL-NMF and DR-NMF \n ?for rank-4 NMF of the audio dataset \n `Mary had a little lamb'''));?
saveas(gcf, '../results/fig_Mary.png')
?
??3?參考文獻(xiàn)
部分理論來源于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除。文章來源:http://www.zghlxwxcb.cn/news/detail-468719.html
??4 Matlab代碼、數(shù)據(jù)、文章講解
到了這里,關(guān)于【分布魯棒和多目標(biāo)非負(fù)矩陣分解】基于DR-NMF的對NMF問題噪聲模型的識別魯棒性研究(Matlab代碼實現(xiàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!