Computation program, computation method and information processing device
The method enhances QUBO format model sampling by using FMDA and GA techniques to dynamically adjust weights and update learning data, reducing sampling times and improving accuracy in expressing multiple objective functions.
Patent Information
- Application Number
- JP2023114576
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-12
- Publication Date
- 2025-01-24
AI Technical Summary
Existing sampling technologies using QUBO format models, such as FMQA and FMDA, face inefficiencies in sampling times and accuracy due to limited sampling areas and difficulties in expressing multiple objective functions.
A method involving FMDA and GA techniques to generate and optimize QUBO format models, dynamically adjusting weights of linearly combined objective functions, and updating learning data to enhance sampling efficiency and accuracy.
Reduces the number of sampling times while maintaining high accuracy by effectively exploring a wide range of solutions and optimizing multiple objective functions.
Smart Images

Figure 2025012044000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a computing program, a computing method, and an information processing device. [Background technology]
[0002] Techniques for performing optimization by sampling binary variables have been disclosed (see, for example, Patent Documents 1 to 3). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2022-190752 A [Patent Document 2] Patent Publication No. 2021-33544 [Patent Document 3] Patent Publication No. 2022-45870 Summary of the Invention [Problem to be solved by the invention]
[0004] For example, the sampling technique using the Ising model in the QUBO format is a method of sequentially sampling recommendation points on the model, so there is a risk that the sampling area may be limited. As a result, there is a risk that the number of samplings may be large.
[0005] In one aspect, an object of the present invention is to provide a calculation program, a calculation method, and an information processing device that can reduce the number of sampling operations. [Means for solving the problem]
[0006] In one aspect, the calculation program causes a computer to represent each piece of learning data in the learning data group as an objective variable obtained by linearly weighting a plurality of objective functions, and to vary the weight of the linear weighted sum each time the calculation process is executed, when the calculation process is repeatedly executed to create an Ising model based on a learning data group, search for a first set number of first recommendation points for the Ising model, search for a second set number of second recommendation points for the learning data group by a genetic algorithm, and add the first recommendation points and a first evaluation value of the first recommendation points, and the second recommendation points and a second evaluation value of the second recommendation points, to the learning data group. Effect of the Invention
[0007] The number of sampling times can be reduced. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 illustrates a solution search in QUBO format. [Diagram 2] FIG. 13 is a diagram showing the rating values of movies watched by a large number of users. [Diagram 3] 1 is a flowchart showing the execution procedure of a sampling technique using a QUBO format model. [Figure 4] FIG. 2A is a block diagram illustrating an example of an overall configuration of an information processing device, and FIG. 2B is a block diagram illustrating an example of a hardware configuration of the information processing device. [Diagram 5] 11 is a flowchart illustrating an example of an operation of the information processing device. [Figure 6] 13 is a flowchart showing details of step S11. [Figure 7] FIG. 2 is a diagram illustrating a matrix X. [Figure 8] 13 is a flowchart showing details of step S13. [Figure 9] (a) and (b) are diagrams illustrating NSGAII. [Figure 10](a) is a diagram illustrating crossover, and (b) is a diagram illustrating mutation. [Figure 11] 1A is a diagram illustrating an optimization problem for a magnetic shield, FIG. 1B is a diagram illustrating an arrangement of Gaussian basis functions, and FIG. 1C is a diagram illustrating magnetic flux lines generated from a coil. [Figure 12] FIG. 1 illustrates a positive and negative configuration. [Figure 13] FIG. 13 is a diagram showing the distribution of a shape function y. [Figure 14] FIG. 13 is a diagram showing a simulation result. [Figure 15] FIG. 1 is a diagram for explaining HV. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Binary variable sampling technology is used as a technique for searching for a good solution with a high evaluation value from a large number of combinations and sequences. Examples of binary variable sampling technology include sampling technology that performs random sampling and sampling technology that uses the Ising model in the QUBO format.
[0010] Although the random sampling technique allows easy sampling, it has the drawback that sampling efficiency is low and a large number of samplings must be performed to obtain a good solution with high accuracy.
[0011] An example of a sampling technique that uses a QUBO-format model is FMQA (Factorization Machine with Quantum Annealing). FMQA is a method that combines QA (Quantum Annealing) and FM (Machine Learning). FMQA creates a QUBO-format FM model from training data, finds a good answer through QA, analyzes the evaluation value of the good answer with a solver, adds the result to the training data, and performs interactive sampling. Another sampling technique that uses a QUBO-format model is FMDA technology. FMDA replaces the QA part of FMQA with DA (Digital Annealer).
[0012] Here, the QUBO format stands for Quadratic Unconstrained Binary Optimization, which is a format that allows binary optimization without quadratic constraints. The QUBO format can be expressed, for example, as in the following formula. Note that x i = 0 or 1 for i = 1, ..., N. ij x i and x j is the coupling coefficient of i x i is the bias coefficient. The first term on the right hand side is a quadratic term and represents the interaction. The second term on the right hand side is a linear term and represents the bias action. The third term on the right hand side is a constant term. In the QUBO format, a good solution x is searched for to minimize E(x), which represents the energy, according to the following formula, as illustrated in Figure 1.
number
[0013] Here, we will provide an overview of FMDA as an example of a sampling technique that uses a QUBO-format model. Figure 2 shows the ratings of movies watched by many users. These rating values are in the form of n-dimensional vectors. First, a QUBO-format model is created from these rating values to represent interactions. The QUBO-format model can be expressed as the following formula.
number
[0014] In the above formula, w 0 , w i , v i , and v j is the coefficient to be learned. This machine learning model is strong against sparse data sets. Since this model is in QUBO format, it is possible to automatically generate a model in QUBO format by learning FM.
[0015] Figure 3 is a flowchart showing the execution procedure of the sampling technique using a QUBO format model. As illustrated in Figure 3, first, a group of training data is generated by randomly generating training data (initial points) (step S1). The number of training data to be generated is determined by the user's settings.
[0016] Next, a solver is used to calculate an evaluation value of the initial point (step S2). The evaluation value is an index for determining whether the initial point and the recommendation point (described later) are good or not. Through the above steps, an initial learning data group consisting of a set of the initial point and the evaluation value is generated.
[0017] Next, a model in the QUBO format is created by generating an FM from the training data group (step S3). Since the FM is in the QUBO format, generating an FM is equivalent to generating a model in the QUBO format. Other machine learning models can also be used as long as they can generate a model in the QUBO format.
[0018] Next, the created QUBO format model is optimized using DA to generate a good solution (DA recommendation point) that provides the best evaluation value (step S4).
[0019] Next, the evaluation value of the DA recommendation point is calculated using a solver (step S5).
[0020] Next, the evaluation result (a set of recommendation points and evaluation values) is added as learning data to the learning data group (step S6).
[0021] Next, it is determined whether the number of iterations has reached an upper limit (step S7). If the determination in step S7 is "No", execution is resumed from step S3. Thereby, steps S3 to S6 are repeated until a termination condition is satisfied. If the determination in step S7 is "Yes", execution of the flowchart ends. Note that, as the termination condition, a condition such as a case where the amount of change in the objective function is less than a threshold for a certain period of time can be used.
[0022] The above procedure updates the training data set, enabling the optimal solution to be obtained.
[0023] In addition, although FMDA has been explained in Fig. 3, the DA part of FMDA may be replaced with QA, and other methods may be used as long as the Ising machine can solve QUBO. In addition to using an Ising machine dedicated to solving QUBO, the Ising model may be solved using software.
[0024] The sampling technique using the QUBO format model is a method of sequentially sampling recommendation points on the model, so there is a risk that the sampling area may be limited. In addition, with the sampling technique using the QUBO format model, the sampling performance depends on the training data set used for model generation. In addition, since FM is a second-order model, there is a possibility that the problem cannot be fully expressed. In addition, when using multiple recommendation methods, it is difficult to adjust the number of recommendations. For these reasons, the number of samplings must be increased in order to improve the search accuracy of the optimal solution.
[0025] In the following embodiment, an example in which the number of sampling times can be reduced will be described. EXAMPLES
[0026] Fig. 4(a) is a block diagram illustrating an example of the overall configuration of an information processing device 100. As illustrated in Fig. 4(a), the information processing device 100 includes a storage unit 10, an initial point generation unit 20, an evaluation unit 30, an FMDA execution unit 40, a GA execution unit 50, a learning data update unit 60, an output unit 70, and the like.
[0027] Fig. 4(b) is a block diagram illustrating an example of a hardware configuration of the information processing device 100. As illustrated in Fig. 4(b), the information processing device 100 includes a CPU 101, a RAM 102, a storage device 103, an input device 104, a display device 105, and the like.
[0028] The CPU (Central Processing Unit) 101 is a central processing unit. The CPU 101 includes one or more cores. The RAM (Random Access Memory) 102 is a volatile memory that temporarily stores a program executed by the CPU 101, data processed by the CPU 101, and the like. The storage device 103 is a non-volatile storage device. For example, a ROM (Read Only Memory), a solid state drive (SSD) such as a flash memory, or a hard disk driven by a hard disk drive can be used as the storage device 103. The storage device 103 stores a calculation program. The input device 104 is an input device such as a keyboard or a mouse. The display device 105 is a display device such as an LCD (Liquid Crystal Display). The CPU 101 executes the calculation program to realize a storage unit 10, an initial point generation unit 20, an evaluation unit 30, an FMDA execution unit 40, a GA execution unit 50, a learning data update unit 60, an output unit 70, and the like. The storage unit 10, the initial point generation unit 20, the evaluation unit 30, the FMDA execution unit 40, the GA execution unit 50, the learning data update unit 60, the output unit 70, and the like may be implemented using hardware such as dedicated circuits.
[0029] FIG. 5 is a flowchart showing an example of the operation of the information processing device 100. As illustrated in FIG. 5, the initial point generating unit 20 generates an initial point of the learning data to generate a learning data group (step S11). The number of learning data to be generated is determined by a user's setting. In this embodiment, initial points are generated widely in the analysis space. For example, a D-optimal design is used. The D-optimal design is a design that can estimate the effect most efficiently for a certain number of trials and a specified model. Specifically, it is a design that is generated by an iterative search algorithm and minimizes the covariance of parameter estimation for a specified model.
[0030] Next, the evaluation unit 30 uses a solver to calculate an evaluation value of the initial point (step S12). An initial learning data group, which is a set of the initial point obtained in step S11 and the evaluation value calculated in step S12, is stored in the storage unit 10.
[0031] Next, the FMDA execution unit 40 generates a DA recommendation point, and the GA execution unit 50 generates a GA recommendation point (step S13).
[0032] Next, the evaluation unit 30 uses a solver to calculate an evaluation value of the recommendation points generated in step S13 (step S14).
[0033] Next, the learning data update unit 60 adds the evaluation result (a set of recommendation points and evaluation value) to the learning data group as learning data (step S15).
[0034] Next, the FMDA execution unit 40 judges whether the number of iterations has reached an upper limit (step S16). The number of times step S16 is executed may be regarded as the number of iterations. The upper limit of the number of iterations is preset by the user.
[0035] If the determination in step S16 is "No", the process is executed again from step S13. If the determination in step S16 is "Yes", the execution of the flow chart ends.
[0036] Fig. 6 is a flowchart showing the details of step S11 in Fig. 5. The initial point generation unit 20 randomly creates a matrix X having a value of 0 or 1 for (initial point, number of variables) (step S21). The upper part of Fig. 7 is a diagram illustrating, as an example, a matrix X randomly created when (initial point, number of variables) = (10, 10).
[0037] Next, the initial point generating unit 20 uses the result of step S21 to calculate a determinant D=|X T Calculate X| (step S22). T is the transpose of matrix X.
[0038] Next, the initial point generating unit 20 sets the current D and X to D best and X best (Step S23). Here, X created in step S21 is saved as X best and D created in step S22 is saved as D best is saved as
[0039] Next, the initial point generating unit 20 randomly creates a new matrix X having the same (initial point, number of variables) as in step S21 and a value of 0 or 1 (step S24).
[0040] Next, the initial point generating unit 20 uses the result of step S24 to calculate a determinant D=|X T Calculate X| (step S25).
[0041] Next, the initial point generating unit 20 checks whether D>D best It is determined whether or not the answer is "No" in step S26. If the answer is "No", the process is executed again from step S24.
[0042] If the answer is "Yes" in step S26, the initial point generating unit 20 sets the current D and X to D best and X best (Step S27). Here, X created last in step S24 is saved as X best Finally, D created in step S25 is saved as D best is saved as
[0043] Next, the initial point generating unit 20 judges whether the number of searches has reached an upper limit (step S28). The number of searches here may be the number of times step S28 has been executed. For example, the number of searches may be 10,000. If the result of step S28 is "No," the process is executed again from step S24.
[0044] If the answer is "Yes" in step S28, the initial point generating unit 20 bestis set as the initial point (step S29). After that, the execution of the flowchart ends.
[0045] By executing the process in Figure 6, the determinant D=|X T Matrix X is searched for so that X| becomes large. Therefore, when the process of FIG. 6 is completed, matrix X with a large D is obtained. This means that initial points are generated in a wide range in the analysis space.
[0046] In the matrix X in the top row of Figure 7, the total average for each row is 4.50 and the total deviation is 1.28. The total average for each column is 4.50 and the total deviation is 1.28. It can be seen that there is variation in the generation of bits for each trial (row) and each variable (column), and the distribution is biased. The value of the determinant D is 36.
[0047] The lower part of Figure 7 shows matrix X obtained by executing the process in Figure 6. In matrix X in the lower part of Figure 7, the total average for each row is 5.30, and the total deviation is 0.90. For each column, the total average is 5.30, and the total deviation is 0.64. The value of determinant D is 2916. In matrix X in the lower part of Figure 7, the large value of determinant D indicates that there is less variation in the generation of bits in each trial (row) and each variable (column), and sampling has been widespread.
[0048] Fig. 8 is a flowchart showing the details of step S13 in Fig. 5. As illustrated in Fig. 8, the FMDA execution unit 40 determines the magnitude of the weight of the objective function (step S31). The weight is determined randomly for each iteration, for example. Therefore, the weight is changed every time step S31 is executed.
[0049] Next, the FMDA execution unit 40 calculates an objective function value by a linear weighted sum (step S32). Here, the FMDA execution unit 40 adds up multiple objective functions by a linear weighted sum and converts them into one objective function. For example, the first objective function F 1 =y 1Then, the second objective function F 2 =y 2 In this case, the transformed objective function E = αF 1 +(1-α)F 2 Here, α is a weight and satisfies 0<α<1. The value of α changes every time step S31 is repeated. Alternatively, E=αF 1 +βF 2 +γF 1 F 2 In this case, α, β, and γ are weights, and when β=(1-α) and γ=0, E=αF 1 +(1-α)F 2 It becomes.
[0050] Next, the learning data update unit 60 determines whether or not the total number of pieces of learning data in the learning data group exceeds an upper limit number (step S33). The upper limit number of pieces of learning data is preset by the user.
[0051] If the answer is "Yes" in step S33, the learning data update unit 60 selects the upper limit number of learning data in order of best evaluation value of the objective function value by linear weighting, and deletes the learning data other than the selected learning data (step S34). Alternatively, the learning data update unit 60 may select learning data whose evaluation value is equal to or greater than a predetermined value, and delete the learning data other than the selected learning data.
[0052] If the result of the determination in step S33 is "No", the learning data update unit 60 sets all the learning data as learning data (step S35).
[0053] After execution of step S34 or step S35, the FMDA execution unit 40 generates a model in the QUBO format by generating an FM from the learning data group stored in the storage unit 10 (step S36). Since the FM is in the QUBO format, generating an FM is equivalent to generating a model in the QUBO format. Other machine learning models can also be used as long as they can generate a model in the QUBO format.
[0054] Next, the FMDA execution unit 40 calculates the coefficient of determination R 2 (Step S37) The coefficient of determination R 2 is an index of model accuracy, and the closer it is to 1, the better the accuracy of searching for a good solution with a high evaluation value. 2 can be calculated, for example, by the following formula:
number
number
number
[0055] Next, the FMDA execution unit 40 calculates the coefficient of determination R 2 It is determined whether or not exceeds a threshold value δ (step S38). The threshold value δ is preset by the user. An example of the threshold value δ will now be described. For example, when step S38 is executed for the first time, the threshold value δ is set to about 0.8. It is preferable to reduce the value of the threshold value δ when the DA recommendation is working effectively, and to increase the value of the threshold value δ when the DA recommendation is not working effectively. For example, whether or not the DA recommendation is working effectively can be determined by whether or not the ratio at which "Yes" is determined in step S38 is equal to or greater than a threshold value.
[0056] If the answer in step S38 is "Yes," the FMDA execution unit 40 generates DA recommendation points for the number of DA setting recommendations through QUBO optimization by DA (step S39). The number of DA setting recommendations is set in advance by the user. The DA recommendation points are good solutions (recommendation points) with the best evaluation value. Alternatively, the DA recommendation points are good solutions (recommendation points) with evaluation values equal to or greater than a threshold value. Alternatively, the DA recommendation points are good solutions (recommendation points) with evaluation values in the top predetermined order.
[0057] After that, the GA execution unit 50 sets the GA recommended number to the GA setting recommended number (step S40).
[0058] If the result of the determination in step S38 is "No," the GA execution unit 50 sets the GA recommendation number to (GA setting recommendation number + DA setting recommendation number) (step S41). The GA setting recommendation number is set in advance by the user. Note that the GA recommendation number does not have to be (GA setting recommendation number + DA setting recommendation number), and may be any number that is greater than the GA recommendation number.
[0059] After execution of step S40 or step S41, the GA execution unit 50 selects the number of parent individuals recommended by the GA from all the learning data groups stored in the storage unit 10 using a multi-objective GA method (step S42). The method for selecting parent individuals is not particularly limited as long as it is a multi-objective GA method, but for example, NSGAII can be used. In NSGAII, individuals are selected from the viewpoints of convergence based on non-dominated ranks and diversity based on crowding distance. For example, individuals are selected in order of rank (Rank1 → Rank2 → ...), and within the same rank, individuals are selected in order of increasing crowding degree. For example, as illustrated in FIG. 9(a), a first objective function f 1 (x) and the second objective function f 2 In the optimization to minimize (x), the non-dominated solution is ranked as Rank1, and the ranks are determined according to the convergence (dominance relationship) from there. Also, as shown in Figure 9(b), the crowding distance is calculated as the Manhattan distance between adjacent individuals, (a+b). Note that both ends are guaranteed to be ∞.
[0060] Next, the GA execution unit 50 generates the GA recommended number of child individuals (GA recommended points) from the parent individuals through crossover and mutation (step S43). FIG. 10(a) is a diagram illustrating crossover. For example, some genes (crossover points) of parent individual A and some genes (crossover points) of parent individual B are randomly determined and swapped to generate child individuals A and B. FIG. 10(b) is a diagram illustrating mutation. For example, a randomly selected gene is replaced with an allele. The crossover probability and mutation probability are preset by the user. Thereafter, execution of the flowchart ends.
[0061] The output unit 70 outputs the result of the processing in Fig. 5. The output result is displayed, for example, by the display device 105. For example, the output unit 70 may output the contents of the learning data group, or may output learning data with a high evaluation value from the learning data group as a good answer.
[0062] According to this embodiment, the number of recommended DA settings and the number of recommended GA settings are determined according to the accuracy of the FM model generated from the learning data group. This makes it possible to achieve both high accuracy for obtaining a good solution and a reduction in the number of samplings.
[0063] For example, if the accuracy of the FM model generated from the training data is low, there is a risk that the accuracy of the search for a good solution using DA will be low. Therefore, the number of GA recommendations is increased without performing DA recommendations. By using GA, the training data can be treated as a population and recommendation points can be generated using GA processing. This makes it possible to sample a wide range of areas where the evaluation value is likely to improve. In this case, DA recommendations are not performed with low accuracy, and as a result, a good solution can be obtained with high accuracy with a small number of samplings.
[0064] For example, if the accuracy of the FM model generated from the training data group is high, a good answer on the FM model can be generated as a recommendation point by DA. In this case, areas with high evaluation values can be actively sampled. This makes it possible to reduce the number of samplings required to obtain a good answer.
[0065] As described above, according to this embodiment, it is possible to achieve both high accuracy for obtaining a good solution and a reduction in the number of sampling times.
[0066] In this embodiment, multiple objective functions are summed up by a linear weighted sum. As the solution search by FMDA and GA progresses, the weights of this linear weighted sum are dynamically changed. In this way, multiple objective functions can be optimized while reducing the number of sampling times.
[0067] In step S42, the multi-objective GA method is used to select the number of parent individuals recommended by the GA from all the learning data groups. As a result, all the learning data is treated as a population, and the GA recommendation points can be generated using the multi-objective GA process (selection, crossover, and mutation of the multi-objective GA).
[0068] In addition, by using the D optimization plan in step S11, it is possible to generate initial points in a wide range of the analysis space, thereby making it possible to suppress overlooking of the optimal solution.
[0069] In addition, when the number of data in the training data group exceeds an upper limit, the training data group is updated according to the evaluation value of each piece of training data contained in the training data group, thereby improving the accuracy of the modeling used for sampling.
[0070] (Simulation results) Hereinafter, a description will be given of the results of a simulation in which a hypothetical problem was set and the computational processing according to the above embodiment was performed. FIG. 11(a) is a diagram illustrating an optimization problem of a magnetic shield. FIG. 1(a) is a diagram illustrating a magnetic shield analysis model, and illustrating a coil, a design area of a magnetic body, and a target area. The target area is an area where it is desired to prevent the influence of magnetic flux. The design area of the magnetic body is an area for placing the magnetic body. FIG. 11(b) is a diagram illustrating the placement of Gaussian basis functions. As illustrated in FIG. 11(b), 96 magnetic bodies can be placed in the design area of the magnetic body. FIG. 11(c) is a diagram illustrating magnetic flux lines generated from a coil.
[0071] The table in FIG. 12 is a diagram illustrating positive and negative placements. s1 to s96 indicate 96 positive placement locations. "0" in s1 to s96 indicates that no magnetic material is placed, and "1" indicates that a magnetic material is placed. z1 to z96 indicate 96 negative placement locations. "0" in z1 to z96 indicates that no magnetic material is placed, and "1" indicates that a magnetic material is placed.
[0072] This placement problem can be expressed as a shape function y as follows: i ,z i ∈{0,1}, and w i ∈{-1,0,1}. In this way, the optimization problem of the magnetic shield is viewed as a placement problem of positive and negative Gaussian basis functions.
number
[0073] The distribution of shape function y is shown in the upper diagram of Figure 13. From this result, it becomes possible to determine material information from the magnitude of shape function y, as shown in the lower diagram of Figure 13. In the lower diagram of Figure 13, if the shape function y is 0 or more, material is present, and if the shape function y is less than 0, material is not present.
[0074] The purpose of optimizing the magnetic shield shape is to determine the average magnetic flux density B aveT and the magnetic area S mag Specifically, the first objective function F 1 and the second objective function F 2 The transformed objective function E = αF 1 +(1-α)F 2 It was decided.
number
[0075] For this optimization problem, sampling was performed using two methods: the method according to the comparative example and the method according to the above embodiment. In the comparative example, the learning data was expressed as a single-objective function, not as a linear weighted sum of multiple objective functions. In the method according to the above embodiment, D-optimal planning was not performed, but the other methods were the methods according to the above embodiment. As common settings, the number of initial points was 192, the number of iterations was 384, and the number of DA setting recommendations was 1. The number of GA setting recommendations was 3, the crossover probability was 0.9, the mutation probability was 0.1, the threshold δ was 0.99, and the upper limit number of learning data was 400. In the comparative example, α was fixed at 0.5. In the method according to the above embodiment, α was randomly set between 0 and 1, and the magnitude of α was varied at each iteration.
[0076] FIG. 14 is a diagram showing the results. In FIG. 14, the Pareto solutions from the list of results obtained by the search are extracted and visualized. In the comparative example, the solutions of the optimization results are concentrated in a portion, and sparse Pareto solutions are obtained. In contrast, in the present embodiment, the Pareto solutions are spread out, and good solutions are obtained from the viewpoint of multiple objectives. In the comparative example, the hypervolume was 0.788, and in the embodiment, the hypervolume was 0.860. In this way, the method of the above embodiment obtained a better solution.
[0077] Here, the HV will be explained. FIG. 15 is a diagram for explaining the HV. The HV is a performance index of a Pareto solution. Specifically, the HV represents the area or volume of a region formed by a certain reference point and a solution set obtained by an algorithm in the objective function space. As an example, the reference point can be (0,0) and a standardized value of each objective function can be used. When there are two objective functions, the area shown in FIG. 15 is the HV. The larger this HV is, the wider the solution becomes, so it can be determined that a good result is obtained.
[0078] In the simulation, D-optimal planning was not performed for the method of the above embodiment. However, by performing D-optimal planning, it is possible to generate initial points over a wide range in the analysis space, which results in a wider range of Pareto solutions.
[0079] In the above example, the DA setting recommendation number is an example of a first setting number, the DA recommendation point is an example of a first recommendation point, the GA setting recommendation number is an example of a second setting number, and the GA recommendation point is an example of a second recommendation point. The FMDA execution unit 40 and the GA execution unit are examples of execution units that represent each learning data of a learning data group as an objective variable obtained by linearly weighting a plurality of objective functions, and execute a process of varying the weight of the linear weighting sum each time a calculation process is executed. The initial point generation unit 20 randomly creates a matrix X in which the number of initial points and variables are expressed as values of 0 or 1, and calculates D=|X for the matrix X. T X| is repeated to search for a matrix X that satisfies a predetermined condition, and generate initial points for each piece of learning data in the learning data group using each value represented by the searched matrix X. This is an example of an updating unit in which the learning data updating unit 60 updates the learning data group in accordance with the evaluation value of each piece of learning data when the number of pieces of learning data in the learning data group exceeds an upper limit.
[0080] Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and variations are possible within the scope of the gist of the present invention described in the claims. (Appendix 1) In a case where a calculation process is repeatedly performed in which an Ising model is created based on a learning data group, a first set number of first recommendation points are searched for in the Ising model, a second set number of second recommendation points are searched for in the learning data group by a genetic algorithm, and the first recommendation points and a first evaluation value of the first recommendation points, and the second recommendation points and a second evaluation value of the second recommendation points are added to the learning data group as learning data, On the computer, a computation program for expressing each learning data of the learning data group as an objective variable obtained by linearly weighting a plurality of objective functions, and for varying a weight of the linearly weighted sum each time the computation process is executed. (Appendix 2) The computer includes: Randomly create a matrix X in which the number of initial points and variables are expressed as values of 0 or 1, and calculate D=|X for the matrix X. T 2. The arithmetic program according to claim 1, further comprising: a process of searching for a matrix X that satisfies a predetermined condition by repeating a process of calculating |X|, and setting each value represented by the searched matrix X as an initial point of each piece of learning data in the learning data group. (Appendix 3) 2. The arithmetic program according to claim 1, wherein when the genetic algorithm is applied to the training data group, all training data contained in the training data group is targeted. (Appendix 4) The computer includes: 2. The arithmetic program according to claim 1, further comprising a program for executing a process of determining the first set number and the second set number according to an accuracy of the Ising model. (Appendix 5) The computer includes: 5. The arithmetic program according to claim 4, wherein, when the accuracy of the Ising model is less than a threshold, a process is executed to search for the second recommendation points by increasing the number of the second recommendation points without searching for the first recommendation points. (Appendix 6) The computer includes: 5. The arithmetic program according to claim 4, further comprising: when an accuracy of the Ising model is less than a threshold, the arithmetic program executes a process of setting the sum of the first set number and the second set number as the second set number without searching for the first recommendation point, and searching for the second recommendation point. (Appendix 7) The computer includes: The arithmetic program according to claim 4, characterized in that, when the accuracy of the Ising model is equal to or greater than a threshold, a process of searching for the first recommendation points and the second recommendation points is executed without changing the first set number and the second set number. (Appendix 8) An upper limit is set on the number of the learning data in the learning data group, The computer includes: 2. The arithmetic program according to claim 1, further comprising: a process for updating the learning data group in accordance with an evaluation value of each of the learning data when the number of the learning data in the learning data group exceeds the upper limit. (Appendix 9) The computer includes: 9. The arithmetic program according to claim 8, wherein, when the number of the learning data in the learning data group exceeds the upper limit, a process is executed in which the learning data up to the upper limit is left in the learning data group in order of highest evaluation value, and the other learning data is deleted. (Appendix 10) In a case where a calculation process is repeatedly performed in which an Ising model is created based on a learning data group, a first set number of first recommendation points are searched for in the Ising model, a second set number of second recommendation points are searched for in the learning data group by a genetic algorithm, and the first recommendation points and a first evaluation value of the first recommendation points, and the second recommendation points and a second evaluation value of the second recommendation points are added to the learning data group as learning data, The computer a calculation method comprising: expressing each learning data of the learning data group as an objective variable which is a linear weighted sum of a plurality of objective functions; and executing a process of varying a weight of the linear weighted sum each time the calculation process is executed. (Appendix 11) The computer, Randomly create a matrix X in which the number of initial points and variables are expressed as values of 0 or 1, and calculate D=|X for the matrix X. T 11. The method according to claim 10, further comprising the steps of: searching for a matrix X that satisfies a predetermined condition by repeating a process of calculating |X|; and setting each value represented by the searched matrix X as an initial point of each piece of learning data in the learning data group. (Appendix 12) 11. The computation method according to claim 10, wherein when applying the genetic algorithm to the training data group, all of the training data included in the training data group is targeted. (Appendix 13) The computer, 11. The calculation method according to claim 10, further comprising executing a process of determining the first set number and the second set number according to accuracy of the Ising model. (Appendix 14) The computer, The calculation method according to claim 13, characterized in that, when the accuracy of the Ising model is less than a threshold, a process of increasing the number of the second recommendation points without searching for the first recommendation points and searching for the second recommendation points is executed. (Appendix 15) The computer, the computing method according to claim 13, characterized in that, when an accuracy of the Ising model is less than a threshold, a process is executed in which the first recommendation point is not searched for, but the sum of the first set number and the second set number is set as the second set number to search for the second recommendation point. (Appendix 16) The computer, The calculation method according to claim 13, characterized in that, when the accuracy of the Ising model is equal to or greater than a threshold, a process of searching for the first recommendation points and the second recommendation points is executed without changing the first set number and the second set number. (Appendix 17) An upper limit is set on the number of the learning data in the learning data group, The computer, 11. The calculation method according to claim 10, characterized in that, when the number of the learning data in the learning data group exceeds the upper limit, a process of updating the learning data group is executed according to an evaluation value of each of the learning data. (Appendix 18) The computer, 18. The arithmetic program according to claim 17, wherein, when the number of the learning data in the learning data group exceeds the upper limit, a process is executed in which the learning data up to the upper limit is left in the learning data group in order of highest evaluation value, and the other learning data is deleted. (Appendix 19) an execution unit that executes a process of repeatedly executing a calculation process of creating an Ising model based on a learning data group, searching for a first set number of first recommendation points for the Ising model, searching for a second set number of second recommendation points for the learning data group by a genetic algorithm, and adding the first recommendation points and a first evaluation value of the first recommendation points and the second recommendation points and a second evaluation value of the second recommendation points to the learning data group as learning data, wherein each learning data of the learning data group is represented as an objective variable obtained by linearly weighting a plurality of objective functions, and executes a process of varying a weight of the linear weighted sum each time the calculation process is executed. (Appendix 20) Randomly create a matrix X in which the number of initial points and variables are expressed as values of 0 or 1, and calculate D=|X for the matrix X. T 20. The information processing device according to claim 19, further comprising an initial point generation unit that searches for a matrix X that satisfies a predetermined condition by repeating a process of calculating |X|, and generates initial points for each value represented by the searched matrix X for each piece of learning data in the learning data group. (Appendix 21) 20. The information processing device according to claim 19, wherein the execution unit targets all of the learning data included in the learning data group when applying the genetic algorithm to the learning data group. (Appendix 22) The information processing device according to claim 19, wherein the execution unit executes a process of determining the first set number and the second set number according to accuracy of the Ising model. (Appendix 23) The information processing device according to claim 22, wherein when the accuracy of the Ising model is less than a threshold, the execution unit executes a process of searching for the second recommendation points by increasing the number of second recommendation points without searching for the first recommendation points. (Appendix 24) The information processing device according to claim 22, wherein, when an accuracy of the Ising model is less than a threshold, the execution unit executes a process of setting the sum of the first set number and the second set number as the second set number without searching for the first recommendation point, and searching for the second recommendation point. (Appendix 25) The information processing device described in Addendum 22, wherein the execution unit executes a process of searching for the first recommendation points and the second recommendation points without changing the first set number and the second set number when the accuracy of the Ising model is equal to or higher than a threshold. (Appendix 26) An upper limit is set on the number of the learning data in the learning data group, 20. The information processing device according to claim 19, further comprising an update unit that updates the learning data group according to an evaluation value of each of the learning data when the number of the learning data in the learning data group exceeds the upper limit. (Appendix 27) 27. The information processing device according to claim 26, wherein when the number of the learning data in the learning data group exceeds the upper limit, the execution unit executes a process of leaving the learning data up to the upper limit in the learning data group in order of highest evaluation value and deleting the other learning data. [Explanation of symbols]
[0081] 10 Storage area 20 Initial point generator 30 Evaluation Section 40 FMDA Executive Division 50 GA Executive Department 60 Learning Data Update Unit 70 Output section 100 Information processing device 101 CPU 102 RAM 103 Storage device 104 Input Devices 105 Display device
Claims
1. a first set number of first recommendation points are searched for in the Ising model based on a learning data group; a second set number of second recommendation points are searched for in the learning data group by a genetic algorithm; and the first recommendation points and first evaluation values of the first recommendation points, and the second recommendation points and second evaluation values of the second recommendation points are added to the learning data group as learning data, On the computer, a computation program for expressing each learning data of the learning data group as an objective variable obtained by linearly weighting a plurality of objective functions, and for varying a weight of the linearly weighted sum each time the computation process is executed.
2. The computer includes: A matrix X is randomly created, in which the number of initial points and variables are expressed as values of 0 or 1, and D = |X T 2. The arithmetic program according to claim 1, further comprising: a process for searching for a matrix X that satisfies a predetermined condition by repeating a process of calculating X|, and a process for setting each value represented by the searched matrix X as an initial point of each learning data of the learning data group.
3. 2. The computing program according to claim 1, wherein when the genetic algorithm is applied to the training data group, all of the training data included in the training data group is targeted.
4. The computer includes: The computing program according to claim 1 , further comprising a step of determining the first set number and the second set number in accordance with an accuracy of the Ising model.
5. The computer includes:
5. The computer-readable medium according to claim 4, further comprising: a program for executing a process of searching for the second recommendation points by increasing the number of the second recommendation points without searching for the first recommendation points, when the accuracy of the Ising model is less than a threshold value.
6. The computer includes:
5. The computer-readable storage medium according to claim 4, further comprising: a program for executing, when an accuracy of the Ising model is less than a threshold, a process of searching for the second recommendation point by setting a sum of the first set number and the second set number as the second set number without searching for the first recommendation point.
7. The computer includes:
5. The computer-readable medium according to claim 4, further comprising: a program for executing a process of searching for the first recommendation points and the second recommendation points without changing the first set number and the second set number when the accuracy of the Ising model is equal to or higher than a threshold.
8. An upper limit is set on the number of the learning data in the learning data group, The computer includes:
2. The computing program according to claim 1, further comprising: a process for updating the learning data group in accordance with an evaluation value of each of the learning data when the number of the learning data in the learning data group exceeds the upper limit.
9. The computer includes:
9. The arithmetic program according to claim 8, further comprising a program for executing a process for deleting the remaining learning data in the learning data group while leaving the learning data up to the upper limit in descending order of evaluation value when the number of the learning data in the learning data group exceeds the upper limit.
10. a first set number of first recommendation points are searched for in the Ising model based on a learning data group; a second set number of second recommendation points are searched for in the learning data group by a genetic algorithm; and the first recommendation points and first evaluation values of the first recommendation points, and the second recommendation points and second evaluation values of the second recommendation points are added to the learning data group as learning data, The computer a calculation method comprising: expressing each learning data of the learning data group as an objective variable which is a linear weighted sum of a plurality of objective functions; and executing a process of varying a weight of the linear weighted sum each time the calculation process is executed.
11. an execution unit that executes a process of repeatedly executing a calculation process of creating an Ising model based on a learning data group, searching for a first set number of first recommendation points for the Ising model, searching for a second set number of second recommendation points for the learning data group by a genetic algorithm, and adding the first recommendation points and a first evaluation value of the first recommendation points and the second recommendation points and a second evaluation value of the second recommendation points to the learning data group as learning data, wherein each learning data of the learning data group is represented as an objective variable obtained by linearly weighting a plurality of objective functions, and executing a process of varying a weight of the linear weighted sum each time the calculation process is executed.
Citation Information
Patent Citations
Learning data refining method and computer system
JP2021033544A
Electrocardiographic abnormality detection network training method, and electrocardiographic abnormality early warning method and device
JP2022045870A
Computer system, inference method, and program
JP2022190752A