added constraint to not update if not context; divided score by context
size and so thus the updates; init adagrad using random vector
removed epsilon_vectors functions; adagrad shud be initialized randomly;
using epsilon vectors is plain wrong