AlgorithmSGD
1.initpa={w0,wm,vm,k,itr,K},m=1,...M,k=1,....K;
2.inputtr={X[n],Y[n]};,n=1,...N;
3.forit=1,...,pa.itrdo
4.forn=1,...,Ndo
5.calcϕ=F(X[n]|wm,vm,k,K);
6.ifupdatew0
7.calcg=−2Y[n]exp(−2Y[n]ϕ)1+exp(−2Y[n]ϕ);
8.w0=w0−ηg;
9.ifupdatewm
10.calcg=−2Y[n]exp(−2Y[n]ϕ)1+exp(−2Y[n]ϕ)xn,m;
11.wm=wm−ηg;
12.ifupdatevm,k
13.calcg=−2Y[n]exp(−2Y[n]ϕ)1+exp(−2Y[n]ϕ)(xn,m∑Mj=1vj,kxn,j−vm,kx2n,m);
14.vm,k=vm,k−ηg;
15.endfor
16.endfor