WO2011086643A1 - パターン認識装置、パターン認識方法及びパターン認識用プログラム - Google Patents

パターン認識装置、パターン認識方法及びパターン認識用プログラム Download PDF

Info

Publication number
WO2011086643A1
WO2011086643A1 PCT/JP2010/007360 JP2010007360W WO2011086643A1 WO 2011086643 A1 WO2011086643 A1 WO 2011086643A1 JP 2010007360 W JP2010007360 W JP 2010007360W WO 2011086643 A1 WO2011086643 A1 WO 2011086643A1
Authority
WO
WIPO (PCT)
Prior art keywords
loss
class
recognition dictionary
sum
calculated
Prior art date
Application number
PCT/JP2010/007360
Other languages
English (en)
French (fr)
Inventor
佐藤敦
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to EP10843002.6A priority Critical patent/EP2525306A4/en
Priority to JP2011549770A priority patent/JP5621787B2/ja
Priority to CN201080061441.2A priority patent/CN102713945B/zh
Priority to US13/521,227 priority patent/US8750628B2/en
Publication of WO2011086643A1 publication Critical patent/WO2011086643A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to a pattern recognition device that recognizes a pattern of input data, a pattern recognition method, a program for pattern recognition, a recognition dictionary creation device that creates a recognition dictionary used for pattern recognition, a recognition dictionary creation method, and The present invention relates to a recognition dictionary creation program.
  • Patent Document 1 As a general method for classifying input data into two groups, the techniques described in Patent Document 1 and Non-Patent Document 1 are known.
  • the soft margin classification system described in Patent Document 1 determines parameters including weight vectors and biases in all data vectors in a training set, and the minimum non-negative number of slack variables in each data vector based on a plurality of constraints. To decide. Further, the soft margin classification system described in Patent Document 1 determines the minimum value of the cost function so as to satisfy a plurality of constraints.
  • Non-Patent Document 1 is to perform linear separation on a feature space by mapping a pattern to a finite or infinite dimensional feature space when input data cannot be linearly separated.
  • FIG. 17 is an explanatory diagram showing a general pattern recognition apparatus.
  • the pattern recognition apparatus shown in FIG. 17 includes a data input unit 201, a feature extraction unit 202, a recognition dictionary creation unit 203, an identification unit 206, and a result output unit 208.
  • the recognition dictionary creation unit 203 includes a loss calculation unit 204 and a margin calculation unit 205.
  • the feature extraction unit 202 converts the data input from the data input unit 201 into a d-dimensional feature vector, and the recognition dictionary creation unit 203 creates the recognition dictionary 207.
  • the feature extraction unit 202 converts the data input from the data input unit 201 into a d-dimensional feature vector, the identification unit 206 identifies the data using the recognition dictionary 207, and then the result output unit 208 outputs the identification result.
  • the recognition dictionary creation unit 203 creates the recognition dictionary 207 so that the evaluation function obtained by adding the loss calculated by the loss calculation unit 204 and the reciprocal of the margin calculated by the margin calculation unit 205 is minimized.
  • FIG. 18 is an explanatory diagram showing processing for creating a recognition dictionary from linearly separable data.
  • a black circle (hereinafter referred to as “ ⁇ ”) shown in FIG. 18 indicates data belonging to the negative class
  • a white circle hereinafter referred to as “ ⁇ ” indicates data belonging to the positive class.
  • a parallel margin boundary that is, a solid line 302 and a solid line 303 that maximizes a margin between negative data and positive data is obtained, and a broken line 301 that is equidistant therefrom is identified as an identification boundary. Create a recognition dictionary.
  • FIG. 19 is an explanatory diagram showing a process of creating a recognition dictionary from data that cannot be linearly separated. Similar to the contents shown in FIG. 18, the solid line 402 and the solid line 403 are parallel margin boundaries, and the broken line 401 is an identification boundary equidistant from these. However, unlike the case shown in FIG. 18, the data 406 and 407 enclosed by the squares are included in the data set, and thus linear separation cannot be performed.
  • the recognition dictionary creation unit 203 creates a recognition dictionary so as to have a margin boundary and an identification boundary that minimize this loss and increase the margin as much as possible.
  • the recognition dictionary creation unit 203 obtains an identification boundary that minimizes the value L defined by Equation 1.
  • the coefficient C shown in Equation 1 is a parameter that determines the balance between margin and loss, and its value is determined by trial and error by a cross-validation method or the like.
  • FIG. 20 is an explanatory diagram showing a set of data that cannot be linearly separated.
  • the data 504 shown in FIG. 20 is data that exists at a position away from the original distribution due to noise, or data that appears to be away from the distribution because the number of data is small.
  • a general pattern recognition apparatus sets an identification boundary (broken line 501) at the same position from the solid line 502 and the solid line 503 that maximize the margin between data.
  • FIG. 21 is an explanatory diagram showing a case where new unlearned data is added to the data set shown in FIG.
  • the identification boundary is set at the position of the broken line 602 shown in FIG. 21, the number of errors of data indicated by “ ⁇ ” is 1, the number of errors of data indicated by “ ⁇ ” is 1, and the total number of errors is 2. .
  • the number of data errors indicated by “ ⁇ ” is 3 (that is, the total number of errors is 3).
  • the identification accuracy is lowered. As described above, it is desirable that high identification accuracy can be realized for new unlearned data even when the data used for learning includes noise or the number of data is small.
  • the present invention provides a pattern recognition that can perform pattern recognition with high identification accuracy on new data that has not been learned even when the data used for learning includes noise or when the number of data is small. It is an object to provide an apparatus, a pattern recognition method, a pattern recognition program, a recognition dictionary creation device, a recognition dictionary creation method, and a recognition dictionary creation program for creating a recognition dictionary used for pattern recognition.
  • the pattern recognition apparatus includes a loss calculation means for calculating the loss of a feature vector indicating the characteristics of data belonging to each class for each class, and the loss between the classes based on the loss calculated for each class.
  • a loss difference calculating means for calculating a sum of differences, a recognition dictionary creating means for creating a recognition dictionary based on the sum of losses calculated for each class by the loss calculating means and the sum of the differences in losses between the classes;
  • a pattern identification unit for identifying a data pattern using a recognition dictionary, and the recognition dictionary creation unit calculates the sum of losses for each class calculated by the loss calculation unit based on the input feature vector, and a loss
  • the recognition dictionary is modified so that the sum of the difference of losses between classes calculated by the difference calculation means is minimized, and the pattern identification means recognizes the data pattern using the corrected recognition dictionary. Characterized in that it.
  • a recognition dictionary creation device is a recognition dictionary creation device for creating a recognition dictionary used by a pattern recognition device for recognizing a pattern of data, and the loss of a feature vector indicating the characteristics of data belonging to each class for each class.
  • the loss calculation means to calculate, the loss difference calculation means to calculate the sum of the difference of loss between each class based on the loss calculated for each class, and the total loss calculated by the loss calculation means for each class
  • a recognition dictionary creation means for creating a recognition dictionary based on the sum of the differences in losses between classes, and the recognition dictionary creation means calculated by the loss calculation means based on the input feature vector
  • the recognition dictionary is modified so that the sum of the sum of losses for each class and the sum of the differences of losses between classes calculated by the loss difference calculation means is minimized.
  • the loss of feature vectors indicating the characteristics of data belonging to each class is calculated for each class, and based on the loss calculated for each class, the sum of the difference in loss between the classes is calculated.
  • a recognition dictionary is created, and the loss calculated for each class based on the input feature vector The recognition dictionary is modified so that the sum of the sum of the differences and the sum of the difference in loss between classes is minimized, and the data pattern is identified using the modified recognition dictionary.
  • a recognition dictionary creation method is a recognition dictionary creation method for creating a recognition dictionary used by a pattern recognition device for recognizing a pattern of data, and the loss of a feature vector indicating the characteristics of data belonging to each class is classified for each class. Based on the loss calculated for each class, calculate the sum of the difference in loss between each class, and calculate the sum of the loss calculated for each class and the sum of the difference in loss between each class. Based on the input feature vector, the recognition dictionary is created so that the sum of the loss calculated for each class and the sum of the difference of losses between classes is minimized. It is characterized by correcting.
  • the pattern recognition program allows a computer to calculate a loss of a feature vector indicating the characteristics of data belonging to each class for each class, based on the loss calculated for each class.
  • Loss difference calculation process that calculates the total difference of losses
  • recognition dictionary creation process that creates a recognition dictionary based on the total loss calculated for each class in the loss calculation process and the total difference of losses between classes
  • a pattern identification process for identifying a pattern of data using a recognition dictionary, and the recognition dictionary creation process, based on the input feature vector, the loss total for each class calculated by the loss calculation process
  • the recognition dictionary is corrected so that the sum of the difference of losses between classes calculated by the loss difference calculation process is minimized, and the recognition dictionary is corrected by the pattern identification process. Characterized in that to identify patterns of data using.
  • a recognition dictionary creation program is a recognition dictionary creation program applied to a computer that creates a recognition dictionary used by a pattern recognition device for recognizing a pattern of data, and shows the characteristics of data belonging to each class to the computer.
  • Loss calculation processing that calculates the loss of feature vectors for each class
  • loss difference calculation processing that calculates the sum of the differences between classes based on the loss calculated for each class
  • class for loss calculation processing Based on the total loss calculated for each class and the total difference in loss between classes, a recognition dictionary creation process is executed to create a recognition dictionary.
  • the sum of the total loss calculated by the loss calculation process and the total loss difference calculated by the loss difference calculation process is minimized. Characterized in that to fix the urchin recognition dictionary.
  • pattern recognition can be performed with high identification accuracy on new data that has not been learned.
  • FIG. 1 is a block diagram showing an embodiment of a pattern recognition apparatus according to the present invention.
  • the pattern recognition apparatus according to the present invention includes a data input unit 101, a feature extraction unit 102, a recognition dictionary creation unit 103, an identification unit 106, and a result output unit 108.
  • the recognition dictionary creation unit 103 includes a continuous loss calculation unit 104, a loss difference calculation unit 105, and a recognition dictionary determination unit 109.
  • the data input unit 101 notifies the feature extraction unit 102 of the recognition target data input to the pattern recognition device.
  • Examples of the recognition target data include image data captured by a camera.
  • the feature extraction unit 102 extracts d feature values (hereinafter also referred to as d-dimensional feature vectors) based on the data notified from the data input unit 101.
  • d-dimensional feature vectors d feature values
  • the entire image is divided into 10 ⁇ 10 areas, and the average of the luminance values of the images in each area is obtained.
  • the method by which the feature extraction unit 102 extracts multidimensional feature vectors is not limited to the above-described method. Since a method of extracting a multidimensional feature vector from input data is widely known, detailed description thereof is omitted.
  • the recognition dictionary creation unit 103 inputs the d-dimensional feature vector extracted by the feature extraction unit 102 to the continuous loss calculation unit 104 and the loss difference calculation unit 105 in the stage of creating the recognition dictionary 107 called “learning”, and calculates the calculation.
  • a recognition dictionary 107 is created based on the result.
  • the continuous loss calculation unit 104 calculates the loss for each class based on the d-dimensional feature vector. Then, the continuous loss calculation unit 104 calculates the total loss calculated for each class. In the following description, the loss calculated by the continuous loss calculation unit 104 is referred to as a continuous loss in order to distinguish it from a loss calculated by a general method.
  • the loss difference calculation unit 105 calculates the difference between the loss of one class and the loss of another class based on the d-dimensional feature vector. Then, the loss difference calculation unit 105 calculates the sum of all differences between classes.
  • the recognition dictionary determination unit 109 determines a recognition dictionary to be created based on the sum of continuous losses calculated by the continuous loss calculation unit 104 and the sum of loss differences between classes calculated by the loss difference calculation unit 105. .
  • the identification unit 106 performs data pattern identification processing using the d-dimensional feature vector extracted by the feature extraction unit 102 and the recognition dictionary 107 and notifies the result output unit 108 of the identification result.
  • the identification unit 106 may identify a pattern of input data and recognize a class to which the data belongs.
  • the identification method using a d-dimensional feature vector and a recognition dictionary is widely known, detailed description is omitted.
  • the result output unit 108 outputs the identification result received from the identification unit 106.
  • the continuous loss calculation unit 104 in the recognition dictionary creation unit 103 calculates the continuous loss for the kth class according to Equation 2 shown below.
  • Equation 2 P k is a prior probability for the k th class, N k is the number of feature vectors belonging to the k th class, a vector x kn is an n th feature vector belonging to the k th class, and a vector ⁇ is a recognition dictionary. This is a discriminator parameter used as 107.
  • the prior probability indicates the existence probability or the appearance frequency regarding data for which the correct answer is known.
  • the proportion of class k data included in the data is the prior probability of class k.
  • a value that is already statistically known may be set in advance.
  • P k N 1 + ⁇ + N K.
  • the prior probability P k in this case is the ratio of the learning data correctly assigned as belonging to the class k to the total learning data.
  • the discriminator parameter is a parameter related to discrimination defined according to the discriminator to be used.
  • a kernel function is used as the discriminant function
  • a coefficient used when weighting each kernel function may be used as the parameter ⁇ illustrated in Expression 2.
  • r (•) represents a risk level indicating the degree to which a feature vector given as an argument becomes an identification error.
  • r (•) represents a risk level indicating the degree to which a feature vector given as an argument becomes an identification error.
  • g k (•) an identification function for calculating the similarity between the k-th class and the feature vector x is a function shown below.
  • the discriminant function g k is a function that increases as the degree of belonging to the k-th class increases.
  • a class that is most likely to be erroneously recognized for the vector x kn is a j-th class, and an identification function g j (hereinafter referred to as g j ( ⁇ )) that calculates the similarity between the j-th class and the feature vector x may be described. Is a function shown below.
  • the continuous loss calculation unit 104 calculates the degree of risk that the feature vector x becomes an identification error using Expressions 3 to 6 illustrated below.
  • f (hereinafter also referred to as f (•)) is an arbitrary monotonically increasing function, and is defined as, for example, Expression 7 illustrated below.
  • ⁇ and ⁇ are hyper parameters, and desired values are set.
  • values may be set using a method similar to the method for setting values in a general classifier. In this way, the continuous loss calculation unit 104 calculates the continuous loss for the class k by calculating the sum of the risks indicating how easily the input vector x belonging to the class k is erroneous.
  • the continuous loss calculation unit 104 calculates the risk using the discrimination function g k that calculates the similarity between the k-th class and the feature vector x.
  • the discriminant function g k used when calculating the risk is not limited to a function for calculating the similarity between the kth class and the feature vector x.
  • the continuous loss calculation unit 104 may calculate the risk level using an identification function that calculates the distance between the kth class and the feature vector x.
  • the smaller the output value calculated by the discriminant function that is, the shorter the distance
  • the continuous loss calculation unit 104 may calculate the degree of risk using an expression in which g k (•) and g j (•) illustrated in Expressions 3 to 6 are interchanged.
  • the continuous loss calculation unit 104 calculates the total continuous loss calculated for each class. That is, assuming that the number of classes is K, the continuous loss calculation unit 104 calculates the sum of continuous losses using Equation 8 illustrated below.
  • the loss difference calculation unit 105 calculates the sum of the difference in loss between classes. For example, the loss difference calculation unit 105 calculates the sum of the difference in loss between the j-th class and the k-th class using Expression 9 illustrated below.
  • the recognition dictionary determination unit 109 minimizes the weighted linear sum between the sum of the continuous losses calculated by the continuous loss calculation unit 104 and the sum of the difference of losses between classes calculated by the loss difference calculation unit 105.
  • the discriminator parameter ⁇ is determined. For example, the recognition dictionary determination unit 109 weights the continuous loss calculated by the continuous loss calculation unit 104 using Equation 8 and the sum of the difference in loss between classes calculated by the loss difference calculation unit 105 using Equation 9.
  • the discriminator parameter ⁇ that minimizes the added linear sum is determined.
  • the recognition dictionary determination unit 109 may determine the discriminator parameter ⁇ so that the value L ( ⁇ ) calculated by Expression 10 illustrated below is minimized.
  • the recognition dictionary determination unit 109 may determine the discriminator parameter ⁇ that minimizes L ( ⁇ ) by cross-validation.
  • the identification unit 106 performs identification processing on the input data using the classifier parameter ⁇ determined in this way. Therefore, the determination of the discriminator parameter ⁇ by the recognition dictionary determination unit 109 means creation of a recognition dictionary used for input data identification processing.
  • the recognition dictionary determination unit 109 sets the discriminator parameter ⁇ so that the evaluation value L ( ⁇ ) is minimized based on the input new data by the above method. Correct it. From this, it can be said that the recognition dictionary determination unit 109 corrects the recognition dictionary so that the evaluation value L ( ⁇ ) is minimized based on the input data.
  • the output unit 108 is realized by a CPU of a computer that operates according to a program (pattern recognition program).
  • the program is stored in a storage unit (not shown) of the pattern recognition device, and the CPU reads the program, and in accordance with the program, the data input unit 101, the feature extraction unit 102, the recognition dictionary creation unit 103 (more specifically, , Continuous loss calculation unit 104, loss difference calculation unit 105 and recognition dictionary determination unit 109), identification unit 106, and result output unit 108.
  • Each of the result output units 108 may be realized by dedicated hardware.
  • the recognition dictionary creation unit 103 (more specifically, the continuous loss calculation unit 104, the loss difference calculation unit 105, and the recognition dictionary determination unit 109) may operate as one device (a recognition dictionary creation device).
  • FIG. 2 is a flowchart illustrating an example of processing for creating a recognition dictionary.
  • Expression 10 is used as the evaluation function.
  • it may be described as learning to create a recognition dictionary.
  • the recognition dictionary is initialized using a learning data set (that is, used when creating a recognition dictionary) (step S701). Specifically, the recognition dictionary creation unit 103 sets an initial value of the discriminator parameter ⁇ , and puts the pattern recognition device into a state where it can be used for learning. Further, the recognition dictionary creation unit 103 sets a sufficiently large value for the variable L to be compared in the process described later.
  • the data input unit 101 reads the input data (step S702) and notifies the feature extraction unit 102.
  • the feature extraction unit 102 performs feature extraction from the input data to convert it into a d-dimensional feature vector (step S703).
  • the recognition dictionary determination unit 109 corrects the discriminator parameter ⁇ , which is a recognition dictionary, so that the value of the evaluation function L ( ⁇ ) defined by Expression 10 decreases (steps S704 and S705). Specifically, the recognition dictionary determination unit 109 minimizes the weighted linear sum of the sum of the continuous losses calculated by the continuous loss calculation unit 104 and the sum of the difference of losses between classes calculated by the loss difference calculation unit 105.
  • the discriminator parameter ⁇ is corrected so that
  • the recognition dictionary determination unit 109 compares the value of the evaluation function L ( ⁇ ) with the value of the variable L. If the difference between the value of the evaluation function L ( ⁇ ) and the value of the variable L is sufficiently small (that is, converges to a constant value) (Yes in step S706), the recognition dictionary determination unit 109 at this time Is determined as a discriminator parameter, and the process is terminated.
  • step S706 when the difference between the value of the evaluation function L ( ⁇ ) and the value of the variable L cannot be said to be sufficiently small (that is, has not converged to a certain value) (No in step S706), the recognition dictionary determination unit 109 Then, the value of L ( ⁇ ) at this time is substituted into the variable L, and the processing after step S704 is repeated.
  • FIG. 3 is a flowchart illustrating an example of recognition processing using a recognition dictionary.
  • the identification unit 106 initializes a recognition dictionary (step S801). Specifically, the identification unit 106 makes a state where the recognition dictionary created by the recognition dictionary creation unit 103 can be used.
  • the data input unit 101 reads the input data (step S802) and notifies the feature extraction unit 102.
  • the feature extraction unit 102 performs feature extraction from the input data to convert it into a d-dimensional feature vector (step S803).
  • the identification unit 106 performs identification processing of the converted feature vector using the recognition dictionary (step S804), and notifies the result output unit 108 of the identification result. Then, the result output unit 108 outputs the identification result received from the identification unit 106 (step S805).
  • the identification unit 106 determines whether or not the input data has been read (step S806). If the input data has not been read (No in step S806), the processes in and after step S802 are repeated. On the other hand, when the input data has been read (Yes in step S806), the identification unit 106 ends the process.
  • the continuous loss calculation unit 104 calculates the continuous loss of feature vectors indicating the characteristics of data belonging to each class for each class. Further, the loss difference calculation unit 105 calculates the sum of the difference in loss between the classes based on the loss calculated for each class. Then, the recognition dictionary determination unit 109 creates a recognition dictionary based on the total loss calculated for each class and the total difference in loss between classes. Further, the recognition dictionary determination unit 109 sets the recognition dictionary so that the sum of the total loss calculated for each class based on the input feature vector and the total difference in loss between classes is minimized. Correct it. Then, the identification unit 106 identifies the data pattern using the corrected recognition dictionary. Therefore, even when the data used for learning includes noise or when the number of data is small, pattern recognition can be performed with high identification accuracy on new data that has not been learned.
  • the recognition dictionary is determined so as to reduce the continuous loss and reduce the difference in loss between classes. Therefore, even if the data used for learning includes noise or the number of data is small, it is not learned. High identification accuracy can be realized for the new data. This effect will be described in detail below using specific examples. In the following specific example, a case where the number of classes is two will be described for ease of explanation. When the number of classes is two, the above formula 10 can be defined as the following formula 11.
  • FIG. 4 and 5 are explanatory diagrams showing an example of an operation for determining an identification boundary for the data in the state shown in FIG.
  • black circles hereinafter referred to as “ ⁇ ” in the figure are data belonging to class 1
  • white circles hereinafter referred to as “ ⁇ ”
  • a broken line 901 illustrated in FIG. 4 indicates an identification boundary set by the classifier.
  • a solid line 902 indicates a margin boundary set at a certain distance ⁇ near the class 1 from the broken line 901. Further, the sum of the continuous losses of the data “ ⁇ ” included in the shaded area in FIG. 4 becomes the class 1 continuous loss L 1 ( ⁇ ).
  • a broken line 1001 shown in FIG. 5 indicates an identification boundary set at the same position as the broken line 901 in FIG. 4, and a solid line 1002 is set closer to class 2 from the broken line 1001 and is also set at a constant distance ⁇ . Indicates the margin boundary. Further, the sum of the continuous losses of the data “ ⁇ ” included in the shaded area in FIG. 5 becomes the class 2 continuous loss L 2 ( ⁇ ).
  • the continuous loss L 1 ( ⁇ ) of class 1 becomes a smaller value as the identification boundary moves away from the class 1 data indicated by “ ⁇ ”. Further, the continuous loss L 2 ( ⁇ ) of class 2 becomes smaller as the identification boundary is further away from the data of class 2 indicated by “ ⁇ ”.
  • Expression 2 Expression 3, Expression 7, and Expression 11 are used.
  • the value of ⁇ in Expression 7 is set to a sufficiently large value.
  • the class 1 continuous loss L 1 ( ⁇ ) is included in the shaded region in FIG. 4 and the class 2 continuous loss L 2 ( ⁇ ) is included in the shaded region in FIG. It becomes almost equal to the number of “ ⁇ ”.
  • obtaining ⁇ that minimizes the first term and the second term on the right side of Equation 11 means obtaining an identification boundary that minimizes the sum of these (ie, continuous loss).
  • the number of “ ⁇ ” included in the shaded area in FIG. 4 and the number of “ ⁇ ” included in the shaded area in FIG. Means to find equal identification boundaries. Therefore, when the value of ⁇ in Equation 11 is sufficiently large, the number of “ ⁇ ” included in the shaded area in FIG. 4 is equal to the number of “ ⁇ ” included in the shaded area in FIG. Thus, an identification boundary that minimizes the sum of these is obtained.
  • FIGS. 6 and 7 are explanatory diagrams showing an example of an operation for determining an identification boundary for the data in the state shown in FIG.
  • class 1 data indicated by “ ⁇ ” is added immediately adjacent to class 2 data indicated by “ ⁇ ”. Even in such a case, the sum of these is obtained under the condition that the number of “ ⁇ ” included in the shaded area in FIG. 6 is equal to the number of “ ⁇ ” included in the shaded area in FIG.
  • the identification boundary that minimizes is determined. That is, the identification boundary is set at the position of the broken line 1101 shown in FIG. 6 or the broken line 1201 shown in FIG.
  • FIGS. 8 and 9 are explanatory diagrams showing another example of the operation for determining the identification boundary for the data in the state shown in FIG.
  • an identification boundary (broken line 1301 in FIG. 8 or broken line 1401 in FIG. 9) is set at a position strongly dependent on data existing in the vicinity of the identification boundary, and is determined by a general pattern recognition apparatus. A result similar to the identification boundary (for example, the broken line 601 shown in FIG. 21) can be obtained.
  • the present invention will be described with reference to specific examples, but the scope of the present invention is not limited to the contents described below.
  • the number of classes is 2, and a kernel discriminant function is used as the discriminant function for each class. That is, the class k discrimination function is defined as shown in Equation 12 below.
  • K is a kernel function (hereinafter also referred to as K (•)), and a Gaussian type kernel function defined as in the following Expression 13 is used.
  • (where ⁇ > 0) is a parameter that defines the size of the Gaussian kernel, and a desired value is set in advance in ⁇ .
  • Expressions 2 and 6 are used as expressions for calculating the continuous loss for the kth class. Further, Equation 11 is used as the evaluation function.
  • input vectors belonging to class 1 are (x [1], x [2],..., X [N1]), and inputs belonging to class 2 A vector is expressed as (x [N1 + 1], x [N1 + 2],..., X [N1 + N2]).
  • a desired value is set for the prior probability P k in Equation 2.
  • ( ⁇ [1], ⁇ [2],..., ⁇ [N1]) is used as a recognition dictionary for class 1, and ( ⁇ [N1 + 1], ⁇ 2 [N1 + 2],. ..., ⁇ 2 [N1 + N2]) are prepared, and all values are set to 1. Further, a minute value ⁇ indicating the change amount of the parameter value is prepared, and for example, 0.01 is set as the value of ⁇ .
  • FIG. 10 is a flowchart illustrating an example of processing for creating a recognition dictionary in the present embodiment.
  • sufficiently large values are set in the variables L new and L old (step S1501), and further, 1 is set in the variable i (step S1502).
  • the recognition dictionary creation unit 103 stores the value of the i-th parameter ⁇ [i] in the variable ⁇ ′, decreases ⁇ [i] by ⁇ , and then calculates the evaluation value L ( ⁇ ) of Expression 11. Saved in the variable L ′ (step S1503).
  • the process proceeds to step S1506.
  • step S1505 the recognition dictionary creation unit 103 saves the value of the variable L ′ in the variable L new and also saves the value of the variable i in the variable j (step S1505).
  • the recognition dictionary creation unit 103 returns the value stored in the variable ⁇ ′ to ⁇ [i] (step S1506). If the value of the variable i is smaller than the total number of parameters N1 + N2 (Yes in step S1507), the recognition dictionary creation unit 103 increases the value of i by 1 (S1508), and then returns to S1503 and repeats the subsequent processing. On the other hand, if the value of the variable i is not smaller than the total number N1 + N2 of parameters in step S1507 (No in step S1507), the process proceeds to step S1509.
  • step S1509 If the value of variable L new is not smaller than L old (No in step S1509), the process ends. On the other hand, if the value of the variable L new is smaller than L old (Yes in step S1509), the process proceeds to step S1510.
  • step S1510 the recognition dictionary creation unit 103 stores the value of L new in L old and changes the value of the jth parameter ⁇ [j] to decrease by ⁇ (step S1510). Then, the process returns to step S1502, and the subsequent processing is repeated.
  • the value of the evaluation value L ( ⁇ ) is obtained by calculating the values of the continuous losses L 1 ( ⁇ ) and L 2 ( ⁇ ) of class 1 and class 2, respectively, as illustrated in Equation 11.
  • FIG. 11 is a flowchart illustrating an example of processing for calculating a continuous loss of class 1.
  • the recognition dictionary creation unit 103 sets the value of the variable L1 to 0 and the value of the variable n to 1 (step S1601). Further, the recognition dictionary creation unit 103 sets the value of the variable i to 1 and the value of the variable G1 to 0 (step S1602). Next, the recognition dictionary creation unit 103 calculates the value of the kernel function exemplified in Expression 13 using the input vectors x [n] and x [i], and multiplies the calculation result by the i-th parameter ⁇ [i]. The added value is added to the variable G1 (step S1603).
  • step S1604 If the value of the variable i is smaller than N1 (Yes in step S1604), the recognition dictionary creation unit 103 increases the value of the variable i by 1 (step S1605), returns to step S1603, and repeats the subsequent processing. . On the other hand, if the value of the variable i is not smaller than N1 (No in step S1604), the process proceeds to step S1606. In step S1606, the recognition dictionary creation unit 103 sets the value of i to N1 + 1 and the value of G2 to 0 (step S1606).
  • the recognition dictionary creation unit 103 calculates the value of the kernel function exemplified in Expression 13 using the input vectors x [n] and x [i], and multiplies the calculation result by the i-th parameter ⁇ [i]. The obtained value is added to the variable G2 (step S1607). If the value of the variable i is smaller than N1 + N2 (Yes in step S1608), the recognition dictionary creation unit 103 increments the value of the variable i by 1 (step S1609), returns to step S1607, and repeats the subsequent processing. . On the other hand, if the value of the variable i is not smaller than N1 + N2 (No in step S1608), the process proceeds to step S1610.
  • the value set in the variable G1 is the value of the class 1 discriminant function
  • the value set in the variable G2 is the value of the class 2 discriminant function. Therefore, the recognition dictionary creation unit 103 obtains a continuous loss related to the input vector x [n] belonging to class 1 according to Equation 6 (step S1610). If the value of the variable n is smaller than N1 (Yes in step S1611), the recognition dictionary creation unit 103 increases the value of the variable n by 1 (step S1612), returns to step S1602, and repeats the subsequent processing. On the other hand, if the value of the variable n is not smaller than N1 (No in step S1611), the process proceeds to step S1613.
  • Recognition dictionary creation unit 103 calculates a value obtained by multiplying the prior probability P 1 that is set to a desired value in a variable L1, further it divided by the calculation results in the input vector number N1 Class 1 values Is set to the variable L1 (S1613). Thereafter, the process ends.
  • FIG. 12 is a flowchart illustrating an example of processing for calculating a continuous loss of class 2.
  • the recognition dictionary creation unit 103 sets the value of the variable L2 to 0 and the value of the variable n to N1 + 1 (step S1701). Further, the recognition dictionary creation unit 103 sets the value of the variable i to 1 and the value of the variable G1 to 0 (step S1702). Next, the recognition dictionary creation unit 103 calculates the value of the kernel function exemplified in Expression 13 using the input vectors x [n] and x [i], and multiplies the calculation result by the i-th parameter ⁇ [i]. The obtained value is added to the variable G1 (step S1703).
  • step S1704 If the value of the variable i is smaller than N1 (Yes in step S1704), the recognition dictionary creation unit 103 increments the value of the variable i by 1 (step S1705), returns to step S1703, and repeats the subsequent processing. . On the other hand, if the value of the variable i is not smaller than N1 (No in step S1704), the process proceeds to step S1706. In step S1706, the recognition dictionary creation unit 103 sets the value of i to N1 + 1 and the value of G2 to 0 (step S1706).
  • the recognition dictionary creation unit 103 calculates the value of the kernel function exemplified in Expression 13 using the input vectors x [n] and x [i], and multiplies the calculation result by the i-th parameter ⁇ [i]. The obtained value is added to the variable G2 (step S1707). If the value of the variable i is smaller than N1 + N2 (Yes in step S1708), the recognition dictionary creation unit 103 increments the value of the variable i by 1 (step S1709), returns to step S1707, and repeats the subsequent processing. . On the other hand, if the value of the variable i is not smaller than N1 + N2 (No in step S1708), the process proceeds to step S1710.
  • the recognition dictionary creation unit 103 obtains a continuous loss related to the input vector x [n] belonging to class 2 according to Equation 6 (step S1710). If the value of the variable n is smaller than N1 + N2 (Yes in step S1711), the recognition dictionary creation unit 103 increases the value of the variable n by 1 (step S1712), returns to step S1702, and repeats the subsequent processing. On the other hand, if the value of the variable n is not smaller than N1 + N2 (No in step S1711), the process proceeds to step S1713.
  • Recognition dictionary creation unit 103 calculates a value obtained by multiplying the prior probability P 2, which is set to a desired value in a variable L2, further divided by the calculation results in the input vector number N2 of Class 2 value Is set to the variable L2 (S1713). Thereafter, the process ends.
  • FIG. 13 is a flowchart illustrating an example of processing for calculating an evaluation value.
  • the evaluation value L ( ⁇ ) is obtained according to Expression 11 will be described.
  • the recognition dictionary creation unit 103 sets a value obtained by adding the variable L1 and the variable L2 calculated in the above process to the variable L (step S1801). In addition, the recognition dictionary creation unit 103 sets a value obtained by multiplying the square of the difference between the variable L1 and the variable L2 calculated in the above-described process by a desired value ⁇ to the variable L ′ (step S1802). The recognition dictionary creation unit 103 sets a value obtained by adding the value set to the variable L in step S1801 and the value set to the variable L ′ in step S1802 to the variable L (step S1803), and ends the process. . The value of L obtained in this way is used as the evaluation value L ( ⁇ ) in step S1503 in FIG.
  • the processing at the stage of creating the recognition dictionary has been described above. Next, the processing at the stage of recognizing data using the recognition dictionary will be described.
  • the input data is converted into a d-dimensional feature vector x by predetermined feature extraction.
  • the feature vector converted in this way is referred to as an input vector.
  • FIG. 14 is a flowchart showing an example of identification processing performed on one input data.
  • the identification unit 106 sets the value of the variable i to 1 and the value of the variable G1 to 0 (step S1901).
  • the identification unit 106 calculates the value of the kernel function exemplified in Expression 13 using the input vectors x and x [i], and uses the value obtained by multiplying the calculation result by the i-th parameter ⁇ [i] as the variable G1. (Step S1902).
  • step S1903 when the value of the variable i is smaller than N1 (Yes in step S1903), the identification unit 106 increases the value of the variable i by 1 (step S1904), returns to step S1902, and repeats the subsequent processing. On the other hand, if the value of the variable i is not smaller than N1 (No in step S1903), the process proceeds to step S1905. In step S1905, the identification unit 106 sets the value of i to N1 + 1 and the value of G2 to 0 (step S1905).
  • the identification unit 106 calculates the value of the kernel function exemplified in Expression 13 using the input vectors x and x [i], and uses the value obtained by multiplying the calculation result by the i-th parameter ⁇ [i] as the variable G2. (Step S1906). If the value of the variable i is smaller than N1 + N2 (Yes in step S1907), the identifying unit 106 increases the value of the variable i by 1 (step S1908), returns to step S1906, and repeats the subsequent processing. On the other hand, if the value of the variable i is not smaller than N1 + N2 (No in step S1907), the process proceeds to step S1909.
  • the identification unit 106 outputs a value obtained by subtracting the value of the variable G2 from the value of the variable G1 (that is, the value of G1-G2), identifies the class to which the input vector belongs, and ends the process (step S1909). ).
  • the output value is positive
  • the input vector x is identified as belonging to class 1.
  • the output value is not positive
  • the input vector x is recognized as belonging to class 2.
  • the case where the number of classes is 2 has been described. However, the number of classes is not limited to two and may be three or more.
  • the case where the classifier uses the kernel function defined by Expression 13 has been described. However, the function used by the classifier is not limited to the kernel function.
  • FIG. 15 is a block diagram showing an example of the minimum configuration of the pattern recognition apparatus according to the present invention.
  • the pattern recognition apparatus according to the present invention calculates a loss (for example, continuous loss) of a feature vector indicating the characteristics of data belonging to each class for each class (for example, the calculation is performed using Equation 8).
  • the continuous loss calculation unit 104), and the loss difference calculation means 82 (for example, calculating using the equation 9) that calculates the sum of the differences of the losses between the classes based on the loss calculated for each class.
  • the loss difference calculation unit 105 For example, the loss difference calculation unit 105), the total loss calculated for each class by the loss calculation unit 81 (for example, the total continuous loss calculated using Equation 8), and the total difference between the classes. Based on (for example, the sum of the difference of loss between classes calculated using Equation 9), a recognition dictionary creating means 83 (for example, recognition Dictionary decision section And 09), the pattern identifying means 84 for identifying the data pattern using a recognition dictionary (e.g., a recognition unit 106) and.
  • a recognition dictionary creating means 83 for example, recognition Dictionary decision section And 09
  • the pattern identifying means 84 for identifying the data pattern using a recognition dictionary (e.g., a recognition unit 106) and.
  • the recognition dictionary creating unit 83 calculates the sum of losses calculated by the loss calculating unit 81 and the sum of differences calculated by the loss difference calculating unit 82.
  • the recognition dictionary is corrected so that the sum of the evaluation values (e.g., the evaluation value L ( ⁇ ) of the evaluation function defined by Equation 10) is minimized, and the pattern identification unit 84 uses the corrected recognition dictionary to change the data pattern.
  • FIG. 16 is a block diagram showing an example of the minimum configuration of the recognition dictionary creation apparatus according to the present invention.
  • a recognition dictionary creation device is a recognition dictionary creation device for creating a recognition dictionary used by a pattern recognition device for recognizing a pattern of data, and loss of feature vectors indicating features of data belonging to each class (for example, continuous Loss) is calculated for each class (for example, calculated using Equation 8), for example, based on the loss calculated for each class, based on the loss calculated for each class.
  • a loss difference calculation unit 92 (for example, the loss difference calculation unit 105) that calculates the sum of the differences of losses (for example, using Equation 9) and a loss sum calculated by the loss calculation unit 91 for each class (for example, , Based on the sum of the continuous losses calculated using Equation 8) and the sum of the differences in losses between classes (eg, the sum of the differences in losses calculated using Equation 9), Recognition dictionary Creating (e.g., to determine the identifier parameter alpha) and a recognition dictionary creating means 93 (e.g., the recognition dictionary determination section 109).
  • the recognition dictionary creating unit 93 calculates the sum of the losses for each class calculated by the loss calculating unit 91 and the sum of the differences of losses calculated by the loss difference calculating unit 92.
  • the recognition dictionary is corrected so that the sum (for example, the evaluation value L ( ⁇ ) of the evaluation function defined by Expression 10) is minimized.
  • Pattern recognition is performed using a recognition dictionary created with such a configuration, even if the data used for learning contains noise or the number of data is small, for unlearned new data, Pattern recognition can be performed with high identification accuracy.
  • Loss calculation means (for example, the continuous loss calculation unit 104) that calculates a loss (for example, continuous loss) of a feature vector indicating the characteristics of data belonging to each class for each class (for example, calculates using Equation 8). ) And the difference calculated between the classes based on the loss calculated for each class (for example, using the equation 9), the loss difference calculating means (for example, the loss difference calculating unit 105) ), The sum of losses calculated for each class by the loss calculation means (for example, the sum of continuous losses calculated using Equation 8), and the sum of the differences of losses between classes (for example, using Equation 9)
  • a recognition dictionary creating means (for example, a recognition dictionary determining unit 109) for generating a recognition dictionary (for example, determining a discriminator parameter ⁇ ), and a recognition dictionary based on the calculated sum of difference of losses between classes)
  • Use the data pattern Pattern recognition means (for example, an identification unit 106) for identifying the loss, and the recognition dictionary creation means calculates the sum of the losses for each class and the loss difference
  • the recognition dictionary is corrected so that the sum (for example, the evaluation value L ( ⁇ ) of the evaluation function defined by Equation 10) with the sum of the difference of losses between the classes calculated by the means is minimized, and the pattern identification means
  • a pattern recognition apparatus for identifying a data pattern using a corrected recognition dictionary.
  • the loss calculation means calculates the sum of the risk levels (for example, the risk levels calculated by Formula 3 to Formula 6 and Formula 7) indicating the degree to which the class to which the feature vector belongs is an identification error (for example, Formula 2)
  • Pattern recognition device that calculates the loss for each class based on the sum of the risk levels.
  • the loss calculation means calculates the loss of each class using a kernel function (for example, calculation using Expressions 12 and 13), and the pattern identification means creates a recognition dictionary created based on the kernel function.
  • a pattern recognition apparatus that uses data to identify patterns of data.
  • a feature vector extraction unit (for example, a feature extraction unit 102) that extracts a feature vector from data input as data to be recognized is provided, and the loss calculation unit loses the feature vector extracted by the feature vector extraction unit. Is recognized for each class, and the pattern recognition unit identifies the feature vector pattern extracted by the feature vector extraction unit using a recognition dictionary.
  • a recognition dictionary creation device for creating a recognition dictionary used by a pattern recognition device for recognizing a data pattern, wherein a loss of feature vectors (for example, continuous loss) indicating features of data belonging to each class is determined for each class.
  • a loss calculation means for example, using the equation 8) to calculate (for example, the continuous loss calculation unit 104) and the total difference of losses between classes based on the loss calculated for each class
  • a loss difference calculating means for example, calculating using the equation 9) (for example, the loss difference calculating unit 105) and a loss sum calculated by the loss calculating means for each class (for example, using the equation 8)
  • a recognition dictionary is created (for example, identification) based on the sum of the difference of losses between classes (for example, the sum of the difference of losses between classes calculated using Equation 9).
  • a recognition dictionary creation means for example, a recognition dictionary decision unit 109
  • the recognition dictionary creation means based on the input feature vector, the sum of losses calculated by the loss calculation means for each class, Recognition that corrects the recognition dictionary so that the sum (for example, the evaluation value L ( ⁇ ) of the evaluation function defined by Expression 10) with the sum of the differences of the losses calculated by the loss difference calculation means is minimized.
  • Dictionary creation device for example, a recognition dictionary decision unit 109
  • the loss calculation means calculates the sum of the risk levels (for example, the risk levels calculated by Formula 3 to Formula 6 and Formula 7) indicating the degree of discrimination error in the class to which the feature vector belongs (for example, Formula 2).
  • Recognition dictionary creation device that calculates the loss for each class based on the sum of the risk levels.
  • Feature vectors are extracted from data input as recognition target data, the loss of the extracted feature vectors is calculated for each class, and the extracted feature vector pattern is identified using a recognition dictionary. Pattern recognition method.
  • the present invention is preferably applied to a pattern recognition device that recognizes a pattern of input data.
  • the pattern recognition apparatus according to the present invention is suitably applied to image recognition and the like.

