com.rapidminer.operator.learner.functions.kernel
Class RVMLearner

java.lang.Object
  extended by com.rapidminer.tools.AbstractObservable<Operator>
      extended by com.rapidminer.operator.Operator
          extended by com.rapidminer.operator.learner.AbstractLearner
              extended by com.rapidminer.operator.learner.functions.kernel.AbstractKernelBasedLearner
                  extended by com.rapidminer.operator.learner.functions.kernel.RVMLearner
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ResourceConsumer, CapabilityProvider, Learner, ParameterHandler, LoggingHandler, Observable<Operator>

public class RVMLearner
extends AbstractKernelBasedLearner

Relevance Vector Machine (RVM) Learner. The RVM is a probabilistic method both for classification and regression. The implementation of the relevance vector machine is based on the original algorithm described by Tipping/2001. The fast version of the marginal likelihood maximization (Tipping/Faul/2003) is also available if the parameter "rvm_type" is set to "Constructive-Regression-RVM".

Author:
Piotr Kasprzak, Ingo Mierswa
Keywords:
RVM

Field Summary
static java.lang.String[] KERNEL_TYPES
           
static java.lang.String PARAMETER_ALPHA_MAX
          The parameter name for "Prune basis function if its alpha is bigger than this"
static java.lang.String PARAMETER_KERNEL_A
          The parameter name for "The SVM kernel parameter a (neural).
static java.lang.String PARAMETER_KERNEL_B
          The parameter name for "The SVM kernel parameter b (neural).
static java.lang.String PARAMETER_KERNEL_BIAS
          The parameter name for "The bias used in the poly kernel.
static java.lang.String PARAMETER_KERNEL_DEGREE
          The parameter name for "The degree used in the poly kernel.
static java.lang.String PARAMETER_KERNEL_LENGTHSCALE
          The parameter name for "The lengthscale used in all kernels.
static java.lang.String PARAMETER_KERNEL_SHIFT
          The parameter name for "The SVM kernel parameter shift (polynomial, Multiquadric).
static java.lang.String PARAMETER_KERNEL_SIGMA1
          The parameter name for "The SVM kernel parameter sigma1 (Epanechnikov, Gaussian Combination, Multiquadric).
static java.lang.String PARAMETER_KERNEL_SIGMA2
          The parameter name for "The SVM kernel parameter sigma2 (Gaussian Combination).
static java.lang.String PARAMETER_KERNEL_SIGMA3
          The parameter name for "The SVM kernel parameter sigma3 (Gaussian Combination).
static java.lang.String PARAMETER_KERNEL_TYPE
          The parameter name for "The type of the kernel functions.
static java.lang.String PARAMETER_MAX_ITERATION
          The parameter name for "The maximum number of iterations used.
static java.lang.String PARAMETER_MIN_DELTA_LOG_ALPHA
          The parameter name for "Abort iteration if largest log alpha change is smaller than this"
static java.lang.String PARAMETER_RVM_TYPE
          The parameter name for "Regression RVM"
static java.lang.String[] RVM_TYPES
           
 
Fields inherited from interface com.rapidminer.operator.learner.CapabilityProvider
PROPERTY_RAPIDMINER_GENERAL_CAPABILITIES_WARN
 
Constructor Summary
RVMLearner(OperatorDescription description)
           
 
Method Summary
 KernelBasisFunction[] createKernels(double[][] x, int numKernels)
          Create the appropriate kernel functions depending on the ui settings.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 Model learn(ExampleSet exampleSet)
          Trains a model.
 boolean supportsCapability(OperatorCapability lc)
          Checks for Learner capabilities.
 
Methods inherited from class com.rapidminer.operator.learner.functions.kernel.AbstractKernelBasedLearner
getModelClass
 
Methods inherited from class com.rapidminer.operator.learner.AbstractLearner
canCalculateWeights, canEstimatePerformance, doWork, doWork, getEstimatedPerformance, getExampleSetInputPort, getOptimizationPerformance, getWeightCalculationError, getWeights, getWeights, onlyWarnForNonSufficientCapabilities, shouldAutoConnect, shouldCalculateWeights, shouldDeliverOptimizationPerformance, shouldEstimatePerformance
 
Methods inherited from class com.rapidminer.operator.Operator
acceptsInput, addError, addError, addValue, addWarning, apply, apply, assumePreconditionsSatisfied, checkAll, checkAllExcludingMetaData, checkDeprecations, checkForStop, checkIO, checkProperties, clear, clearErrorList, cloneOperator, collectErrors, createExperimentTree, createExperimentTree, createFromXML, createFromXML, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, createProcessTree, disconnectPorts, execute, fireUpdate, freeMemory, getAddOnlyAdditionalOutput, getApplyCount, getCompatibilityLevel, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getDOMRepresentation, getEncoding, getErrorList, getExecutionUnit, getExperiment, getIncompatibleVersionChanges, getInput, getInput, getInput, getInputClasses, getInputDescription, getInputPorts, getIODescription, getLog, getLogger, getName, getNumberOfBreakpoints, getOperatorClassName, getOperatorDescription, getOutputClasses, getOutputPorts, getParameter, getParameterAsBoolean, getParameterAsChar, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsRepositoryLocation, getParameterAsString, getParameterHandler, getParameterList, getParameters, getParameterTupel, getParameterType, getParent, getPortOwner, getProcess, getResourceConsumptionEstimator, getRoot, getStartTime, getTransformer, getUserDescription, getValue, getValues, getXML, getXML, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isDirty, isEnabled, isExpanded, isParallel, isParameterSet, isRunning, log, log, logError, logNote, logWarning, lookupOperator, makeDirty, makeDirtyOnUpdate, notifyRenaming, performAdditionalChecks, preAutoWire, processFinished, processStarts, producesOutput, propagateDirtyness, register, registerOperator, remove, removeAndKeepConnections, rename, resume, setBreakpoint, setCompatibilityLevel, setEnabled, setEnclosingProcess, setExpanded, setInput, setListParameter, setPairParameter, setParameter, setParameters, setUserDescription, shouldAutoConnect, shouldStopStandaloneExecution, toString, transformMetaData, unregisterOperator, updateExecutionOrder, walk, writeXML, writeXML
 
