Options for orthogonalization
orthog_control(
split_fun = split_model,
orthog_type = c("tf", "manual"),
orthogonalize = options()$orthogonalize,
identify_intercept = options()$identify_intercept,
deep_top = NULL,
orthog_fun = NULL,
deactivate_oz_at_test = TRUE
)
Returns a list with options
a function separating the deep neural network in two parts
so that the orthogonalization can be applied to the first part before
applying the second network part; per default, the function split_model
is
used which assumes a dense layer as penultimate layer and separates the network
into a first part without this last layer and a second part only consisting of a
single dense layer that is fed into the output layer
one of two options; If "manual"
,
the QR decomposition is calculated before model fitting,
otherwise ("tf"
) a QR is calculated in each batch iteration via TF.
The first only works well for larger batch sizes or ideally batch_size == NROW(y).
logical; if set to TRUE
, automatic orthogonalization is activated
whether to orthogonalize the deep network w.r.t. the intercept to make the intercept identifiable
function; optional function to put on top of the deep network instead
of splitting the function using split_fun
function; for custom orthogonaliuation. if NULL, orthog_type
is used to define the function that computes the orthogonalization
logical; whether to deactive the orthogonalization cell
at test time when using orthog_tf
for orthog_fun
(the default).