Predictive Learning Algorithms