private void findParameters(int iterations) throws IOException { display("Performing " + iterations + " iterations.\n"); for (int i = 1; i <= iterations; i++) { if (i < 10) display(" " + i + ": "); else if (i < 100) display(" " + i + ": "); else display(i + ": "); nextIteration(i); } if (useAverage) { trainingStats(averageParams); } else { trainingStats(params); } }
@Override public void validate() { super.validate(); String algorithmName = getAlgorithm(); if (algorithmName != null) { if (!PERCEPTRON_SEQUENCE_VALUE.equals(algorithmName)) { throw new IllegalArgumentException("algorithmName must be PERCEPTRON_SEQUENCE"); } } }
public AbstractModel doTrain(SequenceStream events) throws IOException { int iterations = getIterations(); int cutoff = getCutoff(); boolean useAverage = trainingParameters.getBooleanParameter("UseAverage", true); return trainModel(iterations, events, cutoff, useAverage); }
display("Incorporating indexed data for training... \n"); this.useAverage = useAverage; numEvents = di.getNumEvents(); display("done.\n"); display("\tNumber of Event Tokens: " + numEvents + "\n"); display("\t Number of Outcomes: " + numOutcomes + "\n"); display("\t Number of Predicates: " + numPreds + "\n"); display("Computing model parameters...\n"); findParameters(iterations); display("...done.\n");
private void trainingStats(MutableContext[] params) throws IOException { int numCorrect = 0; int oei = 0; sequenceStream.reset(); Sequence sequence; while ((sequence = sequenceStream.read()) != null) { Event[] taggerEvents = sequenceStream.updateContext(sequence, new PerceptronModel(params,predLabels,outcomeLabels)); for (int ei = 0; ei < taggerEvents.length; ei++, oei++) { int max = omap.get(taggerEvents[ei].getOutcome()); if (max == outcomeList[oei]) { numCorrect ++; } } } display(". (" + numCorrect + "/" + numEvents + ") " + ((double) numCorrect / numEvents) + "\n"); } }
@Deprecated @Override public boolean isValid() { try { validate(); return true; } catch (IllegalArgumentException e) { return false; } }
display("Incorporating indexed data for training... \n"); this.useAverage = useAverage; numEvents = di.getNumEvents(); display("done.\n"); display("\tNumber of Event Tokens: " + numEvents + "\n"); display("\t Number of Outcomes: " + numOutcomes + "\n"); display("\t Number of Predicates: " + numPreds + "\n"); display("Computing model parameters...\n"); findParameters(iterations); display("...done.\n");
display(". (" + numCorrect + "/" + numEvents + ") " + ((double) numCorrect / numEvents) + "\n");
@Deprecated @Override public boolean isValid() { try { validate(); return true; } catch (IllegalArgumentException e) { return false; } }
public AbstractModel doTrain(SequenceStream events) throws IOException { int iterations = getIterations(); int cutoff = getCutoff(); boolean useAverage = trainingParameters.getBooleanParameter("UseAverage", true); return trainModel(iterations, events, cutoff, useAverage); }
private void findParameters(int iterations) throws IOException { display("Performing " + iterations + " iterations.\n"); for (int i = 1; i <= iterations; i++) { if (i < 10) display(" " + i + ": "); else if (i < 100) display(" " + i + ": "); else display(i + ": "); nextIteration(i); } if (useAverage) { trainingStats(averageParams); } else { trainingStats(params); } }
display("Incorporating indexed data for training... \n"); this.useAverage = useAverage; numEvents = di.getNumEvents(); display("done.\n"); display("\tNumber of Event Tokens: " + numEvents + "\n"); display("\t Number of Outcomes: " + numOutcomes + "\n"); display("\t Number of Predicates: " + numPreds + "\n"); display("Computing model parameters...\n"); findParameters(iterations); display("...done.\n");
private void trainingStats(MutableContext[] params) throws IOException { int numCorrect = 0; int oei = 0; sequenceStream.reset(); Sequence sequence; while ((sequence = sequenceStream.read()) != null) { Event[] taggerEvents = sequenceStream.updateContext(sequence, new PerceptronModel(params,predLabels,outcomeLabels)); for (int ei = 0; ei < taggerEvents.length; ei++, oei++) { int max = omap.get(taggerEvents[ei].getOutcome()); if (max == outcomeList[oei]) { numCorrect ++; } } } display(". (" + numCorrect + "/" + numEvents + ") " + ((double) numCorrect / numEvents) + "\n"); } }
@Override public void validate() { super.validate(); String algorithmName = getAlgorithm(); if (algorithmName != null) { if (!PERCEPTRON_SEQUENCE_VALUE.equals(algorithmName)) { throw new IllegalArgumentException("algorithmName must be PERCEPTRON_SEQUENCE"); } } }
@Deprecated @Override public boolean isValid() { try { validate(); return true; } catch (IllegalArgumentException e) { return false; } }
public AbstractModel doTrain(SequenceStream events) throws IOException { int iterations = getIterations(); int cutoff = getCutoff(); boolean useAverage = trainingParameters.getBooleanParameter("UseAverage", true); return trainModel(iterations, events, cutoff, useAverage); }
private void findParameters(int iterations) throws IOException { display("Performing " + iterations + " iterations.\n"); for (int i = 1; i <= iterations; i++) { if (i < 10) display(" " + i + ": "); else if (i < 100) display(" " + i + ": "); else display(i + ": "); nextIteration(i); } if (useAverage) { trainingStats(averageParams); } else { trainingStats(params); } }
private void trainingStats(MutableContext[] params) throws IOException { int numCorrect = 0; int oei = 0; sequenceStream.reset(); Sequence sequence; while ((sequence = sequenceStream.read()) != null) { Event[] taggerEvents = sequenceStream.updateContext(sequence, new PerceptronModel(params,predLabels,outcomeLabels)); for (int ei = 0; ei < taggerEvents.length; ei++, oei++) { int max = omap.get(taggerEvents[ei].getOutcome()); if (max == outcomeList[oei]) { numCorrect ++; } } } display(". (" + numCorrect + "/" + numEvents + ") " + ((double) numCorrect / numEvents) + "\n"); } }
@Override public void validate() { super.validate(); String algorithmName = getAlgorithm(); if (algorithmName != null) { if (!PERCEPTRON_SEQUENCE_VALUE.equals(algorithmName)) { throw new IllegalArgumentException("algorithmName must be PERCEPTRON_SEQUENCE"); } } }
display(". (" + numCorrect + "/" + numEvents + ") " + ((double) numCorrect / numEvents) + "\n");