public void setLowerInterval(double val) { this.ef_TExpP.setLowerInterval(val); }
public void setUpperInterval(double val) { this.ef_TExpP.setUpperInterval(val); } public void setLowerInterval(double val) {
this.ef_TExpP.getNaturalParameters().set(0,delta); this.ef_TExpP.updateMomentFromNaturalParameters(); this.ef_TExpQ[i].setUpperInterval(this.ef_TExpP.getUpperInterval()); this.ef_TExpQ[i].setLowerInterval(this.ef_TExpP.getLowerInterval()); lambda[i] = this.ef_TExpQ[i].getMomentParameters().get(0); ef_TExpQ[i].getNaturalParameters().set(0, - kl_q_pt_1[i] + kl_q_p0[i] + this.ef_TExpP.getNaturalParameters().get(0)); ef_TExpQ[i].fixNumericalInstability(); ef_TExpQ[i].updateMomentFromNaturalParameters(); newELBO-=this.ef_TExpQ[i].kl(this.ef_TExpP.getNaturalParameters(),this.ef_TExpP.computeLogNormalizer());
public double[][] getLambdaMomentParameters(){ double[][] out = new double[this.ef_TExpQ.length][maxsize]; for (int i = 0; i < out.length; i++) { for (int j = 0; j < out[i].length; j++) { out[i][j] = this.ef_TExpQ[i][j].getMomentParameters().get(0); } } return out; }
public double[][] getLambdaNaturalParameters(){ double[][] out = new double[this.ef_TExpQ.length][maxsize]; for (int i = 0; i < out.length; i++) { for (int j = 0; j < out[i].length; j++) { out[i][j] = this.ef_TExpQ[i][j].getNaturalParameters().get(0); } } return out; }
this.ef_TExpP.getNaturalParameters().set(0,delta); this.ef_TExpP.updateMomentFromNaturalParameters(); for (int j = 0; j < this.ef_TExpQ[i].length; j++) { this.ef_TExpQ[i][j] = truncatedExpVar.getDistributionType().newEFUnivariateDistribution(this.getDelta()); this.ef_TExpQ[i][j].setUpperInterval(this.ef_TExpP.getUpperInterval()); this.ef_TExpQ[i][j].setLowerInterval(this.ef_TExpP.getLowerInterval()); for (int i = 0; i < lambda.length; i++) { for (int j = 0; j < lambda[i].length; j++) { lambda[i][j] = this.ef_TExpQ[i][j].getMomentParameters().get(0); ef_TExpQ[i][j].getNaturalParameters().set(0, - kl_q_pt_1[i][j] + kl_q_p0[i][j] + this.ef_TExpP.getNaturalParameters().get(0)); ef_TExpQ[i][j].fixNumericalInstability(); ef_TExpQ[i][j].updateMomentFromNaturalParameters(); newELBO-=this.ef_TExpQ[i][j].kl(this.ef_TExpP.getNaturalParameters(),this.ef_TExpP.computeLogNormalizer());
public double[] getLambdaMomentParameters(){ double[] out = new double[this.prior.getNumberOfBaseVectors()]; for (int i = 0; i < out.length; i++) { out[i] = this.ef_TExpQ[i].getMomentParameters().get(0); } return out; }
public double[] getLambdaNaturalParameters(){ double[] out = new double[this.prior.getNumberOfBaseVectors()]; for (int i = 0; i < out.length; i++) { out[i] = this.ef_TExpQ[i].getNaturalParameters().get(0); } return out; }
public void setUpperInterval(double val) { this.ef_TExpP.setUpperInterval(val); } public void setLowerInterval(double val) {
public void setLowerInterval(double val) { this.ef_TExpP.setLowerInterval(val); } int maxsize = 0;