Abstract

 損失計算手段は、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する。損失差計算手段は、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する。認識辞書作成手段は、クラスごとに計算された損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する。また、認識辞書作成手段は、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、パターン識別手段は、修正された認識辞書を用いてデータのパターンを識別する。

Description

パターン認識装置、パターン認識方法及びパターン認識用プログラム
 本発明は、入力されるデータのパターンを認識するパターン認識装置、パターン認識方法、パターン認識用プログラム、及び、これらのパターン認識に用いられる認識辞書を作成する認識辞書作成装置、認識辞書作成方法及び認識辞書作成プログラムに関する。
 入力データを2つのグループに分類する一般的な方法として、特許文献1及び非特許文献1に記載された技術が知られている。
 特許文献1に記載されたソフトマージン分類システムは、トレーニングセット内のすべてのデータベクトルにおける重量ベクトルおよびバイアスを含むパラメータを決定し、複数の制約をもとに各データベクトルにおけるスラック変数の最小非負数を決定する。また、特許文献1に記載されたソフトマージン分類システムは、費用関数の最小値を複数の制約を満たすように決定する。
 また、非特許文献1に記載された方法は、入力データを線形分離できない場合に、パターンを有限もしくは無限次元の特徴空間へ写像し、特徴空間上で線形分離を行うものである。
