WO2022038729A1 - ルール生成装置、ルール生成方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体 - Google Patents

ルール生成装置、ルール生成方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2022038729A1
WO2022038729A1 PCT/JP2020/031387 JP2020031387W WO2022038729A1 WO 2022038729 A1 WO2022038729 A1 WO 2022038729A1 JP 2020031387 W JP2020031387 W JP 2020031387W WO 2022038729 A1 WO2022038729 A1 WO 2022038729A1
Authority
WO
WIPO (PCT)
Prior art keywords
condition
rule
subset
information
information group
Prior art date
Application number
PCT/JP2020/031387
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 US18/019,912 priority Critical patent/US20230214717A1/en
Priority to JP2022543208A priority patent/JP7424497B2/ja
Priority to PCT/JP2020/031387 priority patent/WO2022038729A1/ja
Publication of WO2022038729A1 publication Critical patent/WO2022038729A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • This disclosure relates to a rule generator, a rule generator, and a non-temporary computer-readable medium.
  • Non-Patent Document 1 In the field of machine learning, there is a method for learning a model using "training examples” including “practical examples” and “synthetic examples” (for example, Non-Patent Document 1). Since the "training example” is a set of examples used for training (learning), it can also be called a “training set”. The "practical example” is an actually observed example, and the “artificial example” is an artificially formed example. In Non-Patent Document 1, artificial examples are formed based on practical examples. As a result, the model can be trained using artificial examples in addition to practical examples, so that the accuracy of the model can be improved. In the following, “practical examples” and “artificial examples” may be simply referred to as “examples” without distinction.
  • the model includes a "rule-based model (hereinafter, may be simply referred to as a" rule-based model ”)” such as a decision tree or a decision list.
  • a rule-based model such as a decision tree or a decision list.
  • each "rule” can be represented in IF-THEN format and includes a "condition set” and a "predicted value” when the conditions obtained from this condition set are satisfied.
  • the user confirms each practical example included in the cluster, and then compares the aggregated result obtained by summarizing the target values of the practical examples included in the cluster with the predicted value obtained by the rule-based model. Thereby, the validity of the rules obtained by the rule-based model can be verified.
  • the cluster contains the practical examples. It is possible that only artificial examples will be included. In this case, the validity of the rules obtained by the rule-based model cannot be verified.
  • An object of the present disclosure is to provide a rule generator, a rule generator, and a non-temporary computer-readable medium that can improve the explanation of rules.
  • the rule generation device is a means for acquiring a training example including a plurality of examples, wherein the plurality of examples include at least one practical example and at least one artificial example, and the practical example and the above-mentioned practical example
  • Each of the artificial examples includes a feature amount vector having one or more feature amounts corresponding to different feature parameters as vector elements and a target value, and the feature amount and the target value included in each practical example are actual measurement values.
  • each artificial example is an example formed based on the above-mentioned practical example, that is, an acquisition means and It is a means for generating a rule group for dividing the training example into a plurality of clusters related to the target value by using a rule-based model and satisfying the first constraint, and each rule of the rule group is described.
  • a rule generating means including a condition obtained from a condition set containing one or more simple conditions relating to a feature parameter and a predicted value relating to the target value. Equipped with The first constraint includes the constraint that each cluster contains N (N is a natural number) or more practical examples.
  • the rule generation method includes acquiring a training example including a plurality of examples, wherein the plurality of examples include at least one practical example and at least one artificial example, and the practical example and the above-mentioned.
  • Each of the artificial examples includes a feature amount vector whose vector element is one or more feature amounts corresponding to different feature parameters and a target value, and the feature amount and the target value included in each practical example are actual measurement values.
  • each artificial example is an example formed based on the above-mentioned practical example.
  • the rule generation method is Further comprising generating a set of rules for dividing the training example into a plurality of clusters with respect to the target value using a rule-based model and satisfying the first constraint.
  • Each rule of the rule group includes a condition obtained from a condition set including one or more simple conditions for the feature parameter and a predicted value for the target value.
  • the first constraint includes the constraint that each cluster contains N (N is a natural number) or more practical examples.
  • the non-temporary computer-readable medium is Cause the rule generator to execute a process including acquiring a training example including multiple examples.
  • the plurality of examples include at least one practical example and at least one artificial example.
  • Each of the practical example and the artificial example includes a feature amount vector having one or more feature amounts corresponding to different feature parameters as vector elements and a target value, and the feature amount and the target value included in each practical example. Is an actual measurement value, while each artificial example is an example formed based on the above-mentioned practical example.
  • the process further comprises generating a set of rules for dividing the training example into a plurality of clusters with respect to the target value using a rule-based model and satisfying the first constraint.
  • Each rule of the rule group includes a condition obtained from a condition set including one or more simple conditions for the feature parameter and a predicted value for the target value.
  • the first constraint includes the constraint that each cluster contains N (N is a natural number) or more practical examples. Stores the control program.
  • FIG. 1 is a block diagram showing an example of a rule generation device according to the first embodiment.
  • the rule generation device 10 has an acquisition unit 11 and a rule generation unit 12.
  • the rule generator 10 can be applied to both the regression problem and the classification problem, but the following description will be made on the premise that the rule generator 10 is mainly applied to the regression problem.
  • the acquisition unit 11 acquires a "training example (training set)".
  • the "training example” includes at least one "practical example” and at least one "artificial example”.
  • “practical examples” and “artificial examples” may be simply referred to as “examples” without distinction.
  • Each example includes a “feature amount vector” and a "target value” in which one or more "feature amounts” corresponding to different “feature parameters” are “vector elements”. For example, if one example is "observation date: August”, “humidity: 56.8%", “weather: cloudy”, and "temperature: 23.7 ° C", "observation date”, "humidity”. Each of "weather” and “weather” can be used as a feature parameter, and (August, 56.8%, cloudy) can be used as a feature amount vector. Then, "23.7 ° C.” can be set as the target value.
  • each artificial example is an example formed based on a practical example.
  • an artificial example is formed by an algorithm similar to a practical example.
  • This artificial example may be formed, for example, by the method described in Non-Patent Document 1 above. That is, the artificial example can also be called a pseudo example. Therefore, it is highly possible that the practical example and the artificial example have feature amounts and target values that are close to each other, but the feature amounts and target values do not match each other.
  • the rule generation unit 12 uses a "rule-based model” as a "rule group” for dividing a plurality of examples included in the training example into a plurality of groups related to target values (hereinafter, this group is referred to as a "cluster"). It is used and generated so as to satisfy the "first constraint".
  • the "rule-based model” is a decision tree, a decision list, etc., as described above.
  • Each rule of the generated “rule group” includes “condition (hereinafter, may be referred to as” compound condition ”)" and “predicted value regarding target value” obtained from “condition set”.
  • a “condition set” includes one or more “simple conditions” for feature parameters.
  • the "simple condition” means a condition for dividing one "parent node” into a plurality of "child nodes” in the "rule-based model”.
  • the "first constraint” includes the constraint that each cluster contains at least N (N is a natural number) or more practical examples.
  • N is a natural number
  • FIG. 2 is a flowchart showing an example of the processing operation of the rule generator according to the first embodiment.
  • the acquisition unit 11 acquires a training example (step S101).
  • the rule generation unit 12 generates a rule group using a rule-based model and so as to satisfy the "first constraint" (step S102).
  • the "first constraint” includes the constraint that each cluster contains at least one practical example.
  • the rule generation unit 12 divides the training example into a plurality of clusters related to the target value by using the rule-based model and first. Generate to meet the constraints of.
  • the first constraint includes the constraint that each cluster contains at least N (N is a natural number) or more practical examples.
  • the rule generator 10 Due to the configuration of the rule generator 10, at least one practical example is included in each of the plurality of clusters divided by the generated rule group, so that the validity of the rule can be verified by using the practical example. can. That is, the explanation of the rule can be improved. Further, since the training examples include artificial examples in addition to practical examples, the accuracy of the rules can be improved as a matter of course.
  • the second embodiment relates to a more specific embodiment.
  • FIG. 3 is a block diagram showing an example of the rule generation device according to the second embodiment.
  • the rule generation device 20 has an acquisition unit 21 and a rule generation unit 22.
  • the rule generator 20 can be applied to both the regression problem and the classification problem, but the following description will be made on the premise that the rule generator 20 is mainly applied to the regression problem.
  • the acquisition unit 21 acquires the "training example (training set)" as in the acquisition unit 11 of the first embodiment.
  • FIG. 4 is a diagram used for explaining a training example. In FIG. 4, for convenience, training examples are shown in table format. The training example shown in FIG. 4 includes five examples. The three examples with example IDs E0, E1, and E2 are practical examples, and the two examples with example IDs E3 and E4 are artificial examples. Each of "observation date”, "humidity” and "weather” is a characteristic parameter. Then, each example includes a feature amount corresponding to each feature parameter. In addition, "temperature” is a target value parameter. Then, each example includes a target value corresponding to the target value parameter.
  • the rule generation unit 22 like the rule generation unit 12 of the first embodiment, divides a plurality of examples included in the training example into a plurality of clusters related to target values. , "Rule-based model” is used and generated so as to satisfy the "first constraint".
  • the rule generation unit 22 has a condition generation unit 23 and a predicted value generation unit 24.
  • the condition generation unit 23 generates the conditions for each rule.
  • the condition generation unit 23 has a condition generation control unit 23A, a simple condition candidate generation unit 23B, a division unit 23C, a first holding unit 23D, and a second holding unit 23E.
  • the first holding unit 23D and the second holding unit 23E are described here as being included in the condition generation unit 23, the present embodiment is not limited to this.
  • the first holding unit 23D and the second holding unit 23E may be included in a storage unit (not shown) included in the rule generation device 20.
  • the simple condition candidate generation unit 23B selects one of a plurality of explanatory variables corresponding to a plurality of feature parameters of the example included in the "division processing target set".
  • the first "division processing target set” is the “training example (training set)" acquired by the acquisition unit 21, and the second and subsequent “division processing target sets” are the "information” received from the condition generation control unit 23A. It is a “subset” of a "group (information pair)”. The "information group” and "subset” will be described later.
  • the simple condition candidate generation unit 23B generates a plurality of threshold values for the selected explanatory variable, and uses the generated plurality of threshold values to generate a plurality of "simple condition candidates" for the selected explanatory variable.
  • the simple condition candidate generation unit 23B selects the explanatory variable x_1. Then, the simple condition candidate generation unit 23B generates "3", "5", and “7” as the threshold value of the explanatory variable x_1. Then, the simple condition candidate generation unit 23B generates "x_1> 3", "x_1> 5", and "x_1> 7" as "simple condition candidates", respectively.
  • the division unit 23C sequentially selects one simple condition candidate as the "use simple condition candidate" from the plurality of simple condition candidates generated by the simple condition candidate generation unit 23B.
  • the "use simple condition candidate” is a simple condition candidate used for the processing of the division unit 23C.
  • the division unit 23C forms a "first subset” and a "second subset” by dividing a plurality of examples included in the "division processing target set” based on the use simple condition candidates. Then, the division unit 23C negates the "first information group (first information pair)" in which the simple condition candidate used is associated with the first subset as the "condition set” and the simple condition candidate used in the second subset. An "information set” including a “second information group (second information pair)" associated with a condition as a "condition set” is output to the first holding unit 23D. As a result, the information set for each simple condition candidate generated by the simple condition candidate generation unit 23B is output from the division unit 23C to the first holding unit 23D.
  • the first "division processing target set” is the "training example” acquired by the acquisition unit 21, and the second and subsequent “division processing target sets” are from the condition generation control unit 23A. It is a “subset” of the "information group” that you receive. That is, in the present specification, the "subset” is obtained by dividing the "training example” which is the whole set by the "conditional set”, and is a partial set of the "training example”. Further, since the second and subsequent "division processing target sets" are associated with a condition set including at least one simple condition, the first information group and the second information group obtained from this division processing target set are associated with each other. Each set of conditions will contain at least two or more simple conditions.
  • the first holding unit 23D temporarily holds a plurality of information sets output from the dividing unit 23C. Further, the first holding unit 23D executes output and deletion of the held information set according to the control by the condition generation control unit 23A.
  • the condition generation control unit 23A satisfies the "second constraint" for each of the first subset and the second subset, and the first subset and the second subset. Select the information set that has the smallest "first statistic" calculated from the second subset.
  • the "second constraint” includes a constraint that each child node contains at least N (N is a natural number) or more practical examples.
  • the difference between the average of the target values of the practical examples and the average of the target values of the artificial examples included in the subset is equal to or less than the predetermined value for each of the first subset and the second subset. It may include the constraint that it is.
  • the above-mentioned “first statistical value” calculated by the condition generation control unit 23A may be an amount representing impurities (for example, Gini coefficient or entropy) in the case of a classification problem, and in the case of regression. May be an amount representing the degree of dispersion of the data (for example, mean square error, dispersion of objective variables, etc.). Since the "first statistical value" is used as a reference value when selecting an information set, it can be called an "information set selection reference value".
  • the condition generation control unit 23A receives the first information group and the second information group of the selected information set from the first holding unit 23D, holds them in the second holding unit 23E, and then holds them in the first holding unit 23D. Delete all existing information sets.
  • the condition generation control unit 23A determines whether or not each of the first information group and the second information group held by the second holding unit 23E satisfies the "end condition", and the information satisfying the end condition. "Processing completion information" is attached to the group.
  • the "end condition” may be, for example, "the number of practical examples included in the subset is a predetermined number or less”. Further, the "processing completion information" may be, for example, a flag.
  • the condition generation control unit 23A acquires an information group held in the second holding unit 23E and to which the processing completion information is not attached from the second holding unit 23E, and generates simple condition candidates as the second and subsequent division processing target sets. Output to unit 23B and division unit 23C. After that, the condition generation control unit 23A causes the second holding unit 23E to delete the acquired information group.
  • the condition generation control unit 23A acquires all these information groups from the second holding unit 23E. Then, the condition generation control unit 23A outputs all the acquired information groups to the prediction value generation unit 24.
  • each information group output from the condition generation control unit 23A corresponds to one rule.
  • the condition set and subset of each information group correspond to the condition set of one rule and the "cluster" corresponding to this one rule.
  • the condition generation control unit 23A may form the condition set of each information group to be output to the predicted value generation unit 24 in the form of a "composite condition" in which a plurality of simple conditions included in the condition set are connected by AND.
  • condition set contains only one simple condition
  • the compound condition is the same as that simple condition.
  • the "composite condition” is "X_0> 1 AND X_1> 4".
  • the second holding unit 23E holds an information group received from the condition generation control unit 23A.
  • the predicted value generation unit 24 generates the predicted values of each of the plurality of rules corresponding to the plurality of information groups output from the condition generation control unit 23A.
  • the predicted value generation unit 24 has a deviation value calculation unit 24A, an adjustment unit 24B, and a predicted value calculation unit 24C.
  • the deviation value calculation unit 24A sequentially selects a "processing target information group" from a plurality of information groups output from the condition generation control unit 23A. Then, the deviation value calculation unit 24A sets the "second statistical value” regarding the target value of the practical example included in the subset of the processing target information group (that is, the processing target subset (processing target cluster)) and the processing target subset. The “deviation value” is calculated based on the target value of each artificial example included.
  • the “second statistical value” is a "representative value” regarding the target value of the practical example included in the "processing target subset (processing target cluster)" of the processing target information group.
  • the "second statistic” may be, for example, an average or a median.
  • the "dissociation value” is a quantity indicating the degree of dissociation of data.
  • the deviation value may be, for example, the difference between the “second statistical value” and the target value of the artificial example, or may be Kullback-Leibler divergence or cosine similarity.
  • the adjustment unit 24B adjusts the processing target subset by removing the artificial example corresponding to the "deviation value" which is equal to or higher than the first threshold value from the processing target subset.
  • the predicted value calculation unit 24C sets the "third statistical value” regarding the target values of all the examples included in the adjusted processing target subset to the "third statistical value” of the rule corresponding to the processing target information group of the adjusted processing target subset. Calculated as "predicted value”. As a result, the condition set (composite condition) and the predicted value of the rule corresponding to the processing target information group are prepared. By calculating the "predicted value” of the rule based on the adjusted subset to be processed in this way, it is possible to calculate the predicted value of the rule with higher accuracy.
  • the "third statistical value” is a "representative value" of the target value of all the examples included in the adjusted subset to be processed.
  • the “third statistical value” may be the average of the target values of all the examples included in the adjusted subset to be processed.
  • the acquisition unit 21 acquires a training example (step S201).
  • the simple condition candidate generation unit 23B selects one of a plurality of explanatory variables corresponding to the plurality of feature parameters of the example included in the training example acquired by the acquisition unit 21 (step S202).
  • the simple condition candidate generation unit 23B generates a plurality of threshold values for the selected explanatory variable (step S203).
  • the simple condition candidate generation unit 23B generates a simple condition candidate using each of the generated threshold values (step S204). As a result, a number of simple condition candidates equal to the number of threshold values generated in step S203 are generated.
  • the division unit 23C selects one simple condition candidate as the "use simple condition candidate" from the plurality of simple condition candidates generated by the simple condition candidate generation unit 23B. (Step S205)
  • the division unit 23C divides the training example based on the use simple condition candidate to form a "first subset" and a "second subset” (step S206). That is, the division unit 23C sets the first subset of the examples included in the training example, in which the example satisfying the simple condition candidate for use is a set element, and the example satisfying the negative condition (Negation) of the simple condition candidate for use. It forms a second subset as an element. Then, the division unit 23C sets the "first information group” in which the simple condition candidate used is associated with the first subset as the "condition set” and the negative condition of the simple condition candidate used in the second subset "condition set". The "information set” including the "second information group” associated with the above is output to the first holding unit 23D.
  • the information set about the simple condition candidate for use is output from the division unit 23C to the first holding unit 23D and held by the first holding unit 23D. Since this is the first division process, the "training example" is the above-mentioned "division process target set".
  • the condition generation control unit 23A determines whether or not each of the first subset and the second subset of the information set held in the first holding unit 23D satisfies the "second constraint" (step S207).
  • the "second constraint" is, for example, that each of the first and second subsets of the information set includes at least one practical example.
  • condition generation control unit 23A calculates the "first statistical value" using the first subset and the second subset of the information set (step S208).
  • condition generation control unit 23A causes the first holding unit 23D to delete the information set held by the first holding unit 23D (step S209).
  • the condition generation control unit 23A determines whether or not all of the plurality of simple condition candidates generated in step S204 have been selected as use simple condition candidates (step S210). When it is determined that all of the plurality of simple condition candidates are not selected as the use simple condition candidates (step S210NO), the condition generation control unit 23A executes control to return the processing step to step S205. As a result, the division unit 23C selects the simple condition candidate that has not yet been selected as the use simple condition candidate.
  • step S210YES When it is determined that all are selected as simple condition candidates for use (step S210YES), the condition generation control unit 23A determines whether or not the information set held in the first holding unit 23D exists (step S210YES). Step S211). When it is determined that the retained information set does not exist (step S211NO), the condition generation control unit 23A executes control to return the processing step to step S202.
  • step S211YES When it is determined that the retained information set exists (step S211YES), the condition generation control unit 23A has the information having the smallest corresponding first statistical value among the information sets held in the first holding unit 23D. Select a set (step S212).
  • the condition generation control unit 23A receives the first information group and the second information group of the selected information set from the first holding unit 23D and causes the second holding unit 23E to hold the first information group and the second information group (step S213). After that, the condition generation control unit 23A deletes all the information sets held by the first holding unit 23D (step S213).
  • the condition generation control unit 23A determines whether or not the end conditions are satisfied for each of the first information group and the second information group held by the second holding unit 23E (step S214).
  • the condition generation control unit 23A flags the information group that satisfies the end condition (step S214YES, step S215). If it is determined that neither the first information group nor the second information group satisfies the end condition (step S214NO), the processing step proceeds to step S216.
  • the condition generation control unit 23A determines whether or not the information group without the flag is held in the second holding unit 23E (step S216).
  • the condition generation control unit 23A acquires one unflagged information group from the second holding unit 23E. Then, it is output to the simple condition candidate generation unit 23B and the division unit 23C (step S217). After that, the condition generation control unit 23A causes the second holding unit 23E to delete the acquired information group (step S217).
  • the subset of the information group output to the simple condition candidate generation unit 23B and the division unit 23C is the second and subsequent division processing target sets.
  • the simple condition candidate generation unit 23B selects one of a plurality of explanatory variables corresponding to each of the plurality of feature parameters of the example included in the division processing target set (step S218).
  • the simple condition candidate generation unit 23B generates a plurality of threshold values for the selected explanatory variable (step S219).
  • the simple condition candidate generation unit 23B generates a simple condition candidate using each of the generated threshold values (step S220). As a result, a number of simple condition candidates equal to the number of threshold values generated in step S219 are generated.
  • the division unit 23C selects one simple condition candidate as the use simple condition candidate from the plurality of simple condition candidates generated by the simple condition candidate generation unit 23B. (Step S221)
  • the division unit 23C divides the division processing target set based on the use simple condition candidate to form the first subset and the second subset (step S222). That is, the division unit 23C is an example of the examples included in the division processing target set, in which the first subset is an example that satisfies the usage simple condition candidate as a set element, and the example that satisfies the negative condition (Negation) of the usage simple condition candidate. Is formed as a second subset having. Then, the division unit 23C sets the "first information group" in which the simple condition candidate used is associated with the first subset as the "condition set” and the negative condition of the simple condition candidate used in the second subset "condition set".
  • the "information set” including the "second information group” associated with the above is output to the first holding unit 23D.
  • the information set about the simple condition candidate for use is output from the division unit 23C to the first holding unit 23D and held by the first holding unit 23D.
  • the condition generation control unit 23A determines whether or not each of the first subset and the second subset of the information set held in the first holding unit 23D satisfies the "second constraint" (step S223).
  • condition generation control unit 23A calculates the "first statistical value" using the first subset and the second subset of the information set (step S224).
  • condition generation control unit 23A causes the first holding unit 23D to delete the information set held by the first holding unit 23D (step S225).
  • the condition generation control unit 23A determines whether or not all of the plurality of simple condition candidates generated in step S220 have been selected as use simple condition candidates (step S226). When it is determined that all of the plurality of simple condition candidates are not selected as the use simple condition candidates (step S226NO), the condition generation control unit 23A executes control to return the processing step to step S221. As a result, the division unit 23C selects the simple condition candidate that has not yet been selected as the use simple condition candidate.
  • step S226YES When it is determined that all of them are selected as simple condition candidates for use (step S226YES), the condition generation control unit 23A determines whether or not the information set held in the first holding unit 23D exists (step S226YES). Step S227). When it is determined that the retained information set does not exist (step S227NO), the condition generation control unit 23A executes control to return the processing step to step S218.
  • the condition generation control unit 23A When it is determined that the retained information set exists (step S227YES), the condition generation control unit 23A has the information having the smallest corresponding first statistical value among the information sets held in the first holding unit 23D. Select a set (step S228).
  • the condition generation control unit 23A receives the first information group and the second information group of the selected information set from the first holding unit 23D and causes the second holding unit 23E to hold the first information group and the second information group (step S229). After that, the condition generation control unit 23A deletes all the information sets held by the first holding unit 23D (step S229).
  • the condition generation control unit 23A determines whether or not the end conditions are satisfied for each of the first information group and the second information group held by the second holding unit 23E (step S230).
  • the condition generation control unit 23A flags the information group that satisfies the end condition (step S230YES, step S231). If it is determined that neither the first information group nor the second information group satisfies the end condition (step S230NO), the processing step proceeds to step S216.
  • the condition generation control unit 23A determines whether or not the information group without the flag is held in the second holding unit 23E (step S216).
  • the condition generation control unit 23A acquires all these information groups from the second holding unit 23E. Is output to the predicted value generation unit 24 (step S232).
  • the condition generation control unit 23A may form the condition set of each information group to be output to the predicted value generation unit 24 in the form of a "composite condition" in which a plurality of simple conditions included in the condition set are connected by AND.
  • FIG. 11 is a diagram for explaining the processing result of the condition generation processing.
  • a subset B2 that satisfies the end condition is obtained by the negative condition “x 0 ⁇ 1” of the simple condition “x 0 > 1”.
  • the subset B1 is set as the target set for division processing
  • the subset C1 satisfying the end condition is obtained by the simple condition "x 1 >5"
  • the negative condition "x 1 ⁇ " of the simple condition "x 1 >5" is obtained.
  • 5 provides a subset C2 that satisfies the termination condition.
  • the condition generation control unit 23A outputs the three information groups shown in FIG. 11 to the predicted value generation unit 24.
  • the three information groups are the information group of the subset "B2" and the compound condition "x 0 ⁇ 1", and the information group of the subset “C1” and the compound condition "x 0 > 1 AND x 1 >5". And the information group of the subset "C2" and the compound condition "x 0 > 1 AND x 1 ⁇ 5".
  • FIG. 12 is a flowchart showing an example of the predicted value generation process in the second embodiment.
  • the flowchart shown in FIG. 12 is executed for each of the plurality of information groups output from the condition generation control unit 23A. That is, each of the plurality of information groups becomes a "processing target information group" in order.
  • the deviation value calculation unit 24A calculates the second statistical value regarding the target value of the practical example included in the subset (processing target subset) of the processing target information group (step S301).
  • the deviation value calculation unit 24A calculates the deviation value based on the calculated second statistical value and the target value of each artificial example included in the processing target subset (step S302).
  • the adjusting unit 24B removes the artificial example corresponding to the “deviation value” which is equal to or higher than the first threshold value from the subset to be processed (step S303). As a result, the adjusted subset to be processed is obtained.
  • the predicted value calculation unit 24C calculates a third statistical value regarding the target value of all the examples included in the adjusted subset to be processed (step S304).
  • This third statistical value is a predicted value of the rule corresponding to the processing target information group of the adjusted processing target subset.
  • the predicted value calculation unit 24C outputs the compound condition of the processing target information group and the calculated predicted value as one rule (step S305). Therefore, by repeating the flow of FIG. 12 for a plurality of information groups, the above "rule group" is output.
  • the third embodiment relates to variations in the method of generating predicted values.
  • FIG. 13 is a block diagram showing an example of the rule generation device according to the third embodiment.
  • the rule generation device 30 has an acquisition unit 21 and a rule generation unit 31.
  • the rule generator 30 can be applied to both the regression problem and the classification problem.
  • the rule generation unit 31 has a condition generation unit 23 and a predicted value generation unit 32.
  • the predicted value generation unit 32 generates the predicted values of each of the plurality of rules corresponding to the plurality of information groups output from the condition generation control unit 23A.
  • the predicted value generation unit 32 has an adjustment unit 32A and a predicted value calculation unit 32B.
  • the adjustment unit 32A sequentially selects a "processing target information group" from a plurality of information groups output from the condition generation control unit 23A. Then, the adjusting unit 32A adjusts the processing target subset by removing all the artificial examples included in the processing target subset of the processing target information group from the processing target subset.
  • the predicted value calculation unit 32B sets the "second statistical value” regarding the target value of all the examples (that is, practical examples) included in the adjusted processing target subset to the processing target information group of the adjusted processing target subset. It is calculated as the "predicted value” of the rule corresponding to.
  • the "second statistic” may be, for example, an average or a median.
  • FIG. 14 is a flowchart showing an example of the predicted value generation process in the third embodiment.
  • the flowchart shown in FIG. 14 is executed for each of the plurality of information groups output from the condition generation control unit 23A. That is, each of the plurality of information groups becomes a "processing target information group" in order.
  • the adjustment unit 32A removes all artificial examples included in the processing target subset of the processing target information group from the processing target subset (step S401). As a result, the adjusted subset to be processed is obtained.
  • the predicted value calculation unit 32B calculates a "second statistical value" for the target values of all the examples included in the adjusted subset to be processed (step S402).
  • This second statistical value is a predicted value of the rule corresponding to the processing target information group of the adjusted processing target subset.
  • the predicted value calculation unit 32B outputs the compound condition of the processing target information group and the calculated predicted value as one rule (step S403). Therefore, by repeating the flow of FIG. 14 for a plurality of information groups, the above "rule group" is output.
  • the predicted value is calculated using the adjusted processing target subset obtained by the adjustment processing by the adjusting unit 32A, but the present embodiment is not limited to this.
  • the predicted value generation unit 32 may not have the adjustment unit 32A.
  • the predicted value calculation unit 32B uses the second statistical value regarding the target value of the practical example included in the processed target subset of the processed target information group as the predicted value of the rule corresponding to the processed target information group of the processed target subset. It suffices if it can be calculated.
  • the fourth embodiment relates to variations of the condition generation method.
  • the training example is divided into leaf nodes without imposing the second constraint, and the leaf nodes that do not include N (N is a natural number) or more in the practical example are deleted.
  • N is a natural number
  • FIG. 15 is a block diagram showing an example of the rule generation device according to the fourth embodiment.
  • the rule generation device 40 has an acquisition unit 21 and a rule generation unit 41.
  • the rule generator 40 can be applied to both the regression problem and the classification problem.
  • the rule generation unit 41 has a condition generation unit 42 and a predicted value generation unit 43.
  • the condition generation unit 42 has a condition generation control unit 42A, a simple condition candidate generation unit 23B, a division unit 23C, a first holding unit 23D, and a second holding unit 23E.
  • the first holding unit 23D and the second holding unit 23E are described here as being included in the condition generation unit 42, the present embodiment is not limited to this.
  • the first holding unit 23D and the second holding unit 23E may be included in a storage unit (not shown) included in the rule generation device 40.
  • the condition generation control unit 42A selects the information set having the smallest "first statistical value" calculated from the first subset and the second subset from the plurality of information sets held in the first holding unit 23D.
  • the condition generation control unit 42A receives the first information group and the second information group of the selected information set from the first holding unit 23D, holds them in the second holding unit 23E, and then holds them in the first holding unit 23D. Delete all existing information sets.
  • the condition generation control unit 42A determines whether or not each of the first information group and the second information group held by the second holding unit 23E satisfies the "end condition", and the information satisfying the end condition. "Processing completion information" is attached to the group.
  • the condition generation control unit 42A acquires an information group held in the second holding unit 23E and to which the processing completion information is not attached from the second holding unit 23E, and generates simple condition candidates as the second and subsequent division processing target sets. Output to unit 23B and division unit 23C. After that, the condition generation control unit 42A causes the second holding unit 23E to delete the acquired information group.
  • the condition generation control unit 42A is a practical example from a plurality of information groups held in the second holding unit 23E. Delete the information group of the subset that does not contain.
  • the training example is divided into leaf nodes without imposing the second constraint, and the leaf node that does not include the practical example is deleted. Even in this way, it is possible to generate a rule that satisfies the first constraint. Then, the condition generation control unit 42A acquires all the information groups remaining without being deleted by the second holding unit 23E and outputs them to the predicted value generation unit 43.
  • the predicted value generation unit 43 may have the same configuration as the predicted value generation unit 24 of the second embodiment, or may have the same configuration as the predicted value generation unit 32 of the third embodiment.
  • steps S501 to S506 is the same as that of steps S201 to S206.
  • the condition generation control unit 42A calculates the "first statistical value" using the first subset and the second subset of the information set held in the first holding unit 23D (step S507).
  • the condition generation control unit 42A determines whether or not all of the plurality of simple condition candidates generated in step S504 are selected as use simple condition candidates (step S508). When it is determined that all of the plurality of simple condition candidates are not selected as the use simple condition candidates (step S508NO), the condition generation control unit 42A executes control to return the processing step to step S505. As a result, the division unit 23C selects the simple condition candidate that has not yet been selected as the use simple condition candidate.
  • condition generation control unit 42A When it is determined that all are selected as simple condition candidates for use (step S508YES), the condition generation control unit 42A has the corresponding first statistical value in the information set held in the first holding unit 23D. Select the smallest set of information (step S509).
  • the condition generation control unit 42A receives the first information group and the second information group of the selected information set from the first holding unit 23D and causes the second holding unit 23E to hold the first information group and the second information group (step S510). After that, the condition generation control unit 23A deletes all the information sets held by the first holding unit 23D (step S510).
  • the condition generation control unit 42A determines whether or not the end conditions are satisfied for each of the first information group and the second information group held by the second holding unit 23E (step S511).
  • the condition generation control unit 42A flags the information group that satisfies the end condition (step S511YES, step S512). If it is determined that neither the first information group nor the second information group satisfies the end condition (step S511NO), the processing step proceeds to step S513.
  • the condition generation control unit 42A determines whether or not the information group without the flag is held in the second holding unit 23E (step S513).
  • the condition generation control unit 42A acquires one unflagged information group from the second holding unit 23E. Then, it is output to the simple condition candidate generation unit 23B and the division unit 23C (step S514). After that, the condition generation control unit 42A causes the second holding unit 23E to delete the acquired information group (step S514).
  • the subset of the information group output to the simple condition candidate generation unit 23B and the division unit 23C is the second and subsequent division processing target sets.
  • steps S515 to S519 is the same as that of steps S218 to S222.
  • the condition generation control unit 42A calculates the "first statistical value” using the first subset and the second subset of the information set held in the first holding unit 23D (step S520).
  • the condition generation control unit 42A determines whether or not all of the plurality of simple condition candidates generated in step S517 have been selected as use simple condition candidates (step S521). When it is determined that all of the plurality of simple condition candidates are not selected as the use simple condition candidates (step S512NO), the condition generation control unit 42A executes control to return the processing step to step S518. As a result, the division unit 23C selects the simple condition candidate that has not yet been selected as the use simple condition candidate.
  • condition generation control unit 42A When it is determined that all are selected as simple condition candidates for use (step S521YES), the condition generation control unit 42A has the corresponding first statistical value in the information set held in the first holding unit 23D. Select the smallest set of information (step S522).
  • the condition generation control unit 42A receives the first information group and the second information group of the selected information set from the first holding unit 23D and causes the second holding unit 23E to hold the first information group and the second information group (step S523). After that, the condition generation control unit 23A deletes all the information sets held by the first holding unit 23D (step S523).
  • the condition generation control unit 42A determines whether or not the end conditions are satisfied for each of the first information group and the second information group held by the second holding unit 23E (step S524).
  • the condition generation control unit 42A flags the information group that satisfies the end condition (step S524YES, step S525). If it is determined that neither the first information group nor the second information group satisfies the end condition (step S524NO), the processing step proceeds to step S513.
  • the condition generation control unit 42A determines whether or not the information group without the flag is held in the second holding unit 23E (step S513).
  • the condition generation control unit 42A When it is determined that all the information groups held in the second holding unit 23E are flagged (step S513YES), the condition generation control unit 42A has a plurality of information groups held in the second holding unit 23E.
  • the information group of the subset that does not include the practical example is deleted from the information group (step S526).
  • the condition generation control unit 42A determines whether or not the information group held in the second holding unit 23E exists (step S527). If the information group held in the second holding unit 23E does not exist (step S527NO), the processing step returns to step S502.
  • the condition generation control unit 42A acquires all the information groups held in the second holding unit 23E and obtains the predicted value generation unit. Output to 43 (step S528).
  • the condition generation control unit 42A may form the condition set of each information group to be output to the prediction value generation unit 43 in the form of a "composite condition" in which a plurality of simple conditions included in the condition set are connected by AND.
  • the probability of appearance in the class may be calculated as the predicted value of the rule.
  • a class with a high probability of appearance of a class to which a practical example included in a leaf node belongs may be used as a predicted value of a rule.
  • FIG. 22 is a diagram showing a hardware configuration example of the rule generator.
  • the rule generator 100 has a processor 101 and a memory 102.
  • the processor 101 may be, for example, a microprocessor, an MPU (MicroProcessingUnit), or a CPU (CentralProcessingUnit).
  • the processor 101 may include a plurality of processors.
  • the memory 102 is composed of a combination of a volatile memory and a non-volatile memory.
  • the memory 102 may include storage located away from the processor 101. In this case, the processor 101 may access the memory 102 via an I / O interface (not shown).
  • the rule generators 10, 20, 30, and 40 of the first to fourth embodiments can each have the hardware configuration shown in FIG. 22.
  • the processor 101 of the acquisition units 11 and 21 of the rule generation devices 10, 20, 30 and 40 of the first to fourth embodiments and the rule generation units 12, 22, 31 and 41 are stored in the memory 102. It may be realized by loading and executing a program.
  • the above storage unit (not shown) may be realized by the memory 102.
  • the program is stored using various types of non-transitory computer readable medium and can be supplied to the rule generators 10, 20, 30, and 40. Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks).
  • non-temporary computer-readable media examples include CD-ROM (Read Only Memory), CD-R, and CD-R / W.
  • examples of non-temporary computer readable media include semiconductor memory.
  • the semiconductor memory includes, for example, a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM, and a RAM (Random Access Memory).
  • the program may also be supplied to the rule generators 10, 20, 30, 40 by various types of transient computer readable medium.
  • Examples of temporary computer readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the rule generators 10, 20, 30, 40 via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • a feature amount vector whose vector element is one or more feature amounts corresponding to and a target value are included, and the feature amount and the target value included in each practical example are actual measurement values, while each artificial example is the above-mentioned practical example.
  • the acquisition means which is an example formed on the basis of It is a means for generating a rule group for dividing the training example into a plurality of clusters related to the target value by using a rule-based model and satisfying the first constraint, and each rule of the rule group is described.
  • a rule generating means including a condition obtained from a condition set containing one or more simple conditions relating to a feature parameter and a predicted value relating to the target value. Equipped with The first constraint includes the constraint that each cluster contains N (N is a natural number) or more practical examples. Rule generator.
  • the rule generating means is A condition generation means for generating the conditions of each rule and Predicted value generation means for generating predicted values of each rule, and Equipped with The rule generator according to Appendix 1.
  • the condition generation means is It is a means for determining a simple condition for dividing a parent node into a plurality of child nodes according to a second constraint, and the second constraint is a practical example in which each child node has N (N is a natural number) or more.
  • a condition generation control means including a constraint of inclusion, The rule generator according to Appendix 2.
  • the condition generation means is Condition generation control means and The selection was made by selecting one of a plurality of explanatory variables corresponding to each of the plurality of example feature parameters included in the divided processing target set and generating a plurality of threshold values using the selected explanatory variables.
  • a simple condition candidate generation means that generates multiple simple condition candidates for explanatory variables, and One simple condition candidate is sequentially selected as a use simple condition candidate to be used for processing from the plurality of generated simple condition candidates, and a plurality of examples included in the division processing target set are divided based on the use simple condition candidate.
  • the first subset and the second subset are formed, and the first information group in which the first subset is associated with the simple condition candidate for use as a condition set, and the second subset are associated with the simple condition candidate for use.
  • a dividing means that outputs an information set including a second information group associated with the negative condition of the above as a condition set for each simple condition candidate and stores it in the first holding means. Further equipped, The first set to be divided is the training example.
  • the condition generation control means is From the plurality of stored information sets, the first subset and the second subset each satisfy the second constraint, and the first subset and the second subset are calculated from the first subset.
  • the second constraint includes a constraint that each of the first subset and the second subset includes N (N is a natural number) or more practical examples.
  • the condition generation means is Condition generation control means and The selection was made by selecting one of a plurality of explanatory variables corresponding to each of the plurality of example feature parameters included in the divided processing target set and generating a plurality of threshold values using the selected explanatory variables.
  • a simple condition candidate generation means that generates multiple simple condition candidates for explanatory variables, and One simple condition candidate is sequentially selected as a use simple condition candidate to be used for processing from the plurality of generated simple condition candidates, and a plurality of examples included in the division processing target set are divided based on the use simple condition candidate.
  • the first subset and the second subset are formed, and the first information group in which the first subset is associated with the simple condition candidate for use as a condition set, and the second subset are associated with the simple condition candidate for use.
  • a dividing means that outputs an information set including a second information group associated with the negative condition of the above as a condition set for each simple condition candidate and stores it in the first holding means. Further equipped, The first set to be divided is the training example.
  • the condition generation control means is To select the information set having the smallest first statistical value calculated from the first subset and the second subset from the plurality of stored information sets. After the first information group and the second information group of the selected information set are held by the second holding means, the stored information set is deleted by the first holding means.
  • the predicted value generation means is The processing target information group is sequentially selected from the plurality of information groups output from the condition generation control means, and the second statistical value regarding the target value of the practical example included in the processing target subset of the processing target information group and the processing target.
  • a deviation value calculation means that calculates a deviation value based on the target value of each artificial example included in the subset, and An adjustment means for adjusting the processing target subset by removing the artificial example corresponding to the calculated deviation value equal to or higher than the first threshold value from the processing target subset, and Predicted value calculation that calculates the third statistical value regarding the target value of all the examples included in the adjusted processing target subset as the predicted value of the rule corresponding to the processing target information group of the adjusted processing target subset. Means and Equipped with The rule generator according to Appendix 5 or 6.
  • the predicted value generation means is The processing target information group is sequentially selected from the plurality of information groups output from the condition generation control means, and the second statistical value regarding the target value of the practical example included in the processing target subset of the processing target information group is processed.
  • a predictive value calculation means for calculating as a predictive value of a rule corresponding to a processing target information group of a target subset is provided.
  • the rule generator according to Appendix 5 or 6.
  • the rule-based model is a decision tree or a decision list.
  • the rule generator according to any one of Supplementary Provisions 1 to 8.
  • the rule generation method is Further comprising generating a set of rules for dividing the training example into a plurality of clusters with respect to the target value using a rule-based model and satisfying the first constraint.
  • Each rule of the rule group includes a condition obtained from a condition set including one or more simple conditions for the feature parameter and a predicted value for the target value.
  • the first constraint includes the constraint that each cluster contains N (N is a natural number) or more practical examples. Rule generation method.
  • the plurality of examples include at least one practical example and at least one artificial example.
  • Each of the practical example and the artificial example includes a feature amount vector having one or more feature amounts corresponding to different feature parameters as vector elements and a target value, and the feature amount and the target value included in each practical example. Is an actual measurement value, while each artificial example is an example formed based on the above-mentioned practical example.
  • the process further comprises generating a set of rules for dividing the training example into a plurality of clusters with respect to the target value using a rule-based model and satisfying the first constraint.
  • Each rule of the rule group includes a condition obtained from a condition set including one or more simple conditions for the feature parameter and a predicted value for the target value.
  • the first constraint includes the constraint that each cluster contains N (N is a natural number) or more practical examples.
  • Rule generation device 11 Acquisition unit 12 Rule generation unit 20 Rule generation unit 23 Condition generation unit 23A Condition generation control unit 23B Simple condition candidate generation unit 23C Division unit 23D 1st holding unit 23E 2nd holding unit 24 Predicted value generation unit 24A Deviation value calculation unit 24B Adjustment unit 24C Prediction value calculation unit 30 Rule generation unit 31 Rule generation unit 32 Prediction value generation unit 32A Adjustment unit 32B Prediction value calculation unit 40 Rule generation unit 41 Rule generation unit 42 Condition generation Part 42A Condition generation control part 43 Predicted value generation part

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

ルール生成装置(10)にてルール生成部(12)は、訓練用例を目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ「第1の制約」を満たすように生成する。訓練用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含む。実用例及び人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含む。各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、実用例に基づいて形成された用例である。「第1の制約」は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む。

Description

ルール生成装置、ルール生成方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体
 本開示は、ルール生成装置、ルール生成方法、及び非一時的なコンピュータ可読媒体に関する。
 機械学習の分野において、「実用例(real example)」及び「人工用例(synthetic example)」を含む「訓練用例」を用いて、モデルを学習させる手法が存在する(例えば、非特許文献1)。「訓練用例」は、訓練(学習)に用いる用例の集合であるので「訓練集合(training set)」と呼ぶこともできる。「実用例」は、実際に観測された用例であり、「人工用例」は人工的に形成された用例である。非特許文献1では、人工用例は、実用例に基づいて形成される。これにより、実用例に加えて人工用例も用いてモデルを学習させることができるので、モデルの精度を向上させることができる。なお、以下では、「実用例」と「人工用例」とを区別せずに、単に「用例」と呼ぶことがある。
 モデルには、決定木や決定リストなどの「ルールベースのモデル(以下では、単に「ルールベースモデル」と呼ぶことがある)」が存在する。「ルールベースモデル」では、各「ルール」は、IF-THEN形式で表すことができ、「条件集合」とこの条件集合から得られる条件が満たされる場合の「予測値」とを含む。
Bucilua, Cristian, Caruana, Rich, and Niculescu-Mizil, Alexandru, "Model Compression". In Proceedings of the 12th ACMSIGKDD International Conference on Knowledge Discovery and Data Mining, KDD’06, pages 535-541, New York, NY, USA, 2006. ACM.
 本発明者らは、実用例及び人工用例を含む訓練用例を用いてルールベースモデルを学習させた場合、ルールの精度が向上する一方で、ルールの「説明性(解釈性)」が低下してしまう可能性があることを見出した。すなわち、複数の実用例を用いてルールベースモデルを学習させた場合、各ルールの条件集合から得られる条件によって複数の用例が複数の「グループ(以下では、「クラスタ」と呼ぶことがある」に分けられる。各クラスタに含まれる用例の「目標値」を集計した集計結果がそのクラスタの「予測値」となる。このため、人工用例を用いずに複数の実用例を用いてルールベースモデルを学習させた場合、ユーザが、クラスタに含まれる各実用例を確認し、さらにそのクラスタに含まれる実用例の目標値を集計した集計結果と、ルールベースモデルによって得られた予測値とを比較することによって、ルールベースモデルによって得られたルールの正当性を検証することができる。しかしながら、実用例及び人工用例を含む訓練用例を用いてルールベースモデルを学習させた場合、クラスタに実用例が含まれず人工用例だけが含まれる可能性がある。この場合には、ルールベースモデルによって得られるルールの正当性を検証することができない。
 本開示の目的は、ルールの説明性を向上させることができる、ルール生成装置、ルール生成方法、及び非一時的なコンピュータ可読媒体を提供することにある。
 第1の態様にかかるルール生成装置は、複数の用例を含む訓練用例を取得する手段であって、前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例である、取得手段と、
 前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成する手段であって、前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含む、ルール生成手段と、
 を具備し、
 前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む。
 第2の態様にかかるルール生成方法は、複数の用例を含む訓練用例を取得することを含み、前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例であり、
 前記ルール生成方法は、
 前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成することをさらに含み、
 前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含み、
 前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む。
 第3の態様にかかる非一時的なコンピュータ可読媒体は、
 複数の用例を含む訓練用例を取得することを含む処理を、ルール生成装置に実行させ、
 前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、
 前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例であり、
 前記処理は、前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成することをさらに含み、
 前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含み、
 前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む、
 制御プログラムを格納している。
 本開示により、ルールの説明性を向上させることができる、ルール生成装置、ルール生成方法、及び非一時的なコンピュータ可読媒体を提供することができる。
第1実施形態におけるルール生成装置の一例を示すブロック図である。 第1実施形態におけるルール生成装置の処理動作の一例を示すフローチャートである。 第2実施形態におけるルール生成装置の一例を示すブロック図である。 訓練用例の説明に供する図である。 第2実施形態における条件生成処理の一例を示すフローチャートである。 第2実施形態における条件生成処理の一例を示すフローチャートである。 第2実施形態における条件生成処理の一例を示すフローチャートである。 第2実施形態における条件生成処理の一例を示すフローチャートである。 第2実施形態における条件生成処理の一例を示すフローチャートである。 第2実施形態における条件生成処理の一例を示すフローチャートである。 条件生成処理の処理結果の説明に供する図である。 第2実施形態における予測値生成処理の一例を示すフローチャートである。 第3実施形態におけるルール生成装置の一例を示すブロック図である。 第3実施形態における予測値生成処理の一例を示すフローチャートである。 第4実施形態におけるルール生成装置の一例を示すブロック図である。 第4実施形態における条件生成処理の一例を示すフローチャートである。 第4実施形態における条件生成処理の一例を示すフローチャートである。 第4実施形態における条件生成処理の一例を示すフローチャートである。 第4実施形態における条件生成処理の一例を示すフローチャートである。 第4実施形態における条件生成処理の一例を示すフローチャートである。 第4実施形態における条件生成処理の一例を示すフローチャートである。 ルール生成装置のハードウェア構成例を示す図である。
 以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付し、重複する説明は省略される。
<第1実施形態>
 <ルール生成装置の構成例>
 図1は、第1実施形態におけるルール生成装置の一例を示すブロック図である。図1においてルール生成装置10は、取得部11と、ルール生成部12とを有している。なお、ルール生成装置10は、回帰問題及びクラス分類問題のいずれにも適用可能であるが、以下では、主に回帰問題に適用することを前提に説明する。
 取得部11は、「訓練用例(訓練集合)」を取得する。「訓練用例」は、少なくとも1つの「実用例」及び少なくとも1つの「人工用例」を含む。以下では、「実用例」と「人工用例」とを区別せずに、単に「用例」と呼ぶことがある。各用例は、異なる「特徴パラメータ」に対応する1つ以上の「特徴量」を「ベクトル要素」とする「特徴量ベクトル」と「目標値」とを含む。例えば、1つの用例が「観測日:8月」、「湿度:56.8%」、「天気:曇り」、及び「気温:23.7℃」である場合、「観測日」、「湿度」及び「天気」のそれぞれを特徴パラメータとし、(8月,56.8%,曇り)を特徴量ベクトルとすることができる。そして、「23.7℃」を目標値とすることができる。
 各実用例に含まれる特徴量及び目標値は、機械学習モデルが予測すべき実際の予測対象が実際に測定(観測)されて得られた「実測値」である。一方、各人工用例は、実用例に基づいて形成された用例である。例えば、人工用例は、実用例と類似するようにアルゴリズムによって形成される。この人工用例は、例えば、上記の非特許文献1に記載された方法によって形成されてもよい。すなわち、人工用例は、疑似用例と呼ぶこともできる。このため、実用例と人工用例とは、互いに近い値の特徴量及び目標値を有している可能性が高いが、互いの特徴量及び目標値が一致することはない。
 ルール生成部12は、訓練用例に含まれる複数の用例を目標値に関する複数のグループ(以下では、このグループを「クラスタ」と呼ぶ)に分けるための「ルール群」を、「ルールベースモデル」を用いて且つ「第1の制約」を満たすように生成する。「ルールベースモデル」は、上記の通り、決定木及び決定リスト等である。
 生成される「ルール群」の各ルールは、「条件集合」から得られる「条件(以下では、「複合条件」と呼ぶことがある)」と「目標値に関する予測値」とを含む。「条件集合」は、特徴パラメータに関する1つ以上の「単純条件」を含む。ここでは、「単純条件」は、「ルールベースモデル」において1つの「親ノード」を複数の「子ノード」に分割するための条件を意味する。
 「第1の制約」は、各クラスタが少なくともN(Nは自然数)個以上の実用例を含むという制約を含む。以下では、N=1の場合を例にとり説明する。
 <ルール生成装置の動作例>
 図2は、第1実施形態におけるルール生成装置の処理動作の一例を示すフローチャートである。
 取得部11は、訓練用例を取得する(ステップS101)。
 ルール生成部12は、ルール群を、ルールベースモデルを用いて且つ「第1の制約」を満たすように生成する(ステップS102)。「第1の制約」は、各クラスタが少なくとも1つの実用例を含むという制約を含む。
 以上で説明した第1実施形態によれば、ルール生成装置10にてルール生成部12は、訓練用例を目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成する。第1の制約は、各クラスタが少なくともN(Nは自然数)個以上の実用例を含むという制約を含む。
 このルール生成装置10の構成により、生成されたルール群によって分けられた複数のクラスタのそれぞれには少なくとも1つの実用例が含まれるので、その実用例を用いてルールの正当性を検証することができる。すなわち、ルールの説明性を向上させることができる。また、上記訓練用例には、実用例の他に人工用例も含まれているので、当然、ルールの精度も向上させることができる。
<第2実施形態>
 第2実施形態は、より具体的な実施形態に関する。
 <ルール生成装置の構成例>
 図3は、第2実施形態におけるルール生成装置の一例を示すブロック図である。図3においてルール生成装置20は、取得部21と、ルール生成部22とを有している。なお、ルール生成装置20は、回帰問題及びクラス分類問題のいずれにも適用可能であるが、以下では、主に回帰問題に適用することを前提に説明する。
 取得部21は、第1実施形態の取得部11と同様に、「訓練用例(訓練集合)」を取得する。図4は、訓練用例の説明に供する図である。図4では、便宜的に、訓練用例がテーブル形式で示されている。図4に示す訓練用例は、5つの用例を含んでいる。用例IDがE0,E1,E2である3つの用例は、実用例であり、用例IDがE3,E4である2つの用例は、人工用例である。「観測日」、「湿度」及び「天気」のそれぞれは、特徴パラメータである。そして、各用例は、各特徴パラメータに対応する特徴量を含んでいる。また、「気温」は、目標値パラメータである。そして、各用例は、目標値パラメータに対応する目標値を含んでいる。
 図3の説明に戻り、ルール生成部22は、第1実施形態のルール生成部12と同様に、訓練用例に含まれる複数の用例を目標値に関する複数のクラスタに分けるための「ルール群」を、「ルールベースモデル」を用いて且つ「第1の制約」を満たすように生成する。
 例えば、ルール生成部22は、条件生成部23と、予測値生成部24とを有している。
 条件生成部23は、各ルールの条件を生成する。
 例えば、条件生成部23は、条件生成制御部23Aと、単純条件候補生成部23Bと、分割部23Cと、第1保持部23Dと、第2保持部23Eとを有している。なお、ここでは、第1保持部23D及び第2保持部23Eが条件生成部23に含まれるものとして説明しているが、本実施形態はこれに限定されるものではない。例えば、第1保持部23D及び第2保持部23Eは、ルール生成装置20が備える記憶部(不図示)に含まれてもよい。
 単純条件候補生成部23Bは、「分割処理対象集合」に含まれる用例の複数の特徴パラメータにそれぞれ対応する複数の説明変数のうちの1つを選択する。最初の「分割処理対象集合」は、取得部21にて取得された「訓練用例(訓練集合)」であり、2番目以降の「分割処理対象集合」は、条件生成制御部23Aから受け取る「情報グループ(情報ペア)」の「部分集合」である。「情報グループ」及び「部分集合」については後述する。
 単純条件候補生成部23Bは、選択した説明変数についての複数の閾値を生成し、生成した複数の閾値を用いて、選択した説明変数についての複数の「単純条件候補」を生成する。
 例えば、用例に3つの特徴パラメータ(つまり、3つの説明変数)x_1,x_2,x_3が含まれている場合、単純条件候補生成部23Bは、説明変数x_1を選択する。そして、単純条件候補生成部23Bは、説明変数x_1の閾値として、「3」、「5」、「7」を生成する。そして、単純条件候補生成部23Bは、「x_1>3」、「x_1>5」、「x_1>7」をそれぞれ「単純条件候補」として生成する。
 分割部23Cは、単純条件候補生成部23Bにて生成された複数の単純条件候補から1つの単純条件候補を「使用単純条件候補」として順次選択する。「使用単純条件候補」は、分割部23Cの処理に用いられる単純条件候補である。
 分割部23Cは、使用単純条件候補に基づいて「分割処理対象集合」に含まれる複数の用例を分けることによって「第1部分集合」及び「第2部分集合」を形成する。そして、分割部23Cは、第1部分集合に使用単純条件候補を「条件集合」として対応づけた「第1情報グループ(第1情報ペア)」と、第2部分集合に使用単純条件候補の否定条件を「条件集合」として対応づけた「第2情報グループ(第2情報ペア)」とを含む「情報セット」を、第1保持部23Dへ出力する。これにより、単純条件候補生成部23Bにて生成された各単純条件候補についての情報セットが、分割部23Cから第1保持部23Dへ出力される。
 ここで、上記の通り、最初の「分割処理対象集合」は、取得部21にて取得された「訓練用例」であり、2番目以降の「分割処理対象集合」は、条件生成制御部23Aから受け取る「情報グループ」の「部分集合」である。すなわち、本明細書において「部分集合」は、全体集合である「訓練用例」を「条件集合」によって分けることにより得られるものであり、「訓練用例」の部分的な集合である。また、2番目以降の「分割処理対象集合」には、少なくとも1つの単純条件を含む条件集合が対応づけられているので、この分割処理対象集合から得られる第1情報グループ及び第2情報グループのそれぞれの条件集合は、少なくとも2つ以上の単純条件を含むことになる。
 第1保持部23Dは、分割部23Cから出力された複数の情報セットを一時保持する。また、第1保持部23Dは、条件生成制御部23Aによる制御に従って、保持している情報セットの出力及び削除を実行する。
 条件生成制御部23Aは、第1保持部23Dに保持された複数の情報セットから、第1部分集合及び第2部分集合のそれぞれが「第2の制約」を満たし、且つ、第1部分集合及び第2部分集合から算出される「第1統計値」が最も小さい、情報セットを選択する。「第2の制約」は、各子ノードが少なくともN(Nは自然数)個以上の実用例を含むという制約を含む。以下では、N=1の場合を例にとり説明する。すなわち、「分割処理対象集合」が親ノードであり第1部分集合及び第2部分集合のそれぞれが子ノードであるので、第1部分集合及び第2部分集合のそれぞれが少なくとも1つの実用例を含むことが要求される。また、「第2の制約」は、第1部分集合及び第2部分集合のそれぞれについて、部分集合に含まれる実用例の目標値の平均と人工用例の目標値の平均との差が所定値以下である、という制約を含んでいてもよい。また、条件生成制御部23Aが算出する上記「第1統計値」は、分類問題の場合には、不純度を表す量(例えば、ジニ係数又はエントロピーなど)であってもよく、回帰の場合には、データの散らばり具合を表す量(例えば、平均二乗誤差、又は目的変数の分散など)であってもよい。なお、「第1統計値」は、情報セットを選択する際の基準値として用いられるので、「情報セット選択基準値」と呼ぶことができる。
 条件生成制御部23Aは、選択した情報セットの第1情報グループ及び第2情報グループを第1保持部23Dから受け取って第2保持部23Eに保持させ、その後、第1保持部23Dに保持している情報セットのすべてを削除させる。
 条件生成制御部23Aは、第2保持部23Eに保持させた第1情報グループ及び第2情報グループのそれぞれについて「終了条件」を満たしているか否かを判定して、終了条件を満たしている情報グループに「処理完了情報」を付す。「終了条件」は、例えば、「部分集合に含まれる実用例の数が所定数以下となること」であってもよい。また、「処理完了情報」は、例えば、フラグであってもよい。
 条件生成制御部23Aは、第2保持部23Eに保持され且つ処理完了情報が付されていない情報グループを第2保持部23Eから取得して、2番目以降の分割処理対象集合として単純条件候補生成部23B及び分割部23Cに出力する。その後、条件生成制御部23Aは、取得した情報グループを第2保持部23Eに削除させる。
 条件生成制御部23Aは、第2保持部23Eに保持されている全ての情報グループに処理完了情報が付されている場合、これら全ての情報グループを第2保持部23Eから取得する。そして、条件生成制御部23Aは、取得した全ての情報グループを予測値生成部24に出力する。ここで、条件生成制御部23Aから出力される各情報グループは、1つのルールに対応する。そして、各情報グループの条件集合及び部分集合は、1つのルールの条件集合及びこの1つのルールに対応する「クラスタ」に対応する。なお、条件生成制御部23Aは、予測値生成部24に出力する各情報グループの条件集合を、条件集合に含まれる複数の単純条件をANDで繋いだ「複合条件」の形にしてもよい。条件集合に1つの単純条件だけが含まれる場合、複合条件は、その単純条件と同じである。例えば、条件集合に2つの単純条件「X_0>1」,「X_1>4」が含まれている場合、「複合条件」は、「X_0>1 AND X_1>4」となる。
 第2保持部23Eは、条件生成制御部23Aから受け取る情報グループを保持する。
 予測値生成部24は、条件生成制御部23Aから出力された複数の情報グループに対応する複数のルールのそれぞれの予測値を生成する。
 例えば、予測値生成部24は、乖離値算出部24Aと、調整部24Bと、予測値算出部24Cとを有している。
 乖離値算出部24Aは、条件生成制御部23Aから出力された複数の情報グループから「処理対象情報グループ」を順次選択する。そして、乖離値算出部24Aは、処理対象情報グループの部分集合(つまり、処理対象部分集合(処理対象クラスタ))に含まれる実用例の目標値に関する「第2統計値」と処理対象部分集合に含まれる各人工用例の目標値とに基づいて、「乖離値」を算出する。「第2統計値」は、処理対象情報グループの「処理対象部分集合(処理対象クラスタ)」に含まれる実用例の目標値に関する「代表値」である。「第2統計値」は、例えば、平均であってもよいし、中央値であってもよい。「乖離値」は、データの乖離具合を表す量である。乖離値は、例えば、「第2統計値」と人工用例の目標値との差であってもよいし、カルバック・ライブラーダイバージェンス又はコサイン類似度などであってもよい。
 調整部24Bは、第1閾値以上である「乖離値」に対応する人工用例を処理対象部分集合から除去することにより、処理対象部分集合を調整する。
 予測値算出部24Cは、調整後の処理対象部分集合に含まれるすべての用例の目標値に関する「第3統計値」を、調整後の処理対象部分集合の処理対象情報グループに対応するルールの「予測値」として、算出する。これにより、処理対象情報グループに対応するルールの条件集合(複合条件)及び予測値が揃うことになる。このように調整後の処理対象部分集合に基づいてルールの「予測値」を算出することにより、より精度の良いルールの予測値を算出することができる。
 「第3統計値」は、調整後の処理対象部分集合に含まれるすべての用例の目標値の「代表値」である。例えば、「第3統計値」は、調整後の処理対象部分集合に含まれるすべての用例の目標値の平均であってもよい。
 <ルール生成装置の動作例>
 以上の構成を有するルール生成装置20の処理動作の一例について説明する。ルール生成装置20は、条件生成処理を行い、その後、予測値生成処理を行う。
 (条件生成処理)
 図5から図10は、第2実施形態における条件生成処理の一例を示すフローチャートである。
 取得部21は、訓練用例を取得する(ステップS201)
 単純条件候補生成部23Bは、取得部21にて取得された訓練用例に含まれる用例の複数の特徴パラメータにそれぞれ対応する複数の説明変数のうちの1つを選択する(ステップS202)。
 単純条件候補生成部23Bは、選択した説明変数についての複数の閾値を生成する(ステップS203)。
 単純条件候補生成部23Bは、生成した各閾値を用いて単純条件候補を生成する(ステップS204)。これにより、ステップS203にて生成された閾値の数に等しい数の単純条件候補が生成される。
 分割部23Cは、単純条件候補生成部23Bにて生成された複数の単純条件候補から1つの単純条件候補を「使用単純条件候補」として選択する。(ステップS205)
 分割部23Cは、使用単純条件候補に基づいて訓練用例を分割して「第1部分集合」及び「第2部分集合」を形成する(ステップS206)。すなわち、分割部23Cは、訓練用例に含まれる用例のうちで、使用単純条件候補を満たす用例を集合要素とする第1部分集合と、使用単純条件候補の否定条件(Negation)を満たす用例を集合要素とする第2部分集合とを形成する。そして、分割部23Cは、第1部分集合に使用単純条件候補を「条件集合」として対応づけた「第1情報グループ」と、第2部分集合に使用単純条件候補の否定条件を「条件集合」として対応づけた「第2情報グループ」とを含む「情報セット」を、第1保持部23Dへ出力する。これにより、使用単純条件候補についての情報セットが、分割部23Cから第1保持部23Dへ出力されて、第1保持部23Dによって保持される。なお、ここでは、最初の分割処理なので、「訓練用例」が上記の「分割処理対象集合」である。
 条件生成制御部23Aは、第1保持部23Dに保持された情報セットの第1部分集合及び第2部分集合のそれぞれが「第2の制約」を満たすか否かを判定する(ステップS207)。上記の通り、「第2の制約」は、例えば、情報セットの第1部分集合及び第2部分集合のそれぞれが少なくとも1つの実用例を含むことである。
 第2の制約が満たされる場合(ステップS207YES)、条件生成制御部23Aは、情報セットの第1部分集合及び第2部分集合を用いて「第1統計値」を算出する(ステップS208)。
 第2の制約が満たされない場合(ステップS207NO)、条件生成制御部23Aは、第1保持部23Dに保持された情報セットを削除させる(ステップS209)。
 条件生成制御部23Aは、ステップS204にて生成された複数の単純条件候補のすべてが使用単純条件候補として選択されたか否かを判定する(ステップS210)。複数の単純条件候補のすべてが使用単純条件候補として選択されていないと判定された場合(ステップS210NO)、条件生成制御部23Aは、処理ステップをステップS205に戻す制御を実行する。これにより、分割部23Cは、未だ選択していない単純条件候補を使用単純条件候補として選択することになる。
 すべてが使用単純条件候補として選択されていると判定された場合(ステップS210YES)、条件生成制御部23Aは、第1保持部23Dに保持されている情報セットが存在するか否かを判定する(ステップS211)。保持されている情報セットが存在しないと判定された場合(ステップS211NO)、条件生成制御部23Aは、処理ステップをステップS202に戻す制御を実行する。
 保持されている情報セットが存在すると判定された場合(ステップS211YES)、条件生成制御部23Aは、第1保持部23Dに保持されている情報セットのうちで対応する第1統計値が最も小さい情報セットを選択する(ステップS212)。
 条件生成制御部23Aは、選択した情報セットの第1情報グループ及び第2情報グループを第1保持部23Dから受け取って第2保持部23Eに保持させる(ステップS213)。その後、条件生成制御部23Aは、第1保持部23Dに保持している情報セットのすべてを削除させる(ステップS213)。
 条件生成制御部23Aは、第2保持部23Eに保持させた第1情報グループ及び第2情報グループのそれぞれについて終了条件を満たしているか否かを判定する(ステップS214)。
 条件生成制御部23Aは、終了条件を満たしている情報グループにフラグを付す(ステップS214YES、ステップS215)。第1情報グループ及び第2情報グループのいずれも終了条件を満たしていないと判定された場合(ステップS214NO)、処理ステップは、ステップS216に進む。
 条件生成制御部23Aは、第2保持部23Eにフラグが付されていない情報グループが保持されているか否かを判定する(ステップS216)。
 第2保持部23Eにフラグが付されていない情報グループが保持されている場合(ステップS216YES)、条件生成制御部23Aは、第2保持部23Eからフラグが付されていない情報グループを1つ取得して、単純条件候補生成部23B及び分割部23Cに出力する(ステップS217)。その後、条件生成制御部23Aは、取得した情報グループを第2保持部23Eに削除させる(ステップS217)。単純条件候補生成部23B及び分割部23Cへ出力された情報グループの部分集合は、2番目以降の分割処理対象集合である。
 単純条件候補生成部23Bは、分割処理対象集合に含まれる用例の複数の特徴パラメータにそれぞれ対応する複数の説明変数のうちの1つを選択する(ステップS218)。
 単純条件候補生成部23Bは、選択した説明変数についての複数の閾値を生成する(ステップS219)。
 単純条件候補生成部23Bは、生成した各閾値を用いて単純条件候補を生成する(ステップS220)。これにより、ステップS219にて生成された閾値の数に等しい数の単純条件候補が生成される。
 分割部23Cは、単純条件候補生成部23Bにて生成された複数の単純条件候補から1つの単純条件候補を使用単純条件候補として選択する。(ステップS221)
 分割部23Cは、使用単純条件候補に基づいて分割処理対象集合を分割して第1部分集合及び第2部分集合を形成する(ステップS222)。すなわち、分割部23Cは、分割処理対象集合に含まれる用例のうちで、使用単純条件候補を満たす用例を集合要素とする第1部分集合と、使用単純条件候補の否定条件(Negation)を満たす用例を集合要素とする第2部分集合とを形成する。そして、分割部23Cは、第1部分集合に使用単純条件候補を「条件集合」として対応づけた「第1情報グループ」と、第2部分集合に使用単純条件候補の否定条件を「条件集合」として対応づけた「第2情報グループ」とを含む「情報セット」を、第1保持部23Dへ出力する。これにより、使用単純条件候補についての情報セットが、分割部23Cから第1保持部23Dへ出力されて、第1保持部23Dによって保持される。
 条件生成制御部23Aは、第1保持部23Dに保持された情報セットの第1部分集合及び第2部分集合のそれぞれが「第2の制約」を満たすか否かを判定する(ステップS223)。
 第2の制約が満たされる場合(ステップS223YES)、条件生成制御部23Aは、情報セットの第1部分集合及び第2部分集合を用いて「第1統計値」を算出する(ステップS224)。
 第2の制約が満たされない場合(ステップS223NO)、条件生成制御部23Aは、第1保持部23Dに保持された情報セットを削除させる(ステップS225)。
 条件生成制御部23Aは、ステップS220にて生成された複数の単純条件候補のすべてが使用単純条件候補として選択されたか否かを判定する(ステップS226)。複数の単純条件候補のすべてが使用単純条件候補として選択されていないと判定された場合(ステップS226NO)、条件生成制御部23Aは、処理ステップをステップS221に戻す制御を実行する。これにより、分割部23Cは、未だ選択していない単純条件候補を使用単純条件候補として選択することになる。
 すべてが使用単純条件候補として選択されていると判定された場合(ステップS226YES)、条件生成制御部23Aは、第1保持部23Dに保持されている情報セットが存在するか否かを判定する(ステップS227)。保持されている情報セットが存在しないと判定された場合(ステップS227NO)、条件生成制御部23Aは、処理ステップをステップS218に戻す制御を実行する。
 保持されている情報セットが存在すると判定された場合(ステップS227YES)、条件生成制御部23Aは、第1保持部23Dに保持されている情報セットのうちで対応する第1統計値が最も小さい情報セットを選択する(ステップS228)。
 条件生成制御部23Aは、選択した情報セットの第1情報グループ及び第2情報グループを第1保持部23Dから受け取って第2保持部23Eに保持させる(ステップS229)。その後、条件生成制御部23Aは、第1保持部23Dに保持している情報セットのすべてを削除させる(ステップS229)。
 条件生成制御部23Aは、第2保持部23Eに保持させた第1情報グループ及び第2情報グループのそれぞれについて終了条件を満たしているか否かを判定する(ステップS230)。
 条件生成制御部23Aは、終了条件を満たしている情報グループにフラグを付す(ステップS230YES、ステップS231)。第1情報グループ及び第2情報グループのいずれも終了条件を満たしていないと判定された場合(ステップS230NO)、処理ステップは、ステップS216に進む。
 条件生成制御部23Aは、第2保持部23Eにフラグが付されていない情報グループが保持されているか否かを判定する(ステップS216)。
 条件生成制御部23Aは、第2保持部23Eに保持されている全ての情報グループに処理完了情報が付されている場合(ステップS216NO)、これら全ての情報グループを第2保持部23Eから取得して予測値生成部24に出力する(ステップS232)。なお、条件生成制御部23Aは、予測値生成部24に出力する各情報グループの条件集合を、条件集合に含まれる複数の単純条件をANDで繋いだ「複合条件」の形にしてもよい。
 図11は、条件生成処理の処理結果の説明に供する図である。図11において訓練用例を分割処理対象集合としたときに、単純条件「x>1」の否定条件「x≦1」によって終了条件を満たす部分集合B2が得られている。また、部分集合B1を分割処理対象集合としたときに、単純条件「x>5」によって終了条件を満たす部分集合C1が得られ、単純条件「x>5」の否定条件「x≦5」によって終了条件を満たす部分集合C2が得られている。このとき、条件生成制御部23Aは、図11に示す3つの情報グループを予測値生成部24に出力する。すなわち、その3つの情報グループは、部分集合「B2」及び複合条件「x≦1」の情報グループと、部分集合「C1」及び複合条件「x>1 AND x>5」の情報グループと、部分集合「C2」及び複合条件「x>1 AND x≦5」の情報グループとである。
 (予測値生成処理)
 図12は、第2実施形態における予測値生成処理の一例を示すフローチャートである。図12に示すフローチャートは、条件生成制御部23Aから出力された複数の情報グループのそれぞれについて実行される。すなわち、複数の情報グループのそれぞれが順番に「処理対象情報グループ」となる。
 乖離値算出部24Aは、処理対象情報グループの部分集合(処理対象部分集合)に含まれる実用例の目標値に関する第2統計値を算出する(ステップS301)。
 乖離値算出部24Aは、算出した第2統計値と処理対象部分集合に含まれる各人工用例の目標値とに基づいて、乖離値を算出する(ステップS302)。
 調整部24Bは、第1閾値以上である「乖離値」に対応する人工用例を処理対象部分集合から除去する(ステップS303)。これにより、調整後の処理対象部分集合が得られる。
 予測値算出部24Cは、調整後の処理対象部分集合に含まれるすべての用例の目標値に関する第3統計値を算出する(ステップS304)。この第3統計値は、調整後の処理対象部分集合の処理対象情報グループに対応するルールの予測値である。
 予測値算出部24Cは、処理対象情報グループの複合条件と算出した予測値とを1つのルールとして出力する(ステップS305)。このため、図12のフローを複数の情報グループについて繰り返すことにより、上記の「ルール群」が出力されることになる。
<第3実施形態>
 第3実施形態は、予測値の生成方法のバリエーションに関する。
 <ルール生成装置の構成例>
 図13は、第3実施形態におけるルール生成装置の一例を示すブロック図である。図13においてルール生成装置30は、取得部21と、ルール生成部31とを有している。なお、ルール生成装置30は、回帰問題及びクラス分類問題のいずれにも適用可能である。
 ルール生成部31は、条件生成部23と、予測値生成部32とを有している。予測値生成部32は、条件生成制御部23Aから出力された複数の情報グループに対応する複数のルールのそれぞれの予測値を生成する。
 例えば、予測値生成部32は、調整部32Aと、予測値算出部32Bとを有している。
 調整部32Aは、条件生成制御部23Aから出力された複数の情報グループから「処理対象情報グループ」を順次選択する。そして、調整部32Aは、処理対象情報グループの処理対象部分集合に含まれるすべての人工用例を処理対象部分集合から除去することにより、処理対象部分集合を調整する。
 予測値算出部32Bは、調整後の処理対象部分集合に含まれるすべての用例(つまり、実用例)の目標値に関する「第2統計値」を、調整後の処理対象部分集合の処理対象情報グループに対応するルールの「予測値」として、算出する。「第2統計値」は、例えば、平均であってもよいし、中央値であってもよい。このように調整後の処理対象部分集合に基づいてルールの「予測値」を算出することにより、より精度の良いルールの予測値を算出することができる。
 <ルール生成装置の動作例>
 以上の構成を有するルール生成装置20の処理動作の一例について説明する。
 (予測値生成処理)
 図14は、第3実施形態における予測値生成処理の一例を示すフローチャートである。図14に示すフローチャートは、条件生成制御部23Aから出力された複数の情報グループのそれぞれについて実行される。すなわち、複数の情報グループのそれぞれが順番に「処理対象情報グループ」となる。
 調整部32Aは、処理対象情報グループの処理対象部分集合に含まれるすべての人工用例を処理対象部分集合から除去する(ステップS401)。これにより、調整後の処理対象部分集合が得られる。
 予測値算出部32Bは、調整後の処理対象部分集合に含まれるすべての用例の目標値に関する「第2統計値」を算出する(ステップS402)。この第2統計値は、調整後の処理対象部分集合の処理対象情報グループに対応するルールの予測値である。
 予測値算出部32Bは、処理対象情報グループの複合条件と算出した予測値とを1つのルールとして出力する(ステップS403)。このため、図14のフローを複数の情報グループについて繰り返すことにより、上記の「ルール群」が出力されることになる。
 なお、以上の説明では、調整部32Aによる調整処理によって得られた調整後の処理対象部分集合を用いて予測値を算出したが、本実施形態はこれに限定されるものではない。例えば、予測値生成部32は調整部32Aを有していなくてもよい。要するに、予測値算出部32Bは、処理対象情報グループの処理対象部分集合に含まれる実用例の目標値に関する第2統計値を、処理対象部分集合の処理対象情報グループに対応するルールの予測値として算出できればよい。
<第4実施形態>
 第4実施形態は、条件生成方法のバリエーションに関する。第4実施形態では、第2実施形態と異なり、第2の制約を課さずに訓練用例を葉ノードまで分割し、実用例をN(Nは自然数)以上含んでいない葉ノードを削除する。以下では、N=1の場合を例にとり説明する。
 <ルール生成装置の構成例>
 図15は、第4実施形態におけるルール生成装置の一例を示すブロック図である。図15においてルール生成装置40は、取得部21と、ルール生成部41とを有している。なお、ルール生成装置40は、回帰問題及びクラス分類問題のいずれにも適用可能である。
 ルール生成部41は、条件生成部42と、予測値生成部43とを有している。
 例えば、条件生成部42は、条件生成制御部42Aと、単純条件候補生成部23Bと、分割部23Cと、第1保持部23Dと、第2保持部23Eとを有している。なお、ここでは、第1保持部23D及び第2保持部23Eが条件生成部42に含まれるものとして説明しているが、本実施形態はこれに限定されるものではない。例えば、第1保持部23D及び第2保持部23Eは、ルール生成装置40が備える記憶部(不図示)に含まれてもよい。
 条件生成制御部42Aは、第1保持部23Dに保持された複数の情報セットから、第1部分集合及び第2部分集合から算出される「第1統計値」が最も小さい情報セットを選択する。
 条件生成制御部42Aは、選択した情報セットの第1情報グループ及び第2情報グループを第1保持部23Dから受け取って第2保持部23Eに保持させ、その後、第1保持部23Dに保持している情報セットのすべてを削除させる。
 条件生成制御部42Aは、第2保持部23Eに保持させた第1情報グループ及び第2情報グループのそれぞれについて「終了条件」を満たしているか否かを判定して、終了条件を満たしている情報グループに「処理完了情報」を付す。
 条件生成制御部42Aは、第2保持部23Eに保持され且つ処理完了情報が付されていない情報グループを第2保持部23Eから取得して、2番目以降の分割処理対象集合として単純条件候補生成部23B及び分割部23Cに出力する。その後、条件生成制御部42Aは、取得した情報グループを第2保持部23Eに削除させる。
 条件生成制御部42Aは、第2保持部23Eに保持されている全ての情報グループに処理完了情報が付されている場合、第2保持部23Eに保持されている複数の情報グループから、実用例を含んでいない部分集合の情報グループを削除する。このように第4実施形態では、第2実施形態と異なり、第2の制約を課さずに訓練用例を葉ノードまで分割し、実用例を含んでいない葉ノードを削除している。このようにしても第1の制約を満たすルールを生成することができる。そして、条件生成制御部42Aは、第2保持部23Eに削除されずに残っている全ての情報グループを取得して予測値生成部43に出力する。
 予測値生成部43は、第2実施形態の予測値生成部24と同じ構成を有していてもよいし、第3実施形態の予測値生成部32と同じ構成を有していてもよい。
 <ルール生成装置の動作例>
 以上の構成を有するルール生成装置40の処理動作の一例について説明する。
 (条件生成処理)
 図16から図21は、第4実施形態における条件生成処理の一例を示すフローチャートである。
 ステップS501~S506の処理は、ステップS201~S206と同じである。
 条件生成制御部42Aは、第1保持部23Dに保持された情報セットの第1部分集合及び第2部分集合を用いて「第1統計値」を算出する(ステップS507)。
 条件生成制御部42Aは、ステップS504にて生成された複数の単純条件候補のすべてが使用単純条件候補として選択されたか否かを判定する(ステップS508)。複数の単純条件候補のすべてが使用単純条件候補として選択されていないと判定された場合(ステップS508NO)、条件生成制御部42Aは、処理ステップをステップS505に戻す制御を実行する。これにより、分割部23Cは、未だ選択していない単純条件候補を使用単純条件候補として選択することになる。
 すべてが使用単純条件候補として選択されていると判定された場合(ステップS508YES)、条件生成制御部42Aは、第1保持部23Dに保持されている情報セットのうちで対応する第1統計値が最も小さい情報セットを選択する(ステップS509)。
 条件生成制御部42Aは、選択した情報セットの第1情報グループ及び第2情報グループを第1保持部23Dから受け取って第2保持部23Eに保持させる(ステップS510)。その後、条件生成制御部23Aは、第1保持部23Dに保持している情報セットのすべてを削除させる(ステップS510)。
 条件生成制御部42Aは、第2保持部23Eに保持させた第1情報グループ及び第2情報グループのそれぞれについて終了条件を満たしているか否かを判定する(ステップS511)。
 条件生成制御部42Aは、終了条件を満たしている情報グループにフラグを付す(ステップS511YES、ステップS512)。第1情報グループ及び第2情報グループのいずれも終了条件を満たしていないと判定された場合(ステップS511NO)、処理ステップは、ステップS513に進む。
 条件生成制御部42Aは、第2保持部23Eにフラグが付されていない情報グループが保持されているか否かを判定する(ステップS513)。
 第2保持部23Eにフラグが付されていない情報グループが保持されている場合(ステップS513YES)、条件生成制御部42Aは、第2保持部23Eからフラグが付されていない情報グループを1つ取得して、単純条件候補生成部23B及び分割部23Cに出力する(ステップS514)。その後、条件生成制御部42Aは、取得した情報グループを第2保持部23Eに削除させる(ステップS514)。単純条件候補生成部23B及び分割部23Cへ出力された情報グループの部分集合は、2番目以降の分割処理対象集合である。
 ステップS515~S519の処理は、ステップS218~S222と同じである。
 条件生成制御部42Aは、第1保持部23Dに保持された情報セットの第1部分集合及び第2部分集合を用いて「第1統計値」を算出する(ステップS520)。
 条件生成制御部42Aは、ステップS517にて生成された複数の単純条件候補のすべてが使用単純条件候補として選択されたか否かを判定する(ステップS521)。複数の単純条件候補のすべてが使用単純条件候補として選択されていないと判定された場合(ステップS512NO)、条件生成制御部42Aは、処理ステップをステップS518に戻す制御を実行する。これにより、分割部23Cは、未だ選択していない単純条件候補を使用単純条件候補として選択することになる。
 すべてが使用単純条件候補として選択されていると判定された場合(ステップS521YES)、条件生成制御部42Aは、第1保持部23Dに保持されている情報セットのうちで対応する第1統計値が最も小さい情報セットを選択する(ステップS522)。
 条件生成制御部42Aは、選択した情報セットの第1情報グループ及び第2情報グループを第1保持部23Dから受け取って第2保持部23Eに保持させる(ステップS523)。その後、条件生成制御部23Aは、第1保持部23Dに保持している情報セットのすべてを削除させる(ステップS523)。
 条件生成制御部42Aは、第2保持部23Eに保持させた第1情報グループ及び第2情報グループのそれぞれについて終了条件を満たしているか否かを判定する(ステップS524)。
 条件生成制御部42Aは、終了条件を満たしている情報グループにフラグを付す(ステップS524YES、ステップS525)。第1情報グループ及び第2情報グループのいずれも終了条件を満たしていないと判定された場合(ステップS524NO)、処理ステップは、ステップS513に進む。
 条件生成制御部42Aは、第2保持部23Eにフラグが付されていない情報グループが保持されているか否かを判定する(ステップS513)。
 第2保持部23Eに保持されているすべての情報グループにフラグが付されていると判定された場合(ステップS513YES)、条件生成制御部42Aは、第2保持部23Eに保持されている複数の情報グループから、実用例を含んでいない部分集合の情報グループを削除する(ステップS526)。
 条件生成制御部42Aは、第2保持部23Eに保持されている情報グループが存在するか否かを判定する(ステップS527)。第2保持部23Eに保持されている情報グループが存在しない場合(ステップS527NO)、処理ステップは、ステップS502に戻る。
 第2保持部23Eに保持されている情報グループが存在する場合(ステップS527YES)、条件生成制御部42Aは、第2保持部23Eに保持されている全ての情報グループを取得して予測値生成部43に出力する(ステップS528)。なお、条件生成制御部42Aは、予測値生成部43に出力する各情報グループの条件集合を、条件集合に含まれる複数の単純条件をANDで繋いだ「複合条件」の形にしてもよい。
<他の実施形態>
 <1>第1実施形態から第4実施形態では主に回帰が適用された場合を説明した。クラス分類の場合には、ルールの予測値としてクラスへの出現確率を計算すればよい。決定木を利用する場合、葉ノードに含まれる実用例が属するクラスの出現確率の高いクラスを、ルールの予測値としてもよい。
 <2>図22は、ルール生成装置のハードウェア構成例を示す図である。図22においてルール生成装置100は、プロセッサ101と、メモリ102とを有している。プロセッサ101は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ101は、複数のプロセッサを含んでもよい。メモリ102は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ102は、プロセッサ101から離れて配置されたストレージを含んでもよい。この場合、プロセッサ101は、図示されていないI/Oインタフェースを介してメモリ102にアクセスしてもよい。
 第1実施形態から第4実施形態のルール生成装置10,20,30,40は、それぞれ、図22に示したハードウェア構成を有することができる。第1実施形態から第4実施形態のルール生成装置10,20,30,40の取得部11,21と、ルール生成部12,22,31,41とは、プロセッサ101がメモリ102に記憶されたプログラムを読み込んで実行することにより実現されてもよい。上記の記憶部(不図示)は、メモリ102によって実現されてもよい。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、ルール生成装置10,20,30,40に供給することができる。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、非一時的なコンピュータ可読媒体の例は、CD-ROM(Read Only Memory)、CD-R、CD-R/Wを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってルール生成装置10,20,30,40に供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをルール生成装置10,20,30,40に供給できる。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 複数の用例を含む訓練用例を取得する手段であって、前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例である、取得手段と、
 前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成する手段であって、前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含む、ルール生成手段と、
 を具備し、
 前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む、
 ルール生成装置。
(付記2)
 前記ルール生成手段は、
 前記各ルールの条件を生成する条件生成手段と、
 前記各ルールの予測値を生成する予測値生成手段と、
 を具備する、
 付記1記載のルール生成装置。
(付記3)
 前記条件生成手段は、
 親ノードを複数の子ノードに分割するための単純条件を第2の制約に従って決定する手段であって、前記第2の制約は、各子ノードがN(Nは自然数)個以上の実用例を含むという制約を含む、条件生成制御手段を具備する、
 付記2記載のルール生成装置。
(付記4)
 前記条件生成手段は、
 条件生成制御手段と、
 分割処理対象集合に含まれる用例の複数の前記特徴パラメータにそれぞれ対応する複数の説明変数のうちの1つを選択し、前記選択した説明変数を用いて複数の閾値を生成することにより前記選択した説明変数についての複数の単純条件候補を生成する単純条件候補生成手段と、
 前記生成された複数の単純条件候補から1つの単純条件候補を処理に使用する使用単純条件候補として順次選択し、前記使用単純条件候補に基づいて前記分割処理対象集合に含まれる複数の用例を分けることによって第1部分集合及び第2部分集合を形成し、前記第1部分集合に前記使用単純条件候補を条件集合として対応づけた第1情報グループと、前記第2部分集合に前記使用単純条件候補の否定条件を条件集合として対応づけた第2情報グループとを含む情報セットを、各単純条件候補について出力して第1保持手段に記憶させる分割手段と、
 をさらに具備し、
 最初の前記分割処理対象集合は、前記訓練用例であり、
 前記条件生成制御手段は、
 前記記憶されている複数の情報セットから、前記第1部分集合及び前記第2部分集合のそれぞれが第2の制約を満たし、且つ、前記第1部分集合及び前記第2部分集合から算出される第1統計値が最も小さい、情報セットを選択すること、
 前記選択した情報セットの前記第1情報グループ及び前記第2情報グループを第2保持手段に保持させた後に、前記記憶されている情報セットを前記第1保持手段に削除させること、
 前記保持させた第1情報グループ及び第2情報グループのそれぞれについて終了条件を満たしているか否かを判定して前記終了条件を満たしている情報グループに処理完了情報を付すこと、並びに、
 2番目以降の前記分割処理対象集合として、前記第2保持手段に保持され且つ前記処理完了情報が付されていない情報グループを前記第2保持手段から取得して前記単純条件候補生成手段に出力すること、を実行し、
 前記第2の制約は、前記第1部分集合及び前記第2部分集合のそれぞれがN(Nは自然数)個以上の実用例を含むという制約を含む、
 付記2記載のルール生成装置。
(付記5)
 前記条件生成制御手段は、前記第2保持手段に保持されている全ての情報グループに前記処理完了情報が付されている場合、前記全ての情報グループを前記第2保持手段から取得して出力する、
 付記4記載のルール生成装置。
(付記6)
 前記条件生成手段は、
 条件生成制御手段と、
 分割処理対象集合に含まれる用例の複数の前記特徴パラメータにそれぞれ対応する複数の説明変数のうちの1つを選択し、前記選択した説明変数を用いて複数の閾値を生成することにより前記選択した説明変数についての複数の単純条件候補を生成する単純条件候補生成手段と、
 前記生成された複数の単純条件候補から1つの単純条件候補を処理に使用する使用単純条件候補として順次選択し、前記使用単純条件候補に基づいて前記分割処理対象集合に含まれる複数の用例を分けることによって第1部分集合及び第2部分集合を形成し、前記第1部分集合に前記使用単純条件候補を条件集合として対応づけた第1情報グループと、前記第2部分集合に前記使用単純条件候補の否定条件を条件集合として対応づけた第2情報グループとを含む情報セットを、各単純条件候補について出力して第1保持手段に記憶させる分割手段と、
 をさらに具備し、
 最初の前記分割処理対象集合は、前記訓練用例であり、
 前記条件生成制御手段は、
 前記記憶されている複数の情報セットから、前記第1部分集合及び前記第2部分集合から算出される第1統計値が最も小さい、情報セットを選択すること、
 前記選択した情報セットの前記第1情報グループ及び前記第2情報グループを第2保持手段に保持させた後に、前記記憶されている情報セットを前記第1保持手段に削除させること、
 前記保持させた第1情報グループ及び第2情報グループのそれぞれについて終了条件を満たしているか否かを判定して前記終了条件を満たしている情報グループに処理完了情報を付すこと、
 2番目以降の前記分割処理対象集合として、前記第2保持手段に保持され且つ前記処理完了情報が付されていない情報グループを前記第2保持手段から取得して前記単純条件候補生成手段に出力すること、
 前記第2保持手段に保持されている全ての情報グループに前記処理完了情報が付されている場合、前記第2保持手段に保持されている複数の情報グループから、実用例をN(Nは自然数)以上含んでいない部分集合の情報グループを削除すること、並びに、
 前記第2保持手段に削除されずに残っている全ての情報グループを取得して出力すること、を実行する、
 付記2記載のルール生成装置。
(付記7)
 前記予測値生成手段は、
 前記条件生成制御手段から出力された複数の情報グループから処理対象情報グループを順次選択し、前記処理対象情報グループの処理対象部分集合に含まれる実用例の目標値に関する第2統計値と前記処理対象部分集合に含まれる各人工用例の目標値とに基づいて乖離値を算出する乖離値算出手段と、
 第1閾値以上である前記算出された乖離値に対応する人工用例を前記処理対象部分集合から除去して前記処理対象部分集合を調整する調整手段と、
 前記調整後の処理対象部分集合に含まれるすべての用例の目標値に関する第3統計値を、前記調整後の処理対象部分集合の処理対象情報グループに対応するルールの予測値として算出する予測値算出手段と、
 を具備する、
 付記5又は6に記載のルール生成装置。
(付記8)
 前記予測値生成手段は、
 前記条件生成制御手段から出力された複数の情報グループから処理対象情報グループを順次選択し、前記処理対象情報グループの処理対象部分集合に含まれる実用例の目標値に関する第2統計値を、前記処理対象部分集合の処理対象情報グループに対応するルールの予測値として算出する予測値算出手段を具備する、
 付記5又は6に記載のルール生成装置。
(付記9)
 前記ルールベースモデルは、決定木又は決定リストである、
 付記1から8のいずれか1項に記載のルール生成装置。
(付記10)
 ルール生成方法であって、
 複数の用例を含む訓練用例を取得することを含み、前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例であり、
 前記ルール生成方法は、
 前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成することをさらに含み、
 前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含み、
 前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む、
 ルール生成方法。
(付記11)
 複数の用例を含む訓練用例を取得することを含む処理を、ルール生成装置に実行させ、
 前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、
 前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例であり、
 前記処理は、前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成することをさらに含み、
 前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含み、
 前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む、
 制御プログラムが格納された非一時的なコンピュータ可読媒体。
 10 ルール生成装置
 11 取得部
 12 ルール生成部
 20 ルール生成装置
 21 取得部
 22 ルール生成部
 23 条件生成部
 23A 条件生成制御部
 23B 単純条件候補生成部
 23C 分割部
 23D 第1保持部
 23E 第2保持部
 24 予測値生成部
 24A 乖離値算出部
 24B 調整部
 24C 予測値算出部
 30 ルール生成装置
 31 ルール生成部
 32 予測値生成部
 32A 調整部
 32B 予測値算出部
 40 ルール生成装置
 41 ルール生成部
 42 条件生成部
 42A 条件生成制御部
 43 予測値生成部

Claims (11)

  1.  複数の用例を含む訓練用例を取得する手段であって、前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例である、取得手段と、
     前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成する手段であって、前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含む、ルール生成手段と、
     を具備し、
     前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む、
     ルール生成装置。
  2.  前記ルール生成手段は、
     前記各ルールの条件を生成する条件生成手段と、
     前記各ルールの予測値を生成する予測値生成手段と、
     を具備する、
     請求項1記載のルール生成装置。
  3.  前記条件生成手段は、
     親ノードを複数の子ノードに分割するための単純条件を第2の制約に従って決定する手段であって、前記第2の制約は、各子ノードがN(Nは自然数)個以上の実用例を含むという制約を含む、条件生成制御手段を具備する、
     請求項2記載のルール生成装置。
  4.  前記条件生成手段は、
     条件生成制御手段と、
     分割処理対象集合に含まれる用例の複数の前記特徴パラメータにそれぞれ対応する複数の説明変数のうちの1つを選択し、前記選択した説明変数を用いて複数の閾値を生成することにより前記選択した説明変数についての複数の単純条件候補を生成する単純条件候補生成手段と、
     前記生成された複数の単純条件候補から1つの単純条件候補を処理に使用する使用単純条件候補として順次選択し、前記使用単純条件候補に基づいて前記分割処理対象集合に含まれる複数の用例を分けることによって第1部分集合及び第2部分集合を形成し、前記第1部分集合に前記使用単純条件候補を条件集合として対応づけた第1情報グループと、前記第2部分集合に前記使用単純条件候補の否定条件を条件集合として対応づけた第2情報グループとを含む情報セットを、各単純条件候補について出力して第1保持手段に記憶させる分割手段と、
     をさらに具備し、
     最初の前記分割処理対象集合は、前記訓練用例であり、
     前記条件生成制御手段は、
     前記記憶されている複数の情報セットから、前記第1部分集合及び前記第2部分集合のそれぞれが第2の制約を満たし、且つ、前記第1部分集合及び前記第2部分集合から算出される第1統計値が最も小さい、情報セットを選択すること、
     前記選択した情報セットの前記第1情報グループ及び前記第2情報グループを第2保持手段に保持させた後に、前記記憶されている情報セットを前記第1保持手段に削除させること、
     前記保持させた第1情報グループ及び第2情報グループのそれぞれについて終了条件を満たしているか否かを判定して前記終了条件を満たしている情報グループに処理完了情報を付すこと、並びに、
     2番目以降の前記分割処理対象集合として、前記第2保持手段に保持され且つ前記処理完了情報が付されていない情報グループを前記第2保持手段から取得して前記単純条件候補生成手段に出力すること、を実行し、
     前記第2の制約は、前記第1部分集合及び前記第2部分集合のそれぞれがN(Nは自然数)個以上の実用例を含むという制約を含む、
     請求項2記載のルール生成装置。
  5.  前記条件生成制御手段は、前記第2保持手段に保持されている全ての情報グループに前記処理完了情報が付されている場合、前記全ての情報グループを前記第2保持手段から取得して出力する、
     請求項4記載のルール生成装置。
  6.  前記条件生成手段は、
     条件生成制御手段と、
     分割処理対象集合に含まれる用例の複数の前記特徴パラメータにそれぞれ対応する複数の説明変数のうちの1つを選択し、前記選択した説明変数を用いて複数の閾値を生成することにより前記選択した説明変数についての複数の単純条件候補を生成する単純条件候補生成手段と、
     前記生成された複数の単純条件候補から1つの単純条件候補を処理に使用する使用単純条件候補として順次選択し、前記使用単純条件候補に基づいて前記分割処理対象集合に含まれる複数の用例を分けることによって第1部分集合及び第2部分集合を形成し、前記第1部分集合に前記使用単純条件候補を条件集合として対応づけた第1情報グループと、前記第2部分集合に前記使用単純条件候補の否定条件を条件集合として対応づけた第2情報グループとを含む情報セットを、各単純条件候補について出力して第1保持手段に記憶させる分割手段と、
     をさらに具備し、
     最初の前記分割処理対象集合は、前記訓練用例であり、
     前記条件生成制御手段は、
     前記記憶されている複数の情報セットから、前記第1部分集合及び前記第2部分集合から算出される第1統計値が最も小さい、情報セットを選択すること、
     前記選択した情報セットの前記第1情報グループ及び前記第2情報グループを第2保持手段に保持させた後に、前記記憶されている情報セットを前記第1保持手段に削除させること、
     前記保持させた第1情報グループ及び第2情報グループのそれぞれについて終了条件を満たしているか否かを判定して前記終了条件を満たしている情報グループに処理完了情報を付すこと、
     2番目以降の前記分割処理対象集合として、前記第2保持手段に保持され且つ前記処理完了情報が付されていない情報グループを前記第2保持手段から取得して前記単純条件候補生成手段に出力すること、
     前記第2保持手段に保持されている全ての情報グループに前記処理完了情報が付されている場合、前記第2保持手段に保持されている複数の情報グループから、実用例をN(Nは自然数)以上含んでいない部分集合の情報グループを削除すること、並びに、
     前記第2保持手段に削除されずに残っている全ての情報グループを取得して出力すること、を実行する、
     請求項2記載のルール生成装置。
  7.  前記予測値生成手段は、
     前記条件生成制御手段から出力された複数の情報グループから処理対象情報グループを順次選択し、前記処理対象情報グループの処理対象部分集合に含まれる実用例の目標値に関する第2統計値と前記処理対象部分集合に含まれる各人工用例の目標値とに基づいて乖離値を算出する乖離値算出手段と、
     第1閾値以上である前記算出された乖離値に対応する人工用例を前記処理対象部分集合から除去して前記処理対象部分集合を調整する調整手段と、
     前記調整後の処理対象部分集合に含まれるすべての用例の目標値に関する第3統計値を、前記調整後の処理対象部分集合の処理対象情報グループに対応するルールの予測値として算出する予測値算出手段と、
     を具備する、
     請求項5又は6に記載のルール生成装置。
  8.  前記予測値生成手段は、
     前記条件生成制御手段から出力された複数の情報グループから処理対象情報グループを順次選択し、前記処理対象情報グループの処理対象部分集合に含まれる実用例の目標値に関する第2統計値を、前記処理対象部分集合の処理対象情報グループに対応するルールの予測値として算出する予測値算出手段を具備する、
     請求項5又は6に記載のルール生成装置。
  9.  前記ルールベースモデルは、決定木又は決定リストである、
     請求項1から8のいずれか1項に記載のルール生成装置。
  10.  ルール生成方法であって、
     複数の用例を含む訓練用例を取得することを含み、前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例であり、
     前記ルール生成方法は、
     前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成することをさらに含み、
     前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含み、
     前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む、
     ルール生成方法。
  11.  複数の用例を含む訓練用例を取得することを含む処理を、ルール生成装置に実行させ、
     前記複数の用例は、少なくとも1つの実用例及び少なくとも1つの人工用例を含み、
     前記実用例及び前記人工用例のそれぞれは、それぞれ異なる特徴パラメータに対応する1つ以上の特徴量をベクトル要素とする特徴量ベクトルと目標値とを含み、各実用例に含まれる特徴量及び目標値は実測値である一方、各人工用例は、前記実用例に基づいて形成された用例であり、
     前記処理は、前記訓練用例を前記目標値に関する複数のクラスタに分けるためのルール群を、ルールベースモデルを用いて且つ第1の制約を満たすように生成することをさらに含み、
     前記ルール群の各ルールは、前記特徴パラメータに関する1つ以上の単純条件を含む条件集合から得られる条件と前記目標値に関する予測値とを含み、
     前記第1の制約は、各クラスタがN(Nは自然数)個以上の実用例を含むという制約を含む、
     制御プログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2020/031387 2020-08-20 2020-08-20 ルール生成装置、ルール生成方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体 WO2022038729A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/019,912 US20230214717A1 (en) 2020-08-20 2020-08-20 Rule generation apparatus, rule generation method, and non-transitory computer readable medium storing control program
JP2022543208A JP7424497B2 (ja) 2020-08-20 2020-08-20 ルール生成装置、ルール生成方法、及び制御プログラム
PCT/JP2020/031387 WO2022038729A1 (ja) 2020-08-20 2020-08-20 ルール生成装置、ルール生成方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/031387 WO2022038729A1 (ja) 2020-08-20 2020-08-20 ルール生成装置、ルール生成方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2022038729A1 true WO2022038729A1 (ja) 2022-02-24

Family

ID=80323485

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/031387 WO2022038729A1 (ja) 2020-08-20 2020-08-20 ルール生成装置、ルール生成方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体

Country Status (3)

Country Link
US (1) US20230214717A1 (ja)
JP (1) JP7424497B2 (ja)
WO (1) WO2022038729A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114897595A (zh) * 2022-04-11 2022-08-12 深圳无域科技技术有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053491A (ja) * 2017-09-14 2019-04-04 株式会社東芝 ニューラルネットワーク評価装置、ニューラルネットワーク評価方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053491A (ja) * 2017-09-14 2019-04-04 株式会社東芝 ニューラルネットワーク評価装置、ニューラルネットワーク評価方法、およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114897595A (zh) * 2022-04-11 2022-08-12 深圳无域科技技术有限公司 一种数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20230214717A1 (en) 2023-07-06
JP7424497B2 (ja) 2024-01-30
JPWO2022038729A1 (ja) 2022-02-24

Similar Documents

Publication Publication Date Title
TWI769754B (zh) 基於隱私保護確定目標業務模型的方法及裝置
Hajjem et al. Mixed effects regression trees for clustered data
do Nascimento et al. A semiparametric Bayesian approach to extreme value estimation
Chen et al. Predicting US‐and state‐level cancer counts for the current calendar year: Part I: evaluation of temporal projection methods for mortality
Kegel et al. Feature-based comparison and generation of time series
CN111316296B (zh) 学习层级提取模型的结构
JP6645043B2 (ja) 誤差幅推定装置、誤差幅推定システム、誤差幅推定方法及びプログラム
CN110019779B (zh) 一种文本分类方法、模型训练方法及装置
WO2022038729A1 (ja) ルール生成装置、ルール生成方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体
Wang et al. Feature selection for probabilistic load forecasting via sparse penalized quantile regression
JP7093292B2 (ja) 対話セッションテキストをセグメンテーションするシステム及び方法
CN117313160A (zh) 一种隐私增强的结构化数据仿真生成方法及系统
Solheim et al. Modelling transmission line failures due to lightning using reanalysis data and a Bayesian updating scheme
Grigoras et al. Energy losses estimation in electrical distribution networks with a decision trees-based algorithm
Engström et al. A componentwise pagerank algorithm
Yang et al. MuSP: A multistep screening procedure for sparse recovery
JPWO2018235841A1 (ja) グラフ構造解析装置、グラフ構造解析方法、及びプログラム
Alamgir et al. Split sample bootstrap method
CN113590720A (zh) 数据分类方法、装置、计算机设备和存储介质
CN112783747A (zh) 一种应用程序的执行时间预测方法及装置
Benáček et al. Postprocessing of Ensemble Weather Forecast Using Decision Tree–Based Probabilistic Forecasting Methods
Sun et al. Association analysis and prediction for IPTV service data and user's QoE
Grama et al. Estimation of extreme survival probabilities with cox model
Lopes The convergence rate of majority vote under exchangeability
Li et al. Convergence Rate Analysis for Optimal Computing Budget Allocation Algorithms

Legal Events

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

Ref document number: 20950294

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022543208

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20950294

Country of ref document: EP

Kind code of ref document: A1