Which ensemble learning method trains multiple models sequentially, where each model attempts to correct the errors made by the previous one?