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; }
/** * {@inheritDoc} */ @Override public void initLearning() { super.initLearning(); truncatedExpVar = new Variables().newTruncatedExponential("TruncatedExponentialVar"); this.ef_TExpP = truncatedExpVar.getDistributionType().newEFUnivariateDistribution(this.getDelta()); prior = this.plateuStructure.getPlateauNaturalParameterPrior(); int size = prior.getNumberOfBaseVectors(); this.ef_TExpQ = new EF_TruncatedExponential[size]; for (int i = 0; i < size; i++) { this.ef_TExpQ[i] = truncatedExpVar.getDistributionType().newEFUnivariateDistribution(this.getDelta()); } firstBatch=true; }
for (int i = 0; i < prior.getNumberOfBaseVectors(); i++) { this.ef_TExpQ[i] = truncatedExpVar.getDistributionType().newEFUnivariateDistribution(this.getDelta()); this.ef_TExpQ[i].setUpperInterval(this.ef_TExpP.getUpperInterval()); double[] lambda = new double[prior.getNumberOfBaseVectors()]; for (int i = 0; i < lambda.length; i++) { lambda[i] = this.ef_TExpQ[i].getMomentParameters().get(0); double[] kl_q_p0 = new double[this.prior.getNumberOfBaseVectors()]; int count = 0; double[] kl_q_pt_1 = new double[this.prior.getNumberOfBaseVectors()]; count = 0;
/** * {@inheritDoc} */ @Override public void initLearning() { super.initLearning(); truncatedExpVar = new Variables().newTruncatedExponential("TruncatedExponentialVar"); this.ef_TExpP = truncatedExpVar.getDistributionType().newEFUnivariateDistribution(this.getDelta()); prior = this.plateuStructure.getPlateauNaturalParameterPrior(); for (Variable variable : this.plateuStructure.getNonReplicatedVariables()) { if (variable.getNumberOfStates()>maxsize) maxsize=variable.getNumberOfStates(); } this.ef_TExpQ = new EF_TruncatedExponential[prior.getNumberOfBaseVectors()][maxsize]; for (int i = 0; i < this.ef_TExpQ.length; i++) { for (int j = 0; j < this.ef_TExpQ[i].length; j++) { this.ef_TExpQ[i][j] = truncatedExpVar.getDistributionType().newEFUnivariateDistribution(this.getDelta()); } } firstBatch=true; }