Learning Task Grouping and Overlap in Multi-task Learning