org.dllearner.algorithms.el
Class ELLearningAlgorithmDisjunctive

java.lang.Object
  extended by org.dllearner.core.AbstractComponent
      extended by org.dllearner.core.AbstractCELA
          extended by org.dllearner.algorithms.el.ELLearningAlgorithmDisjunctive
All Implemented Interfaces:
ClassExpressionLearningAlgorithm, Component, LearningAlgorithm, StoppableLearningAlgorithm

public class ELLearningAlgorithmDisjunctive
extends AbstractCELA

A learning algorithm for EL, which will based on an ideal refinement operator. The algorithm learns disjunctions of EL trees as follows: - given pos. and neg. examples, noise in %, min coverage per tree x % - it searches for an EL tree, which covers at least x % of all positive examples and at most (coverage_on_positives * noise) negative examples - the covered examples are removed from the pos. and neg. examples - termination: all(?) positive examples covered ev. besser: feste Suchzeiten pro Baum => es wird dann jeweils der beste Baum gewählt => Terminierung, wenn alles gecovered ist oder kein Baum mit ausreichender Qualität in dem Zeitfenster gefunden wird In contrast to many other algorithms, only one solution is returned. Additionally, the algorithm is not really an anytime algorithm, since the solution is constructed stepwise as a set of trees. Parameter optimisation: - runtime per tree: 10 seconds - tradeoff pos/neg: 1.0 1.2 1.4 1.6. 1.8 2.0 - min score: 0 -2.5 -5 -7.5 -10 - tests: 30 - runtime per test: 200 seconds => 2000 seconds cross val => 60000 seconds overall Next idea: - reduce tradeoff for each tree added (start with 2.0 and reduce by 0.1) - for the last tress it is not very important to cover less negatives - minimum is something between 0 and -1 (ensures that in the worst case as many positives as negatives are covered) - only high impact parameter is runtime (and maybe start tradeoff)

Author:
Jens Lehmann

Field Summary
 
Fields inherited from class org.dllearner.core.AbstractCELA
MAX_NR_OF_RESULTS
 
Constructor Summary
ELLearningAlgorithmDisjunctive(PosNegLP problem, AbstractReasonerComponent reasoner)
           
 
Method Summary
static Collection<ConfigOption<?>> createConfigOptions()
           
 Configurator getConfigurator()
          For each component, a configurator class is generated in package org.dllearner.core.configurators using the script { org.dllearner.scripts.ConfigJavaGenerator}.
 Description getCurrentlyBestDescription()
           
 EvaluatedDescription getCurrentlyBestEvaluatedDescription()
          Returns the best descriptions obtained so far.
static String getName()
           
 SearchTreeNode getStartNode()
           
 void init()
          Method to be called after the component has been configured.
 boolean isRunning()
          Returns whether the learning algorithm is running.
 void start()
          Starts the algorithm.
 void stop()
          Stops the algorithm gracefully.
static Collection<Class<? extends AbstractLearningProblem>> supportedLearningProblems()
           
 
Methods inherited from class org.dllearner.core.AbstractCELA
changeLearningProblem, changeReasonerComponent, getCurrentlyBestDescriptions, getCurrentlyBestDescriptions, getCurrentlyBestDescriptions, getCurrentlyBestEvaluatedDescriptions, getCurrentlyBestEvaluatedDescriptions, getCurrentlyBestEvaluatedDescriptions, getCurrentlyBestEvaluatedDescriptions, getCurrentlyBestMostGeneralEvaluatedDescriptions
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ELLearningAlgorithmDisjunctive

public ELLearningAlgorithmDisjunctive(PosNegLP problem,
                                      AbstractReasonerComponent reasoner)
Method Detail

getName

public static String getName()

supportedLearningProblems

public static Collection<Class<? extends AbstractLearningProblem>> supportedLearningProblems()

createConfigOptions

public static Collection<ConfigOption<?>> createConfigOptions()

getConfigurator

public Configurator getConfigurator()
Description copied from class: AbstractComponent
For each component, a configurator class is generated in package org.dllearner.core.configurators using the script { org.dllearner.scripts.ConfigJavaGenerator}. The configurator provides set and get methods for the configuration options of a component.

Specified by:
getConfigurator in class AbstractComponent
Returns:
An object allowing to configure this component.

init

public void init()
          throws ComponentInitException
Description copied from interface: Component
Method to be called after the component has been configured. Implementation of components can overwrite this method to perform setup and initialisation tasks for this component.

Throws:
ComponentInitException - This exception is thrown if any exceptions occur within the initialisation process of this component. As component developer, you are encouraged to rethrow occuring exception as ComponentInitException and giving an error message as well as the actualy exception by using the constructor ComponentInitException.ComponentInitException(String, Throwable).

start

public void start()
Description copied from interface: LearningAlgorithm
Starts the algorithm. It runs until paused, stopped, or a termination criterion has been reached.


stop

public void stop()
Description copied from interface: StoppableLearningAlgorithm
Stops the algorithm gracefully. A stopped algorithm cannot be resumed anymore. Use this method for cleanup and freeing memory.


isRunning

public boolean isRunning()
Description copied from interface: StoppableLearningAlgorithm
Returns whether the learning algorithm is running. Implementation should use a boolean status variable in their implementations of the start and resume methods.

Returns:
True if the algorithm is running, false otherwise.

getCurrentlyBestDescription

public Description getCurrentlyBestDescription()
Specified by:
getCurrentlyBestDescription in class AbstractCELA
Returns:
The best class description found by the learning algorithm so far.
See Also:
AbstractCELA.getCurrentlyBestEvaluatedDescription()

getCurrentlyBestEvaluatedDescription

public EvaluatedDescription getCurrentlyBestEvaluatedDescription()
Description copied from class: AbstractCELA
Returns the best descriptions obtained so far.

Specified by:
getCurrentlyBestEvaluatedDescription in class AbstractCELA
Returns:
Best class description found so far.

getStartNode

public SearchTreeNode getStartNode()
Returns:
the startNode


SourceForge.net Logo DL-Learner is licenced under the terms of the GNU General Public License.
Copyright © 2007-2011 Jens Lehmann