Patch Learning