Machine Learning in Non-Stationary Environments