From e0265b2c2be3173341bdc2ffacdb6847b30890f5 Mon Sep 17 00:00:00 2001 From: "trevor.cohn" Date: Tue, 13 Jul 2010 18:22:59 +0000 Subject: Cleaning up the PC model. git-svn-id: https://ws10smt.googlecode.com/svn/trunk@236 ec762483-ff6d-05da-a07a-a48fb63a330f --- .../gradientBasedMethods/AbstractGradientBaseMethod.java | 9 +++++---- .../prjava/src/optimization/projections/SimplexProjection.java | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'gi/posterior-regularisation/prjava/src/optimization') diff --git a/gi/posterior-regularisation/prjava/src/optimization/gradientBasedMethods/AbstractGradientBaseMethod.java b/gi/posterior-regularisation/prjava/src/optimization/gradientBasedMethods/AbstractGradientBaseMethod.java index 0a4a5445..2fcb7990 100644 --- a/gi/posterior-regularisation/prjava/src/optimization/gradientBasedMethods/AbstractGradientBaseMethod.java +++ b/gi/posterior-regularisation/prjava/src/optimization/gradientBasedMethods/AbstractGradientBaseMethod.java @@ -56,9 +56,10 @@ public abstract class AbstractGradientBaseMethod implements Optimizer{ stats.collectInitStats(this, o); direction = new double[o.getNumParameters()]; initializeStructures(o, stats, stop); - for (currentProjectionIteration = 1; currentProjectionIteration < maxNumberOfIterations; currentProjectionIteration++){ -// System.out.println("starting iterations: parameters:" ); -// o.printParameters(); + for (currentProjectionIteration = 1; currentProjectionIteration < maxNumberOfIterations; currentProjectionIteration++){ + //System.out.println("\tgradient descent iteration " + currentProjectionIteration); + //System.out.print("\tparameters:" ); + //o.printParameters(); previousValue = currValue; currValue = o.getValue(); gradient = o.getGradient(); @@ -76,7 +77,7 @@ public abstract class AbstractGradientBaseMethod implements Optimizer{ updateStructuresBeforeStep(o, stats, stop); lso.reset(direction); step = lineSearch.getStepSize(lso); -// System.out.println("Leave with step: " + step); + //System.out.println("\t\tLeave with step: " + step); if(step==-1){ System.out.println("Failed to find step"); stats.collectFinalStats(this, o); diff --git a/gi/posterior-regularisation/prjava/src/optimization/projections/SimplexProjection.java b/gi/posterior-regularisation/prjava/src/optimization/projections/SimplexProjection.java index eec11bcf..f22afcaf 100644 --- a/gi/posterior-regularisation/prjava/src/optimization/projections/SimplexProjection.java +++ b/gi/posterior-regularisation/prjava/src/optimization/projections/SimplexProjection.java @@ -40,7 +40,7 @@ public class SimplexProjection extends Projection{ for (int i = 0; i < ds.length; i++) { currentSum+=ds[i]; theta = (currentSum-scale)/(i+1); - if(ds[i]-theta <= 0){ + if(ds[i]-theta < -1e-10){ break; } previousTheta = theta; -- cgit v1.2.3