Research Article

Bayesian Inference for Nonnegative Matrix Factorisation Models

Algorithm 2

Gibbs sampler for nonnegative matrix factorisation.
(1) Initialize:
T(0)=~𝒢(·;At,Bt)V(0)~𝒢(·;Av,Bv)
(2) for n=1 MAXITER do
(3) Sample Sources
(4) for τ=1K,ν=1W do
(5) pν,1:I,τ(n)=T(n1)(ν,1:I).*V(n1)(1:I,τ)./(T(n1)(ν,1:I)V(n1)(1:I,τ))
(6) S(n)(ν,1:I,τ)~(sν,1:I,τ;xν,τ,pν,1:I,τ(n))
(7) end for
Σt(n)=τSν,i,τ(n)Σv(n)=νSν,i,τ(n)
(8) Sample Templates
αt(n)=At+Σt(n)βt(n)=1./(At./Bt+1W(V(n1)1K))
T(n)~𝒢(T;αt(n),βt(n))
(9) Sample Excitations
αv(n)=Av+Σv(n)βv(n)=1./(Av./Bv+(1WT(n1))1K)
V(n)~𝒢(V;αv(n),βv(n))
(10) end for