Skip to content

Shifu 0.2.5 Training Step Improvement

Zhang Pengshan (David) edited this page Apr 3, 2015 · 2 revisions

Convergence Parameter

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.

'epochsPerIteration' Parameter

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.

'isCrossOver' Parameter

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.

0 Hidden Layer Support in Distributed NN Training

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.

Clone this wiki locally