An Adaptive Algorithm for Learning with Unknown Distribution Drift