public static final class DeepLearningV3.DeepLearningParametersV3 extends water.api.ModelParametersSchema<DeepLearningParameters,DeepLearningV3.DeepLearningParametersV3>
| Modifier and Type | Field and Description |
|---|---|
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.
|
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.
|
hex.Distribution.Family |
distribution |
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.
|
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 constrains the sum of the squared
weights.
|
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.
|
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.
|
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.
|
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.
|
double |
tweedie_power |
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, writeParametersJSONcreateAndFillImpl, createImpl, fillFromParms, fillFromParms, get__meta, getExperimentalVersion, getHighestSupportedVersion, getImplClass, getImplClass, getLatestVersion, getSchemaVersion, markdown, markdown, markdown, newInstance, newInstance, registerAllSchemasIfNecessary, schema, schema, schemaClass, schemas, setFieldpublic static java.lang.String[] fields
@API(help="Balance training data class counts via over/under-sampling (for imbalanced data).",
level=secondary,
direction=INOUT,
gridable=true)
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,
gridable=true)
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,
gridable=true)
public float max_after_balance_size
@API(help="Maximum size (# classes) for confusion matrices to be printed in the Logs",
level=secondary,
direction=INOUT,
gridable=true)
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,
gridable=true)
public int max_hit_ratio_k
@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,
gridable=true)
public boolean use_all_factor_levels
@API(help="Activation function",
values={"Tanh","TanhWithDropout","Rectifier","RectifierWithDropout","Maxout","MaxoutWithDropout"},
level=critical,
direction=INOUT,
gridable=true)
public DeepLearningParameters.Activation activation
@API(help="Hidden layer sizes (e.g. 100,100).",
level=critical,
direction=INOUT,
gridable=true)
public int[] hidden
@API(help="How many times the dataset should be iterated (streamed), can be fractional",
level=critical,
direction=INOUT,
gridable=true)
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,
gridable=true)
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,
gridable=true)
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,
gridable=true)
public long seed
@API(help="Adaptive learning rate",
level=secondary,
direction=INOUT,
gridable=true)
public boolean adaptive_rate
@API(help="Adaptive learning rate time decay factor (similarity to prior updates)",
level=expert,
direction=INOUT,
gridable=true)
public double rho
@API(help="Adaptive learning rate smoothing factor (to avoid divisions by zero and allow progress)",
level=expert,
direction=INOUT,
gridable=true)
public double epsilon
@API(help="Learning rate (higher => less stable, lower => slower convergence)",
level=expert,
direction=INOUT,
gridable=true)
public double rate
@API(help="Learning rate annealing: rate / (1 + rate_annealing * samples)",
level=expert,
direction=INOUT,
gridable=true)
public double rate_annealing
@API(help="Learning rate decay factor between layers (N-th layer: rate*alpha^(N-1))",
level=expert,
direction=INOUT,
gridable=true)
public double rate_decay
@API(help="Initial momentum at the beginning of training (try 0.5)",
level=expert,
direction=INOUT,
gridable=true)
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,
gridable=true)
public double momentum_stable
@API(help="Use Nesterov accelerated gradient (recommended)",
level=expert,
direction=INOUT,
gridable=true)
public boolean nesterov_accelerated_gradient
@API(help="Input layer dropout ratio (can improve generalization, try 0.1 or 0.2)",
level=secondary,
direction=INOUT,
gridable=true)
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,
gridable=true)
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,
gridable=true)
public double l1
@API(help="L2 regularization (can add stability and improve generalization, causes many weights to be small",
level=secondary,
direction=INOUT,
gridable=true)
public double l2
@API(help="Constraint for squared sum of incoming weights per unit (e.g. for Rectifier)",
level=expert,
direction=INOUT,
gridable=true)
public float max_w2
@API(help="Initial Weight Distribution",
values={"UniformAdaptive","Uniform","Normal"},
level=expert,
direction=INOUT,
gridable=true)
public DeepLearningParameters.InitialWeightDistribution initial_weight_distribution
@API(help="Uniform: -value...value, Normal: stddev)",
level=expert,
direction=INOUT,
gridable=true)
public double initial_weight_scale
@API(help="Loss function",
values={"Automatic","CrossEntropy","MeanSquare","Huber","Absolute"},
required=false,
level=secondary,
direction=INOUT,
gridable=true)
public DeepLearningParameters.Loss loss
@API(help="Distribution function",
values={"AUTO","bernoulli","multinomial","gaussian","poisson","gamma","tweedie"},
level=secondary,
gridable=true)
public hex.Distribution.Family distribution
@API(help="Tweedie Power",
level=secondary)
public double tweedie_power
@API(help="Shortest time interval (in secs) between model scoring",
level=secondary,
direction=INOUT,
gridable=true)
public double score_interval
@API(help="Number of training set samples for scoring (0 for all)",
level=secondary,
direction=INOUT,
gridable=true)
public long score_training_samples
@API(help="Number of validation set samples for scoring (0 for all)",
level=secondary,
direction=INOUT,
gridable=true)
public long score_validation_samples
@API(help="Maximum duty cycle fraction for scoring (lower: more training, higher: more scoring).",
level=secondary,
direction=INOUT,
gridable=true)
public double score_duty_cycle
@API(help="Stopping criterion for classification error fraction on training data (-1 to disable)",
level=expert,
direction=INOUT,
gridable=true)
public double classification_stop
@API(help="Stopping criterion for regression error (MSE) on training data (-1 to disable)",
level=expert,
direction=INOUT,
gridable=true)
public double regression_stop
@API(help="Enable quiet mode for less output to standard output",
level=expert,
direction=INOUT,
gridable=true)
public boolean quiet_mode
@API(help="Method used to sample validation dataset for scoring",
values={"Uniform","Stratified"},
level=expert,
direction=INOUT,
gridable=true)
public 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,
gridable=true)
public boolean variable_importances
@API(help="Enable fast mode (minor approximation in back-propagation)",
level=expert,
direction=INOUT,
gridable=true)
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,
gridable=true)
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,
gridable=true)
public boolean replicate_training_data
@API(help="Run on a single node for fine-tuning of model parameters",
level=expert,
direction=INOUT,
gridable=true)
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,
gridable=true)
public boolean shuffle_training_data
@API(help="Handling of missing values. Either Skip or MeanImputation.",
values={"Skip","MeanImputation"},
level=expert,
direction=INOUT,
gridable=true)
public DeepLearningParameters.MissingValuesHandling missing_values_handling
@API(help="Sparse data handling (Deprecated).",
level=expert,
direction=INOUT,
gridable=true)
public boolean sparse
@API(help="Use a column major weight matrix for input layer. Can speed up forward propagation, but might slow down backpropagation (Deprecated).",
level=expert,
direction=INOUT,
gridable=true)
public boolean col_major
@API(help="Average activation for sparse auto-encoder (Experimental)",
level=expert,
direction=INOUT,
gridable=true)
public double average_activation
@API(help="Sparsity regularization (Experimental)",
level=expert,
direction=INOUT,
gridable=true)
public double sparsity_beta
@API(help="Max. number of categorical features, enforced via hashing (Experimental)",
level=expert,
direction=INOUT,
gridable=true)
public int max_categorical_features
@API(help="Force reproducibility on small data (will be slow - only uses 1 thread)",
level=expert,
direction=INOUT,
gridable=true)
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