特開平8-87572号公報(段落0009)
C. Cortes and V.N. Vapnik, "Support vector Networks," Machine Learning, vol.20, pp.273-297, 1995
 特許文献1及び非特許文献1記載の分類方法を用いた一般的なパターン認識装置について説明する。図17は、一般的なパターン認識装置を示す説明図である。図17に示すパターン認識装置は、データ入力部201と、特徴抽出部202と、認識辞書作成部203と、識別部206と、結果出力部208とを備えている。また、認識辞書作成部203は、損失計算部204と、マージン計算部205とを含む。
 学習と呼ばれる認識辞書を作成する段階において、データ入力部201から入力されたデータを特徴抽出部202がd次元の特徴ベクトルに変換し、認識辞書作成部203が認識辞書207を作成する。データを認識する段階においては、データ入力部201から入力されたデータを特徴抽出部202がd次元の特徴ベクトルに変換し、識別部206が認識辞書207を用いてデータを識別後、結果出力部208が識別結果を出力する。
 なお、認識辞書作成部203は、損失計算部204が計算した損失と、マージン計算部205が計算したマージンの逆数とを足し合わせた評価関数が最小になるように認識辞書207を作成する。
 図18は、線形分離可能なデータから認識辞書を作成する処理を示す説明図である。まず、データ集合が線形分離可能な場合について図18を用いて説明する。図18に示す黒丸(以下「●」と記す。)は、負のクラスに属するデータを示し、白丸(以下、「○」と記す。)は、正のクラスに属するデータを示す。一般的なパターン認識装置では、負のデータと正のデータの間のマージンが最大になる平行なマージン境界(すなわち、実線302及び実線303)を求め、これらから等距離にある破線301を識別境界とする認識辞書を作成する。
 次に、データ集合が線形分離不可能な場合について図19を用いて説明する。図19は、線形分離不可能なデータから認識辞書を作成する処理を示す説明図である。図18に示す内容と同様、実線402及び実線403は平行なマージン境界であり、破線401はこれらから等距離にある識別境界である。しかし、図18に示す場合と異なり、四角で囲ったデータ406,407がデータの集合に含まれるため、線形分離することはできない。
 このようにデータ集合が線形分離不可能な場合、一般的なパターン認識装置では、認識辞書作成部203が「●」で示すデータのマージン境界(すなわち、実線402)からの逸脱量404と、「○」で示すデータのマージン境界(すなわち、実線403)からの逸脱量405との総和を損失として計算する。そして、認識辞書作成部203は、この損失をなるべく少なく、かつマージンをなるべく大きくするようなマージン境界及び識別境界を有するように認識辞書を作成する。このとき、認識辞書作成部203は、式1で定義される値Lを最小化する識別境界を求める。
