Loss calculation means calculates a loss of a feature vector for each class, the feature vector indicating a feature of data belonging to the class. Loss difference calculation means calculates a total sum of differences of losses between the classes on a basis of the loss calculated for each class. Recognition dictionary creation means creates a recognition dictionary on a basis of a total sum of losses calculated for the classes and the total sum of loss differences between the classes. The recognition dictionary creation means corrects, on a basis of an input feature vector, a recognition dictionary so as to minimize a sum of the total sum of losses for the classes calculated by the loss calculation means and the total sum of loss differences between the classes calculated by the loss difference calculation means, and the pattern classification means classifies a pattern of data using the corrected recognition dictionary.