public static final class DeepLearningV3.DeepLearningParametersV3 extends water.api.schemas3.ModelParametersSchemaV3<DeepLearningModel.DeepLearningParameters,DeepLearningV3.DeepLearningParametersV3>
Modifier and Type | Field and Description |
---|---|
DeepLearningModel.DeepLearningParameters.Activation |
activation
The activation function (non-linearity) to be used by 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.
|
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.
|
boolean |
elastic_averaging |
double |
elastic_averaging_moving_rate |
double |
elastic_averaging_regularization |
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.
|
static java.lang.String[] |
fields |
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.
|
water.api.schemas3.KeyV3.FrameKeyV3[] |
initial_biases |
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.
|
water.api.schemas3.KeyV3.FrameKeyV3[] |
initial_weights |
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 constrains 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.
|
float |
max_w2
A maximum on the sum of the squared incoming weights into
any one neuron.
|
int |
mini_batch_size |
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.
|
water.api.schemas3.KeyV3.ModelKeyV3 |
pretrained_autoencoder |
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 |
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 |
boolean |
standardize |
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.
|
auc_type, categorical_encoding, checkpoint, custom_distribution_func, custom_metric_func, distribution, export_checkpoints_dir, fold_assignment, fold_column, gainslift_bins, huber_alpha, ignore_const_cols, ignored_columns, keep_cross_validation_fold_assignment, keep_cross_validation_models, keep_cross_validation_predictions, max_categorical_levels, max_runtime_secs, model_id, nfolds, offset_column, parallelize_cross_validation, quantile_alpha, response_column, score_each_iteration, stopping_metric, stopping_rounds, stopping_tolerance, training_frame, tweedie_power, validation_frame, weights_column
Constructor and Description |
---|
DeepLearningParametersV3() |
append_field_arrays, extractDeclaredApiParameters, fields, fillFromImpl, fillImpl, getAdditionalParameters, writeParametersJSON
createAndFillImpl, createImpl, extractVersionFromSchemaName, fillFromAny, fillFromBody, fillFromImpl, fillFromImpl, fillFromParms, fillFromParms, fillFromParms, fillImpl, getImplClass, getImplClass, getSchemaName, getSchemaType, getSchemaVersion, init_meta, markdown, markdown, newInstance, newInstance, setField, setSchemaType_doNotCall
public static java.lang.String[] fields
@API(level=secondary, direction=INOUT, gridable=true, help="Balance training data class counts via over/under-sampling (for imbalanced data).") public boolean balance_classes
@API(level=expert, direction=INOUT, gridable=true, 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.") public float[] class_sampling_factors
@API(level=expert, direction=INOUT, gridable=false, help="Maximum relative size of the training data after balancing class counts (can be less than 1.0). Requires balance_classes.") public float max_after_balance_size
@API(level=secondary, direction=INOUT, gridable=false, help="[Deprecated] Maximum size (# classes) for confusion matrices to be printed in the Logs.") public int max_confusion_matrix_size
@API(level=critical, direction=INOUT, gridable=true, values={"Tanh","TanhWithDropout","Rectifier","RectifierWithDropout","Maxout","MaxoutWithDropout"}, help="Activation function.") public DeepLearningModel.DeepLearningParameters.Activation activation
@API(level=critical, direction=INOUT, gridable=true, help="Hidden layer sizes (e.g. [100, 100]).") public int[] hidden
@API(level=critical, direction=INOUT, gridable=true, help="How many times the dataset should be iterated (streamed), can be fractional.") public double epochs
@API(level=secondary, direction=INOUT, gridable=true, 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.") public long train_samples_per_iteration
@API(level=expert, direction=INOUT, gridable=true, help="Target ratio of communication overhead to computation. Only for multi-node operation and train_samples_per_iteration = -2 (auto-tuning).") public double target_ratio_comm_to_comp
@API(level=expert, direction=INOUT, gridable=true, help="Seed for random numbers (affects sampling) - Note: only reproducible when running single threaded.") public long seed
@API(level=secondary, direction=INOUT, gridable=true, help="Adaptive learning rate.") public boolean adaptive_rate
@API(level=expert, direction=INOUT, gridable=true, help="Adaptive learning rate time decay factor (similarity to prior updates).") public double rho
@API(level=expert, direction=INOUT, gridable=true, help="Adaptive learning rate smoothing factor (to avoid divisions by zero and allow progress).") public double epsilon
@API(level=expert, direction=INOUT, gridable=true, help="Learning rate (higher => less stable, lower => slower convergence).") public double rate
@API(level=expert, direction=INOUT, gridable=true, help="Learning rate annealing: rate / (1 + rate_annealing * samples).") public double rate_annealing
@API(level=expert, direction=INOUT, gridable=true, help="Learning rate decay factor between layers (N-th layer: rate * rate_decay ^ (n - 1).") public double rate_decay
@API(level=expert, direction=INOUT, gridable=true, help="Initial momentum at the beginning of training (try 0.5).") public double momentum_start
@API(level=expert, direction=INOUT, gridable=true, help="Number of training samples for which momentum increases.") public double momentum_ramp
@API(level=expert, direction=INOUT, gridable=true, help="Final momentum after the ramp is over (try 0.99).") public double momentum_stable
@API(level=expert, direction=INOUT, gridable=true, help="Use Nesterov accelerated gradient (recommended).") public boolean nesterov_accelerated_gradient
@API(level=secondary, direction=INOUT, gridable=true, help="Input layer dropout ratio (can improve generalization, try 0.1 or 0.2).") public double input_dropout_ratio
@API(level=secondary, direction=INOUT, gridable=true, help="Hidden layer dropout ratios (can improve generalization), specify one value per hidden layer, defaults to 0.5.") public double[] hidden_dropout_ratios
@API(level=secondary, direction=INOUT, gridable=true, help="L1 regularization (can add stability and improve generalization, causes many weights to become 0).") public double l1
@API(level=secondary, direction=INOUT, gridable=true, help="L2 regularization (can add stability and improve generalization, causes many weights to be small.") public double l2
@API(level=expert, direction=INOUT, gridable=true, help="Constraint for squared sum of incoming weights per unit (e.g. for Rectifier).") public float max_w2
@API(level=expert, direction=INOUT, gridable=true, values={"UniformAdaptive","Uniform","Normal"}, help="Initial weight distribution.") public DeepLearningModel.DeepLearningParameters.InitialWeightDistribution initial_weight_distribution
@API(level=expert, direction=INOUT, gridable=true, help="Uniform: -value...value, Normal: stddev.") public double initial_weight_scale
@API(level=expert, direction=INOUT, gridable=true, help="A list of H2OFrame ids to initialize the weight matrices of this model with.") public water.api.schemas3.KeyV3.FrameKeyV3[] initial_weights
@API(level=expert, direction=INOUT, gridable=true, help="A list of H2OFrame ids to initialize the bias vectors of this model with.") public water.api.schemas3.KeyV3.FrameKeyV3[] initial_biases
@API(level=secondary, direction=INOUT, gridable=true, required=false, values={"Automatic","CrossEntropy","Quadratic","Huber","Absolute","Quantile"}, help="Loss function.") public DeepLearningModel.DeepLearningParameters.Loss loss
@API(level=secondary, direction=INOUT, gridable=true, help="Shortest time interval (in seconds) between model scoring.") public double score_interval
@API(level=secondary, direction=INOUT, gridable=true, help="Number of training set samples for scoring (0 for all).") public long score_training_samples
@API(level=secondary, direction=INOUT, gridable=true, help="Number of validation set samples for scoring (0 for all).") public long score_validation_samples
@API(level=secondary, direction=INOUT, gridable=true, help="Maximum duty cycle fraction for scoring (lower: more training, higher: more scoring).") public double score_duty_cycle
@API(level=expert, direction=INOUT, gridable=true, help="Stopping criterion for classification error fraction on training data (-1 to disable).") public double classification_stop
@API(level=expert, direction=INOUT, gridable=true, help="Stopping criterion for regression error (MSE) on training data (-1 to disable).") public double regression_stop
@API(level=expert, direction=INOUT, gridable=true, help="Enable quiet mode for less output to standard output.") public boolean quiet_mode
@API(level=expert, direction=INOUT, gridable=true, values={"Uniform","Stratified"}, help="Method used to sample validation dataset for scoring.") public DeepLearningModel.DeepLearningParameters.ClassSamplingMethod score_validation_sampling
@API(level=expert, direction=INOUT, gridable=true, help="If enabled, override the final model with the best model found during training.") public boolean overwrite_with_best_model
@API(level=secondary, direction=INOUT, help="Auto-Encoder.") public boolean autoencoder
@API(level=secondary, direction=INOUT, gridable=true, 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.") public boolean use_all_factor_levels
@API(level=secondary, direction=INOUT, gridable=true, help="If enabled, automatically standardize the data. If disabled, the user must provide properly scaled input data.") public boolean standardize
@API(level=expert, direction=INOUT, help="Enable diagnostics for hidden layers.") public boolean diagnostics
@API(level=critical, direction=INOUT, gridable=true, help="Compute variable importances for input features (Gedeon method) - can be slow for large networks.") public boolean variable_importances
@API(level=expert, direction=INOUT, gridable=true, help="Enable fast mode (minor approximation in back-propagation).") public boolean fast_mode
@API(level=expert, direction=INOUT, gridable=true, help="Force extra load balancing to increase training speed for small datasets (to keep all cores busy).") public boolean force_load_balance
@API(level=secondary, direction=INOUT, gridable=true, help="Replicate the entire training dataset onto every node for faster training on small datasets.") public boolean replicate_training_data
@API(level=expert, direction=INOUT, gridable=true, help="Run on a single node for fine-tuning of model parameters.") public boolean single_node_mode
@API(level=expert, direction=INOUT, gridable=true, 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).") public boolean shuffle_training_data
@API(level=expert, direction=INOUT, gridable=true, values={"MeanImputation","Skip"}, help="Handling of missing values. Either MeanImputation or Skip.") public DeepLearningModel.DeepLearningParameters.MissingValuesHandling missing_values_handling
@API(level=expert, direction=INOUT, gridable=true, help="Sparse data handling (more efficient for data with lots of 0 values).") public boolean sparse
@API(level=expert, direction=INOUT, gridable=true, help="#DEPRECATED Use a column major weight matrix for input layer. Can speed up forward propagation, but might slow down backpropagation.") public boolean col_major
@API(level=expert, direction=INOUT, gridable=true, help="Average activation for sparse auto-encoder. #Experimental") public double average_activation
@API(level=expert, direction=INOUT, gridable=true, help="Sparsity regularization. #Experimental") public double sparsity_beta
@API(level=expert, direction=INOUT, gridable=true, help="Max. number of categorical features, enforced via hashing. #Experimental") public int max_categorical_features
@API(level=expert, direction=INOUT, gridable=true, help="Force reproducibility on small data (will be slow - only uses 1 thread).") public boolean reproducible
@API(level=expert, direction=INOUT, help="Whether to export Neural Network weights and biases to H2O Frames.") public boolean export_weights_and_biases
@API(level=expert, direction=INOUT, help="Mini-batch size (smaller leads to better fit, larger can speed up and generalize better).") public int mini_batch_size
@API(level=expert, direction=INOUT, gridable=true, help="Elastic averaging between compute nodes can improve distributed model convergence. #Experimental") public boolean elastic_averaging
@API(level=expert, direction=INOUT, gridable=true, help="Elastic averaging moving rate (only if elastic averaging is enabled).") public double elastic_averaging_moving_rate
@API(level=expert, direction=INOUT, gridable=true, help="Elastic averaging regularization strength (only if elastic averaging is enabled).") public double elastic_averaging_regularization
@API(level=expert, direction=INOUT, help="Pretrained autoencoder model to initialize this model with.") public water.api.schemas3.KeyV3.ModelKeyV3 pretrained_autoencoder