Adaptive Learning Algorithms for Non-stationary Data