Figure JPOXMLDOC01-appb-M000001
 なお、式1に示す係数Cは、マージンと損失のバランスを決定するパラメータであり、その値は、交差検定法などにより試行錯誤的に決定される。
 しかし、一般的なパターン認識装置を用いて入力データを各グループに分類する方法では、学習に用いるデータがノイズを含む場合やデータ数が少ない場合、未学習の新たなデータに対する識別精度が低下してしまうという問題がある。これについて、図20及び図21を用いて、説明する。図20は、線形分離不可能なデータの集合を示す説明図である。
 図20に示すデータ504は、ノイズによって本来の分布から離れた位置に存在しているデータ、もしくは、データ数が少ないために分布から離れているように見えるデータである。この場合、一般的なパターン認識装置は、データ間のマージンを最大化する実線502及び実線503から等しい位置に識別境界(破線501)を設定する。
 ここで、図20に示すデータ集合に未学習の新たなデータが追加された場合について説明する。図21は、図20に示すデータ集合に未学習の新たなデータが追加された場合を示す説明図である。図21に示す破線602の位置に識別境界が設定されれば、「○」で示すデータの誤り数が1、「●」で示すデータの誤り数が1になり、誤りの総数は2になる。しかし、一般的なパターン認識装置が用いる方法では、破線601の位置に識別境界が設定されるため、「○」で示すデータの誤り数が3(すなわち、誤りの総数が3)になってしまい、識別精度が低下してしまうという問題がある。このように、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度を実現できることが望ましい。
 そこで、本発明は、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができるパターン認識装置、パターン認識方法、パターン認識用プログラム、及び、これらのパターン認識に用いられる認識辞書を作成する認識辞書作成装置、認識辞書作成方法及び認識辞書作成プログラムを提供することを目的とする。
 本発明によるパターン認識装置は、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算手段と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算手段と、損失計算手段がクラスごとに計算した損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成手段と、認識辞書を用いてデータのパターンを識別するパターン識別手段とを備え、認識辞書作成手段が、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、パターン識別手段が、修正された認識辞書を用いてデータのパターンを識別することを特徴とする。
 本発明による認識辞書作成装置は、データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成装置であって、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算手段と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算手段と、損失計算手段がクラスごとに計算した損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成手段とを備え、認識辞書作成手段が、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正することを特徴とする。
 本発明によるパターン認識方法は、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算し、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算し、クラスごとに計算された損失の総和と、クラス間の損失の差の総和とに基づいて、認識辞書を作成し、入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、修正された認識辞書を用いてデータのパターンを識別することを特徴とする。
 本発明による認識辞書作成方法は、データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成方法であって、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算し、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算し、クラスごとに計算された損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成し、入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、各クラス間の損失の差の総和との和が最小になるように認識辞書を修正することを特徴とする。
 本発明によるパターン認識プログラムは、コンピュータに、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算処理、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算処理、損失計算処理でクラスごとに計算した損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成処理、および、認識辞書を用いてデータのパターンを識別するパターン識別処理を実行させ、認識辞書作成処理で、入力された特徴ベクトルをもとに、損失計算処理で計算したクラスごとの損失の総和と、損失差計算処理で計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正させ、パターン識別処理で、修正された認識辞書を用いてデータのパターンを識別させることを特徴とする。
 本発明による認識辞書作成プログラムは、データのパターンを認識するパターン認識装置が用いる認識辞書を作成するコンピュータに適用される認識辞書作成プログラムであって、コンピュータに、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算処理、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算処理、および、損失計算処理でクラスごとに計算した損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成処理を実行させ、認識辞書作成処理で、入力された特徴ベクトルをもとに、損失計算処理で計算したクラスごとの損失の総和と、損失差計算処理で計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正させることを特徴とする。
 本発明によれば、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができる。
