1. A learning method for pattern recognition, comprising: using a processor to perform the steps of: an image input step of inputting an aggregation of different types of object image data; a local feature detection step of detecting local features that have given geometric structures from each object image data inputted in the image input step, wherein the local features are detected by feature detecting cells which detect a feature category at a position corresponding to a location on the image data, and wherein the local features are pooled by feature cells associated with the feature category at the position corresponding to the location on the image data; a clustering step of performing clustering on the local features detected in the local feature detection step so as to classify the local features into feature classes; a feature class selection step of selecting plural representative feature classes from the feature classes obtained in the clustering step so that respective representative local features of any two of the plural representative feature classes are distanced from each other by a predetermined threshold or more with respect to similarity; and a learning step of learning for recognition or detection of an object that corresponds to the object image data with the use of a learning data set, which contains as supervisor data the representative local features of the plural representative feature classes selected in the feature class selection step.