Models and training
These are the exported modelling and training functions and types made available by ERM. See the corresponding usage page to understand how to use these methods.
EmpiricalRiskMinimization.Model
— Type.Model(...)
The Model()
function constructs an ERM model. The typical invocation is Model(U, V, Loss(), Reg())
, where U
and V
specify raw inputs and targets, respectively, and Loss()
specifies some type of training loss (default: SquareLoss()
) and Reg()
specifies some type of regularizer (default: L2Reg()
). For more details, see the description of ERM models in the usage notes.
EmpiricalRiskMinimization.status
— Method.status(M)
prints the status of the model after the most recent action performed on it.
EmpiricalRiskMinimization.status
— Method.Prints and returns the status of the model.
EmpiricalRiskMinimization.train
— Method.train(M [, lambda=1e-10, trainfrac=nothing])
This function trains a model M
. The usual invocation is train(M)
. Users may choose to specify a different choice of regularization weight lambda
. For example to specify a weight of lambda = 0.01
, one invokes train(M, lambda=0.001)
, and to specify a different train split, one invokes train(M, trainfrac=0.75)
, which means that 75 percent of the data will be used for training and only 25 percent will be used for test. The default parameters are lambda = 1e-10
and trainfrac=nothing
, which will result in a 80-20 train-test split.
EmpiricalRiskMinimization.trainfolds
— Method.trainfolds(M [,lambda=1e-10, nfolds=5])
The trainfolds
function carries out n-fold cross validation on a model M
. Specify regularization weight through optional argument lambda
, and the number of folds through nfolds
. Default: lambda=1e-10
, and nfolds=5
.
EmpiricalRiskMinimization.trainpath
— Method.trainpath(M [,lambda=logspace(-5, 5, 100), trainfrac=0.8])
The trainpath
function trains a model M
over a set of regularization weights. Specify these weights by invoking the optional argument lambda
, and set a train-test ratio by using the optional argument trainfrac
.
Defaults:
lambda=logspace(-5,5,100)
so training occurs overlambda
between 1e-5 and
1e5.
trainfrac=0.8
, so training occurs with a 80-20 train-test split.
Example: trainpath(M, lambda=logspace(-1, 1, 100))
trains over lambda
between 0.1 and 10.
Example trainpath(M, trainfrac=0.75)
trains w/ 75-25 train-test split.