本発明によるパターン認識装置の一実施形態を示すブロック図である。 認識辞書を作成する処理の例を示すフローチャートである。 認識辞書を用いた認識処理の例を示すフローチャートである。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 認識辞書を作成する処理の例を示すフローチャートである。 クラス1の連続損失を計算する処理の例を示すフローチャートである。 クラス2の連続損失を計算する処理の例を示すフローチャートである。 評価値を計算する処理の例を示すフローチャートである。 1つの入力データに対して行われる識別処理の例を示すフローチャートである。 本発明によるパターン認識装置の最小構成の例を示すブロック図である。 本発明による認識辞書作成装置の最小構成の例を示すブロック図である。 一般的なパターン認識装置を示す説明図である。 線形分離可能なデータから認識辞書を作成する処理を示す説明図である。 線形分離不可能なデータから認識辞書を作成する処理を示す説明図である。 線形分離不可能なデータの集合を示す説明図である。 データ集合に未学習の新たなデータが追加された場合を示す説明図である。
 以下、本発明の実施形態を図面を参照して説明する。
 図1は、本発明によるパターン認識装置の一実施形態を示すブロック図である。本発明におけるパターン認識装置は、データ入力部101と、特徴抽出部102と、認識辞書作成部103と、識別部106と、結果出力部108とを備えている。また、認識辞書作成部103は、連続損失計算部104と、損失差計算部105と、認識辞書決定部109とを含む。
 データ入力部101は、パターン認識装置に入力された認識対象のデータを特徴抽出部102に通知する。認識対象のデータとしては、例えば、カメラで撮影された画像データなどが挙げられる。
 特徴抽出部102は、データ入力部101から通知されたデータをもとにd個の特徴値(以下、d次元特徴ベクトルと記すこともある。)を抽出する。特徴抽出部102が行う抽出処理の一例として、画像データを白黒濃淡画像に変換した後、画像全体を縦10×横10の領域に分割し、各領域内で画像の輝度値の平均を求めることで、100次元の特徴ベクトルを得る方法が挙げられる。ただし、特徴抽出部102が多次元の特徴ベクトルを抽出する方法は、上述の方法に限定されない。入力されたデータから多次元の特徴ベクトルを抽出する方法は広く知られているため、詳細な説明は省略する。
 認識辞書作成部103は、「学習」と呼ばれる認識辞書107を作成する段階において、特徴抽出部102が抽出したd次元特徴ベクトルを連続損失計算部104及び損失差計算部105に入力し、その計算結果に基づき認識辞書107を作成する。
 連続損失計算部104は、d次元特徴ベクトルをもとにクラスごとの損失を計算する。そして、連続損失計算部104は、計算したクラスごとの損失の総和を計算する。なお、以下の説明では、一般的な方法で計算される損失と区別するため、連続損失計算部104が計算する損失を連続損失と記す。
 損失差計算部105は、d次元特徴ベクトルをもとに一のクラスの損失と他のクラスの損失との差分を計算する。そして、損失差計算部105は、クラス間の全差分の総和を計算する。
 認識辞書決定部109は、連続損失計算部104が計算した連続損失の総和と、損失差計算部105が計算したクラス間の損失の差の総和とをもとに、作成する認識辞書を決定する。
 識別部106は、データを認識する段階において、特徴抽出部102が抽出したd次元特徴ベクトルと、認識辞書107とを用いてデータパターンの識別処理を行い、識別結果を結果出力部108に通知する。例えば、識別部106は、入力されたデータのパターンを識別して、データの属するクラスを認識してもよい。なお、d次元特徴ベクトルと認識辞書を用いた識別方法は広く知られているため、詳細な説明は省略する。
 結果出力部108は、識別部106から受け取った識別結果を出力する。
 次に、認識辞書作成部103の動作について、以下詳細に説明する。認識辞書作成部103における連続損失計算部104は、k番目のクラスに対する連続損失を、以下に例示する式2にしたがって計算する。
Figure JPOXMLDOC01-appb-M000002
 式2におけるPは、k番目のクラスに関する事前確率、Nはk番目のクラスに属する特徴ベクトルの数、ベクトルxknはk番目のクラスに属するn番目の特徴ベクトル、ベクトルαは認識辞書107として使用される識別器パラメータである。
 ここで、事前確率とは、正解が分かっているデータに関する存在確率、もしくは、出現頻度を示す。例えば、全データの数をNとしたとき、そのデータの中にクラスkのデータが含まれている割合がクラスkの事前確率になる。事前確率には所望の値として、例えば、統計的に既に分かっている値を予め設定すればよい。例えば、全特徴ベクトル数がN、クラス数がKの場合、クラスkの事前確率をP=N/Nと設定してもよい。ただし、N=N+・・・+Nである。なお、この場合の事前確率Pは、クラスkに属すると正解付けされた学習データの、全学習データに対する割合である。
 また、識別器パラメータは、利用する識別器に応じて定義される識別に関わるパラメータである。例えば、識別関数にカーネル関数が用いられる場合、式2に例示するパラメータαとして、各カーネル関数を重み付けする際に用いられる係数を用いてもよい。
 また、式2に例示する関数r(以下、r(・)と記すこともある。)は、引数として与えられる特徴ベクトルが識別誤りになる度合いを示す危険度を表し、識別誤りの危険度が高いほど高い値を返す関数である。例えば、k番目のクラスと特徴ベクトルxとの類似度を計算する識別関数g(以下、g(・)と記すこともある。)を以下に示す関数とする。
Figure JPOXMLDOC01-appb-M000003
 すなわち、識別関数gは、k番目のクラスに属する度合いが高くなるほど算出する値が大きくなる関数である。また、ベクトルxknに対する認識が最も誤りやすいクラスをj番目のクラスとし、j番目のクラスと特徴ベクトルxとの類似度を計算する識別関数g(以下、g(・)と記すこともある。)を以下に示す関数とする。
Figure JPOXMLDOC01-appb-M000004
 このとき、連続損失計算部104は、以下に例示する式3~式6を用いて特徴ベクトルxが識別誤りになる危険度を計算する。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 なお、関数f(以下、f(・)と記すこともある。)は任意の単調増加関数であり、例えば、以下に例示する式7のように定義される。
Figure JPOXMLDOC01-appb-M000009
 ここで、β及びξはハイパーパラメータであり、所望の値が設定される。β及びξに対しては、一般的な識別器において値を設定する方法と同様の方法を用いて値を設定すればよい。このように、連続損失計算部104は、クラスkに属する入力ベクトルxがどの程度間違えやすいかを表す危険度の総和を計算することによりクラスkに対する連続損失を計算する。
 なお、上記説明では、連続損失計算部104が、k番目のクラスと特徴ベクトルxとの類似度を計算する識別関数gを用いて危険度を算出する場合について説明した。ただし、危険度を計算する際に用いる識別関数gは、k番目のクラスと特徴ベクトルxとの類似度を計算する関数に限定されない。
 例えば、連続損失計算部104は、k番目のクラスと特徴ベクトルxとの距離を計算する識別関数を用いて危険度を計算してもよい。なお、この場合には、識別関数により算出される出力値が小さい(すなわち、距離が近い)ほど、対象のクラスに属する度合いが高くなる。そのため、連続損失計算部104は、式3から式6に例示するg(・)とg(・)とを入れ替えた式を用いて危険度を計算すればよい。
 次に、連続損失計算部104は、クラスごとに計算した連続損失の総和を計算する。すなわち、クラス数をKとすると、連続損失計算部104は、以下に例示する式8を用いて連続損失の総和を計算する。
Figure JPOXMLDOC01-appb-M000010
 次に、損失差計算部105は、クラス間の損失の差の総和を計算する。例えば、損失差計算部105は、j番目のクラスとk番目のクラスの損失の差の総和を、以下に例示する式9を用いて計算する。
Figure JPOXMLDOC01-appb-M000011
 次に、認識辞書決定部109は、連続損失計算部104が計算した連続損失の総和と、損失差計算部105が計算したクラス間の損失の差の総和との重み付き線形和が最小になる識別器パラメータαを決定する。例えば、認識辞書決定部109は、連続損失計算部104が式8を用いて計算した連続損失と、損失差計算部105が式9を用いて計算したクラス間の損失の差の総和との重み付き線形和が最小になる識別器パラメータαを決定する。このとき、認識辞書決定部109は、以下に例示する式10により算出される値L(α)が最小になるように識別器パラメータαを決定してもよい。
