contextFold.learn
Class Learn

java.lang.Object
  extended by contextFold.learn.Learn

public class Learn
extends java.lang.Object

Implements the machine-learning algorithm for inferring feature weight parameters. The learning algorithm is based on the algorithm which is described in Sections 8 and 9 of the paper:
Koby Crammer, Ofer Dekel, Joseph Keshet, Shai Shalev-Shwartz, and Yoram Singer. Online Passive-Aggressive Algorithms. Journal of Machine Learning Research 7 (2006) 551–585.


Field Summary
 java.io.PrintWriter output
           
 
Constructor Summary
Learn(FeatureManager featureManager, FoldEvaluator foldEvaluator, int kbest, LossCalculator lossCalculator)
           
 
Method Summary
 void costSensitivePAUpdate(RNA rna, int[] guessFold, int[] goldFold, float lt)
           
 float doIter(int iter, java.util.List<RNA> rnas, int averageEvery, int niters)
           
protected  int[][] getFolds(StructreElementsScorer Gs)
           
 void learn(int iters, java.util.List<RNA> rnas, java.lang.String weightsOutputFile, int averageEvery, boolean shuffle, float requiredImproveFactor, int maxNoImprovements, boolean keepIterationWeights)
           
 void updateKbest(int[][] guessFolds, int[] goldFold, float[] margins, int iter, int seqnum, int seqlen, RNA rna)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

output

public java.io.PrintWriter output
Constructor Detail

Learn

public Learn(FeatureManager featureManager,
             FoldEvaluator foldEvaluator,
             int kbest,
             LossCalculator lossCalculator)
Method Detail

getFolds

protected int[][] getFolds(StructreElementsScorer Gs)

doIter

public float doIter(int iter,
                    java.util.List<RNA> rnas,
                    int averageEvery,
                    int niters)

updateKbest

public void updateKbest(int[][] guessFolds,
                        int[] goldFold,
                        float[] margins,
                        int iter,
                        int seqnum,
                        int seqlen,
                        RNA rna)

costSensitivePAUpdate

public void costSensitivePAUpdate(RNA rna,
                                  int[] guessFold,
                                  int[] goldFold,
                                  float lt)

learn

public void learn(int iters,
                  java.util.List<RNA> rnas,
                  java.lang.String weightsOutputFile,
                  int averageEvery,
                  boolean shuffle,
                  float requiredImproveFactor,
                  int maxNoImprovements,
                  boolean keepIterationWeights)