propagate(X) {
            var input = X;
            for (var i = 0; i < this.model.length; ++i) {
                //console.log(i);
                input = this.model[i].forward(input);
            }

            // get probabilities
            return input.divColumnVector(Utils.sumRow(input));
        }
@private
Propagate the input(training set) and retrives the probabilities of each class.
@param {Matrix} X
@return {Matrix} probabilities of each class.