Gradient-based Adaptive Markov Chain Monte Carlo