java.lang.Object
es.upm.fi.cig.multictbnc.learning.structure.optimisation.scores.AbstractLikelihood
es.upm.fi.cig.multictbnc.learning.structure.optimisation.scores.ctbn.CTBNConditionalLogLikelihood
All Implemented Interfaces:
CTBNScoreFunction

public class CTBNConditionalLogLikelihood extends AbstractLikelihood implements CTBNScoreFunction
Implements the conditional log-likelihood score for Multi-CTBNCs with nodes that have CPTs and CIMs to define its bridge and feature subgraph (represented by a CTBN). This score is used to perform a discriminative training.
  • Constructor Details

    • CTBNConditionalLogLikelihood

      public CTBNConditionalLogLikelihood(String penalisationFunction)
      Receives the name of the penalisation function for the structure complexity.
      Parameters:
      penalisationFunction - name of the penalisation function
  • Method Details

    • compute

      public double compute(CTBN<? extends Node> ctbn)
      Computes the (penalised) conditional log-likelihood score of a discrete continuous-time Bayesian network. This is based on the idea of optimising the conditional log-likelihood proposed by Friedman et al., 1997.
      Specified by:
      compute in interface CTBNScoreFunction
      Parameters:
      ctbn - a continuous-time Bayesian network
      Returns:
      score
    • compute

      public double compute(CTBN<? extends Node> ctbn, int nodeIndex)
      Description copied from interface: CTBNScoreFunction
      Computes the score of a continuous-time Bayesian network at a given node.
      Specified by:
      compute in interface CTBNScoreFunction
      Parameters:
      ctbn - a continuous-time Bayesian network
      nodeIndex - node index
      Returns:
      score
    • getIdentifier

      public String getIdentifier()
      Description copied from interface: CTBNScoreFunction
      Gets an identifier for the score function.
      Specified by:
      getIdentifier in interface CTBNScoreFunction
      Returns:
      identifier for the score function.
    • isDecomposable

      public boolean isDecomposable()
      Description copied from interface: CTBNScoreFunction
      Determines if the score is decomposable.
      Specified by:
      isDecomposable in interface CTBNScoreFunction
      Returns:
      true if the score is decomposable, false otherwise