-
Notifications
You must be signed in to change notification settings - Fork 108
Shifu 0.2.5 Training Step Improvement
Support convergence parameter for training error in train#convergenceThreshold, by default it is 0. User can set it to 0.01 to 0.00000000001. If error is smaller than convergenceThreshold, training job will stop.
Before 0.2.5, in each worker, local model will be trained once and accumulate gradients to workers. 'epochsPerIteration' means how many epochs training in each iteration each worker. By default, 'epochsPerIteration' is 1 to consistent with old versions. In real scenario, 2-4 is good for us to get a good model. If you set 'epochsPerIteration' to 2. You can also decrease iteration number to half. You will get a model earlier with the same performance.
Before 0.2.5, training step in each worker, data is split into training set and cross validation set. All iterations, the two sets are all the same. With 'isCrossOver' set to true, each iteration, data will be exchanged in the two sets to avoid model overfitting. By default 'isCrossOver' is false.
With 0 Hidden Layer Support, it is logistic regression for NN model.User can set paramter to train#parameters:NumHiddenNodes to '[]' and 'ActivationFunc' to '[]'. 0 layer model is very fast in Shifu training. Which means in Shifu NN we support NN and LR two algorithms.