Methods inherited from class com.rapidminer.tools.AbstractObservable
addObserver, addObserverAsFirst, fireUpdate, removeObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.rapidminer.operator.learner.Learner
getName
 

Field Detail

PARAMETER_RVM_TYPE

public static final java.lang.String PARAMETER_RVM_TYPE
The parameter name for "Regression RVM"

See Also:
Constant Field Values

PARAMETER_KERNEL_TYPE

public static final java.lang.String PARAMETER_KERNEL_TYPE
The parameter name for "The type of the kernel functions."

See Also:
Constant Field Values

PARAMETER_MAX_ITERATION

public static final java.lang.String PARAMETER_MAX_ITERATION
The parameter name for "The maximum number of iterations used."

See Also:
Constant Field Values

PARAMETER_MIN_DELTA_LOG_ALPHA

public static final java.lang.String PARAMETER_MIN_DELTA_LOG_ALPHA
The parameter name for "Abort iteration if largest log alpha change is smaller than this"

See Also:
Constant Field Values

PARAMETER_ALPHA_MAX

public static final java.lang.String PARAMETER_ALPHA_MAX
The parameter name for "Prune basis function if its alpha is bigger than this"

See Also:
Constant Field Values

PARAMETER_KERNEL_LENGTHSCALE

public static final java.lang.String PARAMETER_KERNEL_LENGTHSCALE
The parameter name for "The lengthscale used in all kernels."

See Also:
Constant Field Values

PARAMETER_KERNEL_DEGREE

public static final java.lang.String PARAMETER_KERNEL_DEGREE
The parameter name for "The degree used in the poly kernel."

See Also:
Constant Field Values

PARAMETER_KERNEL_BIAS

public static final java.lang.String PARAMETER_KERNEL_BIAS
The parameter name for "The bias used in the poly kernel."

See Also:
Constant Field Values

PARAMETER_KERNEL_SIGMA1

public static final java.lang.String PARAMETER_KERNEL_SIGMA1
The parameter name for "The SVM kernel parameter sigma1 (Epanechnikov, Gaussian Combination, Multiquadric)."

See Also:
Constant Field Values

PARAMETER_KERNEL_SIGMA2

public static final java.lang.String PARAMETER_KERNEL_SIGMA2
The parameter name for "The SVM kernel parameter sigma2 (Gaussian Combination)."

See Also:
Constant Field Values

PARAMETER_KERNEL_SIGMA3

public static final java.lang.String PARAMETER_KERNEL_SIGMA3
The parameter name for "The SVM kernel parameter sigma3 (Gaussian Combination)."

See Also:
Constant Field Values

PARAMETER_KERNEL_SHIFT

public static final java.lang.String PARAMETER_KERNEL_SHIFT
The parameter name for "The SVM kernel parameter shift (polynomial, Multiquadric)."

See Also:
Constant Field Values

PARAMETER_KERNEL_A

public static final java.lang.String PARAMETER_KERNEL_A
The parameter name for "The SVM kernel parameter a (neural)."

See Also:
Constant Field Values

PARAMETER_KERNEL_B

public static final java.lang.String PARAMETER_KERNEL_B
The parameter name for "The SVM kernel parameter b (neural)."

See Also:
Constant Field Values

RVM_TYPES

public static final java.lang.String[] RVM_TYPES

KERNEL_TYPES

public static final java.lang.String[] KERNEL_TYPES
Constructor Detail

RVMLearner

public RVMLearner(OperatorDescription description)
Method Detail

supportsCapability

public boolean supportsCapability(OperatorCapability lc)
Description copied from interface: CapabilityProvider
Checks for Learner capabilities. Should return true if the given capability is supported.


learn

public Model learn(ExampleSet exampleSet)
            throws OperatorException
Description copied from interface: Learner
Trains a model. This method should be called by apply() and is implemented by subclasses.

Throws:
OperatorException

createKernels

public KernelBasisFunction[] createKernels(double[][] x,
                                           int numKernels)
                                    throws OperatorException
Create the appropriate kernel functions depending on the ui settings.

Throws:
OperatorException

getParameterTypes

public java.util.List<ParameterType> getParameterTypes()
Description copied from class: Operator
Returns a list of ParameterTypes describing the parameters of this operator. The default implementation returns an empty list if no input objects can be retained and special parameters for those input objects which can be prevented from being consumed. ATTENTION! This will create new parameterTypes. For calling already existing parameter types use getParameters().getParameterTypes();

Specified by:
getParameterTypes in interface ParameterHandler
Overrides:
getParameterTypes in class Operator


Copyright © 2001-2009 by Rapid-I