added cost function trait; regularization function trait; redefined epoch to be total number of iterations on entire dataset, instead of number of iterations on mini-batches regardless of total data size; implemented save and load function; added linear activation function