Summary
I propose introducing a new DART parameter:
dropout ∈ [0, 1]
and deprecating the existing DART-specific parameters:
- "rate_drop"
- "sample_type"
- "normalize_type"
- "one_drop"
- "skip_drop"
The new "dropout" parameter would implement the canonical DART algorithm described in the original paper with the following fixed behavior:
- "sample_type = uniform"
- "normalize_type = tree"
- "one_drop = false"
- "skip_drop = 0"
The existing parameters can remain supported during a deprecation period for backwards compatibility.
Motivation
The original DART paper defines a remarkably simple algorithm:
- Drop each previous tree independently with probability "dropout".
- If no tree is selected, drop one uniformly chosen tree ("Binomial-plus-one").
- Train the new tree.
- Apply a fixed normalization scheme.
The paper does not experimentally justify alternative sampling schemes, normalization methods, or skipping dropout iterations. These options were introduced later as implementation extensions rather than core components of DART.
Today XGBoost exposes five DART-specific parameters, making DART considerably more complicated than both the original algorithm and the analogous dropout mechanism used in neural networks, where users typically tune a single probability.
Rationale
"dropout"
This is the fundamental DART hyperparameter and should be the only user-facing regularization parameter.
"one_drop"
The original paper always ensures that at least one tree is dropped. This is a boundary condition rather than an independent modeling choice.
Without this rule, for small dropout probabilities,
$P(K=0)=(1-p)^T$,
meaning many boosting rounds perform no dropout at all and degenerate to ordinary GBDT.
I would propose that the user should increase the dropout probability instead of using one drop.
"sample_type"
The paper uses uniform sampling and does not provide empirical evidence comparing it with weighted sampling.
Uniform sampling should therefore become the canonical behavior.
"normalize_type"
The paper defines a single normalization rule.
While XGBoost currently supports multiple normalization strategies, there is little published evidence that exposing this choice as a user-facing hyperparameter provides consistent benefit.
"skip_drop"
The original algorithm performs dropout every boosting iteration.
"skip_drop" effectively introduces a second regularization parameter controlling dropout frequency in addition to dropout probability. This increases tuning complexity without clear evidence that users benefit from controlling these effects independently.
Benefits
- A significantly simpler and more intuitive API.
- Closer alignment with the original DART algorithm.
- Easier parameter tuning.
- Consistency with dropout interfaces in deep learning, where a single probability controls regularization.
- Existing models remain compatible during a deprecation period while new users are presented with a much simpler interface.
Summary
I propose introducing a new DART parameter:
dropout ∈ [0, 1]
and deprecating the existing DART-specific parameters:
The new "dropout" parameter would implement the canonical DART algorithm described in the original paper with the following fixed behavior:
The existing parameters can remain supported during a deprecation period for backwards compatibility.
Motivation
The original DART paper defines a remarkably simple algorithm:
The paper does not experimentally justify alternative sampling schemes, normalization methods, or skipping dropout iterations. These options were introduced later as implementation extensions rather than core components of DART.
Today XGBoost exposes five DART-specific parameters, making DART considerably more complicated than both the original algorithm and the analogous dropout mechanism used in neural networks, where users typically tune a single probability.
Rationale
"dropout"
This is the fundamental DART hyperparameter and should be the only user-facing regularization parameter.
"one_drop"
The original paper always ensures that at least one tree is dropped. This is a boundary condition rather than an independent modeling choice.
Without this rule, for small dropout probabilities,
meaning many boosting rounds perform no dropout at all and degenerate to ordinary GBDT.
I would propose that the user should increase the dropout probability instead of using one drop.
"sample_type"
The paper uses uniform sampling and does not provide empirical evidence comparing it with weighted sampling.
Uniform sampling should therefore become the canonical behavior.
"normalize_type"
The paper defines a single normalization rule.
While XGBoost currently supports multiple normalization strategies, there is little published evidence that exposing this choice as a user-facing hyperparameter provides consistent benefit.
"skip_drop"
The original algorithm performs dropout every boosting iteration.
"skip_drop" effectively introduces a second regularization parameter controlling dropout frequency in addition to dropout probability. This increases tuning complexity without clear evidence that users benefit from controlling these effects independently.
Benefits