GENERATION APPARATUS, GENERATION METHOD, AND GENERATION PROGRAM
The generating device enhances the alignment of prediction rules with user knowledge by generating prediction formulas that balance accuracy and user satisfaction, addressing the reliability issues in existing models.
Patent Information
- Application Number
- JP2022023849
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-18
- Publication Date
- 2025-04-23
- Estimated Expiration
- 2042-02-18
AI Technical Summary
Existing prediction models in classification or regression problems may be unreliable even if they are accurate and simple, as they fail to align with user knowledge.
A generating device that accesses learning data, a function system list containing physical laws and attributes, and search range limiting information, to execute a process generating prediction formulas and calculating their degree of satisfaction based on user-defined criteria.
Improves the consistency between prediction rules and user knowledge by generating prediction formulas that optimize both accuracy and user satisfaction, presenting clear and interpretable results.
Smart Images

Figure 0007667754000001 
Figure 0007667754000002 
Figure 0007667754000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a generating device, a generating method, and a generating program for generating rules for predicting data. [Background technology]
[0002] In classification or regression problems, there is a problem of wanting to align prediction rules with expert knowledge. For example, in a system for predicting the strength of a product manufactured based on data on manufacturing conditions and manufacturing methods, if the prediction rules are not aligned with expert knowledge, the system cannot be deployed with confidence. An example of expert knowledge is the physical property that a specific explanatory variable is proportional to strength. Technologies related to this problem are, for example, Patent Document 1 and Non-Patent Document 1.
[0003] The diagnosis support device of Patent Document 1 includes a classification unit, an algorithm change unit, and a re-classification unit. The classification unit executes classification processing using medical information as input, and outputs a first classification result and a first classification reason that led to the result. The algorithm change unit changes the algorithm of the classification processing in response to a rejection instruction for the first classification reason so that the first classification reason is not output. The re-classification unit executes classification processing after the algorithm change using the medical information as input, and outputs a second classification result and a second classification reason that led to the result. Non-Patent Document 1 is a technology for efficiently searching for a function that is simple and understandable to experts and best fits data. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2020-42346 A [Non-patent literature]
[0005] [Non-Patent Document 1] Crabbe, J., Zhang, Y., Zame, W., & van der Schaar, M. (2020). Learning outside the Black-Box: The pursuit of interpretable models. In Neural Information Processing Systems (NeurIPS'20), volume 33, 17838-17849. Summary of the Invention [Problem to be solved by the invention]
[0006] A learning model, i.e., a prediction rule, for a classification or regression problem may be highly accurate and simple, but may not be reliable because it does not match the user's knowledge.
[0007] An object of the present invention is to improve the consistency between prediction rules and user knowledge. [Means for solving the problem]
[0008] A generation device according to one aspect of the invention disclosed in the present application has a processor that executes a program and a storage device that stores the program, and is capable of accessing a set of learning data, which is a combination of explanatory variable values and target variable values, a function system list that includes functions indicating physical laws and at least the functions among the attributes of the functions, and search range limiting information that limits a search range of the function system list, wherein the processor executes a first generation process that generates a first prediction formula by setting a first parameter of the explanatory variable to a first function in the function system list, a first calculation process that calculates a first satisfaction level for the first prediction formula generated by the first generation process based on the search range limiting information, and a first output process that outputs the first prediction formula and the first satisfaction level calculated by the first calculation process. Effect of the Invention
[0009] According to the representative embodiment of the present invention, it is possible to improve the consistency between the prediction rules and the user's knowledge. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a block diagram showing an example of the hardware configuration of a computer. [Diagram 2] FIG. 2 is an explanatory diagram of an example of the learning DB in the first embodiment. [Diagram 3] FIG. 3 is an explanatory diagram of an example of a function list in the first embodiment. [Figure 4] FIG. 4 is an explanatory diagram of an example of search range limiting information in the first embodiment. [Diagram 5] FIG. 5 is a block diagram illustrating an example of a system configuration of the prediction rule generation system according to the first embodiment. [Figure 6] FIG. 6 is an explanatory diagram showing an example of an input screen on a client terminal. [Figure 7] FIG. 7 is an explanatory diagram showing an example of a candidate formula list. [Figure 8] FIG. 8 is an explanatory diagram showing an example of a display screen on a client terminal. [Figure 9] FIG. 9 is a flowchart illustrating an example of an optimization process procedure performed by the optimization unit and the satisfaction level calculation unit. [Figure 10] FIG. 10 is an explanatory diagram showing an example of generating search range limiting information. [Figure 11] FIG. 11 is a flowchart showing an example of a procedure for calculating the degree of satisfaction of search range limiting information (step S904). DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS EXAMPLES
[0011] <Example of computer hardware configuration> FIG. 1 is a block diagram showing an example of a hardware configuration of a computer. The computer 100 includes a processor 101, a storage device 102, an input device 103, an output device 104, and a communication interface (communication IF) 105. The processor 101, the storage device 102, the input device 103, the output device 104, and the communication IF 105 are connected by a bus 106. The processor 101 controls the computer 100. The storage device 102 serves as a working area for the processor 101. The storage device 102 is a non-transient or temporary recording medium that stores various programs and data. Examples of the storage device 102 include a ROM (Read Only Memory), a RAM (Random Access Memory), a HDD (Hard Disk Drive), and a flash memory. The input device 103 inputs data. Examples of the input device 103 include a keyboard, a mouse, a touch panel, a numeric keypad, and a scanner. The output device 104 outputs data. The output device 104 may be, for example, a display, a printer, or a speaker. The communication IF 105 connects to a network and transmits and receives data.
[0012] <Learning data> FIG. 2 is an explanatory diagram showing an example of the learning DB in the first embodiment. The learning DB 200 includes one or more explanatory variables (in FIG. 2, three variables are shown as examples: production date 201, water 202, and cement 203) and one objective variable (in FIG. 2, one variable is shown as an example: strength 204). For example, each entry of the learning DB 200 is learning data having the production date 201, water 202, and cement 203, which represent explanatory variables X1 to X3, and the strength 204, which represents the objective variable Y, as the production conditions, production method, and production results when concrete is produced. Although the number of explanatory variables is three in FIG. 2, one or more variables may be used. When the explanatory variables X1 to X3 are not distinguished, they are expressed as explanatory variable X.
[0013] Production date 201 is the date when the concrete was produced. Water 202 is the amount of water used on production date 201. Cement 203 is the amount of cement used on production date 201. Strength 204 is a numerical value indicating the strength of the concrete produced on production date 201.
[0014] Among the entries 211 to 216 in the learning DB 200, the first entry 211 indicates that the strength 204 of the concrete produced under the conditions that the production date 201 is "September 1, 2021", the water 202 is "100 [kg]", and the cement 203 is "500 [kg]" is "80 [MPa]". In the first embodiment, the objective variable Y is a continuous value, but it may be, for example, a binary value (1 or 0) indicating whether the strength 204 is sufficiently strong or not.
[0015] <Function list> 3 is an explanatory diagram showing an example of a function system list in the first embodiment. The function system list 300 is a list of rows including at least a function system 301 among a function system 301 and a tag 302. Here, the function system 301 is a set of functions that indicate physical laws. The function is a differentiable one-variable function such as (Y=)X, (Y=)sinX, etc. One function system 301 has zero or more tags 302. The tag 302 is an attribute given to the function system 301.
[0016] An example of the tag 302 is "electricity", which indicates that the function system 301 can be a solution to an equation related to electromagnetic waves or an electric circuit. For example, the entry in the second line indicates that the tag 302 "electricity" is added to the function system 301 "sin X". The function system list 300 is stored in the computer 100 in advance. The function system list 300 may also be set by a user's operational input.
[0017] <Search range limiting information> 4 is an explanatory diagram showing an example of search range limiting information in the first embodiment. The search range limiting information 400 is information that limits the search range of the prediction formula, and is generated by information input by a user. The search range limiting information 400 is a list of rows including a type 401, an element 402, and a degree of satisfaction 403. Here, the type 401 is either a function system 301, a tag 302, or a theoretical formula. The theoretical formula will be described later in the second embodiment.
[0018] The element 402 is a value in the function system list 300 of the function system 301 and tag 302 specified by the type 401. In the entry in the first row, the type 401 is the function system 301, and the element 402 is "X" (the value of the function system 301 in the entry in the first row of the function system list 300). In the entry in the second row, the type 401 is the tag 302, and the element 402 is "chemistry" (the value of the tag 302 in the entry in the first row of the function system list 300).
[0019] The degree of satisfaction 403 is a real value indicating how convinced the user is that the type 401 is the element 402. The larger the real value, the more convinced the user is. The entry in the first row indicates that the degree of satisfaction 403 is "1" that the element 402 of the function system 301, which is the type 401, is "(Y=)X". The entry in the second row indicates that the degree of satisfaction 403 is "1" that the element 402 of the tag 302, which is the type 401, is "chemistry". In other words, in the case of FIG. 4, this indicates that the function system 301 being "(Y=)X" and the tag 302 being "chemistry" are equally convincing.
[0020] The degree of satisfaction 403 can be set to a value other than "1". The user can freely set the degree of satisfaction 403. If the degree of satisfaction 403 is set to a fixed value (for example, "1") for any combination of type 401 and element 402, the column for degree of satisfaction 403 does not need to exist. However, computer 100 uses the fixed value for degree of satisfaction 403 for any combination of type 401 and element 402 in the calculation of the degree of satisfaction described below.
[0021] <Prediction rules> The prediction rule is a rule for predicting data such as intensity 204, and is expressed by the following formula (1) which calculates a predicted value y of a response variable Y when an explanatory variable X is input.
[0022] y = 0.1x2 + 0.14x3 + 5 (1)
[0023] For example, when the explanatory variable X2 (=100) of the entry in the first row of the learning DB 200 shown in FIG. 2 is input into x2 and X3 (=) 500 is input into x3, the predicted value y of the objective variable Y is “85”.
[0024] <Prediction rule generation system> 5 is a block diagram showing an example of a system configuration of the prediction rule generation system in the first embodiment. The prediction rule generation system 500 includes one or more client terminals 501, a DB (database) server 502, and a prediction rule generation device 503. The client terminals 501, the DB server 502, and the prediction rule generation device 503 are communicatively connected via a network 504 such as the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network). The client terminals 501, the DB server 502, and the prediction rule generation device 503 are realized by the computer 100 shown in FIG.
[0025] The DB server 502 stores the learning DB 200 and the function system list 300. The learning DB 200 and the function system list 300 may be stored in the prediction rule generating device 503.
[0026] The prediction rule generation device 503 has a data acquisition unit 531, a prediction rule generation unit 532, and a screen generation unit 533. The prediction rule generation unit 532 has an optimization unit 541 and a satisfaction degree calculation unit 542. Specifically, the data acquisition unit 531, the prediction rule generation unit 532, and the screen generation unit 533 are functions realized by, for example, having the processor 101 execute a program stored in the storage device 102 shown in FIG.
[0027] The data acquisition unit 531 is a program that is started in response to an input from the client terminal 501. The data acquisition unit 531 accesses the DB server 502, acquires the learning DB 200 and the function system list 300 from the DB server 502, and stores them in the storage device 102. The data acquisition unit 531 also acquires information input from the client terminal 501 via a screen, converts it into search range limiting information 400, and stores it in the storage device 102.
[0028] Fig. 6 is an explanatory diagram showing an example of an input screen in the client terminal 501. As shown in Fig. 6, the user can specify which prediction formula is acceptable from the input screen 600 of the client terminal 501 by one or more of three methods. The first method is a method of specifying only the function system 301. As shown in the left part of Fig. 6, the input screen 600 displays a list 601 of function systems included in the function system list 300, and the user can select one or more acceptable function systems 301 by checking boxes. Instead of the check boxes, a form for inputting real values indicating the degree of acceptance may be used.
[0029] The second method is to specify only the tag 302. As shown in the center of FIG. 6, the input screen 600 displays a list of tags 602 included in the function system list 300, and the user inputs one or more tags 302 that are acceptable by checking the boxes. Instead of the check boxes, a form for inputting a real value indicating how acceptable the tag 302 is may be used. The third method is to specify the function system 301 and the tag 302. In this method, if either the function system 301 or the tag 302 corresponds to the prediction formula, the degree of satisfaction described below increases. Therefore, compared to the first and second methods, the frequency of increase in the degree of satisfaction is improved, and the optimization of the prediction formula can be accelerated. The fourth method is to input only the theoretical formula, and the fifth method is to input the theoretical formula and the tag 302, but details will be described in Example 2.
[0030] In the first embodiment, the user does not input a theoretical formula, but specifies a prediction formula that is satisfactory by one of the two methods described above. After the user specifies a prediction formula that is satisfactory by one or more methods, the data acquisition unit 531 is started when the user presses the search start button 610.
[0031] Next, an example of a method for converting user input information into search range limiting information 400 will be described. First, the initial value of search range limiting information 400 is empty. When the user specifies a satisfactory function system 301 with a checkbox, data acquiring unit 531 adds an entry of {Type 401: "Function system", Element 402: Function system 301 specified with the checkbox, Convincing degree 403: 1 (default)} to search range limiting information 400.
[0032] For example, when the user selects only function system 301 "X" from function system list 601 using a check box, {Type 401: "Function system", Element 402: X, Level of satisfaction 403: 1 (default)} is added, as in the entry in the first row of Fig. 4. When a real value indicating the level of satisfaction is entered on input screen 600 instead of a check box, the real value is set as level of satisfaction 403 in the entry.
[0033] When the user selects only tags 302 that he or she finds satisfactory from the tag list 602 using the check boxes, the data acquisition unit 531 adds an entry, {Type 401: “Tag”, Element 402: Tag 302 selected using the check box, Degree of satisfaction 403: 1 (default)} to the search range limitation information 400.
[0034] For example, when the user specifies only the tag 302 "chemistry", {type 401: "tag", element 402: chemistry, degree of satisfaction 403: 1 (default)} is added as the entry in the second row of Fig. 4. When a real value indicating the degree of satisfaction is entered instead of a check box, the real value is set as the degree of satisfaction 403 in the entry.
[0035] The prediction rule generating unit 532 generates a candidate formula list based on the learning DB 200, the function system list 300, and the search range limiting information 400. The candidate formula list includes one or more prediction formula candidates and auxiliary information for each candidate.
[0036] 7 is an explanatory diagram showing an example of a candidate formula list. The candidate formula list 700 has a candidate number 701, a prediction formula 702, an accuracy 703, a complexity 704, a degree of convincing 705, and a tag 706. The accuracy 703, the complexity 704, the degree of convincing 705, and the tag 706 are auxiliary information of the prediction formula 702 specified by the candidate number 701.
[0037] Accuracy 703 is an index showing how much the output of prediction formula 702 deviates from the objective variable Y of the learning data, and for example, a squared error is used. In other words, the smaller the squared error, the better the accuracy 703. Complexity 704 is an index showing the complexity of prediction formula 702, and for example, the number of parameters of prediction formula 702 is used. For example, the prediction formula 702 in the entry on the second line has four parameters, namely, "255", "0.00043", "0.3", and "28", and therefore the complexity 704 is "4".
[0038] The degree of satisfaction 705 is a score related to the prediction formula 702. Specifically, for example, the degree of satisfaction 705 is an index value that evaluates how satisfied the user is with the prediction formula 702, and is calculated based on the search range limiting information 400. For example, if the degree of satisfaction 705 of a certain prediction formula 702 is greater than the degree of satisfaction 705 of another prediction formula 702, it indicates that the user is more satisfied with the certain prediction formula 702 than the other prediction formula 702. The tag 706 is the tag 302 determined from the function system list 300. A specific method of determining candidates for the prediction formula 702 and a method of calculating auxiliary information will be described later. In FIG. 7, the number of candidates for the prediction formula 702 to be output is set to 2, but the number of candidates may be determined in advance as a constant by the prediction rule generating device 503, or the user may specify the number of candidates to the prediction rule generating device 503 through the client terminal 501.
[0039] The optimization unit 541 uses the learning DB 200 to calculate a plurality of candidates for the prediction formula 702 that takes into consideration the accuracy 703 and the degree of satisfaction 705 and maximizes the objective function L, and outputs a candidate formula list 700.
[0040] The satisfaction degree calculation unit 542 calculates the satisfaction degree 705 based on the prediction formula 702 being searched for. The prediction formula 702 being searched for is input from the optimization unit 541. The calculated satisfaction degree 705 is utilized in the optimization by the optimization unit 541. An example of a method for calculating the satisfaction degree 705 will be described.
[0041] First, the satisfaction degree calculation unit 542 sets the initial value of the satisfaction degree 705 to 0. Then, the following process is performed for each row R of the search range limiting information 400. When the type 401 of row R is the function system 301, if the prediction formula 702 being searched and the element 402 of row R of the search range limiting information 400 are the same function system 301, the value of the satisfaction degree 403 of row R of the search range limiting information 400 is added to the current satisfaction degree 705.
[0042] For example, when the prediction formula 702 being searched is y=x1, this corresponds to Y=X, which is the element 402 in the first row of the search range limiting information 400 in Fig. 4. Therefore, the satisfaction degree calculation unit 542 adds the value "1" of the degree of satisfaction 403 to the satisfaction degree 705.
[0043] Also, when the type 401 of the row R is the tag 302, the satisfaction degree calculation unit 542 judges whether the element 402 of the row R is included in the tag 706 corresponding to the prediction formula 702 being searched for. If included, the satisfaction degree calculation unit 542 adds the value of the satisfaction degree 403 of the row R to the current satisfaction degree 705.
[0044] At this time, the satisfaction degree calculation unit 542 identifies the tag 706 corresponding to the prediction formula 702 being searched for from the function system list 300. For example, consider a situation in which the prediction formula 702 being searched for is y=x1, and an entry in row R=2 of the search range limiting information 400 in FIG. 4 is processed. In this case, the tag 302 "chemistry", which is the element 402 in row R=2, corresponds to the tag 302 corresponding to "X" of the function system 301 in the function system list 300.
[0045] Therefore, the satisfaction degree calculation unit 542 adds the value "1" of the satisfaction degree 403 of the element 402 (chemistry) in row R=2 to the satisfaction degree 705 of the prediction formula 702 being searched for. Then, the satisfaction degree calculation unit 542 sets "chemistry", which is the tag 302 corresponding to "X" in the function system 301, to the tag 706 of the prediction formula 702 being searched for. Note that the processing when the type 401 in row R is a theoretical formula will be described in Example 2.
[0046] The screen generation unit 533 converts the candidate formula list 700 into a format that can be displayed on the screen of the client terminal 501 .
[0047] 8 is an explanatory diagram showing an example of a display screen on the client terminal 501. A display screen 800 displays a candidate formula list 700, a candidate number input form 801, a search end button 802, an accuracy improvement button 803, and an improvement result 804.
[0048] The candidate number input form 801 is a field for accepting input of the candidate number 701. The end search button 802 is a user interface for ending the search for the prediction formula 702 of the candidate number 701 input in the candidate number input form 801. The improve accuracy button 803 is a user interface for reflecting a correction to the entry of the candidate number 701 input in the candidate number input form 801. The improvement result 804 is the corrected candidate formula list 700 that is displayed when the improve accuracy button 803 is pressed.
[0049] For example, if a prediction formula 702 with both a satisfactory accuracy 703 and a satisfactory degree of acceptability 705 is found in the candidate formula list 700 , the user inputs the candidate number 701 into a candidate number input form 801 and presses the search end button 802 .
[0050] Furthermore, if the user finds a prediction formula 702 in the candidate formula list 700 that is acceptable but has insufficient accuracy 703, the user inputs the candidate number 701 and presses the accuracy improvement button 803. The processing method for improving accuracy will be described later. This triggers each process of the prediction rule generating device 503 to be executed again, and the results are displayed as a new candidate formula list 700 on the screen of the client terminal 501.
[0051] <Optimization procedure> 9 is a flowchart showing an example of an optimization process procedure by the optimization unit 541 and the satisfaction degree calculation unit 542. Only steps S404 and S405 are processes executed by the satisfaction degree calculation unit 542, and the details are as described above. Steps other than S404 and S405 are processes executed by the optimization unit 541, and the details are described below.
[0052] The optimization unit 541 selects an unselected entry from the function system list 300 (step S). The optimization unit 541 sets an initial value of the prediction formula 702 for the selected entry from the function system list 300 (step S902). The optimization unit 541 calculates an error function for the selected entry from the function system list 300 and sets the precision 703 (step S903).
[0053] As described above, the satisfaction degree calculation unit 542 calculates the satisfaction degree 705 for the selected entry from the function system list 300 (step S904). As described above, the satisfaction degree calculation unit 542 sets the tag 706 for the selected entry from the function system list 300 (step S905).
[0054] The optimization unit 541 judges whether the termination condition is satisfied (step S906), and if the termination condition is not satisfied (step S906: No), updates the error function to be searched (step S907) and returns to step S903. On the other hand, if the termination condition is satisfied (step S906: Yes), the optimization unit 541 judges whether an unselected entry remains in the function system list 300 (step S907).
[0055] If an unselected entry remains, the process returns to step S901. If an unselected entry does not remain, the optimization unit 541 outputs the optimization result to the client terminal 501 (step S909). This ends a series of processes. Each step will be described in detail below.
[0056] The purpose of steps S901 to S907 is to calculate an optimal function in terms of accuracy 703 and degree of satisfaction 705 from among the functions belonging to function system 301 of the selected entry. Here, the function belonging to function system 301 of the selected entry is a function that can be expressed in the form of wF(a1x1+a2x2+...+anxn+b) obtained by inputting a linear function of explanatory variable X to X of function F(X) indicating function system 301 of the selected entry and multiplying it by a constant.
[0057] For example, if the function system 301 of the selected entry is "sinX" and the explanatory variables X are x1, x2, and x3, the optimization unit 541 searches for an optimal function among functions of the form wsin(a1x1+a2x2+a3x3+b).
[0058] Here, p=(w, a1, a2, ..., an, b) is a real number and an optimization variable. When the parameter p is determined, wF(a1x1+a2x2+...+anxn+b) of the prediction formula 702 is determined, so hereinafter, the parameter p may be referred to as the prediction formula 702. Since each function system 301 of the function system list 300 is differentiable, it can be optimized using, for example, a gradient method.
[0059] Specifically, first, the optimization unit 541 determines an initial value of the parameter p in step S902. For example, the optimization unit 541 sets the initial value p0 of the parameter p to p0=(w, a1, a2, ..., an, b)=(1, 1, 1, ..., 1, 0).
[0060] In step S903, the optimization unit 541 calculates an error function for the provisional search parameter p0. For example, the error function is the square error Σ|y(i)−f(x(i))| 2 is used.
[0061] Here, the sum Σ is taken for entry i of the learning DB 200. y(i) corresponds to the objective variable Y, which is the intensity 204 in the first embodiment. Also, f(x(i)) is a predicted value calculated based on the explanatory variable x(i) of the entry in the i-th row. That is, it is the output value when the explanatory variable x(i) of the entry in the i-th row is input to wF(a1x1+a2x2+...+anxn+b) of the prediction formula 702 corresponding to the parameter p0.
[0062] In step S904, as described above, the satisfaction degree calculation unit 542 updates the satisfaction degree 705, and in step S905, as described above, the satisfaction degree calculation unit 542 sets the tag 302 corresponding to the function system 301 to the tag 706 of the prediction formula 702 being searched.
[0063] In step S906, for example, the optimization unit 541 calculates the value of the objective function L in the parameter p0 that is the provisional prediction formula 702, and if the value of the objective function L is worse than the provisional optimal value, that is, if it has increased, it is determined that the termination condition is satisfied (step S906: Yes). Here, the objective function L is, for example, a weighted sum L=L1-C×L2 of the value of the error function L1 calculated in step S903 and −L2, which is the value L2 of the satisfaction level 705 calculated in step S904 multiplied by minus 1.
[0064] The initial value of the provisional optimal value is a preset value (or the value of the objective function L when step S906: No is obtained the first time), and when step S906: No is obtained, it is updated to the value of the objective function L at that time.
[0065] It can be said that the smaller the value of the objective function L is, the better the prediction formula 702. Specifically, for example, the smaller L1 is and the larger L2 is, the smaller the value of the objective function L is. Here, C is a positive constant, and is a parameter for controlling which of the accuracy 703 and the degree of satisfaction 705 is to be emphasized. C may be determined in advance as a constant by the prediction rule generation device 503, or may be specified by the user to the prediction rule generation device 503 via the client terminal 501.
[0066] If the termination condition is satisfied in step S906 (step S906: Yes), the optimization unit 541 stores the optimal prediction formula 702 at the time when the termination condition is satisfied, the accuracy 703 which is the error function calculated in step S903, and the satisfaction level 705 calculated in step S904 in the memory device 102, and proceeds to step S908.
[0067] On the other hand, if the termination condition is not satisfied (step S906: No), that is, if the value of the objective function L is not worse than the provisional optimal value, the optimization unit 541 updates the latest optimal value and the prediction formula 702 that achieves the optimal value by the parameter p0 (step S907), and returns to step S903.
[0068] In step S907, the optimization unit 541 updates the parameters of the prediction formula 702 to be searched. For example, the optimization unit 541 calculates a gradient vector ∇L for the objective function L in p0=(w, a1, a2, ..., an, b) which is the current prediction formula 702, and sets p0-∇L as p0 of the new prediction formula 702. Then, for p0 of the new prediction formula 702, the process returns to step S903 and is repeated. The above loop is executed until the end condition is satisfied (step S906: Yes).
[0069] However, if the termination condition is not satisfied even after N executions (step S906: No), the optimization unit 541 may terminate the search based on the prediction formula 702 at that time. Here, N is a parameter specifying the maximum number of searches. N may be determined in advance as a constant by the prediction rule generation device 503, or may be specified by the user to the prediction rule generation device 503 via the client terminal 501.
[0070] In step S909, the optimization unit 541 outputs prediction rules. Specifically, for example, the optimization unit 541 sorts the optimal prediction formulas 702 in each function system 301 determined up to this point, and outputs M of them. Specific examples of the sorting order include ascending order of error function L1, descending order of satisfaction level L2, or ascending order of objective function L. Here, M is a parameter that specifies the number of prediction formulas 702 to be output. M may be determined in advance as a constant by the prediction rule generation device 503, or may be specified by the user to the prediction rule generation device 503 via the client terminal 501.
[0071] Next, a process to be performed when the user presses the accuracy improvement button 803 in Fig. 8 will be described. The optimization unit 541 executes optimization again based on p0, which is the prediction formula 702 corresponding to the candidate number 701 input in the candidate number input form 801.
[0072] Specifically, the optimization unit 541 uses the prediction rule generation unit 532 in the same way as the first time to find p0+p1 as the optimal prediction formula 702 based on p0. That is, the optimization unit 541 fixes p0 and searches for p1 that correctly predicts the residual y-p0 of the prediction formula 702.
[0073] The process of the prediction rule generating unit 532 is basically the same as that of searching for p0, and searches for p1. However, the degree of satisfaction 705 of p1 is used. That is, for example, the optimization unit 541 calculates the error function L1 as L1=Σ|y(i)-(p0+p1)(x(i))| 2 , where the satisfaction level 705 of p1 is L2, and p1 that minimizes L=L1-C×L2 is searched for. After searching for multiple candidates for p1, the optimization unit 541 causes the client terminal 501 to display the display screen 800 shown in FIG. 8 again, as in the first time, via the screen generation unit 533.
[0074] In Fig. 8, p0 is displayed as prediction formula 702, but after updating, p0+p1 is displayed as prediction formula 702. For example, in Fig. 8, "2" is entered as candidate number 701 in candidate number input form 801. When accuracy improvement button 803 is pressed, optimization is performed for p0=255sin(0.00043x_2+0.3x_3+28), which is prediction formula 702 with candidate number 701 of "2", and improvement result 804 is displayed. In improvement result 804, two prediction formulas 702 are displayed.
[0075] In the improved result 804, the prediction formula 702 with the candidate number 701 of "1" is 255sin(0.00043x_2+0.3x_3+28)+cos(x_1). "255sin(0.00043x_2+0.3x_3+28)" is p0, and "cos(x_1)" is p1.
[0076] Similarly, in the improved result 804, the prediction formula 702 for the candidate number 701 "2" is 255sin(0.00043x_2+0.3x_3+28)+exp(x_2+x_3). "255sin(0.00043x_2+0.3x_3+28)" is p0, and "exp(x_2+x_3)" is p1.
[0077] Thereafter, this operation is repeated until the user presses the search end button 802. For example, when the accuracy improvement button 803 is pressed again, a search is made for p2 that correctly predicts y-p0-p1. EXAMPLES
[0078] Next, a second embodiment will be described. In the second embodiment, an example of calculating a prediction rule based on the learning DB 200, the search range limiting information 400, and the function set list 300 will be described. The second embodiment differs from the first embodiment in that the satisfaction level calculation unit 542 outputs a similarity indicating how similar the prediction formula 702 is to the specified theoretical formula as the satisfaction level 705. That is, in the second embodiment, the satisfaction level 705 is considered to be higher the more similar the prediction formula 702 is to the theoretical formula specified by the user, and the prediction rule generation device 503 searches for a formula with a high satisfaction level 705 and accuracy 703.
[0079] In the second embodiment, the search range limiting information 400 includes an entry whose type 401 is a theoretical formula. That is, the user inputs a theoretical formula through an input screen 600 as shown in Fig. 76, and the data acquiring unit 311 converts the theoretical formula into search range limiting information including an entry whose type 401 is a theoretical formula. Note that the second embodiment will be described mainly with respect to differences from the first embodiment, and therefore descriptions of common parts with the first embodiment will be omitted.
[0080] FIG. 10 is an explanatory diagram showing an example of generation of search range limiting information. The input screen 600 has a theoretical formula specification area 1000. The theoretical formula specification area 1000 has a condition input form 1001 and a theoretical formula input form 1002. The condition input form 1001 is an input field for receiving input of conditions for the explanatory variable X. The theoretical formula input form 1002 is an input field for receiving input of a theoretical formula. The theoretical formula specification area 1000 may be a method that directly receives input of a character string, or may be a method in which buttons for operators such as +, -, ×, ÷, sin, exp, >, <, etc. and buttons for each explanatory variable x1, x2,... are prepared and input is made using those buttons.
[0081] The theoretical formula is a prediction formula 702 of the target variable Y that is expected to hold under specific conditions. Specifically, it is specified by a combination of the specific conditions input to the condition input form 1001 and the prediction formula 702 that predicts the target variable Y by the explanatory variable X and input to the theoretical formula input form 1002.
[0082] For example, assume that in the condition input form 1001, for the explanatory variables X, x2 and x3, as condition D, "95 < x2 < 105" and "380 < x3 < 519" are input, and in the theoretical formula input form 1002, as the theoretical formula q, "y = exp{0.1(x2 - 100)}" is input.
[0083] The data acquisition unit 531 converts the information input to the theoretical formula specification area 1000 into search range limiting information 1010. For the search range limiting information 1010, for example, the type 401 is the character string "theoretical formula", the element 402 is a combination of the condition D input to the condition input form 1001 and the theoretical formula q input to the theoretical formula input form 1002, and the degree of acceptance 403 is empty, that is, NULL.
[0084] Fig. 11 is a flowchart showing an example of a procedure (step S904) for calculating the degree of satisfaction of the search range limiting information 1010. Fig. 11 shows a process in which the degree of satisfaction calculation unit 542 calculates a similarity indicating how similar p, which is the prediction formula 702 currently being searched, is to the theoretical formula q under condition D, and outputs the similarity as the degree of satisfaction 403 of p.
[0085] The satisfaction degree calculation unit 542 acquires learning data that satisfies the condition D from the learning DB 200 (step S1101). Specifically, for example, the satisfaction degree calculation unit 542 determines whether each entry in the learning DB 200 satisfies the inequality of the condition D, acquires only the satisfying entries, and sets the acquired entry group A. For example, in FIG. 2, the entry 211 in the first row and the entry 216 in the sixth row satisfy the condition D. Therefore, the satisfaction degree calculation unit 542 acquires these two entries 211 and 216 as the acquired entry group A.
[0086] Next, the satisfaction degree calculation unit 542 determines one or more representative points for calculating the similarity (step S1102). For example, the satisfaction degree calculation unit 542 may set each entry of the acquired entry group A as the representative point, or may set the average data of the acquired entry group A, that is, the average value for each explanatory variable X, as the representative point. For example, when each entry is set as the representative point, the entry 211 in the first row and the entry 216 in the sixth row become the representative points as they are, and when the average is taken for each explanatory variable X, the entry of the average value becomes one representative point.
[0087] Next, the satisfaction degree calculation unit 542 selects an unselected representative point from the representative point set (step S1103). The satisfaction degree calculation unit 542 executes steps S1103 and S1104 for the selected representative point Xi, and proceeds to step S1105. In step S1105, the satisfaction degree calculation unit 542 determines whether or not there is an unselected representative point in the representative point set, and if there is an unselected representative point, the process returns to step S1103. On the other hand, if there is no unselected representative point, the series of processes ends.
[0088] In step S1103, the satisfaction degree calculation unit 542 calculates the degree of similarity between p, which is the prediction formula 702, and the theoretical formula q in the vicinity of the selected representative point Xi. Specifically, for example, the satisfaction degree calculation unit 542 performs Taylor expansion of the prediction formula p and the theoretical formula q up to Kth order at the selected representative point Xi, and sets the list of coefficients of the prediction formula p as {p1, p2, ..., pt} and the list of coefficients of the theoretical formula q as {q1, q2, ..., qt}. However, each element 402 of the function system list 300 needs to be differentiable K times or more.
[0089] Here, K is an integer equal to or greater than 0, and may be determined in advance as a constant by prediction rule generation device 503 , or may be specified by the user to prediction rule generation device 503 via client terminal 501 .
[0090] In step S1104, the satisfaction degree calculation unit 542 calculates the similarity between the coefficients {p1, p2, ..., pt} and {q1, q2, ..., qt} obtained by the Taylor expansion in step S1103. For example, the satisfaction degree calculation unit 542 calculates the similarity between the coefficients {p1, p2, ..., pt} and {q1, q2, ..., qt} obtained by the Taylor expansion in step S1103. 2 where the sum Σ is taken from j=1 to j=t. The larger this square error is, the more p, which is the prediction formula 702, deviates from the theoretical formula q, so that minus 1 can be regarded as the similarity. The satisfaction degree calculation unit 542 subtracts this similarity from the value L2 of the satisfaction degree 705. The above is the processing of the satisfaction degree calculation unit 542. Furthermore, the prediction rule generation device 503 may output the coefficients {p1, p2, ..., pt} and {q1, q2, ..., qt}.
[0091] The process of re-executing optimization to improve accuracy 703 is also the same as in the first embodiment. That is, when re-executing optimization when the user presses the accuracy improvement button 803 shown on the display screen 800 of Fig. 8, as described in the first embodiment, the optimization unit 541 obtains p1 that minimizes L1-C×L2 based on the error function L1 and the satisfaction level L2, and outputs a new formula p0+p1. At that time, the similarity between the theoretical formula q and the prediction formula 702, p0+p1, is used as the satisfaction level 705. The calculation of the similarity is the same as the first optimization method described above.
[0092] As described above, according to the first and second embodiments, the prediction rule generation device 503 prepares in advance the simple function set list 300 as a set of prediction rule candidates, and searches for prediction rules that are highly accurate and likely to be acceptable to experts from among them. When searching, the prediction rule generation device 503 utilizes the search range limiting information 400 that describes what kind of prediction rules experts would be satisfied with. Specifically, the prediction rule generation device 503 calculates the degree of acceptability 705 for each prediction rule based on the search range limiting information 400, and generates prediction rules that optimize the accuracy 703 and the degree of acceptability 705.
[0093] In this way, by calculating the degree of satisfaction 705, it is possible to present to the user an index of whether the generated prediction rule is a result that is satisfactory from the user's point of view. In addition, since the generated prediction rule is expressed as a polynomial, it is not a black-box learning model whose contents are unknown, such as AI (Artificial Intelligence). Therefore, it is possible to present to the user as highly accurate and simple information. In addition, by adding auxiliary information such as complexity 703 and tags 706, it is possible to improve the understandability of the prediction rule. From the above, it is possible to obtain a prediction rule that is highly accurate, simple, and satisfactory to the user.
[0094] The prediction rule generating device 503 is useful in the following cases, for example. For example, in cases where a simple formula is acceptable to a customer for persuasion or quality assurance, the user can select from the input screen 600 which function in the function system 301 is understandable, and the prediction rule can be presented in the search range limiting information 400. For example, for a user who knows the sine function or Bessel function and is therefore able to understand a phenomenon related to electromagnetic waves, the user can select the sine function or Bessel function from the function system 301. This allows the user to directly select the function system 301 that is acceptable to the user, or to indirectly select the function system 301 to be searched, by specifying a domain.
[0095] For a user who knows formula E locally and is convinced that the prediction rule is consistent with formula E, as shown in the second embodiment, the prediction rule generation device 503 presents the K-th order coefficient in the Taylor expansion at the representative point of the local region if it is similar to the coefficient of formula E. For example, if the user knows formula E: y=x1+2x1×x2 2 must hold if the condition x3≧4 is satisfied, the prediction rule generation device 503 can indirectly restrict the functions to be searched for by the user inputting the formula E and its condition.
[0096] The present invention is not limited to the above-described embodiments, and includes various modified examples and equivalent configurations within the spirit of the appended claims. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those having all of the configurations described. Also, a part of the configuration of one embodiment may be replaced with a configuration of another embodiment. Also, a configuration of another embodiment may be added to a configuration of one embodiment. Also, a part of the configuration of each embodiment may be added, deleted, or replaced with another configuration.
[0097] Furthermore, each of the aforementioned configurations, functions, processing units, processing means, etc. may be realized in hardware, for example by designing some or all of them as an integrated circuit, or may be realized in software by a processor interpreting and executing a program that realizes each function.
[0098] Information such as programs, tables, files, etc. that realize each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive), or in a recording medium such as an IC (Integrated Circuit) card, an SD card, or a DVD (Digital Versatile Disc).
[0099] In addition, the control lines and information lines shown are those considered necessary for the explanation, and do not necessarily show all the control lines and information lines necessary for implementation. In reality, it can be considered that almost all components are connected to each other. [Explanation of symbols]
[0100] 101 Processor 102 Storage Devices 200 Learning DB 300 Function List 311 Data Acquisition Department 400 Search Range Limited Information 500 Prediction Rule Generation System 501 Client terminal 503 Prediction Rule Generator 531 Data Acquisition Department 532 Prediction Rule Generation Unit 533 Screen generation section 541 Optimization Department 542 Convincing degree calculation unit 702 Prediction formula 703 Accuracy 705 Convincing 706 Tags
Claims
1. A generating device having a processor that executes a program and a storage device that stores the program, a set of learning data which is a combination of explanatory variable values and objective variable values; a function system list including at least a function indicating a physical law and an attribute of the function; and search range limiting information which limits a search range of the function system list; The processor, a first generation process for generating a first prediction formula by setting a first parameter of the explanatory variable to a first function in the function system list; a first calculation process for calculating a first degree of satisfaction regarding the first prediction formula generated by the first generation process based on the search range limiting information; a first output process for outputting the first prediction formula and the first satisfaction degree calculated by the first calculation process; A generating device characterized by executing the above.
2. The generating device according to claim 1 , the search range limiting information is a specific function in the function list, In the first calculation process, the processor calculates the first satisfaction degree based on the specific function and the first function of the first prediction formula. A generating device characterized by:
3. The generating device according to claim 1 , the function family list includes attributes of the function; the search range limiting information is a specific attribute in the function list; In the first calculation process, the processor calculates the first satisfaction degree based on the specific attribute and an attribute of the first function of the first prediction formula. A generating device characterized by:
4. The generating device according to claim 3, In the first output process, the processor outputs the specific attribute. A generating device characterized by:
5. The generating device according to claim 1 , the search range limiting information is a range of values of the explanatory variables and a theoretical formula that is valid within the range; In the first calculation process, the processor acquires specific learning data corresponding to a value range of the explanatory variable from the collection of learning data, and calculates a similarity between the first prediction formula and the theoretical formula as the first degree of satisfaction using the specific learning data. A generating device characterized by:
6. The generating device according to claim 5, In the first calculation process, the processor performs Taylor expansion on the first prediction formula and the theoretical formula to which the specific learning data is input, and calculates a similarity between a coefficient obtained from the Taylor expansion of the first prediction formula and a coefficient obtained from the Taylor expansion of the theoretical formula as the first degree of satisfaction. A generating device characterized by:
7. 7. The generating device of claim 6, In the first output process, the processor outputs a coefficient obtained from a Taylor expansion of the first prediction formula and a coefficient obtained from a Taylor expansion of the theoretical formula. A generating device characterized by:
8. The generating device according to claim 1 , The processor, a first optimization process is executed to calculate an objective function of the first prediction formula based on the accuracy of the first prediction formula obtained from a predicted value calculated by inputting values of the explanatory variables into the first prediction formula and the value of the objective variable, and based on the first satisfaction level, and to update the first parameter based on the objective function; In the first generation process, the processor updates the first prediction formula by setting a first parameter updated by the first optimization process to the first function; In the first calculation process, the processor calculates a first degree of satisfaction regarding the updated first prediction formula generated by the first generation process, based on the search range limiting information; In the first output process, the processor outputs the updated first prediction formula and a first degree of satisfaction regarding the updated first prediction formula. A generating device characterized by:
9. 9. The generating device of claim 8, The processor, repeating the first generation process and the first calculation process until the objective function satisfies a predetermined condition; A generating device characterized by:
10. 9. The generating device of claim 8, In the first output process, when the objective function satisfies a predetermined condition, the processor outputs the updated first prediction formula and a first degree of satisfaction regarding the updated first prediction formula. A generating device characterized by:
11. The generating device according to claim 1 , In the first output process, the processor outputs the complexity of the first prediction formula. A generating device characterized by:
12. 12. The generating device of claim 11, The complexity of the first prediction formula is the number of the first parameters. A generating device characterized by:
13. The generating device according to claim 1 , The processor, a second generation process for generating a second prediction formula by setting a second parameter of the explanatory variable to a second function in the function system list; a second calculation process for calculating a second degree of satisfaction regarding the second prediction formula generated by the second generation process based on the search range limiting information; a second output process for outputting a polynomial including the first prediction formula and the second prediction formula and a second degree of satisfaction calculated by the second calculation process; A generating device characterized by executing the above.
14. A generation method using a generation device having a processor that executes a program and a storage device that stores the program, comprising: the generating device is capable of accessing a set of learning data, which is a combination of explanatory variable values and objective variable values; a function system list including a function indicating a physical law and at least the function among attributes of the function; and search range limiting information limiting a search range of the function system list; The processor, a first generation process for generating a first prediction formula by setting a first parameter of the explanatory variable to a first function in the function system list; a first calculation process for calculating a first degree of satisfaction regarding the first prediction formula generated by the first generation process based on the search range limiting information; a first output process for outputting the first prediction formula and the first satisfaction degree calculated by the first calculation process; A generating method comprising:
15. A generator that causes a processor to generate rules for predicting data, the generator comprising: the processor is capable of accessing a set of learning data, which is a combination of explanatory variable values and objective variable values; a function system list including a function indicating a physical law and at least the function among attributes of the function; and search range limiting information limiting a search range of the function system list; The processor, a first generation process for generating a first prediction formula by setting a first parameter of the explanatory variable to a first function in the function system list; a first calculation process for calculating a first degree of satisfaction regarding the first prediction formula generated by the first generation process based on the search range limiting information; a first output process for outputting the first prediction formula and the first satisfaction degree calculated by the first calculation process; A generating program for causing a user to execute the above steps.
Citation Information
Patent Citations
Variable quantity distribution estimating method
JP1998253386A
Method and device for restoring rule, and method and device for discovering law of qualitative conditional number
JP2002109508A
Polynomial forming device for estimation, estimation device, polynomial forming method for estimation, and estimation method
JP2011163841A
Diagnosis support device, diagnosis support system, diagnosis support method and diagnosis support program
JP2020042346A