edu.cmu.minorthird.classify.ranking
Class ListNet

java.lang.Object
  extended by edu.cmu.minorthird.classify.BatchClassifierLearner
      extended by edu.cmu.minorthird.classify.BatchBinaryClassifierLearner
          extended by edu.cmu.minorthird.classify.ranking.BatchRankingLearner
              extended by edu.cmu.minorthird.classify.ranking.ListNet
All Implemented Interfaces:
BinaryClassifierLearner, ClassifierLearner, java.lang.Cloneable

public class ListNet
extends BatchRankingLearner

Implements the Listwise Ranking algorithm proposed at: Learning to Rank: From Pairwise Approach to Listwise Approach, ICML 2007. Zhe Cao, Tao Qin, Tie-Yan Liu, Ming-Feng Tsai, Hang Li. Only works for binary relevance levels (i.e., revelant vs non-revevant)

Author:
Vitor R. Carvalho

Field Summary
 
Fields inherited from class edu.cmu.minorthird.classify.BatchClassifierLearner
classifier, dataset
 
Constructor Summary
ListNet()
           
ListNet(int numEpochs)
           
ListNet(int epochs, double rate)
           
 
Method Summary
 Classifier batchTrain(Dataset data)
          subclasses should use this method to implement a batch supervised learning algorithm.
 double crossEntropy(double[] base, double[] b)
          Calculates Equation (3): cross entropy between a "base" distribution and another one.
 void setDevData(Dataset data)
           
 void setLearnRate()
           
 
Methods inherited from class edu.cmu.minorthird.classify.ranking.BatchRankingLearner
listsWithOneExampleEach, sortByScore, splitIntoRankings
 
Methods inherited from class edu.cmu.minorthird.classify.BatchBinaryClassifierLearner
batchTrainBinary, getBinaryClassifier, getSchema, setSchema
 
Methods inherited from class edu.cmu.minorthird.classify.BatchClassifierLearner
addExample, completeTraining, copy, getClassifier, hasNextQuery, nextQuery, reset, setInstancePool
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.cmu.minorthird.classify.ClassifierLearner
addExample, completeTraining, copy, getClassifier, hasNextQuery, nextQuery, reset, setInstancePool
 

Constructor Detail

ListNet

public ListNet()

ListNet

public ListNet(int numEpochs)

ListNet

public ListNet(int epochs,
               double rate)
Method Detail

setDevData

public void setDevData(Dataset data)

batchTrain

public Classifier batchTrain(Dataset data)
Description copied from class: BatchClassifierLearner
subclasses should use this method to implement a batch supervised learning algorithm.

Specified by:
batchTrain in class BatchClassifierLearner

crossEntropy

public double crossEntropy(double[] base,
                           double[] b)
Calculates Equation (3): cross entropy between a "base" distribution and another one.


setLearnRate

public void setLearnRate()