import com.aliasi.matrix.Vector; import com.aliasi.stats.AnnealingSchedule; import com.aliasi.stats.LogisticRegression; import com.aliasi.stats.RegressionPrior; public class RegularizationDemo { public static void main(String[] args) { for (double variance = 0.001; variance <= 1000; variance *= 2.0) { System.out.println("\n\nVARIANCE=" + variance); evaluate(RegressionPrior.laplace(variance,true)); evaluate(RegressionPrior.gaussian(variance,true)); evaluate(RegressionPrior.cauchy(variance,true)); } } static void evaluate(RegressionPrior prior) { System.out.println("\nPrior=" + prior); LogisticRegression regression = LogisticRegression.estimate(WalletProblem.INPUTS, WalletProblem.OUTPUTS, prior, AnnealingSchedule.inverse(.05,100), 0.0000001, 10, 5000, null); Vector[] betas = regression.weightVectors(); for (int i = 0; i < betas.length; ++i) { System.out.print(i + ") "); for (int k = 0; k < betas[i].numDimensions(); ++k) System.out.printf("%5.2f, ",betas[i].value(k)); System.out.println(); } } }