public static final class DeepLearningV3.DeepLearningParametersV3 extends water.api.ModelParametersSchema<DeepLearningModel.DeepLearningParameters,DeepLearningV3.DeepLearningParametersV3>
Modifier and Type | Field and Description |
---|---|
DeepLearningModel.DeepLearningParameters.Activation |
activation
The activation function (non-linearity) to be used the neurons in the hidden layers.
|
boolean |
adaptive_rate
The implemented adaptive learning rate algorithm (ADADELTA) automatically
combines the benefits of learning rate annealing and momentum
training to avoid slow convergence.
|
boolean |
autoencoder |
double |
average_activation |
boolean |
balance_classes
For imbalanced data, balance training data class counts via
over/under-sampling.
|
water.api.KeyV3.ModelKeyV3 |
checkpoint
A model key associated with a previously trained Deep Learning
model.
|
float[] |
class_sampling_factors
Desired over/under-sampling ratios per class (lexicographic order).
|
double |
classification_stop
The stopping criteria in terms of classification error (1-accuracy) on the
training data scoring dataset.
|
boolean |
col_major |
boolean |
diagnostics
Gather diagnostics for hidden layers, such as mean and RMS values of learning
rate, momentum, weights and biases.
|
double |
epochs
The number of passes over the training dataset to be carried out.
|
double |
epsilon
The second of two hyper parameters for adaptive learning rate (ADADELTA).
|
boolean |
export_weights_and_biases |
boolean |
fast_mode
Enable fast mode (minor approximation in back-propagation), should not affect results significantly.
|
boolean |
force_load_balance
Increase training speed on small datasets by splitting it into many chunks
to allow utilization of all cores.
|
int[] |
hidden
The number and size of each hidden layer in the model.
|
double[] |
hidden_dropout_ratios
A fraction of the inputs for each hidden layer to be omitted from training in order
to improve generalization.
|
DeepLearningModel.DeepLearningParameters.InitialWeightDistribution |
initial_weight_distribution
The distribution from which initial weights are to be drawn.
|
double |
initial_weight_scale
The scale of the distribution function for Uniform or Normal distributions.
|
double |
input_dropout_ratio
A fraction of the features for each training row to be omitted from training in order
to improve generalization (dimension sampling).
|
double |
l1
A regularization method that constrains the absolute value of the weights and
has the net effect of dropping some weights (setting them to zero) from a model
to reduce complexity and avoid overfitting.
|
double |
l2
A regularization method that constrdains the sum of the squared
weights.
|
DeepLearningModel.DeepLearningParameters.Loss |
loss
The loss (error) function to be minimized by the model.
|
float |
max_after_balance_size
When classes are balanced, limit the resulting dataset size to the
specified multiple of the original dataset size.
|
int |
max_categorical_features |
int |
max_confusion_matrix_size
For classification models, the maximum size (in terms of classes) of
the confusion matrix for it to be printed.
|
int |
max_hit_ratio_k
The maximum number (top K) of predictions to use for hit ratio computation (for multi-class only, 0 to disable)
|
float |
max_w2
A maximum on the sum of the squared incoming weights into
any one neuron.
|
DeepLearningModel.DeepLearningParameters.MissingValuesHandling |
missing_values_handling |
double |
momentum_ramp
The momentum_ramp parameter controls the amount of learning for which momentum increases
(assuming momentum_stable is larger than momentum_start).
|
double |
momentum_stable
The momentum_stable parameter controls the final momentum value reached after momentum_ramp training samples.
|
double |
momentum_start
The momentum_start parameter controls the amount of momentum at the beginning of training.
|
boolean |
nesterov_accelerated_gradient
The Nesterov accelerated gradient descent method is a modification to
traditional gradient descent for convex functions.
|
boolean |
overwrite_with_best_model
If enabled, store the best model under the destination key of this model at the end of training.
|
static java.lang.String[] |
own_fields |
boolean |
quiet_mode
Enable quiet mode for less output to standard output.
|
double |
rate
When adaptive learning rate is disabled, the magnitude of the weight
updates are determined by the user specified learning rate
(potentially annealed), and are a function of the difference
between the predicted value and the target value.
|
double |
rate_annealing
Learning rate annealing reduces the learning rate to "freeze" into
local minima in the optimization landscape.
|
double |
rate_decay
The learning rate decay parameter controls the change of learning rate across layers.
|
double |
regression_stop
The stopping criteria in terms of regression error (MSE) on the training
data scoring dataset.
|
boolean |
replicate_training_data
Replicate the entire training dataset onto every node for faster training on small datasets.
|
boolean |
reproducible |
water.api.FrameV3.ColSpecifierV3 |
response_column |
double |
rho
The first of two hyper parameters for adaptive learning rate (ADADELTA).
|
double |
score_duty_cycle
Maximum fraction of wall clock time spent on model scoring on training and validation samples,
and on diagnostics such as computation of feature importances (i.e., not on training).
|
double |
score_interval
The minimum time (in seconds) to elapse between model scoring.
|
long |
score_training_samples
The number of training dataset points to be used for scoring.
|
long |
score_validation_samples
The number of validation dataset points to be used for scoring.
|
DeepLearningModel.DeepLearningParameters.ClassSamplingMethod |
score_validation_sampling
Method used to sample the validation dataset for scoring, see Score Validation Samples above.
|
long |
seed
The random seed controls sampling and initialization.
|
boolean |
shuffle_training_data
Enable shuffling of training data (on each node).
|
boolean |
single_node_mode
Run on a single node for fine-tuning of model parameters.
|
boolean |
sparse |
double |
sparsity_beta |
double |
target_ratio_comm_to_comp |
long |
train_samples_per_iteration
The number of training data rows to be processed per iteration.
|
boolean |
use_all_factor_levels |
boolean |
variable_importances
Whether to compute variable importances for input features.
|
Constructor and Description |
---|
DeepLearningV3.DeepLearningParametersV3() |
append_field_arrays, fields, fillFromImpl, fillImpl, writeParametersJSON
acceptsFrame, createAndFillImpl, createImpl, extractVersion, fillFromParms, getExperimentalVersion, getHighestSupportedVersion, getImplClass, getImplClass, getLatestVersion, getSchemaVersion, markdown, markdown, markdown, markdown, newInstance, register, registerAllSchemasIfNecessary, schema, schema, schema, schema, schema, schemaClass, schemaClass, schemaClass, schemaClass, schemas
public static java.lang.String[] own_fields
@API(help="Response column", is_member_of_frames={"training_frame","validation_frame"}, is_mutually_exclusive_with="ignored_columns", direction=INOUT) public water.api.FrameV3.ColSpecifierV3 response_column
@API(help="Balance training data class counts via over/under-sampling (for imbalanced data).", level=secondary, direction=INOUT) public boolean balance_classes
@API(help="Desired over/under-sampling ratios per class (in lexicographic order). If not specified, sampling factors will be automatically computed to obtain class balance during training. Requires balance_classes.", level=expert, direction=INOUT) public float[] class_sampling_factors
@API(help="Maximum relative size of the training data after balancing class counts (can be less than 1.0). Requires balance_classes.", level=expert, direction=INOUT) public float max_after_balance_size
@API(help="Maximum size (# classes) for confusion matrices to be printed in the Logs", level=secondary, direction=INOUT) public int max_confusion_matrix_size
@API(help="Max. number (top K) of predictions to use for hit ratio computation (for multi-class only, 0 to disable)", level=secondary, direction=INOUT) public int max_hit_ratio_k
@API(help="Model checkpoint to resume training with", level=secondary, direction=INOUT) public water.api.KeyV3.ModelKeyV3 checkpoint
@API(help="If enabled, override the final model with the best model found during training", level=expert, direction=INOUT) public boolean overwrite_with_best_model
@API(help="Auto-Encoder", level=secondary, direction=INOUT) public boolean autoencoder
@API(help="Use all factor levels of categorical variables. Otherwise, the first factor level is omitted (without loss of accuracy). Useful for variable importances and auto-enabled for autoencoder.", level=secondary, direction=INOUT) public boolean use_all_factor_levels
@API(help="Activation function", values={"Tanh","TanhWithDropout","Rectifier","RectifierWithDropout","Maxout","MaxoutWithDropout"}, level=critical, direction=INOUT) public DeepLearningModel.DeepLearningParameters.Activation activation
@API(help="Hidden layer sizes (e.g. 100,100).", level=critical, direction=INOUT) public int[] hidden
@API(help="How many times the dataset should be iterated (streamed), can be fractional", level=critical, direction=INOUT) public double epochs
@API(help="Number of training samples (globally) per MapReduce iteration. Special values are 0: one epoch, -1: all available data (e.g., replicated training data), -2: automatic", level=secondary, direction=INOUT) public long train_samples_per_iteration
@API(help="Target ratio of communication overhead to computation. Only for multi-node operation and train_samples_per_iteration=-2 (auto-tuning)", level=expert, direction=INOUT) public double target_ratio_comm_to_comp
@API(help="Seed for random numbers (affects sampling) - Note: only reproducible when running single threaded", level=expert, direction=INOUT) public long seed
@API(help="Adaptive learning rate", level=secondary, direction=INOUT) public boolean adaptive_rate
@API(help="Adaptive learning rate time decay factor (similarity to prior updates)", level=expert, direction=INOUT) public double rho
@API(help="Adaptive learning rate smoothing factor (to avoid divisions by zero and allow progress)", level=expert, direction=INOUT) public double epsilon
@API(help="Learning rate (higher => less stable, lower => slower convergence)", level=expert, direction=INOUT) public double rate
@API(help="Learning rate annealing: rate / (1 + rate_annealing * samples)", level=expert, direction=INOUT) public double rate_annealing
@API(help="Learning rate decay factor between layers (N-th layer: rate*alpha^(N-1))", level=expert, direction=INOUT) public double rate_decay
@API(help="Initial momentum at the beginning of training (try 0.5)", level=expert, direction=INOUT) public double momentum_start
@API(help="Number of training samples for which momentum increases", level=expert, direction=INOUT) public double momentum_ramp
@API(help="Final momentum after the ramp is over (try 0.99)", level=expert, direction=INOUT) public double momentum_stable
@API(help="Use Nesterov accelerated gradient (recommended)", level=expert, direction=INOUT) public boolean nesterov_accelerated_gradient
@API(help="Input layer dropout ratio (can improve generalization, try 0.1 or 0.2)", level=secondary, direction=INOUT) public double input_dropout_ratio
@API(help="Hidden layer dropout ratios (can improve generalization), specify one value per hidden layer, defaults to 0.5", level=secondary, direction=INOUT) public double[] hidden_dropout_ratios
@API(help="L1 regularization (can add stability and improve generalization, causes many weights to become 0)", level=secondary, direction=INOUT) public double l1
@API(help="L2 regularization (can add stability and improve generalization, causes many weights to be small", level=secondary, direction=INOUT) public double l2
@API(help="Constraint for squared sum of incoming weights per unit (e.g. for Rectifier)", level=expert, direction=INOUT) public float max_w2
@API(help="Initial Weight Distribution", values={"UniformAdaptive","Uniform","Normal"}, level=expert, direction=INOUT) public DeepLearningModel.DeepLearningParameters.InitialWeightDistribution initial_weight_distribution
@API(help="Uniform: -value...value, Normal: stddev)", level=expert, direction=INOUT) public double initial_weight_scale
@API(help="Loss function", values={"Automatic","CrossEntropy","MeanSquare","Huber","Absolute"}, required=false, level=secondary, direction=INOUT) public DeepLearningModel.DeepLearningParameters.Loss loss
@API(help="Shortest time interval (in secs) between model scoring", level=secondary, direction=INOUT) public double score_interval
@API(help="Number of training set samples for scoring (0 for all)", level=secondary, direction=INOUT) public long score_training_samples
@API(help="Number of validation set samples for scoring (0 for all)", level=secondary, direction=INOUT) public long score_validation_samples
@API(help="Maximum duty cycle fraction for scoring (lower: more training, higher: more scoring).", level=secondary, direction=INOUT) public double score_duty_cycle
@API(help="Stopping criterion for classification error fraction on training data (-1 to disable)", level=expert, direction=INOUT) public double classification_stop
@API(help="Stopping criterion for regression error (MSE) on training data (-1 to disable)", level=expert, direction=INOUT) public double regression_stop
@API(help="Enable quiet mode for less output to standard output", level=expert, direction=INOUT) public boolean quiet_mode
@API(help="Method used to sample validation dataset for scoring", values={"Uniform","Stratified"}, level=expert, direction=INOUT) public DeepLearningModel.DeepLearningParameters.ClassSamplingMethod score_validation_sampling
@API(help="Enable diagnostics for hidden layers", level=expert, direction=INOUT) public boolean diagnostics
@API(help="Compute variable importances for input features (Gedeon method) - can be slow for large networks", direction=INOUT) public boolean variable_importances
@API(help="Enable fast mode (minor approximation in back-propagation)", level=expert, direction=INOUT) public boolean fast_mode
@API(help="Force extra load balancing to increase training speed for small datasets (to keep all cores busy)", level=expert, direction=INOUT) public boolean force_load_balance
@API(help="Replicate the entire training dataset onto every node for faster training on small datasets", level=secondary, direction=INOUT) public boolean replicate_training_data
@API(help="Run on a single node for fine-tuning of model parameters", level=expert, direction=INOUT) public boolean single_node_mode
@API(help="Enable shuffling of training data (recommended if training data is replicated and train_samples_per_iteration is close to #nodes x #rows, of if using balance_classes)", level=expert, direction=INOUT) public boolean shuffle_training_data
@API(help="Handling of missing values. Either Skip or MeanImputation.", values={"Skip","MeanImputation"}, level=expert, direction=INOUT) public DeepLearningModel.DeepLearningParameters.MissingValuesHandling missing_values_handling
@API(help="Sparse data handling (Experimental).", level=expert, direction=INOUT) public boolean sparse
@API(help="Use a column major weight matrix for input layer. Can speed up forward propagation, but might slow down backpropagation (Experimental).", level=expert, direction=INOUT) public boolean col_major
@API(help="Average activation for sparse auto-encoder (Experimental)", level=expert, direction=INOUT) public double average_activation
@API(help="Sparsity regularization (Experimental)", level=expert, direction=INOUT) public double sparsity_beta
@API(help="Max. number of categorical features, enforced via hashing (Experimental)", level=expert, direction=INOUT) public int max_categorical_features
@API(help="Force reproducibility on small data (will be slow - only uses 1 thread)", level=expert, direction=INOUT) public boolean reproducible
@API(help="Whether to export Neural Network weights and biases to H2O Frames", level=expert, direction=INOUT) public boolean export_weights_and_biases