Figure JPOXMLDOC01-appb-M000012
 ここで、λはハイパーパラメータである。認識辞書決定部109は、例えば、クロスバリデーションによってL(α)が最小になる識別器パラメータαを決定してもよい。
 識別部106は、このように決定された識別器パラメータαを用いて入力されたデータの識別処理を行う。したがって、認識辞書決定部109が識別器パラメータαを決定することは、入力されるデータの識別処理に用いられる認識辞書を作成することを意味する。
 また、新たなデータが入力されると、認識辞書決定部109は、上記方法により、入力された新たなデータをもとに、評価値L(α)が最小になるように識別器パラメータαを修正する。このことから、認識辞書決定部109は、入力されたデータをもとに、評価値L(α)が最小になるように認識辞書を修正しているとも言える。
 データ入力部101と、特徴抽出部102と、認識辞書作成部103(より詳しくは、連続損失計算部104と、損失差計算部105と、認識辞書決定部109)と、識別部106と、結果出力部108とは、プログラム(パターン認識プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、パターン認識装置の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、データ入力部101、特徴抽出部102、認識辞書作成部103(より詳しくは、連続損失計算部104、損失差計算部105及び認識辞書決定部109)、識別部106及び結果出力部108として動作してもよい。また、データ入力部101と、特徴抽出部102と、認識辞書作成部103(より詳しくは、連続損失計算部104と、損失差計算部105と、認識辞書決定部109)と、識別部106と、結果出力部108とは、それぞれが専用のハードウェアで実現されていてもよい。
 また、認識辞書作成部103(より詳しくは、連続損失計算部104と、損失差計算部105と、認識辞書決定部109)が、一つの装置(認識辞書作成装置)として動作してもよい。
 次に、動作について説明する。まず、認識辞書を作成する段階の処理について説明する。図2は、認識辞書を作成する処理の例を示すフローチャートである。以下の説明では、評価関数として式10を用いるものとする。また、以下の説明では、認識辞書を作成することを学習すると記すこともある。
 まず、学習用(すなわち、認識辞書を作成する際に用いる)データセットを用いて、認識辞書の初期化を行う(ステップS701)。具体的には、認識辞書作成部103は、識別器パラメータαの初期値を設定し、パターン認識装置を学習に使用できる状態にしておく。また、認識辞書作成部103は、後述の処理で比較対象になる変数Lに対し、十分大きな値を設定しておく。
 次に、データ入力部101は、入力データを読み込み(ステップS702)、特徴抽出部102に通知する。特徴抽出部102は、入力データから特徴抽出を行うことでd次元の特徴ベクトルに変換する(ステップS703)。認識辞書決定部109は、認識辞書である識別器パラメータαを、式10で定義される評価関数L(α)の値が減少するように修正する(ステップS704及びステップS705)。具体的には、認識辞書決定部109は、連続損失計算部104が計算した連続損失の総和と、損失差計算部105が計算したクラス間の損失の差の総和との重み付き線形和が最小になるように識別器パラメータαを修正する。
 認識辞書決定部109は、評価関数L(α)の値と変数Lの値とを比較する。そして、評価関数L(α)の値と変数Lの値との差が十分小さい(すなわち、一定の値に収束している)場合(ステップS706におけるYes)、認識辞書決定部109は、このときのαを識別器パラメータとして決定して処理を終了する。一方、評価関数L(α)の値と変数Lの値との差が十分小さいといえない(すなわち、一定の値に収束していない)場合(ステップS706におけるNo)、認識辞書決定部109は、このときのL(α)の値を変数Lに代入し、ステップS704以降の処理が繰り返される。
 次に、データを認識する段階の処理について説明する。図3は、認識辞書を用いた認識処理の例を示すフローチャートである。まず、識別部106は、認識辞書の初期化を行う(ステップS801)。具体的には、識別部106は、認識辞書作成部103が作成した認識辞書を使用できる状態にする。次に、データ入力部101は、入力データを読み込み(ステップS802)、特徴抽出部102に通知する。特徴抽出部102は、入力データから特徴抽出を行うことでd次元の特徴ベクトルに変換する(ステップS803)。識別部106は、認識辞書を用いて変換された特徴ベクトルの識別処理を行い(ステップS804)、識別結果を結果出力部108に通知する。そして、結果出力部108は、識別部106から受け取った識別結果を出力する(ステップS805)。
 識別部106は、入力データの読み込みが終了しているか否か判定する(ステップS806)。入力データの読み込みが終了していない場合(ステップS806におけるNo)、ステップS802以降の処理が繰り返される。一方、入力データの読み込みが終了している場合(ステップS806におけるYes)、識別部106は、処理を終了する。
 以上のように、本実施形態によれば、連続損失計算部104が、各クラスに属するデータの特徴を示す特徴ベクトルの連続損失をクラスごとに計算する。さらに、損失差計算部105が、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する。そして、認識辞書決定部109が、クラスごとに計算された損失の総和と、クラス間の損失の差の総和とに基づいて、認識辞書を作成する。さらに、認識辞書決定部109が、入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、クラス間の損失の差の総和との和が最小になるように認識辞書を修正する。そして、識別部106が、修正された認識辞書を用いてデータのパターンを識別する。そのため、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができる。
 すなわち、本実施形態では、連続損失を小さくするとともにクラス間の損失の差が小さくなるように認識辞書を決定するため、学習に用いるデータがノイズを含む場合やデータ数が少ない場合でも、未学習の新たなデータに対して高い識別精度を実現することができる。この効果について、以下、具体例を用いて詳しく説明する。以下の具体例では、説明を容易にするため、クラス数が2つの場合について説明する。クラス数が2つの場合、上述の式10は、以下の式11のように定義することができる。
Figure JPOXMLDOC01-appb-M000013
 図4及び図5は、図18に示す状態のデータに対して識別境界を決定する動作の例を示す説明図である。以下の説明では、図中の黒丸(以下、「●」と記す。)をクラス1に属するデータ、白丸(以下、「○」と記す。)をクラス2に属するデータであるとする。図4に示す破線901は、識別器が設定する識別境界を示す。実線902は、破線901からクラス1寄りに、ある一定距離ξの位置に設定されたマージン境界を示す。また、図4において網掛けで示した領域に含まれる「●」のデータの連続損失の総和が、クラス1の連続損失L(α)になる。
 同様に、図5に示す破線1001は、図4における破線901と同じ位置に設定される識別境界を示し、実線1002は、破線1001からクラス2寄りに、同じく一定距離ξの位置に設定されたマージン境界を示す。また、図5において網掛けで示した領域に含まれる「○」のデータの連続損失の総和が、クラス2の連続損失L(α)になる。
 図4及び図5に示すように、クラス1の連続損失L(α)は、「●」で示すクラス1のデータから識別境界が遠ざかるほど小さな値になる。また、クラス2の連続損失L(α)は、「○」で示すクラス2のデータから識別境界が遠ざかるほど小さな値になる。
 説明を簡略にするため、式2、式3、式7及び式11を用いる場合について以下説明する。ここで、式2における事前確率の値をP=Nとし、式7におけるβの値を十分大きな値に設定する。この場合、クラス1の連続損失L(α)は、図4における網掛け領域に含まれる「●」の数、クラス2の連続損失L(α)は、図5における網掛け領域に含まれる「○」の数にほぼ等しくなる。
 ここで、式11の右辺第1項及び第2項を最小化するαを求めることは、これら(すなわち、連続損失)の総和を最小化する識別境界を求めることを意味する。また、式11の右辺第3項を最小化するαを求めることは、図4における網掛け領域に含まれる「●」の数と、図5における網掛け領域に含まれる「○」の数が等しくなる識別境界を求めることを意味する。したがって、式11におけるλの値が十分大きい場合は、図4における網掛け領域に含まれる「●」の数と、図5における網掛け領域に含まれる「○」の数が等しくなる条件の下で、これらの総和を最小化する識別境界を求めることになる。
 図6及び図7は、図20に示す状態のデータに対して識別境界を決定する動作の例を示す説明図である。図6及び図7に示す例では、「○」で示すクラス2のデータのすぐ近くに、「●」で示すクラス1のデータが追加されている。このような場合であっても、図6における網掛け領域に含まれる「●」の数と、図7における網掛け領域に含まれる「○」の数が等しくなる条件の下で、これらの総和を最小化する識別境界が決定される。すなわち、図6に示す破線1101、もしくは、図7に示す破線1201の位置に識別境界が設定されことになる。
 したがって、例えば、図21に例示するように新たなデータが入力された場合であっても、一般的なパターン認識装置で求められる識別境界よりも、より識別精度の高い識別境界を決定することができる。すなわち、より高い識別精度を実現することができる。
 さらに、本実施形態によれば、識別境界とマージン境界との距離ξを小さくすることで、一般的なパターン認識装置によって決定される識別境界と同様の識別境界を得ることもできる。このことについて、図8及び図9を用いて以下説明する。図8及び図9は、図20に示す状態のデータに対して識別境界を決定する他の動作の例を示す説明図である。
 距離ξの値を小さくした場合、図8における網掛け領域に含まれる「●」の数、及び、図9における網掛け領域に含まれる「○」の数が少なくなる。そのため、識別境界付近に存在するデータに強く依存した位置に識別境界(図8における破線1301、もしくは、図9における破線1401)が設定されることになり、一般的なパターン認識装置で決定される識別境界(例えば、図21に示す破線601)と同様の結果を得ることができる。
 以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。以下の説明では、クラス数を2とし、各クラスの識別関数としてカーネル識別関数を用いるものとする。すなわち、クラスkの識別関数は、以下に例示する式12のように定義される。
Figure JPOXMLDOC01-appb-M000014
 ここで、ベクトルxkiは、クラスkに属する学習データであり、αkiは識別器パラメータである。また、Kはカーネル関数(以下、K(・)と記すこともある。)であり、以下に例示する式13のように定義されるガウシアン型のカーネル関数などが用いられる。
Figure JPOXMLDOC01-appb-M000015
 ここで、γ(ただし、γ>0)は、ガウシアンカーネルの大きさを規定するパラメータであり、γには予め所望の値を設定しておく。また、本実施例では、k番目のクラスに対する連続損失を算出する式として式2及び式6を用いるものとする。また、評価関数として式11を用いるものとする。
 本実施例では、初めに、認識辞書を作成する段階の処理について説明する。まず、学習用に複数の入力データを準備し、各入力データをd次元の特徴ベクトル(以降、入力ベクトルと記す。)に変換しておく。以下、説明を簡略化するため、説明を簡単にするために、クラス1に属する入力ベクトルを(x[1],x[2], ・・・,x[N1])、クラス2に属する入力ベクトルを(x[N1+1],x[N1+2], ・・・,x[N1+N2])と表記する。
 また、式2の事前確率Pには、所望の値を設定しておく。例えば、クラス1の事前確率Pを、P=N1/Nと設定し、クラス2の事前確率Pを、P=N2/Nと設定する。ただし、Nは入力ベクトルの総数であり、N=N1+N2を満たす。
 さらに、クラス1に関する認識辞書として、(α[1],α[2],・・・,α[N1])を、クラス2に関する認識辞書として(α[N1+1],α2[N1+2],・・・,α2[N1+N2])をそれぞれ準備し、全ての値に1を設定しておく。また、パラメータ値の変更量を示す微小な値εを準備し、このεの値として、例えば、0.01を設定しておく。
 図10は、本実施例で認識辞書を作成する処理の例を示すフローチャートである。初め、変数Lnew及びLoldに、十分大きな値を設定し(ステップS1501)、さらに、変数iに1を設定しておく(ステップS1502)。認識辞書作成部103は、i番目のパラメータα[i]の値を変数α’に保存し、α[i]をεだけ減少させた後、式11の評価値L(α)を計算し、変数L’に保存する(ステップS1503)。変数L’の値が変数Lnewより小さくない場合(ステップS1504におけるNo)、ステップS1506に進む。一方、変数L’の値が変数Lnewより小さい場合(ステップS1504におけるYes)、ステップS1505に進む。ステップS1505において、認識辞書作成部103は、変数L’の値を変数Lnewに保存するとともに、変数iの値を変数jに保存しておく(ステップS1505)。
 次に、認識辞書作成部103は、変数α’に保存されていた値をα[i]に戻す(ステップS1506)。変数iの値がパラメータの総数N1+N2より小さい場合(ステップS1507におけるYes)、認識辞書作成部103は、iの値を1だけ増やし(S1508)、その後、S1503に戻って以降の処理を繰り返す。一方、ステップS1507において、変数iの値がパラメータの総数N1+N2より小さくない場合(ステップS1507におけるNo)、ステップS1509に進む。
 変数Lnewの値がLoldより小さくない場合(ステップS1509におけるNo)、処理を終了する。一方、変数Lnewの値がLoldより小さい場合(ステップS1509におけるYes)、ステップS1510に進む。ステップS1510において、認識辞書作成部103は、LoldにLnewの値を保存し、j番目のパラメータα[j]の値をεだけ減少するよう変更する(ステップS1510)。そして、ステップS1502に戻り、以降の処理を繰り返す。
 ここで、ステップS1503において評価値L(α)を計算する処理について説明する。評価値L(α)の値は、式11に例示するように、クラス1とクラス2それぞれの連続損失L(α)及びL(α)の値を計算することで得られる。
 まず、クラス1の連続損失L(α)を求める処理を、フローチャートを用いて説明する。図11は、クラス1の連続損失を計算する処理の例を示すフローチャートである。
 まず、認識辞書作成部103は、変数L1の値を0、変数nの値を1に設定する(ステップS1601)。さらに、認識辞書作成部103は、変数iの値を1に、変数G1の値を0にそれぞれ設定する(ステップS1602)。次に、認識辞書作成部103は、入力ベクトルx[n]とx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G1に加算する(ステップS1603)。
 ここで、変数iの値がN1より小さい場合(ステップS1604におけるYes)、認識辞書作成部103は、変数iの値を1だけ増加させ(ステップS1605)、ステップS1603に戻って以降の処理を繰り返す。一方、変数iの値がN1より小さくない場合(ステップS1604におけるNo)、ステップS1606に進む。ステップS1606において、認識辞書作成部103は、iの値をN1+1に、G2の値を0にそれぞれ設定する(ステップS1606)。
 次に、認識辞書作成部103は、入力ベクトルx[n]とx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G2に加算する(ステップS1607)。ここで、変数iの値がN1+N2より小さい場合(ステップS1608におけるYes)、認識辞書作成部103は、変数iの値を1だけ増加させ(ステップS1609)、ステップS1607に戻って以降の処理を繰り返す。一方、変数iの値がN1+N2より小さくない場合(ステップS1608におけるNo)、ステップS1610に進む。
 変数G1に設定された値は、クラス1の識別関数の値であり、変数G2に設定された値は、クラス2の識別関数の値である。そこで、認識辞書作成部103は、式6にしたがって、クラス1に属する入力ベクトルx[n]に関する連続損失を求める(ステップS1610)。変数nの値がN1より小さい場合(ステップS1611におけるYes)、認識辞書作成部103は、変数nの値を1だけ増加させ(ステップS1612)、ステップS1602に戻って以降の処理を繰り返す。一方、変数nの値がN1より小さくない場合(ステップS1611におけるNo)、ステップS1613に進む。
 認識辞書作成部103は、式2にしたがって、所望の値に設定された事前確率Pを変数L1に乗じた値を計算し、さらに、計算結果をクラス1の入力ベクトル数N1で割った値を変数L1に設定する(S1613)。その後、処理を終了する。
 次に、クラス2の連続損失L(α)を求める処理を、フローチャートを用いて説明する。図12は、クラス2の連続損失を計算する処理の例を示すフローチャートである。
 まず、認識辞書作成部103は、変数L2の値を0、変数nの値をN1+1に設定する(ステップS1701)。さらに、認識辞書作成部103は、変数iの値を1に、変数G1の値を0にそれぞれ設定する(ステップS1702)。次に、認識辞書作成部103は、入力ベクトルx[n]とx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G1に加算する(ステップS1703)。
 ここで、変数iの値がN1より小さい場合(ステップS1704におけるYes)、認識辞書作成部103は、変数iの値を1だけ増加させ(ステップS1705)、ステップS1703に戻って以降の処理を繰り返す。一方、変数iの値がN1より小さくない場合(ステップS1704におけるNo)、ステップS1706に進む。ステップS1706において、認識辞書作成部103は、iの値をN1+1に、G2の値を0にそれぞれ設定する(ステップS1706)。
 次に、認識辞書作成部103は、入力ベクトルx[n]とx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G2に加算する(ステップS1707)。ここで、変数iの値がN1+N2より小さい場合(ステップS1708におけるYes)、認識辞書作成部103は、変数iの値を1だけ増加させ(ステップS1709)、ステップS1707に戻って以降の処理を繰り返す。一方、変数iの値がN1+N2より小さくない場合(ステップS1708におけるNo)、ステップS1710に進む。
 クラス1の場合と同様、変数G1に設定された値は、クラス1の識別関数の値であり、変数G2に設定された値は、クラス2の識別関数の値である。そこで、認識辞書作成部103は、式6にしたがって、クラス2に属する入力ベクトルx[n]に関する連続損失を求める(ステップS1710)。変数nの値がN1+N2より小さい場合(ステップS1711におけるYes)、認識辞書作成部103は、変数nの値を1だけ増加させ(ステップS1712)、ステップS1702に戻って以降の処理を繰り返す。一方、変数nの値がN1+N2より小さくない場合(ステップS1711におけるNo)、ステップS1713に進む。
 認識辞書作成部103は、式2にしたがって、所望の値に設定された事前確率Pを変数L2に乗じた値を計算し、さらに、計算結果をクラス2の入力ベクトル数N2で割った値を変数L2に設定する(S1713)。その後、処理を終了する。
 次に、評価値L(α)を求める処理を、フローチャートを用いて説明する。図13は、評価値を計算する処理の例を示すフローチャートである。以下の説明では、式11にしたがって評価値L(α)を求める場合について説明する。
 まず、認識辞書作成部103は、上述の処理で算出された変数L1と変数L2とを加算した値を変数Lに設定する(ステップS1801)。また、認識辞書作成部103は、上述の処理で算出された変数L1と変数L2の差の二乗に所望の値λを乗じた値を、変数L’に設定する(ステップS1802)。そして、認識辞書作成部103は、ステップS1801において変数Lに設定した値と、ステップS1802において変数L’に設定した値とを加算した値を変数Lに設定し(ステップS1803)、処理を終了する。このようにして得られたLの値が、図10におけるステップS1503で評価値L(α)として用いられる。
 以上、認識辞書を作成する段階の処理について説明した、次に、認識辞書を用いてデータを認識する段階の処理について説明する。なお、ここでは、入力データが既定の特徴抽出によりd次元の特徴ベクトルxに変換されているものとする。以降、このように変換された特徴ベクトルを、入力ベクトルと記す。
 図14は、1つの入力データに対して行われる識別処理の例を示すフローチャートである。まず、識別部106は、変数iの値を1、変数G1の値を0に設定する(ステップS1901)。次に、識別部106は、入力ベクトルxとx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G1に加算する(ステップS1902)。
 ここで、変数iの値がN1より小さい場合(ステップS1903におけるYes)、識別部106は、変数iの値を1だけ増加させ(ステップS1904)、ステップS1902に戻って以降の処理を繰り返す。一方、変数iの値がN1より小さくない場合(ステップS1903におけるNo)、ステップS1905に進む。ステップS1905において、識別部106は、iの値をN1+1に、G2の値を0にそれぞれ設定する(ステップS1905)。
 次に、識別部106は、入力ベクトルxとx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G2に加算する(ステップS1906)。ここで、変数iの値がN1+N2より小さい場合(ステップS1907におけるYes)、識別部106は、変数iの値を1だけ増加させ(ステップS1908)、ステップS1906に戻って以降の処理を繰り返す。一方、変数iの値がN1+N2より小さくない場合(ステップS1907におけるNo)、ステップS1909に進む。
 最後に、識別部106は、変数G1の値から変数G2の値を減じた値(すなわち、G1-G2の値)を出力し、入力ベクトルの属するクラスを識別して処理を終了する(ステップS1909)。ここで、出力値が正の場合、入力ベクトルxは、クラス1に属すると識別される。一方、出力値が正でない場合、入力ベクトルxは、クラス2に属すると認識される。
 なお、本実施例では、クラス数が2の場合について説明した。ただし、クラス数は2つに限られず、3つ以上であってもよい。また、本実施例では、識別器が式13で定義されるカーネル関数を用いる場合について説明した。ただし、識別器が用いる関数は、カーネル関数に限定されない。
 次に、本発明によるパターン認識装置の最小構成の例を説明する。図15は、本発明によるパターン認識装置の最小構成の例を示すブロック図である。本発明によるパターン認識装置は、各クラスに属するデータの特徴を示す特徴ベクトルの損失(例えば、連続損失)をクラスごとに計算する(例えば、式8を用いて計算する)損失計算手段81(例えば、連続損失計算部104)と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する(例えば、式9を用いて計算する)損失差計算手段82(例えば、損失差計算部105)と、損失計算手段81がクラスごとに計算した損失の総和(例えば、式8を用いて計算された連続損失の総和)と、各クラス間の損失の差の総和(例えば、式9を用いて計算されたクラス間の損失の差の総和)とに基づいて、認識辞書を作成する(例えば、識別器パラメータαを決定する)認識辞書作成手段83(例えば、認識辞書決定部109)と、認識辞書を用いてデータのパターンを識別するパターン識別手段84(例えば、識別部106)とを備えている。
 認識辞書作成手段83は、入力された特徴ベクトルをもとに、損失計算手段81が計算したクラスごとの損失の総和と、損失差計算手段82が計算した各クラス間の損失の差の総和との和(例えば、式10で定義される評価関数の評価値L(α))が最小になるように認識辞書を修正し、パターン識別手段84は、修正された認識辞書を用いてデータのパターンを識別する。
 そのような構成により、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができる。
 次に、本発明による認識辞書作成装置の最小構成の例を説明する。図16は、本発明による認識辞書作成装置の最小構成の例を示すブロック図である。本発明による認識辞書作成装置は、データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成装置であって、各クラスに属するデータの特徴を示す特徴ベクトルの損失(例えば、連続損失)をクラスごとに計算する(例えば、式8を用いて計算する)損失計算手段91(例えば、連続損失計算部104)と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する(例えば、式9を用いて計算する)損失差計算手段92(例えば、損失差計算部105)と、損失計算手段91がクラスごとに計算した損失の総和(例えば、式8を用いて計算された連続損失の総和)と、各クラス間の損失の差の総和(例えば、式9を用いて計算されたクラス間の損失の差の総和)とに基づいて、認識辞書を作成する(例えば、識別器パラメータαを決定する)認識辞書作成手段93(例えば、認識辞書決定部109)とを備えている。
 認識辞書作成手段93は、入力された特徴ベクトルをもとに、損失計算手段91が計算したクラスごとの損失の総和と、損失差計算手段92が計算した各クラス間の損失の差の総和との和(例えば、式10で定義される評価関数の評価値L(α))が最小になるように認識辞書を修正する。
 このような構成により作成される認識辞書を用いてパターン認識を行うため、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができる。
 なお、少なくとも以下に示すようなパターン認識装置及び認識辞書作成装置も、上記に示すいずれかの実施形態に開示されている。
(1)各クラスに属するデータの特徴を示す特徴ベクトルの損失(例えば、連続損失)をクラスごとに計算する(例えば、式8を用いて計算する)損失計算手段(例えば、連続損失計算部104)と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する(例えば、式9を用いて計算する)損失差計算手段(例えば、損失差計算部105)と、損失計算手段がクラスごとに計算した損失の総和(例えば、式8を用いて計算された連続損失の総和)と、各クラス間の損失の差の総和(例えば、式9を用いて計算されたクラス間の損失の差の総和)とに基づいて、認識辞書を作成する(例えば、識別器パラメータαを決定する)認識辞書作成手段(例えば、認識辞書決定部109)と、認識辞書を用いてデータのパターンを識別するパターン識別手段(例えば、識別部106)とを備え、認識辞書作成手段が、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和(例えば、式10で定義される評価関数の評価値L(α))が最小になるように認識辞書を修正し、パターン識別手段が、修正された認識辞書を用いてデータのパターンを識別するパターン認識装置。
(2)損失計算手段が、特徴ベクトルが属するクラスが識別誤りである度合いを示す危険度(例えば、式3~式6及び式7により算出される危険度)の総和(例えば、式2により算出される危険度の総和)をもとにクラスごとの損失を計算するパターン認識装置。
(3)損失計算手段が、各クラスの損失をカーネル関数を用いて計算(例えば、式12及び式13を用いて計算)し、パターン識別手段が、カーネル関数に基づいて作成された認識辞書を用いてデータのパターンを識別するパターン認識装置。
(4)認識対象になるデータとして入力されたデータから特徴ベクトルを抽出する特徴ベクトル抽出手段(例えば、特徴抽出部102)を備え、損失計算手段が、特徴ベクトル抽出手段が抽出した特徴ベクトルの損失をクラスごとに計算し、パターン識別手段が、特徴ベクトル抽出手段が抽出した特徴ベクトルのパターンを認識辞書を用いて識別するパターン認識装置。
(5)データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成装置であって、各クラスに属するデータの特徴を示す特徴ベクトルの損失(例えば、連続損失)をクラスごとに計算する(例えば、式8を用いて計算する)損失計算手段(例えば、連続損失計算部104)と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する(例えば、式9を用いて計算する)損失差計算手段(例えば、損失差計算部105)と、損失計算手段がクラスごとに計算した損失の総和(例えば、式8を用いて計算された連続損失の総和)と、各クラス間の損失の差の総和(例えば、式9を用いて計算されたクラス間の損失の差の総和)とに基づいて、認識辞書を作成する(例えば、識別器パラメータαを決定する)認識辞書作成手段(例えば、認識辞書決定部109)とを備え、認識辞書作成手段は、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和(例えば、式10で定義される評価関数の評価値L(α))が最小になるように認識辞書を修正する認識辞書作成装置。
(6)損失計算手段が、特徴ベクトルが属するクラスが識別誤りである度合いを示す危険度(例えば、式3~式6及び式7により算出される危険度)の総和(例えば、式2により算出される危険度の総和)をもとにクラスごとの損失を計算する認識辞書作成装置。
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2010年1月14日に出願された日本特許出願2010-5447を基礎とする優先権を主張し、その開示の全てをここに取り込む。
(付記1)認識対象になるデータとして入力されたデータから特徴ベクトルを抽出し、抽出された特徴ベクトルの損失をクラスごとに計算し、抽出された特徴ベクトルのパターンを認識辞書を用いて識別するパターン認識方法。
(付記2)コンピュータに、認識対象になるデータとして入力されたデータから特徴ベクトルを抽出する特徴ベクトル抽出処理を実行させ、損失計算処理で、前記特徴ベクトル抽出処理で抽出した特徴ベクトルの損失をクラスごとに計算させ、パターン識別処理で、前記特徴ベクトル抽出処理で抽出した特徴ベクトルのパターンを認識辞書を用いて識別させるパターン認識プログラム。
 本発明は、入力されるデータのパターンを認識するパターン認識装置に好適に適用される。例えば、本発明によるパターン認識装置は、画像認識などに好適に適用される。
 101 データ入力部
 102 特徴抽出部
 103 認識辞書作成部
 104 連続損失計算部
 105 損失差計算部
 106 識別部
 107 認識辞書
 108 結果出力部
 109 認識辞書決定部

Claims (10)

  1.  各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算手段と、
     クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算手段と、
     前記損失計算手段がクラスごとに計算した損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成手段と、
     前記認識辞書を用いてデータのパターンを識別するパターン識別手段とを備え、
     前記認識辞書作成手段は、入力された特徴ベクトルをもとに、前記損失計算手段が計算したクラスごとの損失の総和と、前記損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、
     パターン識別手段は、修正された認識辞書を用いてデータのパターンを識別する
     ことを特徴とするパターン認識装置。
  2.  損失計算手段は、特徴ベクトルが属するクラスが識別誤りである度合いを示す危険度の総和をもとにクラスごとの損失を計算する
     請求項1記載のパターン認識装置。
  3.  損失計算手段は、各クラスの損失をカーネル関数を用いて計算し、
     パターン識別手段は、前記カーネル関数に基づいて作成された認識辞書を用いてデータのパターンを識別する
     請求項1または請求項2に記載のパターン認識装置。
  4.  認識対象になるデータとして入力されたデータから特徴ベクトルを抽出する特徴ベクトル抽出手段を備え、
     損失計算手段は、前記特徴ベクトル抽出手段が抽出した特徴ベクトルの損失をクラスごとに計算し、
     パターン識別手段は、前記特徴ベクトル抽出手段が抽出した特徴ベクトルのパターンを認識辞書を用いて識別する
     請求項1から請求項3のうちのいずれか1項に記載のパターン認識装置。
  5.  データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成装置であって、
     各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算手段と、
     クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算手段と、
     前記損失計算手段がクラスごとに計算した損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成手段とを備え、
     前記認識辞書作成手段は、入力された特徴ベクトルをもとに、前記損失計算手段が計算したクラスごとの損失の総和と、前記損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正する
     ことを特徴とする認識辞書作成装置。
  6.  損失計算手段は、特徴ベクトルが属するクラスが識別誤りである度合いを示す危険度の総和をもとにクラスごとの損失を計算する
     請求項5記載の認識辞書作成装置。
  7.  各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算し、
     クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算し、
     クラスごとに計算された損失の総和と、前記クラス間の損失の差の総和とに基づいて、認識辞書を作成し、
     入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、前記クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、
     修正された認識辞書を用いてデータのパターンを識別する
     ことを特徴とするパターン認識方法。
  8.  データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成方法であって、
     各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算し、
     クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算し、
     クラスごとに計算された損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成し、
     入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、前記各クラス間の損失の差の総和との和が最小になるように認識辞書を修正する
     ことを特徴とする認識辞書作成方法。
  9.  コンピュータに、
     各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算処理、
     クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算処理、
     前記損失計算処理でクラスごとに計算した損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成処理、および、
     前記認識辞書を用いてデータのパターンを識別するパターン識別処理を実行させ、
     前記認識辞書作成処理で、入力された特徴ベクトルをもとに、前記損失計算処理で計算したクラスごとの損失の総和と、前記損失差計算処理で計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正させ、
     パターン識別処理で、修正された認識辞書を用いてデータのパターンを識別させる
     ことを特徴とするパターン認識プログラム。
  10.  データのパターンを認識するパターン認識装置が用いる認識辞書を作成するコンピュータに適用される認識辞書作成プログラムであって、
     前記コンピュータに、
     各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算処理、
     クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算処理、および、
     前記損失計算処理でクラスごとに計算した損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成処理を実行させ、
     前記認識辞書作成処理で、入力された特徴ベクトルをもとに、前記損失計算処理で計算したクラスごとの損失の総和と、前記損失差計算処理で計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正させる
     ことを特徴とする認識辞書作成プログラム。
PCT/JP2010/007360 2010-01-14 2010-12-20 パターン認識装置、パターン認識方法及びパターン認識用プログラム WO2011086643A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP10843002.6A EP2525306A4 (en) 2010-01-14 2010-12-20 Pattern recognition device, pattern recognition method and pattern recognition-use program
JP2011549770A JP5621787B2 (ja) 2010-01-14 2010-12-20 パターン認識装置、パターン認識方法及びパターン認識用プログラム
CN201080061441.2A CN102713945B (zh) 2010-01-14 2010-12-20 模式识别器和模式识别方法
US13/521,227 US8750628B2 (en) 2010-01-14 2010-12-20 Pattern recognizer, pattern recognition method and program for pattern recognition

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-005447 2010-01-14
JP2010005447 2010-01-14

Publications (1)

Publication Number Publication Date
WO2011086643A1 true WO2011086643A1 (ja) 2011-07-21

Family

ID=44303949

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/007360 WO2011086643A1 (ja) 2010-01-14 2010-12-20 パターン認識装置、パターン認識方法及びパターン認識用プログラム

Country Status (6)

Country Link
US (1) US8750628B2 (ja)
EP (1) EP2525306A4 (ja)
JP (1) JP5621787B2 (ja)
KR (1) KR20120104363A (ja)
CN (1) CN102713945B (ja)
WO (1) WO2011086643A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021128474A (ja) * 2020-02-12 2021-09-02 株式会社東芝 学習装置、学習方法、および学習プログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014118978A1 (ja) 2013-02-01 2014-08-07 富士通株式会社 学習方法、情報処理装置および学習プログラム
WO2016181468A1 (ja) * 2015-05-11 2016-11-17 株式会社東芝 パターン認識装置、パターン認識方法およびプログラム
CN107533672B (zh) * 2015-05-11 2021-01-12 株式会社东芝 模式识别装置、模式识别方法以及记录介质
US9582715B2 (en) 2015-06-30 2017-02-28 International Business Machines Corporation Feature selection algorithm under conditions of noisy data and limited recording
CN107402914B (zh) * 2016-05-20 2020-12-15 富士通株式会社 自然语言深度学习系统和方法
JP6199461B1 (ja) * 2016-09-13 2017-09-20 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
JP7114892B2 (ja) * 2017-12-13 2022-08-09 京セラドキュメントソリューションズ株式会社 画像形成装置
US11829861B2 (en) * 2019-07-17 2023-11-28 Unist (Ulsan National Institute Of Science And Technology) Methods and apparatus for extracting data in deep neural networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887572A (ja) 1994-06-30 1996-04-02 At & T Corp ソフトマージン分類システム
JPH08106295A (ja) * 1994-10-05 1996-04-23 Atr Onsei Honyaku Tsushin Kenkyusho:Kk パターン認識方法及び装置
JP2010005447A (ja) 2009-10-13 2010-01-14 Sophia Co Ltd 遊技機

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076473B2 (en) * 2002-04-19 2006-07-11 Mitsubishi Electric Research Labs, Inc. Classification with boosted dyadic kernel discriminants
US7490071B2 (en) * 2003-08-29 2009-02-10 Oracle Corporation Support vector machines processing system
JP2005198970A (ja) * 2004-01-19 2005-07-28 Konica Minolta Medical & Graphic Inc 医用画像処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887572A (ja) 1994-06-30 1996-04-02 At & T Corp ソフトマージン分類システム
JPH08106295A (ja) * 1994-10-05 1996-04-23 Atr Onsei Honyaku Tsushin Kenkyusho:Kk パターン認識方法及び装置
JP2010005447A (ja) 2009-10-13 2010-01-14 Sophia Co Ltd 遊技機

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LEARNING, vol. 20, 1995, pages 273 - 297
NORIKAZU TAKAHASHI: "Support Vector Machine and its Efficient Learning Algorithms", IPSJ SIG NOTES, vol. 2007, no. 96, 25 September 2007 (2007-09-25), pages 49 - 54, XP008170794 *
See also references of EP2525306A4
SHOTARO AKO: "Kernel Machine", IEICE TECHNICAL REPORT, vol. 103, no. 228, 22 July 2003 (2003-07-22), pages 1 - 6, XP008170514 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021128474A (ja) * 2020-02-12 2021-09-02 株式会社東芝 学習装置、学習方法、および学習プログラム
JP7221892B2 (ja) 2020-02-12 2023-02-14 株式会社東芝 学習装置、学習方法、および学習プログラム

Also Published As

Publication number Publication date
JP5621787B2 (ja) 2014-11-12
JPWO2011086643A1 (ja) 2013-05-16
CN102713945A (zh) 2012-10-03
KR20120104363A (ko) 2012-09-20
US20130129220A1 (en) 2013-05-23
EP2525306A1 (en) 2012-11-21
EP2525306A4 (en) 2018-01-10
CN102713945B (zh) 2015-03-25
US8750628B2 (en) 2014-06-10

Similar Documents

Publication Publication Date Title
JP5621787B2 (ja) パターン認識装置、パターン認識方法及びパターン認識用プログラム
US7242810B2 (en) Multimodal high-dimensional data fusion for classification and identification
US7724961B2 (en) Method for classifying data using an analytic manifold
Parrish et al. Classifying with confidence from incomplete information
US11521099B2 (en) Dictionary generation apparatus, evaluation apparatus, dictionary generation method, evaluation method, and storage medium for selecting data and generating a dictionary using the data
US8612370B2 (en) Pattern recognition device, pattern recognition method, and pattern recognition program
US11049045B2 (en) Classification apparatus, robot, and classification method
CN111126482A (zh) 一种基于多分类器级联模型的遥感影像自动分类方法
CN111444937A (zh) 一种基于集成tsk模糊分类器的众包质量提升的方法
Symeonidis et al. Neural attention-driven non-maximum suppression for person detection
Antosik et al. New measures of classifier competence-heuristics and application to the design of multiple classifier systems
Beigi et al. A hierarchical approach to large-scale speaker recognition.
CN107729945A (zh) 基于类间稀疏表示的鉴别回归、分类方法及系统
Chen et al. Online vehicle logo recognition using Cauchy prior logistic regression
Roos et al. Probabilistic SVM for open set automatic target recognition on high range resolution radar data
WO2017000118A1 (en) Method and apparatus for predicting attribute for image sample
Sikdar et al. Open-set metric learning for person re-identification in the wild
Sun et al. Discriminative canonical correlation analysis with missing samples
Besrour et al. Incremental subclass support vector machine
Cecotti et al. Rejection schemes in multi-class classification--application to handwritten character recognition
JP2020181265A (ja) 情報処理装置、システム、情報処理方法及びプログラム
Huang et al. Unconstrained face verification by optimally organizing multiple classifiers
Kundu et al. A modified RBFN based on heuristic based clustering for location invariant fingerprint recognition and localization with and without occlusion
Sangineto et al. Learning discriminative spatial relations for detector dictionaries: an application to pedestrian detection
CN113221941B (zh) 一种自适应对称图信息传播的鉴别回归分类方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080061441.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10843002

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011549770

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2010843002

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13521227

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20127018452

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE