Machine learning programs, machine learning methods, and machine learning devices

By dynamically adjusting the discretization interval and selecting important data item combinations in machine learning, the problem of insufficient model accuracy in existing technologies is solved, achieving higher model accuracy and learning efficiency.

CN114556380BActive Publication Date: 2026-01-30FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201980101036.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-10-17
Publication Date
2026-01-30
Estimated Expiration
2039-10-17

AI Technical Summary

Technical Problem

Existing machine learning techniques have failed to effectively improve model accuracy in the discretization of training data, especially in combinations of multiple explanatory variables, where it is difficult to determine appropriate split points and combinations, leading to overlearning and insufficient accuracy of the model.

Method used

By discretizing the training data and dynamically determining the discretization interval using an entropy-based method, the model selects important data item combinations based on the learning process results, adjusts the discretization benchmark, reduces over-segmentation of data item values, and improves the accuracy and versatility of the model.

Benefits of technology

By dynamically adjusting the discretization benchmark, data item values ​​can be classified more appropriately, reducing overlearning, improving model accuracy and learning processing efficiency, reducing computational load, and reducing the risk of missing important data items.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114556380B_ABST
    Figure CN114556380B_ABST
Patent Text Reader

Abstract

This invention relates to machine learning programs, machine learning methods, and machine learning apparatuses. Training data is discretized to improve model accuracy. For multiple training data sets that associate label information with combinations of data item values, the data item value for each data item is converted into a discretized data value based on a predetermined benchmark. A learning process is performed using the converted training data sets to learn a model that uses the discretized data values ​​as input to make judgments about the label information. From the results of the learning process, multiple feature information showing combinations of two or more data items used for judgment, and index values ​​showing the importance of each feature information, are obtained. One or more feature information is selected based on the index values, and the benchmark used for discretizing the data item values ​​is changed based on the selected feature information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to machine learning programs, machine learning methods, and machine learning devices. Background Technology

[0002] Machine learning is a form of large-scale data analysis that utilizes computers. In machine learning, multiple samples representing known events are input into a computer. The computer analyzes these samples and learns a model that generalizes the relationship between important factors (often called explanatory or independent variables) and outcomes (often called target or dependent variables). By using the learned model, it is possible to predict the outcomes of unknown events.

[0003] There are instances where preprocessing of training data is performed before machine learning to improve model accuracy. One such preprocessing step is "discretization," which reduces the number of possible values ​​for a descriptive variable. Discretization transforms a descriptive variable with a large number of possible "continuous values" into a descriptive variable with fewer possible "discrete values." For example, discretization might divide the range of continuous values ​​into multiple intervals and assign discrete values ​​corresponding to the intervals to which the continuous values ​​belong.

[0004] This paper proposes an entropy-based discretization method that dynamically determines the multiple intervals used to discretize a given explanatory variable, taking into account the correspondence between the values ​​of the explanatory variable and the target variable. In entropy-based discretization, intervals with densely packed samples having the same target variable value are detected from the distribution of the explanatory variable values ​​in the training data. By considering the distribution of the target variable values ​​in the discretization of the explanatory variable, the accuracy of the model is expected to improve.

[0005] Non-patent document 1: Usama M.Fayyad and Keki B.Irani, "Multi-IntervalDiscretization of Continuous-Valued Attributes for Classification Learning", Proc.of the 13th International Joint Conference on Artificial Intelligence (IJCAI-93), pp.1022-1027, 1993-08-28.

[0006] In previous discretization techniques for training data, discretization was performed on a pertaining variable basis, and the discretization method used to discretize one pertaining variable was determined independently of the discretization methods used to discretize other pertaining variables. For example, the method for dividing the range of continuous values ​​of one pertaining variable was determined independently of the method for dividing the range of continuous values ​​of other pertaining variables.

[0007] Therefore, from the perspective of improving model accuracy, there is room for improvement in discretization as a preprocessing step for training data. For example, when studying the distribution of the target variable's value among combinations of two or more explanatory variables, there are cases where appropriate split points can be set for each of these explanatory variables. The question then becomes: from the various explanatory variables included in the training data, which combinations of explanatory variables should be discretized? Summary of the Invention

[0008] In one aspect, the object of the present invention is to provide a machine learning program, machine learning method, and machine learning apparatus for discretizing training data in order to improve model accuracy.

[0009] In one approach, a machine learning program is provided that enables a computer to perform the following processes: For multiple training data sets, each of which associates label information with combinations of data item values, the data item value for each data item is converted into a discretized data value based on a specified benchmark. A learning process is performed using the converted training data sets, which learns a model that uses the discretized data values ​​of multiple data items as input to make judgments about the label information. Different feature information and indicator values ​​are obtained from the results of the learning process, whereby the different feature information represents combinations of two or more data items used for judgment, and the indicator values ​​represent the importance of each of the multiple feature information sets. One or more feature information sets are selected based on the indicator values, and the benchmark used for discretizing the data item values ​​is modified based on the selected feature information.

[0010] In another embodiment, a machine learning method executed by a computer is provided. In yet another embodiment, a machine learning apparatus having a storage unit and a processing unit is provided.

[0011] In one aspect, the training data is discretized to improve model accuracy.

[0012] The above and other objects, features and advantages of the present invention become clear from the following description in conjunction with the accompanying drawings, which illustrate preferred embodiments as examples of the present invention. Attached Figure Description

[0013] Figure 1 This is a diagram illustrating an example of the machine learning device according to the first embodiment.

[0014] Figure 2 This is a diagram illustrating a hardware example of a machine learning apparatus according to the second embodiment.

[0015] Figure 3 This is a diagram showing an example of a training data table.

[0016] Figure 4 This is a diagram showing an example of a preprocessed training data table.

[0017] Figure 5 This is a diagram illustrating an example of Wide Learning.

[0018] Figure 6 This is a diagram illustrating an example of entropy-based discretization.

[0019] Figure 7 This is a graph illustrating the relationship between sample distribution and discretization.

[0020] Figure 8 This is a diagram illustrating an example of the selection of groups of explanatory variables used for discretization.

[0021] Figure 9 This is a diagram showing a discretization example of multiple explanatory variables.

[0022] Figure 10 This is a diagram showing an example of discretization of multiple explanatory variables (continued).

[0023] Figure 11 This is a block diagram illustrating a functional example of a machine learning device.

[0024] Figure 12 This is a flowchart illustrating an example of the machine learning process.

[0025] Figure 13 This is a flowchart illustrating an example of the univariate discretization process.

[0026] Figure 14 This is a flowchart illustrating an example of the Wide Learning process.

[0027] Figure 15 This is a flowchart illustrating an example of the variable selection process.

[0028] Figure 16 This is a flowchart illustrating other process examples for variable selection.

[0029] Figure 17 This is a graph showing the results of the effect verification.

[0030] Figure 18This is a flowchart illustrating an example of the multivariate discretization process. Detailed Implementation

[0031] Hereinafter, this embodiment will be described with reference to the accompanying drawings.

[0032] [First Implementation Method]

[0033] The first embodiment will be described.

[0034] Figure 1 This is a diagram illustrating an example of the machine learning device according to the first embodiment.

[0035] The machine learning apparatus 10 of the first embodiment preprocesses the learning data, uses the preprocessed learning data to perform machine learning, and learns a model for predicting unknown results. The machine learning apparatus 10 can also be a client device or a server device. The machine learning apparatus 10 can also be referred to as a computer or an information processing device.

[0036] The machine learning device 10 includes a storage unit 11 and a processing unit 12. The storage unit 11 can be a volatile semiconductor memory such as RAM (Random Access Memory), or a non-volatile memory such as HDD (Hard Disk Drive) or flash memory. The processing unit 12 is, for example, a processor such as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), or DSP (Digital Signal Processor). However, the processing unit 12 may also include application-specific integrated circuits such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). The processor executes a program stored in memory such as RAM (or the storage unit 11). There are also cases where a collection of multiple processors is referred to as a "multiprocessor" or simply a "processor."

[0037] Storage unit 11 stores a learning data set 13 containing multiple learning data prior to preprocessing. Each learning data point can be referred to as a record or sample, and the learning data set 13 can be referred to as training data. The multiple learning data points are data that establishes associations between the label information 13c and the values ​​of multiple data items such as data items 13a and 13b. The multiple data items can be referred to as explanatory variables or features, and the label information 13c can be referred to as the target variable or teacher label. At least a portion of the multiple data items takes "continuous values." "Continuous values" are data item values ​​of data items with a large number of possible values, such as integers or real numbers. The label information 13c is, for example, binary classification information that can be specified as yes or no.

[0038] The processing unit 12 preprocesses the learning data set 13 to generate a learning data set 14 containing multiple preprocessed learning data. The learning data set 14 can also be referred to as the preprocessed training data. "Discretization" is performed during the conversion from the learning data set 13 to the learning data set 14. In discretization, the processing unit 12 converts the original data item value, which is a "continuous value," into a discretized data value, which is a "discrete value," for each data item based on a predetermined benchmark. A "discrete value" is a value for which the number of possible values ​​is reduced compared to before discretization.

[0039] As a predetermined benchmark, the processing unit 12 categorizes the original data item values ​​into at least a few categories and converts them into discretized data values ​​that indicate the category to which the original data item values ​​belong. For example, the processing unit 12 divides the possible numerical ranges of the original data item values ​​into multiple intervals and converts them into discretized data values ​​that indicate the intervals to which the original data item values ​​belong. For example, consider dividing the numerical ranges as interval 1 (less than 20), interval 2 (more than 20 but less than 50), and interval 3 (more than 50). The method of dividing the numerical range and the classification method of the data item values ​​become the "benchmark" for discretization. As described later, the processing unit 12 can adjust the benchmark for discretization.

[0040] The processing unit 12 uses the pre-processed learning dataset 14 to perform learning processing on the learning model 15. Model 15 is a model that takes the discretized data values ​​of multiple data items as input and makes a judgment about label information 13c. Various algorithms can be used as the machine learning algorithm for learning model 15. For example, model 15 includes multiple judgment rules that predict the value of label information 13c based on a combination of discretized data values ​​of a subset of data items included in the learning dataset 14. For example, a judgment rule could be that if data item 13a is "3" and data item 13b is "2", the label information 13c is predicted as "yes". Additionally, model 15 includes, for example, index values ​​indicating the importance of each of the multiple judgment rules.

[0041] Based on the execution results of the aforementioned learning process, the processing unit 12 obtains a feature information set 16 containing multiple feature information and an indicator value set 17 containing multiple indicator values. The multiple feature information pieces respectively represent combinations of two or more data items used for determining label information 13c from multiple data items included in the learning data set 14. The multiple feature information pieces included in the feature information set 16 represent different combinations of data items. For example, a combination of data items represented by one feature information piece is a combination of data items used in the condition of discretized data values ​​specified by a decision rule included in model 15. For example, if a decision rule specifies the condition that data item 13a is "3" and data item 13b is "2", feature information showing the combination of data item 13a and data item 13b is generated. Multiple indicator values ​​correspond to multiple feature information pieces, indicating the importance of each feature information piece. For example, as indicator values, indicator values ​​corresponding to a decision rule established in model 15 are used.

[0042] The processing unit 12 selects one or more feature information from a plurality of feature information contained in the feature information set 16 based on the indicator values ​​included in the indicator value set 17. For example, the processing unit 12 preferentially selects feature information corresponding to indicator values ​​that indicate higher importance. However, the processing unit 12 may also select feature information such that the same data item does not appear more than a predetermined number of times in the selected feature information. For example, the processing unit 12 selects one or more feature information from the feature information set 16 such that the same data item appears at most once.

[0043] The processing unit 12 modifies the discretization benchmark used for preprocessing based on one or more selected feature information. For example, the processing unit 12 changes the segmentation method for the numerical range of possible data item values, or changes the classification method for the data item values. By changing the discretization benchmark, the learning dataset 13 is transformed into a different learning dataset 14 through preprocessing. For example, the processing unit 12 re-executes the learning process using the new pre-processed learning dataset to learn a new model. The processing unit 12 can also output the re-learned model as a machine learning result. Furthermore, the processing unit 12 can repeat the modification of the discretization benchmark and the re-execution of the learning process multiple times.

[0044] Here, the processing unit 12 considers the combination of two or more data items shown by the selected feature information to change the discretization benchmark. For example, the processing unit 12 calculates the distribution of label information 13c in the multidimensional space shown by the combination of two or more data items. The processing unit 12 detects relatively dense regions of learning data with the same value of label information 13c from the multidimensional space, and adjusts the discretization benchmark of each of the two or more data items so that the boundaries of the detected regions become clear. By combining two or more data items and discretizing them, it is expected that the classification method of data item values ​​becomes more appropriate compared to the case of discretizing on a data item-by-data item basis. In addition, the initial discretization can also be performed on a data item-by-data item basis.

[0045] According to the machine learning apparatus 10 of the first embodiment, learning processing is performed using learning data discretized according to a predetermined benchmark, and combinations of important data items are determined based on the results of the learning processing. Furthermore, the discretization benchmark is changed considering combinations of important data items. In the first embodiment, data items are discretized as preprocessing; therefore, compared to the case where discretization is not performed, overlearning can be suppressed and a more generalized model can be learned, thereby improving the model's accuracy.

[0046] Furthermore, by changing the discretization benchmark and combining two or more data items for discretization, the distribution of the learning data can be considered in a multi-dimensional space. Therefore, compared to discretizing data items individually, data item values ​​can be classified more appropriately, improving model accuracy. Additionally, since discretization is limited to combinations of important data items, the preprocessing and learning processing load is reduced compared to exhaustively discretizing all combinations of data items. Furthermore, over-segmentation of data item values ​​can be prevented, thus suppressing overlearning and improving model accuracy. Moreover, since data item combinations are selected based on the results of learning processing, the risk of missing combinations of important data items that significantly impact model accuracy is reduced.

[0047] [Second Implementation]

[0048] Next, the second embodiment will be described.

[0049] The machine learning apparatus of the second embodiment uses training data to learn a model that predicts the value of a target variable from a combination of values ​​of multiple descriptive variables through machine learning. In the second embodiment, WideLearning (registered trademark) is used as the machine learning algorithm. The machine learning apparatus of the second embodiment can be either a client device or a server device. Alternatively, the machine learning apparatus of the second embodiment can also be referred to as a computer or an information processing device.

[0050] Figure 2 This is a diagram illustrating a hardware example of a machine learning apparatus according to the second embodiment.

[0051] The machine learning device 100 includes a CPU 101, RAM 102, HDD 103, image interface 104, input interface 105, media reader 106, and communication interface 107. These units of the machine learning device 100 are connected to a bus. The machine learning device 100 corresponds to the machine learning device 10 of the first embodiment. The CPU 101 corresponds to the processing unit 12 of the first embodiment. The RAM 102 or HDD 103 corresponds to the storage unit 11 of the first embodiment.

[0052] CPU 101 is a processor that executes program commands. CPU 101 loads at least a portion of the program and data stored in HDD 103 into RAM 102 and executes the program. CPU 101 may also have multiple processor cores, and the machine learning device 100 may also have multiple processors. There are cases where a collection of multiple processors is referred to as a "multiprocessor" or simply as a "processor".

[0053] RAM102 is a volatile semiconductor memory that temporarily stores the program executed by CPU101 and the data used by CPU101 for calculation. The machine learning device 100 may also have a type of memory other than RAM, or it may have multiple memories.

[0054] HDD103 is a non-volatile storage device for storing software such as the operating system (OS), middleware, and application software, as well as data. The machine learning device 100 may also have other types of storage such as flash memory and SSD (Solid State Drive), and may have multiple storage devices.

[0055] The image interface 104 outputs an image to the display device 111 connected to the machine learning device 100 according to commands from the CPU 101. The display device 111 can be any type of display device, such as a CRT (Cathode Ray Tube) monitor, a liquid crystal display (LCD), an organic EL (Organic Electro-Luminescence) monitor, or a projector. Alternatively, an output device other than the display device 111, such as a printer, can be connected to the machine learning device 100.

[0056] Input interface 105 receives input signals from input device 112 connected to machine learning device 100. Input device 112 can be any type of input device such as a mouse, touch panel, touchpad, or keyboard. Multiple types of input devices can also be connected to machine learning device 100.

[0057] The media reader 106 is a device for reading programs and data recorded on the recording medium 113. The recording medium 113 can be any type of recording medium, such as a floppy disk (FD), a hard disk (HDD), a compact disc (CD), a digital versatile disc (DVD), or semiconductor memory. The media reader 106 copies the programs and data read from the recording medium 113 to other recording media such as RAM 102 or HDD 103. The read programs are executed by the CPU 101, for example. Furthermore, the recording medium 113 can also be a portable recording medium, and there are cases where it is used for distributing programs and data. Additionally, the recording medium 113 and HDD 103 may be referred to as computer-readable recording media.

[0058] Communication interface 107 is connected to network 114 and communicates with other information processing devices via network 114. Communication interface 107 can also be a wired communication interface connected to wired communication devices such as switches and routers, or a wireless communication interface connected to wireless communication devices such as base stations and access points.

[0059] Next, we will explain the training data used for machine learning.

[0060] Figure 3 This is a diagram showing an example of a training data table.

[0061] Training data table 131 stores training data containing multiple records corresponding to multiple samples. The training data stored in training data table 131 is data collected during product manufacturing on the production line. Each sample in training data table 131 includes an ID, values ​​for multiple descriptive variables, and a value for the target variable.

[0062] ID is the identifier for identifying the sample. Descriptive variables are indicators that may be associated with the generation of defective products. There are cases where descriptive variables are called characteristic quantities. Descriptive variables include temperature and reagent quantity. The values ​​of descriptive variables are measured using sensor equipment during product manufacturing. Temperature is the temperature of the product measured during manufacturing. Reagent quantity is the amount of a specific reagent used in the manufacture of the product. The target variable is a marker indicating whether the manufactured product is defective. Mark = 1 indicates the product is defective, and mark = 0 indicates the product is good. Whether a product is defective is determined through inspection after manufacturing.

[0063] The value of the target variable can also be collected by sampling and manually inspecting a portion of the products flowing through the production line. Alternatively, the value of the target variable can be collected by sampling and inspecting a portion of the products flowing through the production line using a precision inspection machine. In the second embodiment, a model is learned that illustrates the relationship between the values ​​of multiple explanatory variables and the quality of the products. By utilizing the learned model, potentially defective products can be easily detected based on sensor data measured on each product flowing through the production line.

[0064] Here, the training data undergoes preprocessing to improve the accuracy of machine learning. This preprocessing includes "discretization." In the second embodiment, reducing the number of possible values ​​for a descriptive variable is called discretization. Descriptive variables with a large number of possible values, such as temperature and drug quantity, are converted into descriptive variables with a small number of possible values, called "discrete values." Discretization is performed by dividing the range of possible values ​​for a descriptive variable into two or more intervals.

[0065] For certain machine learning algorithms, discretization significantly improves model accuracy. For example, discretization preprocessing for Wide Learning (described later) results in a substantial improvement in model accuracy. Furthermore, several other machine learning algorithms, such as Random Forest, also exhibit improved model accuracy.

[0066] Figure 4 This is a diagram showing an example of a preprocessed training data table.

[0067] Training data table 132 is generated by discretizing training data table 131. Similar to training data table 131, training data table 132 stores training data containing multiple records corresponding to multiple samples. However, several explanatory variables are appended to each sample in training data table 132.

[0068] Each sample in training data table 132 contains explanatory variables for intervals 1, 2, and 3 corresponding to temperature, and intervals 4, 5, and 6 corresponding to drug quantity. The explanatory variables for intervals 1, 2, and 3 are indicators showing whether a temperature value belongs to that interval. The explanatory variables for intervals 4, 5, and 6 are indicators showing whether a drug quantity value belongs to that interval. A flag of 1 indicates that the value belongs to that interval, and a flag of 0 indicates that the value does not belong to that interval. Here, discretization is used to divide the possible temperature values ​​into three intervals, and the possible drug quantity values ​​into three intervals. For each sample, any one of the flags in intervals 1, 2, and 3 is 1, and the other two are 0. Similarly, for each sample, any one of the flags in intervals 4, 5, and 6 is 1, and the other two are 0.

[0069] However, instead of adding new explanatory variables to each interval segmented by discretization, one can assign values ​​to each interval and add explanatory variables that represent the values ​​within that interval. For example, one could add an explanatory variable that takes the value "1" if the temperature value belongs to interval 1, "2" if it belongs to interval 2, and "3" if it belongs to interval 3. Similarly, one could add an explanatory variable that takes the value "1" if the drug quantity belongs to interval 4, "2" if it belongs to interval 5, and "3" if it belongs to interval 6. Furthermore, explanatory variables such as temperature and drug quantity, which were present before discretization, can be retained or deleted. Methods for dividing the range of possible values ​​for explanatory variables into more than two intervals will be discussed later.

[0070] Next, we will explain Wide Learning as a machine learning algorithm.

[0071] Figure 5 This is a diagram illustrating an example of Wide Learning.

[0072] In Wide Learning, chunks are exhaustively generated that demonstrate hypotheses that could hold true between a small number of combinations of values ​​for explanatory variables and the value of the target variable. From these numerous chunks, those demonstrating hypotheses with higher reliability based on the training data are selected. The set of selected chunks forms the model. The hypothesis represented by the chunk is a logical proposition implying that if a certain explanatory variable has a specific value, then the target variable has a specific value. There are also cases where the assumptions of a hypothesis are logical products of conditions concerning two or more explanatory variables.

[0073] The number of samples in the training data whose values ​​match the explanatory variables corresponding to the assumption part of a hypothesis and whose values ​​match the target variables corresponding to the conclusion part of the hypothesis is called the hit count of the hypothesis. It can be said that a block of hypotheses showing a higher hit count has higher reliability. Furthermore, the proportion of samples whose values ​​match the explanatory variables corresponding to the assumption part of a hypothesis and whose values ​​match the target variables corresponding to the conclusion part of the hypothesis is called the hit rate of the hypothesis. It can be said that a block of hypotheses showing a higher hit rate has higher reliability. To improve the generality of blocks and suppress overlearning, it is preferable that the number of explanatory variables in a block is limited to below a threshold. Furthermore, it is preferable to use blocks with a hit count above the threshold and a hit rate above the threshold as valid hypotheses.

[0074] As an example, consider using training data stored in Training Data Table 133 for Wide Learning. Each sample in Training Data Table 133 contains values ​​for explanatory variables such as gender, license status, and marital status, and values ​​for the target variable indicating whether or not a purchase has been made. Gender is a binary value of "male" or "female". License status is a binary value of "holding" or "not holding". Marital status is a binary value of "married" or "single". Purchase status is a binary value of "purchased" or "not purchased".

[0075] In Wide Learning, multiple possible values ​​for explanatory variables and a possible value for the target variable are listed. Here, the values ​​for gender, license, marital status, and purchase are listed. Next, a number of explanatory variables below a threshold are selected from the multiple explanatory variables. For example, more than three explanatory variables are selected. Then, a value is chosen from each of the selected explanatory variables and a value is chosen from the target variable, thus generating a chunk representing a hypothesis. By exhaustively selecting explanatory variables and values, chunks representing various hypotheses are generated exhaustively.

[0076] Here, multiple blocks containing blocks 141-1 to 141-8, 142-1 to 142-8, and 143-1 to 143-8 are generated from training data table 133. Blocks 141-1 to 141-8 contain one explanatory variable. Blocks 142-1 to 142-8 contain two explanatory variables. Blocks 143-1 to 143-8 contain three explanatory variables.

[0077] Block 141-1 shows the hypothesis that "purchase" if the gender is "male". Block 141-2 shows the hypothesis that "not purchased" if the gender is "male". Block 141-3 shows the hypothesis that "purchase" if the gender is "female". Block 141-4 shows the hypothesis that "not purchased" if the gender is "female". Block 141-5 shows the hypothesis that "purchase" if the license is "held". Block 141-6 shows the hypothesis that "not purchased" if the license is "held". Block 141-7 shows the hypothesis that "purchase" if the license is "not held". Block 141-8 shows the hypothesis that "not purchased" if the license is "not held".

[0078] Block 142-1 shows the hypothesis that if the gender is "male" and the license is "held", then "purchase". Block 142-2 shows the hypothesis that if the gender is "male" and the license is "held", then "not purchased". Block 142-3 shows the hypothesis that if the gender is "male" and the license is "not held", then "purchase". Block 142-4 shows the hypothesis that if the gender is "male" and the license is "not held", then "not purchased". Block 142-5 shows the hypothesis that if the gender is "male" and the marital status is "married", then "purchase". Block 142-6 shows the hypothesis that if the gender is "male" and the marital status is "married", then "not purchased". Block 142-7 shows the hypothesis that if the gender is "male" and the marital status is "unmarried", then "purchase". Block 142-8 illustrates the hypothesis that if the gender is "male" and the marital status is "unmarried", then "not purchased".

[0079] Block 143-1 shows the hypothesis that if the gender is "male," the license is "held," and the marital status is "married," then "purchase" is true. Block 143-2 shows the hypothesis that if the gender is "male," the license is "held," and the marital status is "married," then "not purchased" is true. Block 143-3 shows the hypothesis that if the gender is "male," the license is "not held," and the marital status is "married," then "purchase" is true. Block 143-4 shows the hypothesis that if the gender is "male," the license is "not held," and the marital status is "married," then "not purchased" is true. Block 143-5 shows the hypothesis that if the gender is "male," the license is "held," and the marital status is "single," then "purchase" is true. Block 143-6 shows the hypothesis that if the gender is "male," the license is "held," and the marital status is "single," then "not purchased" is true. Block 143-7 illustrates the hypothesis that "purchase" occurs if the gender is "male", the license is "not held", and the marital status is "unmarried". Block 143-8 illustrates the hypothesis that "not purchased" occurs if the gender is "male", the license is "not held", and the marital status is "unmarried".

[0080] Calculate the hit count and hit rate for blocks 141-1~141-8, 142-1~142-8, and 143-1~143-8 respectively. For example, for block 142-1, assume there are 100 samples with gender "male" and license "holding", of which 60 samples "purchased". Therefore, block 142-1 has a hit count of 60 and a hit rate of 60%. Similarly, for block 143-1, assume there are 10 samples with gender "male", license "holding", and marital status "married", of which 9 samples "purchased". Therefore, block 143-1 has a hit count of 9 and a hit rate of 90%. For block 143-8, assume there are 20 samples with gender "male", license "not holding", and marital status "single", of which 18 samples "did not purchase". Therefore, the hit count for chunk 143-8 is 18, resulting in a hit rate of 90%.

[0081] Blocks with a hit count and hit rate exceeding a threshold are considered valid blocks. However, all blocks with a hit count exceeding the threshold or all blocks with a hit rate exceeding the threshold can also be considered valid blocks. Alternatively, instead of setting thresholds for hit count and hit rate, a predetermined number of blocks can be selected as valid blocks in descending order of hit count and hit rate. Importance is calculated for each valid block. Importance can be hit count, hit rate, or an indicator proportional to the hit count or hit rate. However, in the second embodiment, weights calculated through logistic regression analysis are used.

[0082] As shown in mathematical formula (1), the probability p(x) is calculated using a sigmoid function for a sample x. The probability p(x) is a real number greater than 0 and less than 1. The probability p(x) corresponds to the inferred value of the target variable of sample x. The closer the probability p(x) is to 1, the higher the probability that the target variable is 1 (e.g., defective product); the closer the probability p(x) is to 0, the higher the probability that the target variable is 0 (e.g., good product). The z(x) in mathematical formula (1) is defined as in mathematical formula (2). z(x) is equivalent to the linear sum of the inferred results of more than one group that is related to sample x. The range of values ​​that z(x) can take is from -∞ to +∞. Using the sigmoid function of mathematical formula (1), z(x) is converted into a probability p(x) with a range of 0 to 1.

[0083] [Formula 1]

[0084]

[0085] [Equation 2]

[0086]

[0087] In mathematical formula (2), α is the coefficient of the constant term, and β i It is the coefficient used as the weight of the i-th chunk. i (x) is the output of the i-th chunk of sample x. If the value of the explanatory variable in the i-th chunk does not match the value of the explanatory variable in sample x, then the chunk is... i (x) Outputs "0". In this case, the i-th chunk is unrelated to sample x and has no effect on the value of z(x). If the value of the explanatory variable of the i-th chunk matches the value of the explanatory variable of sample x, then the chunk... i (x) Output "1" or "-1". If the inferred value of the target variable in the i-th chunk is "1" (e.g., a defective product), then chunk... i (x) Output "1". If the inferred value of the target variable in the i-th chunk is "0" (e.g., good product), then chunk... i (x) Output "-1".

[0088] The larger the value of z(x), the more blocks that are related to sample x will infer the value of the target variable as "1". The smaller the value of z(x), the more blocks that are related to sample x will infer the value of the target variable as "0". However, by changing the coefficients α and β... i The value of z(x) changes. The difference between the probability p(x) derived from z(x) and the true value of the target variable in the sample x is the error. Therefore, the coefficients of determination α and β are determined through regression analysis. i This minimizes the total error over a large number of samples. The coefficient β is determined in this way. i It represents the importance of the i-th block.

[0089] Next, we will explain the discretization process performed on the training data.

[0090] In discretization, the range of values ​​of a descriptive variable is divided into two or more intervals. By treating values ​​belonging to the same interval as the same, the value of the descriptive variable is approximated, thereby reducing the number of possible values.

[0091] As a simple method of discretization, one approach is to divide the range of values ​​for the explanatory variable into equal intervals. For example, one could sort the values ​​of the explanatory variable in the training data in ascending order, calculate the range from the minimum to the maximum value, divide this range by a predetermined number of intervals to determine the width of each interval, and then divide the range from the minimum to the maximum value according to this width. Alternatively, another simple method of discretization is to divide the range of values ​​for the explanatory variable into equal frequency intervals. For example, one could sort the samples in the training data in ascending order of the values ​​of the explanatory variable, count the total number of samples, divide the total number of samples by a predetermined number of intervals to calculate the number of samples in each interval, and then divide the sorted samples according to this number of samples.

[0092] However, discretization based on equal intervals or equal frequencies only considers the distribution of the values ​​of the explanatory variables, without considering the values ​​of the target variable present in the samples. Considering the values ​​of the target variable makes it easier to discover the boundaries of the explanatory variable values ​​that influence the target variable's value through machine learning. That is, by considering the values ​​of the target variable, the accuracy of machine learning results is improved. Therefore, entropy-based discretization can be considered.

[0093] Figure 6 A diagram illustrating an example of entropy-based discretization.

[0094] In entropy-based discretization (entropy basis discretization), the samples in the training data are sorted in ascending order of the values ​​of the descriptive variable, and intervals are detected within the set of samples with the same target variable value. Ideally, the target variable values ​​should be as uniform as possible within the same interval. Clusters of samples with a target variable value of "1" should be as close as possible to clusters of samples with a target variable value of "0". Sets where samples with target variable values ​​of "1" and "0" coexist should be separated as much as possible based on the target variable value. In entropy-based discretization, the boundaries of multiple intervals are determined based on the distribution of samples with the same target variable value. There are cases where the boundary between two adjacent intervals is called a tangent point.

[0095] For example, if focusing on the explanatory variable representing the amount of medicine, the multiple samples in the training data are sorted in ascending order of medicine quantity. Thus, multiple samples are arranged along a one-dimensional line representing the medicine quantity. On this line, a cutoff point 151 is determined such that the bias of the target variable value is maximized. Therefore, the numerical range before segmentation is divided into interval 152 (interval X) where the medicine quantity is less than cutoff point 151, and interval 153 (interval Y) where the medicine quantity is greater than or equal to cutoff point 151. Interval 152 contains more samples with a target variable value of "1" (defective), and interval 153 contains more samples with a target variable value of "0" (good). Cutoff point 151 is determined such that the target variable values ​​of the samples in interval 152 are biased towards "1", and the target variable values ​​of the samples in interval 153 are biased towards "0".

[0096] The total number of samples belonging to the unsegmented range is SIZE, and the number of samples belonging to the segmented interval 152 is size. A The number of samples belonging to the segmented interval 153 is size. B SIZE = size A +size B Within each of the segmented intervals 152 and 153, tangent points can be recursively set. The recursive segmentation is repeated as long as the intervals that efficiently generate the bias of the target variable's value are obtained.

[0097] The computational method for entropy-based discretization is explained using mathematical formulas. A temporary cut point is selected from the numerical range before segmentation. Thus, the sample set all before segmentation is divided into a sample set A with values ​​of the explanatory variable below the cut point, and a sample set B with values ​​of the explanatory variable above the cut point.

[0098] The entropy H(A) of sample set A is calculated as in mathematical formula (3). P(A) in mathematical formula (3) is the proportion of samples in sample set A whose target variable value is "1". Similarly, the entropy H(B) of sample set B is calculated as in mathematical formula (4). P(B) in mathematical formula (4) is the proportion of samples in sample set B whose target variable value is "1". The entropy H(cut) at the cut point is obtained by weighted averaging of entropies H(A) and H(B) based on the ratio of the number of samples in sample sets A and B, as in mathematical formula (5). The cut point with the minimum entropy H(cut) is then explored.

[0099] [Formula 3]

[0100] H(A)=-P(A)log2P(A) (3)

[0101] [Formula 4]

[0102] H(B)=-P(B)log2P(B) (4)

[0103] [Formula 5]

[0104]

[0105] If the cut point with minimum entropy is found, the next step is to determine whether to divide the interval using that cut point. First, calculate the entropy H(all) of the sample set all before division, as shown in mathematical formula (6). P(all) in mathematical formula (6) is the proportion of samples in the sample set all where the target variable has a value of "1". Next, as shown in mathematical formula (7), calculate the difference between entropy H(all) and entropy H(cut) as the gain. In addition, calculate Δ as shown in mathematical formula (8). k0 in mathematical formula (8) is the number of distinct target variables (the number of categories of teacher labels) existing in the sample set all. A k is the number of categories of teacher labels in sample set A. B This is the number of categories of teacher labels in sample set B. In the case of a binary target variable with values ​​of "1" or "0", k0 = k A =k B The case of 2 is more common.

[0106] [Formula 6]

[0107] H(all)=-P(all)log2P(all) (6)

[0108] [Formula 7]

[0109] gain = H(all) - H(cut) (7)

[0110] [Formula 8]

[0111]

[0112] Then, as in mathematical formula (9), the threshold is calculated using the sample size SIZE of the sample set all and Δ defined by mathematical formula (8), and the gain defined by mathematical formula (7) is compared with the threshold. If the gain is larger than the threshold, the cut point is used, and the interval is determined to be segmented by the cut point. If the gain is below the threshold, the cut point is not used, and the interval is determined not to be segmented by the cut point. If a new cut point is used, the set of samples belonging to the segmented interval is regarded as the sample set all, and the above segmentation determination is recursively performed. When all the segmented intervals are segmented and it is determined that no further subdivision of the interval is required, the discretization ends.

[0113] [Formula 9]

[0114]

[0115] Here, we will explain the issues arising from discretizing each explanatory variable.

[0116] Figure 7 This is a graph illustrating the relationship between sample distribution and discretization.

[0117] Here, the variables of description are the amount of medicine and temperature. Figure 160 is a distribution diagram of the samples arranged in a two-dimensional space formed by the horizontal axis showing the amount of medicine and the vertical axis showing the temperature. If we are looking at the amount of medicine, the distribution of the amount of medicine among the samples is the distribution after projecting the samples included in Figure 160 onto the horizontal axis. Similarly, if we are looking at the temperature, the distribution of the temperature among the samples is the distribution after projecting the samples included in Figure 160 onto the vertical axis.

[0118] If the drug quantity is discretized based on entropy, a cutoff point of 161 is detected. In the interval where the drug quantity is less than the cutoff point 161, the majority of samples have a target variable value of "0". In the interval where the drug quantity is greater than the cutoff point 161, samples with a target variable value of "0" and samples with a target variable value of "1" exist in a certain proportion. In terms of the distribution projected onto the horizontal axis, the interval where the drug quantity is greater than the cutoff point 161 does not have a cluster biased by the target variable value, so it is not further subdivided.

[0119] Furthermore, if the temperature is discretized based on entropy, cutoff points 163 and 164 are detected. In the interval where the temperature is below cutoff point 164, samples with a target variable value of "0" and samples with a target variable value of "1" exist in a certain proportion. In the interval where the temperature is above cutoff point 164 but below cutoff point 163, samples with a target variable value of "0" constitute the majority. In the interval where the temperature is above cutoff point 163, samples with a target variable value of "0" and samples with a target variable value of "1" exist in a certain proportion.

[0120] If cutoff points 161, 163, and 164 are set in this way, the two-dimensional space formed by the drug quantity and temperature is divided into regions 165-1 to 165-6. Samples with a drug quantity below cutoff point 161 and a temperature above cutoff point 163 belong to region 165-1. Samples with a drug quantity below cutoff point 161 and a temperature below cutoff point 163 but above cutoff point 164 belong to region 165-2. Samples with a drug quantity below cutoff point 161 and a temperature below cutoff point 164 belong to region 165-3. Samples with a drug quantity above cutoff point 161 and a temperature above cutoff point 163 belong to region 165-4. Samples with a drug quantity above cutoff point 161 and a temperature below cutoff point 163 but above cutoff point 164 belong to region 165-5. Samples with a drug quantity above cutoff point 161 and a temperature below cutoff point 164 belong to region 165-6.

[0121] However, regions 165-4 and 165-6 are not sufficiently subdivided. Region 165-4 exhibits the following bias: in regions with smaller drug quantities, the majority of samples have a target variable value of "1," while in regions with larger drug quantities, the majority of samples have a target variable value of "0." Region 165-6 also exhibits the following bias: in regions with smaller drug quantities, the majority of samples have a target variable value of "0," while in regions with larger drug quantities, the majority of samples have a target variable value of "1." Adding a cutoff point based on drug quantity improves the accuracy of the boundary between samples with a target variable value of "1" and samples with a target variable value of "0."

[0122] Thus, if discretization is performed on a one-dimensional basis, evaluating the distribution of the target variable's values ​​in terms of explanatory variables, there is a possibility of missing optimal cut points. In contrast, discretization considering combinations of two or more explanatory variables allows for a multi-dimensional evaluation of the target variable's value distribution, making it easier to detect the boundaries between samples with different target variable values. As a result, it is possible to improve the accuracy of models generated through machine learning.

[0123] However, narrowing down the combinations of explanatory variables considered in discretization becomes problematic. Exhaustively considering all possible combinations of explanatory variables raises concerns about over-segmenting the range of possible values ​​for a given variable by setting multiple cut points. Over-segmentation diminishes the effectiveness of discretization and risks generating models that overly rely on the training data due to overlearning. Furthermore, over-segmentation increases the workload of preprocessing the training data and subsequent machine learning. Additionally, the important explanatory variables affecting the target variable are only a subset of those included in the training data; therefore, not all cut points contribute to improved model accuracy.

[0124] Therefore, in the second embodiment, Wide Learning is temporarily performed, and the groups of important explanatory variables are inferred based on the learning results. Then, the groups of important explanatory variables are narrowed down and discretized, and Wide Learning is performed again. This allows for efficient detection of important cut points and significantly improves model accuracy.

[0125] Figure 8 This is a diagram illustrating an example of the selection of groups of explanatory variables used for discretization.

[0126] The machine learning device 100 performs discretization of each explanatory variable in the training data as preprocessing, and performs the first Wide Learning using the preprocessed training data. However, the first Wide Learning can also be performed using undiscretized training data. The machine learning device 100 generates a chunk table 134 from the learning results of the first Wide Learning. The chunk table 134 stores information about multiple chunks that represent valid hypotheses. The chunk information includes combinations of values ​​of explanatory variables corresponding to the assumed parts of the hypotheses, and the importance of the chunk calculated using the method described above. The multiple chunks registered in the chunk table 134 are sorted in descending order of importance.

[0127] For example, the first block infers the value of the target variable from samples where variable A has a value of 3 or higher and variable B has a value of 4 or higher, with an importance of 2.33. The second block infers the value of the target variable from samples where variable C has a value of 3 or higher and variable D has a value of 4 or higher, with an importance of 1.18. The third block infers the value of the target variable from samples where variable A has a value of less than 0.2 and variable B has a value of 3 or higher, with an importance of 0.92. The fourth block infers the value of the target variable from samples where variable A has a value of less than 0.2 and variable B has more than one value, with an importance of 0.86. The fifth block infers the value of the target variable from samples where variable A has a value of less than 2 and variable D has a value of less than 2, with an importance of 0.77. The sixth block infers the value of the target variable from samples where variable A has a value of less than 0.2 and variable D has a value of less than 0.1, with an importance of 0.63.

[0128] In addition, Figure 8In the example, all blocks registered in block table 134 have two descriptive variables, but the number of descriptive variables in each block may not be the same. In Wide Learning, where the number of descriptive variables in each block is limited to three, block table 134 may contain a mixture of blocks with one, two, and three descriptive variables. In the following processing, the blocks referenced need to have two or more descriptive variables; the number of descriptive variables does not need to be uniform.

[0129] The machine learning device 100 infers groups of explanatory variables appearing in the block table 134 as groups of important explanatory variables. However, to prevent setting multiple cut points for the same explanatory variable, each explanatory variable is discretized only once. Groups of explanatory variables selected as discretized objects are chosen based on importance or frequency of occurrence.

[0130] Based on an importance criterion, the machine learning device 100 generates an importance table 135 from the block table 134. The importance table 135 establishes a correspondence between groups of explanatory variables and their importance levels. The groups of explanatory variables in the importance table 135 are the groups of explanatory variables that appear in the block table 134. A group of explanatory variables in the importance table 135 can be a set of two or more explanatory variables, or the number of explanatory variables can be uneven. The importance level in the importance table 135 is the highest importance level assigned to one or more blocks containing a group of a certain explanatory variable. The groups of explanatory variables in the importance table 135 are sorted in descending order of importance.

[0131] For example, the first, third, and fourth blocks of block table 134 contain groups for variables A and B. Therefore, the groups for variables A and B correspond to the highest importance score, 2.33. Additionally, the second block of block table 134 contains groups for variables C and D. Therefore, the groups for variables C and D correspond to an importance score of 1.18. Furthermore, the fifth and sixth blocks of block table 134 contain groups for variables A and D. Therefore, the groups for variables A and D correspond to the highest importance score, 0.77.

[0132] Based on the frequency of occurrence, the machine learning device 100 generates a frequency of occurrence table 136 from the block table 134. The frequency of occurrence table 136 establishes a correspondence between groups of explanatory variables and their frequency of occurrence. The groups of explanatory variables in the frequency of occurrence table 136 are the groups of explanatory variables that appear in the block table 134. The groups of explanatory variables in the frequency of occurrence table 136 can be sets of two or more explanatory variables, or the number of explanatory variables can be uneven. The frequency of occurrence in the frequency of occurrence table 136 is the number of blocks in the block table 134 that contain groups of a certain explanatory variable. The groups of explanatory variables in the frequency of occurrence table 136 are sorted in descending order of their frequency of occurrence.

[0133] For example, the first, third, and fourth blocks of block table 134 contain groups for variables A and B. Therefore, the groups for variables A and B correspond to a frequency of 3. Additionally, the fifth and sixth blocks of block table 134 contain groups for variables A and D. Therefore, the groups for variables A and D correspond to a frequency of 2. Furthermore, the second block of block table 134 contains groups for variables C and D. Therefore, the groups for variables C and D correspond to a frequency of 1.

[0134] The machine learning device 100 generates an object variable table 137 based on an importance table 135 or an occurrence count table 136, which lists groups of descriptive variables for objects set as discretized objects. In the object variable table 137, the same descriptive variable appears only once.

[0135] Based on an importance criterion, the machine learning device 100 extracts groups of explanatory variables from the importance table 135 in descending order of importance. If all explanatory variables in a extracted group are unused, the machine learning device 100 adopts the extracted group of explanatory variables and registers it in the object variable table 137. If at least one explanatory variable in an extracted group is used, the machine learning device 100 discards the extracted group of explanatory variables.

[0136] For example, the group of variables A and B is extracted from importance table 135. Since both variables A and B are unused, the group of variables A and B is registered in object variable table 137. Next, the group of variables C and D is extracted from importance table 135. Since both variables C and D are unused, the group of variables C and D is registered in object variable table 137. Next, the group of variables A and D is extracted from importance table 135. Since variable A is used, the group of variables A and D is discarded and not registered in object variable table 137. Based on the importance criterion, the discretization can be performed without omitting combinations of highly important explanatory variables.

[0137] Based on the frequency of occurrence, the machine learning device 100 extracts groups of explanatory variables from the frequency of occurrence table 136 in descending order of frequency. If all explanatory variables in the extracted groups are unused, the machine learning device 100 adopts the extracted groups of explanatory variables and registers them in the object variable table 137. If at least one explanatory variable in the extracted groups is used, the machine learning device 100 discards the extracted groups of explanatory variables.

[0138] For example, the group of variables A and B is extracted from the frequency table 136. Since both variables A and B are unused, the group of variables A and B is registered in the object variable table 137. Next, the group of variables A and D is extracted from the frequency table 136. Since variable A is used, the group of variables A and D is discarded and not registered in the object variable table 137. Next, the group of variables C and D is extracted from the frequency table 136. Since both variables C and D are unused, the group of variables C and D is registered in the object variable table 137. Based on the frequency benchmark, the combination of explanatory variables that are strongly correlated with the value of the target variable can be discretized.

[0139] Next, we will explain the entropy-based discretization for groups of multiple explanatory variables.

[0140] Figure 9 This is a diagram showing a discretization example of multiple explanatory variables.

[0141] The discretization of multiple explanatory variables is performed in the same manner as the discretization of a single explanatory variable, according to mathematical formulas (3) to (9). However, the discretization of multiple explanatory variables involves selecting one explanatory variable from the combined multiple explanatory variables to add the next tangent point.

[0142] Specifically, for each of the multiple explanatory variables, the point of minimum entropy is explored according to mathematical formulas (3) to (5). The point of minimum entropy is selected from the multiple point of minimum entropy corresponding to the multiple explanatory variables. Thus, the next explanatory variable to be considered and the candidates for additional point of minimum entropy are determined. If a point of minimum entropy is determined for an explanatory variable, it is determined whether to adopt the point of minimum entropy according to mathematical formulas (6) to (9). The point of minimum entropy is adopted if the gain of the point of minimum entropy exceeds the threshold, and not adopted if the gain of the point of minimum entropy is below the threshold. If a point of minimum entropy is added to an explanatory variable, the region of the multidimensional space formed by the multiple explanatory variables is segmented. The above region segmentation is performed layer by layer until no further addition of point of minimum entropy or region segmentation is generated.

[0143] For example, consider combining the two explanatory variables, drug quantity and temperature, for discretization. Figure 7 The two-dimensional space of Chart 160 shown is subdivided into multiple regions as follows. First, the drug quantity of multiple samples in the training data is sorted in ascending order. Additionally, the temperature of multiple samples in the training data is sorted in ascending order.

[0144] Next, the cut point with minimum entropy is explored for the drug quantity based on the bias of the target variable value. Independently, the cut point with minimum entropy is explored for temperature based on the bias of the target variable value. Here, the entropy of the cut point 161 for drug quantity is set to be smaller compared to the cut point for temperature. Furthermore, the gain of cut point 161 is set to be larger compared to a threshold. Therefore, a cut point 161 is added for drug quantity. As a result, the two-dimensional space of graph 160 is divided into a region 166-1 where the drug quantity is less than the cut point 161, and a region where the drug quantity is greater than or equal to the cut point 161.

[0145] Next, focusing on region 166-1, we use samples belonging to region 166-1 to explore the cut-off point with minimum entropy for drug quantity and temperature. The set of samples belonging to region 166-1 is equivalent to the sample set all mentioned above. Since the majority of samples in region 166-1 have a target variable value of "0", no cut-off point is used. Therefore, no further segmentation is performed on region 166-1.

[0146] Next, focusing on the region outside region 166-1, we use samples from this region to explore the minimum entropy cut-off point for both drug quantity and temperature. The set of samples from the region outside 166-1, i.e., samples with drug quantities greater than or equal to cut-off point 161, corresponds to the aforementioned sample set all. Here, the entropy of cut-off point 163 for temperature is set to be smaller than that for drug quantity. Furthermore, the gain of cut-off point 163 is set to be larger than a threshold. Therefore, cut-off point 163 is added for temperature. Thus, the region outside 166-1 is divided into region 166-2 (temperature greater than or equal to cut-off point 163) and region 166-3 (temperature less than or equal to cut-off point 163).

[0147] Figure 10 This is a diagram showing an example of discretization of multiple explanatory variables (continued).

[0148] Next, focusing on region 166-3, using samples belonging to region 166-3, we explore the minimum entropy cut-off point for drug quantity and the minimum entropy cut-off point for temperature. The set of samples belonging to region 166-3 is equivalent to the sample set all mentioned above. Here, the entropy of the temperature cut-off point 164 is set to be smaller than that of the drug quantity cut-off point. In addition, the gain of the cut-off point 164 is set to be larger than the threshold. Therefore, a cut-off point 164 is added for temperature. As a result, region 166-3 is divided into region 166-6, where the temperature is above the cut-off point 164, and region where the temperature is below the cut-off point 164.

[0149] Next, focusing on region 166-2, using samples belonging to region 166-2, we explore the cut-off point with the minimum entropy for both drug quantity and temperature. The set of samples belonging to region 166-2 is equivalent to the sample set all mentioned above. Here, the entropy of the cut-off point 162 for drug quantity is set to be smaller compared to the cut-off point for temperature. Furthermore, the gain of cut-off point 162 is set to be larger than the threshold. Therefore, cut-off point 162 is added for drug quantity. As a result, region 166-2 is divided into region 166-4, where the drug quantity is less than cut-off point 162, and region 166-5, where the drug quantity is greater than or equal to cut-off point 162.

[0150] Similarly, the region outside region 166-6 in region 166-3 is divided into region 166-7 and region 166-8 by cut point 162. In regions 166-4 and 166-8, since the majority of samples have a target variable value of "1", no cut point is used. Therefore, no further segmentation is performed on regions 166-4 and 166-8. Furthermore, in regions 166-5, 166-6, and 166-7, since the majority of samples have a target variable value of "0", no cut point is used. Therefore, no further segmentation is performed on regions 166-5, 166-6, and 166-7.

[0151] Thus, the discretization process ends. Through discretization, cutoff points 161 and 162 are set for the drug quantity, and cutoff points 163 and 164 are set for the temperature. The range of drug quantity values ​​is divided into three intervals by cutoff points 161 and 162, and the range of temperature values ​​is divided into three intervals by cutoff points 163 and 164. The result is, for example, as... Figure 4 As shown, six explanatory variables are added to the training data.

[0152] Next, the functions and processing of the machine learning device 100 will be explained.

[0153] Figure 11 This is a block diagram illustrating a functional example of a machine learning device.

[0154] The machine learning device 100 includes a training data storage unit 121, a model storage unit 122, a preprocessing unit 123, and a machine learning unit 124. For example, the training data storage unit 121 and the model storage unit 122 can be implemented using RAM 102 or HDD 103. For example, the preprocessing unit 123 and the machine learning unit 124 can be implemented using a program.

[0155] Training data storage unit 121 stores training data table 131. Model storage unit 122 stores the model learned through Wide Learning. The model contains multiple blocks that each illustrate a hypothesis that establishes a correspondence between the values ​​of one or more explanatory variables and the values ​​of the target variable. Importance is assigned to each of the multiple blocks.

[0156] The preprocessing unit 123 preprocesses the training data shown in the training data table 131 stored in the training data storage unit 121 to generate a training data table 132 showing the preprocessed training data. The preprocessing unit 123 provides the training data table 132 to the machine learning unit 124. The preprocessing includes discretization of the values ​​of the explanatory variables. The preprocessing unit 123 includes a univariate discretization unit 125, a variable selection unit 126, and a multivariate discretization unit 127.

[0157] The univariate discretization unit 125 performs entropy-based discretization on each of the explanatory variables in the training data as a temporary preprocessing step. For example, the univariate discretization unit 125 may add auxiliary label-type explanatory variables to the training data to indicate whether the value of a certain original explanatory variable belongs to a specific interval. The univariate discretization unit 125 provides the training data, after discretization of each explanatory variable, to the machine learning unit 124. However, it is also possible to provide the original training data to the machine learning unit 124 without performing temporary preprocessing.

[0158] The variable selection unit 126 obtains a temporary model learned from the machine learning unit 124 based on training data that has undergone temporary preprocessing. The temporary model contains multiple blocks, each assigned an importance. Each block contains a combination of explanatory variables used in the hypothesis. The variable selection unit 126 analyzes the temporary model obtained from the machine learning unit 124 and generates an object variable table 137 that lists groups of explanatory variables that are highly likely to be important in relation to the target variable.

[0159] The multivariate discretization unit 127 references the object variable table 137 generated by the variable selection unit 126, and performs entropy-based discretization on at least a portion of the explanatory variables as preprocessing. The training data that becomes the discretized object is the original training data stored in the training data storage unit 121, that is, the training data before the temporary preprocessing.

[0160] The multivariate discretization unit 127 performs a segmentation process on each group of explanatory variables listed in the object variable table 137, dividing the multidimensional space formed by the group of explanatory variables. After the segmentation process, the multivariate discretization unit 127 sets one or more tangent points for each of the two or more explanatory variables contained in the group of explanatory variables, dividing the range of values ​​of each explanatory variable into two or more intervals through the tangent points. For example, the multivariate discretization unit 127 adds auxiliary label-type explanatory variables to the training data to indicate whether the value of a certain original explanatory variable belongs to a specific interval. The multivariate discretization unit 127 provides the training data, which has been discretized by combining multiple explanatory variables, to the machine learning unit 124.

[0161] The machine learning unit 124 uses the training data obtained from the preprocessing unit 123 to perform Wide Learning, and stores the learned model in the model storage unit 122. The machine learning unit 124 can further display the learned model on the display device 111 or send it to other information processing devices. Here, the machine learning unit 124 obtains training data that has undergone temporary preprocessing or training data that has not undergone preprocessing from the preprocessing unit 123, and provides the learning result of Wide Learning on this training data as a temporary learning result to the preprocessing unit 123. Afterwards, the machine learning unit 124 obtains training data that has undergone formal preprocessing from the preprocessing unit 123 and generates a formal learning result on this training data.

[0162] Figure 12 This is a flowchart illustrating an example of the machine learning process.

[0163] (S10) The preprocessing unit 123 obtains training data from the training data storage unit 121.

[0164] (S11) The univariate discretization unit 125 performs univariate discretization on the training data from step S10 as preprocessing. Details of univariate discretization will be described later.

[0165] (S12) The machine learning unit 124 performs Wide Learning using the training data that has undergone preprocessing in step S11. Details of Wide Learning will be described later.

[0166] (S13) The variable selection unit 126 acquires the model learned through Wide Learning in step S12. The variable selection unit 126 analyzes the learned model and selects a group of important explanatory variables that will be discretized. Details of the variable selection will be described later.

[0167] (S14) The multivariate discretization unit 127 performs multivariate discretization on the training data from step S10 as preprocessing. Multivariate discretization is performed on the group of explanatory variables selected in step S13. Details of the multivariate discretization process will be described later.

[0168] (S15) The machine learning unit 124 uses the training data that has undergone preprocessing in step S14 to perform the same Wide Learning as in step S12.

[0169] (S16) The machine learning unit 124 outputs the model learned through the Wide Learning process in step S15. For example, the machine learning unit 124 stores the learned model in the model storage unit 122. Additionally, for example, the machine learning unit 124 displays the blocks contained in the learned model on the display device 111. Furthermore, for example, the machine learning unit 124 sends the learned model to other information processing devices.

[0170] Figure 13 This is a flowchart illustrating an example of the univariate discretization process.

[0171] Univariate discretization is performed in step S11 above.

[0172] (S20) The univariate discretization unit 125 selects a descriptive variable from the training data. The descriptive variable selected here is a "continuous value" type descriptive variable, such as an integer or real number type, which has a large number of possible values. Descriptive variables with a small number of possible values ​​may not be included in the following processing.

[0173] (S21) The univariate discretization unit 125 extracts the values ​​of the explanatory variables from the multiple samples contained in the training data in step S20, and sorts the values ​​of the explanatory variables in ascending order.

[0174] (S22) The univariate discretization unit 125 selects an interval from the minimum to maximum value range of the explanatory variables sorted in step S21 that has not yet been determined in the following steps S23 to S26. First, the entire range from the minimum to the maximum value is considered as one interval. If this range is divided, the divided intervals become the selection targets.

[0175] (S23) The univariate discretization unit 125 detects the tangent point with the minimum entropy of mathematical formula (5) in the interval selected in step S22.

[0176] (S24) The univariate discretization unit 125 calculates the gain of mathematical formula (7) and the threshold of mathematical formula (9) for the tangent point detected in step S23.

[0177] (S25) The univariate discretization unit 125 determines whether the gain calculated in step S24 exceeds the threshold calculated in step S24. If the gain exceeds the threshold, proceed to step S26; if the gain is below the threshold, proceed to step S27.

[0178] (S26) The univariate discretization unit 125 uses the tangent point detected in step S23 to divide the interval selected in step S22 into two. Furthermore, if the gain is below a threshold, the tangent point is not used, and the interval in step S22 is not further divided.

[0179] (S27) The univariate discretization unit 125 determines whether steps S23 to S26 have been performed on all intervals. If all intervals have been performed, proceed to step S28; otherwise, return to step S22 if there are undetermined intervals.

[0180] (S28) The univariate discretization unit 125 determines the intervals segmented from the range of values ​​of the explanatory variables selected in step S20. Then, the univariate discretization unit 125 adds new explanatory variables to the training data, indicating whether the values ​​of the explanatory variables belong to each interval.

[0181] (S29) The univariate discretization unit 125 determines whether all the original explanatory variables contained in the initial training data have been selected. If all explanatory variables have been selected, the univariate discretization ends; if there are unselected explanatory variables, it returns to step S20.

[0182] Figure 14 This is a flowchart illustrating an example of the Wide Learning process.

[0183] Wide Learning is performed in steps S12 and S15 above.

[0184] (S30) The Machine Learning Unit 124 extracts multiple explanatory variables and target variables from the training data and lists the possible values ​​of the explanatory variables and target variables respectively.

[0185] (S31) The machine learning unit 124 selects a predetermined number of explanatory variables from the plurality of explanatory variables extracted in step S30. The predetermined number is predetermined to be three. The machine learning unit 124 selects a value from each of the selected explanatory variables and selects a value from the target variable. The machine learning unit 124 generates a block that shows the hypothesis that if a combination of values ​​of the selected explanatory variables satisfies the value of the selected target variable.

[0186] (S32) The machine learning unit 124 retrieves samples from the multiple samples contained in the training data whose values ​​of the explanatory variables match the blocks generated in step S31.

[0187] (S33) The machine learning unit 124 calculates the number of samples in which the value of the target variable in the samples retrieved in step S32 matches the block in step S31 as the hit count. In addition, the machine learning unit 124 counts the number of samples retrieved in step S32 and calculates the ratio of the hit count to that number as the hit rate.

[0188] (S34) The machine learning unit 124 determines whether the number of hits calculated in step S33 is above a predetermined threshold, and whether the hit rate calculated in step S33 is above a predetermined threshold. The threshold for the number of hits is predetermined to be 10, etc., and the threshold for the hit rate is predetermined to be 80%, etc. If the conditions are met, proceed to step S35; otherwise, proceed to step S36. Alternatively, the determination can be made only for either the number of hits or the hit rate.

[0189] (S35) The machine learning unit 124 uses the blocks generated in step S31 as valid blocks that demonstrate valid hypotheses.

[0190] (S36) The machine learning unit 124 determines whether all combinations of values ​​for the explanatory variable and the target variable have been selected. If all combinations have been selected, proceed to step S37; otherwise, return to step S31.

[0191] (S37) The machine learning unit 124 determines the corresponding block from among the multiple valid blocks contained in the training data for each sample. The corresponding block is the block that describes the value of the variable.

[0192] (S38) The machine learning unit 124 calculates the weights applied to each block using logistic regression analysis based on mathematical formulas (1) and (2). The machine learning unit 124 uses the weights calculated by logistic regression analysis as the importance of each block.

[0193] (S39) The machine learning unit 124 sorts the multiple valid blocks in descending order of importance. The machine learning unit 124 assigns importance to the blocks and outputs them.

[0194] Next, we will explain the two methods for selecting variables.

[0195] Figure 15 This is a flowchart illustrating an example of the variable selection process.

[0196] The selection of this variable can be performed in step S13 above.

[0197] (S40) The variable selection unit 126 selects a block from the one with higher importance. The block selected here is the block that uses two or more declaration variables. Blocks with only one declaration variable may not be selected as the objects of the following processing.

[0198] (S41) The variable selection unit 126 extracts the group of explanatory variables that appear in the assumption section of the hypothesis from the block. The values ​​of the explanatory variables can be ignored.

[0199] (S42) The variable selection unit 126 determines whether the group of explanatory variables extracted in step S41 has already appeared. If the same group of explanatory variables has already appeared, proceed to step S44; otherwise, proceed to step S43.

[0200] (S43) The variable selection unit 126 establishes a correspondence between the group of explanatory variables extracted in step S41 and the importance of the block selected in step S40.

[0201] (S44) The variable selection unit 126 determines whether all blocks contained in the learned model have been selected. If all blocks have been selected, proceed to step S45; otherwise, return to step S40.

[0202] (S45) The variable selection unit 126 selects a group of variables from the group with higher importance.

[0203] (S46) The variable selection unit 126 determines whether the group of explanatory variables selected in step S45 contains explanatory variables that have already been used as discretization objects. If it contains explanatory variables that have already been used, it proceeds to step S48; otherwise, it proceeds to step S47.

[0204] (S47) The variable selection unit 126 uses the group of explanatory variables selected in step S45 as the discretization object for multivariate discretization.

[0205] (S48) The variable selection unit 126 determines whether all groups of explanatory variables extracted in steps S40 to S43 have been selected. If all groups of explanatory variables have been selected, proceed to step S49; otherwise, return to step S45.

[0206] (S49) The variable selection unit 126 displays and outputs a list of groups of descriptive variables that were used as discretization objects in step S47.

[0207] Figure 16 This is a flowchart illustrating other process examples for variable selection.

[0208] This variable selection can be performed in step S13 above. Figure 15 The process and Figure 16 Either party in the process.

[0209] (S50) The variable selection unit 126 extracts groups of explanatory variables that appear in the assumption part of the hypothesis from the multiple blocks contained in the learned model.

[0210] (S51) The variable selection unit 126 categorizes the groups of explanatory variables extracted in step S50 into groups of the same type and counts the number of occurrences for each group of explanatory variables.

[0211] (S52) The variable selection unit 126 sorts the groups of variables in descending order of the number of times they appear.

[0212] (S53) The variable selection unit 126 selects a group of variables from the side that appears more frequently.

[0213] (S54) The variable selection unit 126 determines whether the group of explanatory variables selected in step S53 contains explanatory variables that have already been used as discretization objects. If it contains explanatory variables that have already been used, it proceeds to step S56; otherwise, it proceeds to step S55.

[0214] (S55) The variable selection unit 126 uses the group of explanatory variables selected in step S53 as the discretization object for multivariate discretization.

[0215] (S56) The variable selection unit 126 determines whether all groups of explanatory variables extracted in steps S50 to S52 have been selected. If all groups of explanatory variables have been selected, the process proceeds to step S57; otherwise, it returns to step S53.

[0216] (S57) The variable selection unit 126 generates a list of groups of descriptive variables that were used as discretization objects in step S55, and outputs the list.

[0217] exist Figure 15 as well as Figure 16 In the processing shown, the selection order of the chunks is from highest to lowest importance. Figure 15 Or in descending order of frequency ( Figure 16 Selecting chunks. However, alternatively, chunks can be selected based on the number of hits or hit rate, in descending order of the number of hits or hit rate, thus performing variable selection.

[0218] Regarding the discretization (preprocessing) described in the second embodiment, the effect relative to the comparative example was verified. The verification conditions are as follows. Furthermore, in the following description, there are cases where the discretization described in the second embodiment is presented as a suggested method.

[0219] • We used abalone (https: / / archive.ics.uci.edu / ml / datasets / Abalone) and wine (https: / / archive.ics.uci.edu / ml / datasets / wine) as the validation datasets.

[0220] • As machine learning algorithms, two are used: Random Forest (RF) and Wide Learning (WL), which is described in the second embodiment.

[0221] • 80% of the dataset is used as the training dataset, and the remaining 20% ​​is used as the dataset for evaluating the accuracy of label inference.

[0222] The training dataset is also used in determining the tangent point during discretization.

[0223] • 75% of the training dataset is used as the learning dataset for cutting point decision, and the remaining 25% is used as the evaluation dataset for cutting point decision. Furthermore, the evaluation dataset for cutting point decision is used for cutting point optimization in the case of comparative examples.

[0224] First, the cut point is determined using the training dataset (80% of the dataset). Next, learning and decision-making are performed by discretizing the cut points based on the decisions, and the decision accuracy is calculated.

[0225] Furthermore, abalone provides a dataset that identifies abalone by sex, various sizes, and age. In this validation, we implemented a determination of whether the abalone was 10 years or older. At the time of this validation, the abalone dataset contained 2081 positive examples, 2096 negative examples, and a total of 4177 items.

[0226] Additionally, wine uses a dataset that correlates data items indicating the wine's condition, such as alcohol content and sweetness, with the settlement amount. In this validation, a determination is made as to whether the settlement amount for the wine exceeds a specified amount. At the time of this validation, the wine dataset contained 855 positive examples, 744 negative examples, and a total of 1599 entries.

[0227] Figure 17 This is a graph showing the results of the effect verification.

[0228] Table 171 shows the results of the effectiveness verification. Figure 17In the table, cut, qcut, mdlp, and mmdlpAll indicate the decision accuracy of the comparison examples. Additionally, count_max and weight(abs)_max indicate the decision accuracy of the proposed method.

[0229] `cut` refers to a method of dividing the range of values ​​of a descriptor variable into equal intervals. `qcut` refers to a method of dividing the range of values ​​of a descriptor variable into equal frequencies. `mdlp` refers to a method of discretizing the entropy basis for a single descriptor variable. `mmdlpAll` refers to a method of discretizing the entropy basis for a combination of multiple descriptor variables.

[0230] count_max refers to the use of Figure 16 The suggested method has been explained. `weight(abs)_max` refers to using... Figure 15 The suggested methods have been explained.

[0231] Figure 17 The decision precision shown indicates the success rate of decision processing relative to all attempts on the evaluation dataset. A decision precision value of 1 means all attempts were correct, and a higher value indicates higher decision precision.

[0232] RF refers to the decision accuracy when using Random Forest. WL refers to the decision accuracy when using Wide Learning.

[0233] If reference Figure 17 Therefore, it can be seen that the decision accuracy of the case implementing the suggestion-based preprocessing method is higher than that of the arbitrary method implemented as a comparison example. Furthermore, when random forest is used as the machine learning algorithm, the decision accuracy of the case implementing the suggestion-based preprocessing method is higher than that of the vast majority of the comparison examples. Thus, it can be concluded that the effectiveness of the suggestion-based preprocessing method is not limited to the case where the machine learning algorithm is Wide Learning.

[0234] Figure 18 This is a flowchart illustrating an example of the multivariate discretization process.

[0235] Multivariate discretization is performed in step S14 above.

[0236] (S60) The multivariate discretization unit 127 selects one of the groups of descriptive variables adopted by the variable selection unit 126 as the discretization object.

[0237] (S61) The multivariate discretization unit 127 extracts the values ​​of the explanatory variables that constitute the groups of explanatory variables selected in step S60 from the multiple samples contained in the training data. The multivariate discretization unit 127 sorts the values ​​of each explanatory variable in ascending order.

[0238] (S62) The multivariate discretization unit 127 determines the range from the minimum to the maximum value sorted in step S61 for each explanatory variable, and determines the multidimensional space formed by the group of explanatory variables selected in step S60. The multivariate discretization unit 127 selects a region in the multidimensional space that has not yet been determined by the following steps S63 to S67. First, the entire multidimensional space formed by the group of explanatory variables is regarded as a region. If the multidimensional space is segmented, the segmented region becomes the selection object.

[0239] (S63) The multivariate discretization unit 127 determines the interval of each explanatory variable as the range of the region selected in step S62. The multivariate discretization unit 127 detects the tangent point of the mathematical formula (5) with minimum entropy in the interval for each explanatory variable.

[0240] (S64) The multivariate discretization unit 127 selects the point of tangency of the mathematical formula (5) with the minimum entropy among the points of tangency of each explanatory variable detected in step S63. In addition, the multivariate discretization unit 127 selects the explanatory variable to which the point of tangency belongs.

[0241] (S65) The multivariate discretization unit 127 calculates the gain of mathematical formula (7) and the threshold of mathematical formula (9) for the tangent point selected in step S64.

[0242] (S66) The multivariate discretization unit 127 determines whether the gain calculated in step S65 exceeds the threshold calculated in step S65. If the gain exceeds the threshold, proceed to step S67; if the gain is below the threshold, proceed to step S68.

[0243] (S67) The multivariate discretization unit 127 uses the tangent point selected in step S64 to divide the region selected in step S62 into two. Furthermore, if the gain is below a threshold, no tangent point is used, and the region in step S62 is not further divided.

[0244] (S68) The multivariate discretization unit 127 determines whether steps S63 to S67 have been performed on all regions. If all regions have been performed, proceed to step S69; otherwise, return to step S62 if there are undetermined regions.

[0245] (S69) The multivariate discretization unit 127 determines the segmented intervals for each explanatory variable. The multivariate discretization unit 127 appends new explanatory variables to the training data, indicating whether the value of each explanatory variable belongs to each interval.

[0246] (S70) The multivariate discretization unit 127 determines whether all groups of the original explanatory variables contained in the initial training data have been selected. If all groups of explanatory variables have been selected, the multivariate discretization ends; if there are unselected groups of explanatory variables, the process returns to step S60.

[0247] According to the machine learning apparatus 100 of the second embodiment, temporary machine learning is performed on training data that has undergone simple preprocessing or training data that has not undergone preprocessing. The model learned through temporary machine learning is analyzed to determine a group of important explanatory variables that are strongly correlated with the target variable. Then, the group of important explanatory variables is limited to a discretization process that detects cut-off points and sets the range of values ​​of the explanatory variables as preprocessing, and machine learning is performed on the training data that has undergone this preprocessing.

[0248] When using Wide Learning as a machine learning algorithm, models that present hypotheses easily understandable to humans can be generated, making it easy to verify the basis of the model's predictions and accept the results. Furthermore, because the explanatory variables are discretized as preprocessing, overlearning is suppressed compared to the case without discretization, enabling the learning of models with higher generality. Additionally, since entropy-based discretization is performed, the range of explanatory variable values ​​is set considering the distribution of the target variable's values. Therefore, it is easier to detect the boundaries of changes in the target variable's values, improving the accuracy of the learned model.

[0249] Furthermore, since discretization is performed by combining two or more explanatory variables, the distribution of the target variable's values ​​is considered in a multidimensional space. Therefore, compared to discretizing each explanatory variable individually, the risk of missing important cut points is reduced. Additionally, since discretization is limited to groups of important explanatory variables, the preprocessing and machine learning workload is reduced compared to exhaustively discretizing all groups of explanatory variables. Moreover, it prevents the range of explanatory variable values ​​from being overly subdivided, thus suppressing overlearning and improving model accuracy. Furthermore, since the groups of explanatory variables are selected based on ad-hoc machine learning results, the risk of missing important cut points that could affect model accuracy is reduced.

[0250] The foregoing content merely illustrates the principles of the invention. Those skilled in the art can make various modifications and alterations. The invention is not limited to the precise structures and applications shown and described above; all corresponding modifications and equivalents are considered to be within the scope of the invention based on the appended claims and their equivalents.

[0251] Explanation of reference numerals in the attached figures

[0252] 10 Machine learning device; 11 Storage unit; 12 Processing unit; 13, 14 Learning dataset; 13a, 13b Data items; 13c Label information; 15 Model; 16 Feature information set; 17 Index value set.

Claims

1. A storage medium storing a machine learning program, the machine learning program causing a computer to execute the following processing: for a plurality of learning data each being data in which label information is associated with a combination of data item values of a plurality of data items, converting the data item values into discretized data values discretized based on a prescribed reference for each data item, the data item values being values measured for a product using a sensor device, the label information indicating whether the product is a defective product; performing a learning process using the converted plurality of learning data, the learning process being a process of learning a model that inputs the discretized data values of the plurality of data items to make a determination on the label information, the model being a model that detects defective products from a production line; acquiring a plurality of different feature information and index values from a result of the learning process, the plurality of different feature information each indicating a combination of two or more data items among the plurality of data items used for the determination, the index values indicating respective importance of the plurality of feature information; selecting one or more feature information among the plurality of feature information based on the index values, and changing a reference for discretization of the data item values of the two or more data items included in the combination indicated by the selected one or more feature information, based on the combination of the two or more data items.

2. The storage medium according to claim 1, wherein the discretization of the data item values of one data item includes dividing a range of the data item values acceptable for the one data item into two or more intervals, in the changing of the reference for discretization, a multidimensional distribution of the data item values is calculated for the combination of the two or more data items indicated by the selected one feature information, and the two or more intervals for the two or more data items are changed based on the calculated multidimensional distribution.

3. The storage medium according to claim 2, wherein in the changing of the two or more intervals, the multidimensional distribution is divided into a plurality of regions according to a density of learning data for which the label information is the same, and a division point of a range of the data item values acceptable for the two or more data items is determined based on a boundary between the plurality of regions.

4. The storage medium according to claim 1, wherein the model includes a plurality of determination rules each associating a condition of the discretized data values satisfied by a part of the plurality of data items with an inference value of the label information, and the index values indicating respective importance of the plurality of determination rules, the plurality of feature information is acquired by extracting the part of the data items used in the condition from the plurality of determination rules included in the model.

5. The storage medium according to claim 1, wherein in the changing of the reference for discretization, the one or more feature information is selected so that a number of feature information including the same data item among the one or more feature information is below a threshold value.

6. The storage medium of claim 1, wherein, The above-described machine learning program causes the above-described computer to further execute the following processing: The above-described machine learning program causes the above-described computer to further execute the following processing:

7. A machine learning method, a computer executing the following processing: For a plurality of learning data each being data associating label information with a combination of data item values of a plurality of data items, the data item values being values measured for a product using a sensor device, the label information indicating whether the product is a defective product, the computer converts, for each data item, the data item value into a discretized data value discretized based on a prescribed reference, and executes learning processing using the converted plurality of learning data, the learning processing being processing of learning a model that takes the discretized data values of the plurality of data items as input to make a determination regarding the label information, the model being a model that detects defective products from a production line. From a result of the execution of the learning processing, the computer acquires different pieces of feature information each indicating a combination of two or more data items among the plurality of data items used for the determination, and an index value indicating an importance of each of the pieces of feature information. Based on the index value, the computer selects one or more pieces of feature information among the pieces of feature information, and changes a reference for discretization of the data item values of the two or more data items included in the combination indicated by the selected one or more pieces of feature information.

8. A machine learning device having: a storage section that stores a plurality of learning data each being data associating label information with a combination of data item values of a plurality of data items, the data item values being values measured for a product using a sensor device, the label information indicating whether the product is a defective product; and a processing section that, for the plurality of learning data, converts, for each data item, the data item value into a discretized data value discretized based on a prescribed reference, executes learning processing using the converted plurality of learning data, the learning processing being processing of learning a model that takes the discretized data values of the plurality of data items as input to make a determination regarding the label information, the model being a model that detects defective products from a production line, acquires, from a result of the execution of the learning processing, different pieces of feature information each indicating a combination of two or more data items among the plurality of data items used for the determination, and an index value indicating an importance of each of the pieces of feature information, selects one or more pieces of feature information among the pieces of feature information based on the index value, and changes a reference for discretization of the data item values of the two or more data items included in the combination indicated by the selected one or more pieces of feature information. ​

Citation Information

Patent Citations

  • Computer system and graphical model management method

    WO2016121053A1