com.rapidminer.operator.learner.functions.neuralnet
Class SimpleNeuralNetLearner

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.learner.AbstractLearner
          extended by com.rapidminer.operator.learner.functions.neuralnet.SimpleNeuralNetLearner
All Implemented Interfaces:
ConfigurationListener, PreviewListener, Learner, ParameterHandler, LoggingHandler

public class SimpleNeuralNetLearner
extends AbstractLearner

This operator learns a model by means of a feed-forward neural network. The learning is done via backpropagation. The user can define the structure of the neural network in two different ways according to the setting of the parameter define_different_hidden_layers. If different hidden layers are defined, the parameter hidden_layer_sizes must be set to a comma separated list of the sizes of all hidden layers, e.g. 3,7,5. If no different hidden layers are defined, the parameters for the default hidden layers are used. A size value of -1 or 0 indicates that the layer size should be calculated from the number of attributes of the input example set. In this case, the layer size will be set to (number of attributes + number of classes) / 2 + 1. All layers have a sigmoid activation function.

If the user does not specify any hidden layers, a default hidden layer with size (number of attributes + number of classes) / 2 + 1 will be created and added to the net.

Author:
Ingo Mierswa
Keywords:
Neural Net

Field Summary
static java.lang.String PARAMETER_DEFAULT_HIDDEN_LAYER_SIZE
          The parameter name for "The default size of hidden layers.
static java.lang.String PARAMETER_DEFAULT_NUMBER_OF_HIDDEN_LAYERS
          The parameter name for "The number of hidden layers.
static java.lang.String PARAMETER_DEFINE_DIFFERENT_HIDDEN_LAYERS
           
static java.lang.String PARAMETER_ERROR_EPSILON
          The parameter name for "The optimization is stopped if the training error gets below this epsilon value.
static java.lang.String PARAMETER_HIDDEN_LAYER_SIZES
           
static java.lang.String PARAMETER_LEARNING_RATE
          The parameter name for "The learning rate determines by how much we change the weights at each step.
static java.lang.String PARAMETER_LOCAL_RANDOM_SEED
          The parameter name for "Use the given random seed instead of global random numbers (-1: use global)"
static java.lang.String PARAMETER_MOMENTUM
          The parameter name for "The momentum simply adds a fraction of the previous weight update to the current one (prevent local maxima and smoothes optimization directions).
static java.lang.String PARAMETER_TRAINING_CYCLES
          The parameter name for "The number of training cycles used for the neural network training.
 
Fields inherited from class com.rapidminer.operator.learner.AbstractLearner
PROPERTY_RAPIDMINER_GENERAL_CAPABILITIES_WARN
 
Constructor Summary
SimpleNeuralNetLearner(OperatorDescription description)
           
 
Method Summary
 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(LearnerCapability lc)
          Returns true for all types of attributes and numerical and binominal labels.
 
Methods inherited from class com.rapidminer.operator.learner.AbstractLearner
apply, getEstimatedPerformance, getInputClasses, getInputDescription, getOptimizationPerformance, getOutputClasses, getWeights, onlyWarnForNonSufficientCapabilities, shouldCalculateWeights, shouldDeliverOptimizationPerformance, shouldEstimatePerformance
 
Methods inherited from class com.rapidminer.operator.Operator
addError, addValue, addWarning, apply, checkDeprecations, checkForStop, checkIO, checkProperties, clearErrorList, cloneOperator, createExperimentTree, createExperimentTree, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, createProcessTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getEncoding, getErrorList, getExperiment, getInnerOperatorsXML, getInput, getInput, getInput, getIOContainerForInApplyLoopBreakpoint, getIODescription, getLog, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getProcess, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isEnabled, isExpanded, isParallel, isParameterSet, log, logError, logNote, logWarning, performAdditionalChecks, processFinished, processStarts, register, registerOperator, remove, rename, resume, setApplyCount, setBreakpoint, setEnabled, setExpanded, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, unregisterOperator, writeXML
 
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_DEFINE_DIFFERENT_HIDDEN_LAYERS

public static final java.lang.String PARAMETER_DEFINE_DIFFERENT_HIDDEN_LAYERS
See Also:
Constant Field Values

PARAMETER_HIDDEN_LAYER_SIZES

public static final java.lang.String PARAMETER_HIDDEN_LAYER_SIZES
See Also:
Constant Field Values

PARAMETER_DEFAULT_NUMBER_OF_HIDDEN_LAYERS

public static final java.lang.String PARAMETER_DEFAULT_NUMBER_OF_HIDDEN_LAYERS
The parameter name for "The number of hidden layers. Only used if no layers are defined by the list hidden_layer_types."

See Also:
Constant Field Values

PARAMETER_DEFAULT_HIDDEN_LAYER_SIZE

public static final java.lang.String PARAMETER_DEFAULT_HIDDEN_LAYER_SIZE
The parameter name for "The default size of hidden layers. Only used if no layers are defined by the list hidden_layer_types. -1 means size (number of attributes + number of classes) / 2"

See Also:
Constant Field Values

PARAMETER_TRAINING_CYCLES

public static final java.lang.String PARAMETER_TRAINING_CYCLES
The parameter name for "The number of training cycles used for the neural network training."

See Also:
Constant Field Values

PARAMETER_LEARNING_RATE

public static final java.lang.String PARAMETER_LEARNING_RATE
The parameter name for "The learning rate determines by how much we change the weights at each step."

See Also:
Constant Field Values

PARAMETER_MOMENTUM

public static final java.lang.String PARAMETER_MOMENTUM
The parameter name for "The momentum simply adds a fraction of the previous weight update to the current one (prevent local maxima and smoothes optimization directions)."

See Also:
Constant Field Values

PARAMETER_ERROR_EPSILON

public static final java.lang.String PARAMETER_ERROR_EPSILON
The parameter name for "The optimization is stopped if the training error gets below this epsilon value."

See Also:
Constant Field Values

PARAMETER_LOCAL_RANDOM_SEED

public static final java.lang.String PARAMETER_LOCAL_RANDOM_SEED
The parameter name for "Use the given random seed instead of global random numbers (-1: use global)"

See Also:
Constant Field Values
Constructor Detail

SimpleNeuralNetLearner

public SimpleNeuralNetLearner(OperatorDescription description)
Method Detail

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

supportsCapability

public boolean supportsCapability(LearnerCapability lc)
Returns true for all types of attributes and numerical and binominal labels.


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.

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


Copyright © 2001-2009 by Rapid-I