Learning Multiple Tasks using Shared Hypotheses