WO2023136118A1 - 情報選択システム、情報選択方法及び情報選択プログラム - Google Patents

情報選択システム、情報選択方法及び情報選択プログラム Download PDF

Info

Publication number
WO2023136118A1
WO2023136118A1 PCT/JP2022/047953 JP2022047953W WO2023136118A1 WO 2023136118 A1 WO2023136118 A1 WO 2023136118A1 JP 2022047953 W JP2022047953 W JP 2022047953W WO 2023136118 A1 WO2023136118 A1 WO 2023136118A1
Authority
WO
WIPO (PCT)
Prior art keywords
control unit
information
variables
information selection
variable
Prior art date
Application number
PCT/JP2022/047953
Other languages
English (en)
French (fr)
Inventor
毅 永田
康亮 竹田
秀正 前川
千博 世古
拓 小泉
麻紀子 水谷
裕也 根本
大樹 橋本
悠史 森
勇樹 玉垣
耕平 岩渕
健太 小永吉
大志 信夫
Original Assignee
みずほリサーチ&テクノロジーズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by みずほリサーチ&テクノロジーズ株式会社 filed Critical みずほリサーチ&テクノロジーズ株式会社
Publication of WO2023136118A1 publication Critical patent/WO2023136118A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2115Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/27Regression, e.g. linear or logistic regression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present disclosure relates to an information selection system, an information selection method, and an information selection program for selecting information to be used for information processing.
  • the stepwise method may be used to select variables to be used for learning.
  • the stepwise method is a method of sequentially adding or deleting variables one by one (see Patent Literature 1, for example).
  • the technique described in this document selects explanatory variables constituting a multiple regression model from a time-series database in a process state prediction method.
  • the time-series database accumulates time-history data of a plurality of process variables that indicate the operational state of the process. In this case, after narrowing down the explanatory variables by the stepwise method, by checking whether the partial regression coefficients of the narrowed-down explanatory variables are positive or negative, explanatory variables exhibiting effects opposite to the actual phenomenon are excluded.
  • An information selection system includes a control unit that selects information used to generate an analysis model. Then, the control unit generates a plurality of analysis models using a part of the information composed of the plurality of teacher data, and calculates the accuracy of each analysis model. The control unit assigns the distribution value corresponding to each accuracy to the information used to generate the analysis model, and calculates a statistical value of the distribution value for each information used to generate the analysis model. and selecting information to be used for generating an analysis model using the statistical values.
  • FIG. 1 is an explanatory diagram of an information selection system according to a first embodiment
  • FIG. 2 is an explanatory diagram of the hardware configuration of the first embodiment in the information selection system of FIG. 1
  • FIG. FIG. 2 is an explanatory diagram of a processing procedure of the first embodiment in the information selection system of FIG. 1
  • 4 is an explanatory diagram of a variable table of the first embodiment in the processing procedure of FIG. 3
  • FIG. FIG. 5 is an explanatory diagram of the variable table according to the first embodiment, continued from FIG. 4
  • FIG. 4 is an explanatory diagram of a processing procedure of the second embodiment that replaces part of the processing procedure of FIG. 3
  • FIG. 7 is an explanatory diagram of nodes of a self-organizing map (SOM) according to the second embodiment in the processing procedure of FIG. 6;
  • FIG. 7 is an explanatory diagram of a variable table of the second embodiment in the processing procedure of FIG. 6;
  • FIG. 7 is an explanatory diagram of the processing procedure of the second embodiment in the processing procedure of FIG. 6;
  • FIG. 10 is an explanatory diagram of the processing procedure of the second embodiment in the processing procedure of FIG. 9;
  • FIG. 11 is an explanatory diagram of a distance table of the second embodiment in the processing procedure of FIG. 10;
  • FIG. 10 is an explanatory diagram of the processing procedure of the second embodiment in the processing procedure of FIG. 9;
  • FIG. 13 is an explanatory diagram of the processing procedure of the second embodiment in the processing procedure of FIG.
  • FIG. 10 is an explanatory diagram of the processing procedure of the second embodiment in the processing procedure of FIG. 9, where (a) part is the arrangement of input data, (b) part is addition of new nodes, and (c) part is updating of existing nodes. , is an explanatory diagram of.
  • FIG. 10 is an explanatory diagram of a processing procedure of the third embodiment, which is different from the processing procedure of FIG. 9;
  • FIG. 17 is an explanatory diagram of another example of a processing procedure related to the processing procedure of FIG. 16;
  • FIG. 10 is an explanatory diagram of another example of a processing procedure different from the processing procedure of FIG. 9;
  • FIG. 10 is an explanatory diagram of another example of a processing procedure different from the processing procedure of FIG. 9;
  • FIG. 19 is an explanatory diagram of another example of the processing procedure in the processing procedure of FIG. 18, where (a) part is input data arrangement, (b) part is adding a new node, and (c) part is updating an existing node. It is an explanatory diagram.
  • FIG. 7 is an explanatory diagram of another example of distances between nodes related to the processing procedure of FIG. 6 ;
  • FIG. 10 is an explanatory diagram of a processing procedure of a comparative example;
  • FIG. 22 is an explanatory diagram of a processing procedure of a comparative example, related to FIG. 21;
  • FIG. 23 is an explanatory diagram of the processing procedure of the comparative example following FIG. 22;
  • FIG. 24 is an explanatory diagram of the processing procedure of the comparative example following FIG. 23;
  • FIG. 2 is a hardware configuration example of the information processing device H10 that functions as the user terminal 10, the support server 20, or the like.
  • the information processing device H10 has a communication device H11, an input device H12, a display device H13, a storage device H14, and a processor H15. Note that this hardware configuration is an example, and the information processing apparatus H10 may have other hardware.
  • the communication device H11 is an interface that executes data transmission/reception by establishing a communication path with another device, such as a network interface or a wireless interface.
  • the input device H12 is a device that receives input from the user, such as a mouse or keyboard.
  • the display device H13 is a display, a touch panel, or the like that displays various information.
  • the storage device H14 is a storage device that stores data and various programs for executing various functions of the user terminal 10 or the support server 20.
  • Examples of the storage device H14 include ROM, RAM, hard disk, and the like.
  • the processor H15 uses programs and data stored in the storage device H14 to control each process in the user terminal 10 or the support server 20 (for example, the process in the control unit 21, which will be described later). Examples of the processor H15 include, for example, a CPU and an MPU.
  • the processor H15 executes various processes corresponding to various processes by deploying programs stored in the ROM or the like in the RAM. For example, when an application program of the user terminal 10 or the support server 20 is activated, the processor H15 operates a process for executing each process described below.
  • the processor H15 is not limited to performing software processing for all the processing it executes.
  • the processor H15 may include a dedicated hardware circuit (for example, an application specific integrated circuit: ASIC) that performs hardware processing for at least part of the processing performed by the processor H15. That is, the processor H15 can be configured as follows.
  • processors operating according to a computer program (software); (2) circuitry that includes one or more dedicated hardware circuits that perform at least some of the operations; or (3) combinations thereof.
  • a processor includes a CPU and memories such as RAM and ROM.
  • the memory stores program code or instructions configured to cause the CPU to perform processes.
  • Memory or computer-readable media includes any available media that can be accessed by a general purpose or special purpose computer.
  • a user terminal 10 is a computer terminal used by a user who uses this system.
  • the support server 20 is a computer system that selects variables used for information processing.
  • This support server 20 includes a control unit 21 and a storage unit 22 .
  • machine learning is performed as information processing.
  • the control unit 21 performs a process (including a selection stage, an evaluation stage, etc.) to be described later.
  • the control unit 21 functions as a selection unit 211, an evaluation unit 212, and the like.
  • the selection unit 211 executes processing for selecting variables used for information processing.
  • the evaluation unit 212 executes processing for calculating the accuracy of the analytical model using the selected variables. Specifically, the evaluation unit 212 generates an analysis model by machine learning and calculates the prediction error of this analysis model as accuracy.
  • Information used for information processing such as machine learning is recorded in the storage unit 22 .
  • This input data is recorded in the storage unit 22 when the data used for information processing is acquired.
  • the input data is a vector having a plurality of element data with different dimensions. For example, teacher data consisting of multiple types of explanatory variables and (one type of) objective variable can be used as input data.
  • variable reduction method a variable reduction method in which all variables are selected in the stepwise method and variables are deleted one by one will be described with reference to FIGS. 21 to 24 .
  • step S01 all variables are selected and the accuracy is calculated (step S01). For example, when using variables p1 to p4, all variables (p1 to p4) are used to calculate the regression equation. Then, as the accuracy of this regression formula, a prediction error e0, which is a mean absolute error (MAE), is calculated.
  • MAE mean absolute error
  • step S02 the accuracy of the combination of variables remaining after deleting some variables is calculated (step S02).
  • a regression equation is calculated using a combination of variables remaining after deleting variables (p1 to p4) one by one.
  • the prediction error e11 is calculated as the accuracy of the regression equation using the variables (p2 to p4) remaining after deleting the variable (p1) from the variables (p1 to p4).
  • a prediction error e12 is calculated as the accuracy of the regression equation using the variables (p1, p3, p4) remaining after deleting the variable (p2) from the variables (p1 to p4).
  • a prediction error e13 is calculated as the accuracy of the regression equation using the variables (p1, p2, p4) remaining after deleting the variable (p3) from the variables (p1 to p4).
  • a prediction error e14 is calculated as the accuracy of the regression equation using the variables (p1 to p3) remaining after the variable (p4) is deleted from the variables (p1 to p4).
  • the variables are deleted according to the accuracy (step S03).
  • the variable (variable with the smallest mean absolute error) related to the combination of variables with the highest accuracy is deleted. That is, if the average absolute error of the variable combination used when the specific variable is not used is small, the specific variable is deleted.
  • the prediction error e12 is the smallest among the prediction errors e11 to e14 in FIG. 22, the variable p2 corresponding to the prediction error e12 is selected from the variables (p1 to p4) as hatched in the table 701 in FIG. delete.
  • step S04 it is determined whether or not the process of the variable reduction method has ended. For example, when there are two remaining variables, it is determined that the processing is finished. If it is determined to be finished ("YES" in step S04), the most accurate combination of variables is specified as the final result.
  • step S04 if it is determined not to end ("NO" in step S04), the processes after step S02 are repeated.
  • a regression equation is calculated using a combination of variables left by deleting one of the variables (p1, p3, p4).
  • the prediction error e21 is calculated as the accuracy of the regression equation using the combination of the variables (p3, p4) remaining after deleting the variable (p1) from the variables (p1, p3, p4).
  • a prediction error e23 is calculated as the accuracy of the regression equation using the combination of the variables (p1, p4) remaining after the variable (p3) is deleted from the variables (p1, p3, p4).
  • a prediction error e24 is calculated as the accuracy of the regression equation using the remaining variables (p1, p3) after deleting the variable (p4) from the variables (p1, p3, p4).
  • the prediction error e21 is the smallest among the prediction errors e21, e23, and e24 in FIG. 23, the variable p1 corresponding to the prediction error e21 is changed to the variable (p1, p3, p4) as indicated by hatching in the table 702 in FIG. delete from the
  • variable reduction method (here, variables p3 and p4) of variables with the highest accuracy (variables with the largest mean absolute error) is specified as the final result.
  • the variable reduction method described above considers variables one by one, combinations of multiple variables may not be considered. In this case, it is easy to fall into local optima.
  • the variable p2 is first deleted. Therefore, the variable combination containing the variable p2 is not considered after deleting the variable p2.
  • the number of trials will be enormous, so there is a possibility that the calculation time will be long.
  • variable selection processing in this embodiment will be described using FIG.
  • the selection unit 211 of the control unit 21 of the support server 20 acquires input data from the user terminal 10 . Then, the selection unit 211 records the input data in the storage unit 22 .
  • the control unit 21 of the support server 20 executes accuracy calculation processing for all variables (step S101). Specifically, the selection unit 211 of the control unit 21 creates a data set (teaching data group) including all variable values in the input data recorded in the storage unit 22 . Next, the selection unit 211 provides the created data set to the evaluation unit 212 . Then, the evaluation unit 212 creates an analysis model by performing machine learning using the data set. Next, the evaluation unit 212 calculates the accuracy (prediction error) of the created analysis model.
  • the control unit 21 of the support server 20 repeats the following process a predetermined number of times.
  • the control unit 21 of the support server 20 executes deletion processing for a predetermined number of variables (step S102).
  • the selection unit 211 of the control unit 21 randomly specifies a predetermined number of variables of a plurality of types (utilization variable set) from the variables constituting the input data.
  • two variables are specified as deletion targets, which are variables to be deleted.
  • Variables that remain without being deleted are usage variables.
  • the usage variable set has 6 variables.
  • control unit 21 of the support server 20 executes determination processing as to whether or not the specified usage variable set matches the previously selected variable set (step S103). Specifically, the selection unit 211 of the control unit 21 compares the current usage variable set with the usage variable sets that have been evaluated so far.
  • step S102 If it is determined that the currently specified usage variable set matches the previously selected usage variable set because the current usage variable set matches the usage variable set that has been evaluated so far ( If "YES" in step S103), the process of deleting a predetermined number of variables (step S102) is repeated.
  • step S104 the control unit 21 of the support server 20 performs prediction error calculation processing.
  • the selection unit 211 of the control unit 21 creates a data set of the currently used variable set.
  • the selection unit 211 provides the created data set to the evaluation unit 212 .
  • the evaluation unit 212 creates an analysis model by performing machine learning using the data set.
  • the evaluation unit 212 calculates the accuracy (prediction error) of the created analysis model.
  • control unit 21 of the support server 20 executes prediction error allocation processing for the usage variable set (step S105). Specifically, the selection unit 211 of the control unit 21 assigns the calculated prediction error as a distribution value to each variable in the set of used variables.
  • each of the variables (p1, p3 to p6, p8) is assigned a prediction error e1.
  • variable table 102 is generated after repeating the process seven times (a predetermined number of times here).
  • prediction errors e1 to e7 are calculated for each usage variable set, and each of the prediction errors e1 to e7 is assigned to each usage variable.
  • control unit 21 of the support server 20 executes processing for calculating the average value of prediction errors for each variable (step S106). Specifically, the selection unit 211 of the control unit 21 calculates the statistical value of the prediction error assigned to each variable, here the average value.
  • average values av1 to av8 of prediction errors (e1 to e7) assigned to variables (p1 to p8) are calculated as shown in the average value column 103 in FIG.
  • the average prediction error value av1 for the variable p1 is the average value of the prediction errors e1 and e3 to e7.
  • the control unit 21 of the support server 20 executes deletion processing for variables with large prediction errors (step S107). Specifically, the selection unit 211 of the control unit 21 identifies a variable with a large average value of prediction errors. Then, the selection unit 211 deletes variables having a large average value of prediction errors. In this case, the selection unit 211 temporarily stores the prediction error in the memory in association with the remaining variable sets.
  • the control unit 21 of the support server 20 executes determination processing as to whether or not the termination condition is reached (step S108). Specifically, the selection unit 211 of the control unit 21 confirms whether or not the number of repetitions N has reached the target number of times Nmax (end condition). Note that the termination condition is not limited to the target number of times Nmax, and the maximum computation time may be determined in advance and this maximum computation time may be used as the termination condition.
  • control unit 21 of the support server 20 sets the number of repetitions N to Add "1". Then, the processes after the process of deleting a predetermined number of variables (step S102) are repeated.
  • step S109 the control unit 21 of the support server 20 A good variable combination output process is executed (step S109). Specifically, the selection unit 211 of the control unit 21 identifies the variable set with the smallest prediction error among the variable sets temporarily stored in the memory. The selection unit 211 then outputs the identified variable set to the user terminal 10 .
  • control unit 21 of the support server 20 performs a process of deleting a predetermined number of variables (step S102), a process of calculating a prediction error (step S104), and a prediction Error assignment processing (step S105) is executed. This makes it possible to consider combinations of multiple variables and suppress the occurrence of local solutions. Therefore, information to be used for information processing can be efficiently and accurately selected.
  • control unit 21 of the support server 20 calculates the average value of prediction errors for each variable (step S106), and deletes variables with large prediction errors (step S107). and run As a result, variables with large statistical errors can be deleted. That is, it is considered that the average prediction error of each variable reflects the effectiveness of each variable. Like Hebb's rule, it is possible to emphasize effective combinations of variables by repeating learning.
  • the above embodiment was verified by artificially generating 32-dimensional learning data (two-class classification).
  • the prediction error of the support vector machine (SVM) using 32 selection variables was "0.246".
  • the number of selection variables was 11 and the prediction error was "0.141”.
  • the number of selection variables was 9, and the prediction error was "0.137”. Therefore, the above embodiment was able to obtain better accuracy than the stepwise method.
  • FIG. 6 a second embodiment of an information selection system, an information selection method, and an information selection program will be described.
  • the first embodiment the method of allocating the prediction error as it is to the usage variable has been described.
  • the second embodiment has a modified configuration in which prediction errors are assigned to utilization variables so as to reflect the effectiveness of each variable. Parts of the second embodiment that are the same as those of the first embodiment are denoted by the same reference numerals as those of the first embodiment, and detailed description thereof will be omitted.
  • step S104 the control unit 21 of the support server 20 executes the utilization variable contribution degree calculation process (step S201).
  • the degree of contribution of each usage variable to the accuracy (prediction error) calculated using the set of usage variables is calculated.
  • a self-organizing map (SOM) is used to calculate the contribution (effectiveness) of each variable. Therefore, the storage unit 22 of the support server 20 records the generated self-organizing map. This self-organizing map is recorded when the learning process is executed.
  • a self-organizing map is composed of nodes arranged in a multi-dimensional space and paths connecting the nodes. Each path and each node then holds information about age. This age is incremented by "1" upon acquisition of new input data. Additionally, each path and each node maintains information about liveness values. The liveness value is an index representing the effectiveness (meaning of existence) of each path and each node.
  • each node is composed of an input variable and an objective variable.
  • a self-organizing map that predicts the objective variable is assumed for the five-dimensional explanatory variables of the input data.
  • the explanatory variables of the input data are applied to the self-organizing map, it is determined that the first and second nodes n1 and n2 are the winner nodes. In this case, the target variable value of the closest node is used as the predicted value.
  • the distance D(1, j) between the first node n1 and each explanatory variable of the input data the distance D(2, j) between the second node n2 and each explanatory variable of the input data, and , the difference “D(1,j)-D(2,j)” is calculated.
  • “j” indicates the type of explanatory variable.
  • control unit 21 of the support server 20 executes prediction error allocation processing in consideration of the degree of contribution (step S202).
  • the distribution value A2 to be set for each variable is calculated by the following formula.
  • step S201 in FIG. 6 the process of creating a self-organizing map used in the process of calculating the degree of contribution of usage variables (step S201 in FIG. 6) will be described.
  • input data is acquired from the user terminal 10 .
  • the selection unit 211 of the control unit 21 of the support server 20 records the input data in the storage unit 22 .
  • input data consisting of explanatory variables and objective variables is used.
  • the control unit 21 of the support server 20 verifies the accuracy of learning while creating the map.
  • the control unit 21 of the support server 20 cross-validates the adjustment coefficient, which is the learning hyperparameter, to search for an optimal value that makes the learning accuracy equal to or higher than the reference value. to run. Accordingly, the effect of the objective variable is adjusted by multiplying the variable value of the objective variable by the adjustment coefficient.
  • the control unit 21 of the support server 20 executes input data analysis processing (step S401). Specifically, the evaluation unit 212 of the control unit 21 calculates the maximum distance dmax used when creating a node from the input data D(i). Here, for the total number N of data, the number Nn of neighborhood data of a node and the number Nw of winners to be considered are set in advance.
  • step S401 The input data analysis process (step S401) will be described with reference to FIG.
  • the control unit 21 of the support server 20 executes processing for calculating the distance between each piece of input data D(i) (step S501).
  • the evaluation unit 212 of the control unit 21 calculates the distances of combinations of all two pieces of input data D(i).
  • a distance table 500 is created by calculating the distances (d12, d13, . . . , d23, . . . ) between the input data D(i).
  • d12 is the distance between input data D(1) and input data D(2).
  • the control unit 21 of the support server 20 executes a process of calculating the distance from neighboring data for each piece of input data D(i) (step S502).
  • the evaluation unit 212 of the control unit 21 rearranges the distances in ascending order in the distance table 500 and acquires the distances up to the Nnth length.
  • control unit 21 of the support server 20 executes average value calculation processing (step S503). Specifically, the evaluation unit 212 of the control unit 21 calculates an average value (statistical value) of the acquired distances up to the Nnth. Then, this average value is recorded in the storage unit 22 as the maximum distance dmax between nodes.
  • control unit 21 of the support server 20 executes initialization processing (step S402).
  • the evaluation unit 212 of the control unit 21 determines parameters and initial nodes.
  • step S402 The initialization process (step S402) will be described with reference to FIG.
  • all input data D(i) are treated as nodes.
  • control unit 21 of the support server 20 executes a process of specifying neighborhood data within the maximum distance (step S601). Specifically, the evaluation unit 212 of the control unit 21 identifies all neighboring data whose distance from the input data D(i) to be processed is within the maximum distance dmax.
  • control unit 21 of the support server 20 executes node activation value calculation processing (step S602). Specifically, the evaluation unit 212 of the control unit 21 calculates the node activation value Aw(ni) of each neighborhood data using the following formula.
  • control unit 21 of the support server 20 executes a process of identifying proximity data that is equal to or greater than the maximum distance (step S604). Specifically, the evaluation unit 212 of the control unit 21 identifies other input data D(j) whose distance from the input data D(i) to be processed is equal to or greater than the maximum distance dmax.
  • the control unit 21 of the support server 20 executes path activity value calculation processing (step S605). Specifically, the evaluation unit 212 of the control unit 21 calculates the path activation value As(n1,n2) of each neighborhood data (input data D(j)) by the following formula.
  • the nodes at both ends of the path be a first node n1 and a second node n2.
  • d1 is the distance between the first node n1 and the data D(j)
  • d2 is the distance between the second node n2 and the data D(j).
  • control unit 21 of the support server 20 executes initial node setting processing (step S607).
  • step S607 The initial node setting process (step S607) will be described with reference to FIG.
  • the control unit 21 of the support server 20 executes node activity sorting processing (step S701). Specifically, the evaluation unit 212 of the control unit 21 rearranges the input data D(i) in descending order of node activity Arate_W(i).
  • control unit 21 of the support server 20 executes node candidate identification processing (step S702). Specifically, the evaluation unit 212 of the control unit 21 sequentially identifies input data D(i) with a high degree of activity as node candidates.
  • control unit 21 of the support server 20 executes determination processing as to whether the distance is less than the maximum distance (step S703). Specifically, the evaluation unit 212 of the control unit 21 calculates the distance between the node candidate and the already registered node, and compares the calculated distance with the maximum distance dmax.
  • step S702 If it is determined that the distance between the node candidate and the already registered node is greater than or equal to the maximum distance ("NO" in step S702), the control unit 21 of the support server 20 performs initial node addition processing. Execute (step S704). Specifically, the evaluation unit 212 of the control unit 21 adds the node candidate as a new node and records it in the storage unit 22 .
  • step S703 if it is determined that the distance between the node candidate and the already registered node is less than the maximum distance ("YES" in step S703), the control unit 21 of the support server 20 adds the initial node. Skip the process (step S704).
  • control unit 21 of the support server 20 executes determination processing as to whether or not to end (step S705). Specifically, the evaluation unit 212 of the control unit 21 determines that the processing is completed when the input data D(i) with the lowest activity level is processed.
  • control unit 21 of the support server 20 repeats the node candidate identification process (step S702) and subsequent processes.
  • step S705 the control unit 21 of the support server 20 ends the initial node setting process (step S607).
  • step S608 the control unit 21 of the support server 20 executes deletion threshold setting processing (step S608).
  • step S608 The deletion threshold setting process (step S608) will be described with reference to FIG.
  • the control unit 21 of the support server 20 executes node activity sorting processing (step S801). Specifically, the evaluation unit 212 of the control unit 21 rearranges the node activity levels Arate_W(i) in descending order.
  • control unit 21 of the support server 20 executes node deletion threshold specifying processing (step S802). Specifically, the evaluation unit 212 of the control unit 21 specifies the value of the node activation level Arate_W(i) of the designation order (Ndw) as the node deletion threshold and records it in the storage unit 22 .
  • control unit 21 of the support server 20 executes sorting processing of path activity (step S803). Specifically, the evaluation unit 212 of the control unit 21 rearranges the path activity levels Arate_S(i, j) in descending order.
  • control unit 21 of the support server 20 executes path deletion threshold specifying processing (step S804). Specifically, the evaluation unit 212 of the control unit 21 specifies the pass activity Arate_S(i,j) of the designated order (Nds) as the pass deletion threshold and records it in the storage unit 22 .
  • the control unit 21 of the support server 20 executes processing for identifying the winner node and the distance (step S403). Specifically, the evaluation unit 212 of the control unit 21 selects N nodes (from the first winner to Nth winner). Here, the evaluation unit 212 identifies N nodes (first to N-th winners) in order of proximity to the newly acquired input data D(i). Then, the evaluation unit 212 calculates each distance (d1 to dn) between the input data D(i) and each winner (first winner to Nth winner).
  • two winners are specified, and distances d1 and d2 from input data D(i) to each winner (n1, n2) are determined.
  • the control unit 21 of the support server 20 executes determination processing as to whether or not the calculated distance is longer than the maximum distance (step S404). Specifically, the evaluation unit 212 of the control unit 21 compares the distance d1 between the newly acquired input data D(i) and the nearest node (n1) with the maximum distance dmax.
  • control unit 21 of the support server 20 executes processing for adding a new node (step S405). Specifically, the evaluation unit 212 of the control unit 21 records the input data D(i) in the storage unit 22 as a new node.
  • the first and second nodes n1 and n2 are set to the second and third nodes n2 and n3, respectively, and the input data D(i) is added as the first node n1.
  • the control unit 21 of the support server 20 executes node and path information initialization processing (step S406). Specifically, the evaluation unit 212 of the control unit 21 initializes the age (Age_w, Age_s) and the activity value (Aw, As).
  • the information of each node is initialized according to the following formula.
  • the first node n1 is initialized.
  • d is the distance between each node ni and the first node n1.
  • the path information of the first and third nodes n1 and n3 is updated.
  • step S404 when the distance d1 is equal to or less than the maximum distance dmax ("NO" in step S404), the control unit 21 of the support server 20 executes calculation processing of the activation value an between the input data and the winners up to the N-th winner. (step S407).
  • the evaluation unit 212 of the control unit 21 calculates the activity value using the following formula.
  • d is the distance between each node ni and the input data D(i).
  • control unit 21 of the support server 20 executes update processing of node positions and path activity values (step S408). Specifically, as shown in part (c) of FIG. 15, the evaluation unit 212 of the control unit 21 updates the node position using the following formula.
  • g is a coefficient representing a learning rate.
  • the evaluation unit 212 updates the path activity value As according to the following formula.
  • the evaluation unit 212 of the control unit 21 updates the node activation value Aw according to the following formula.
  • the evaluation unit 212 of the control unit 21 updates the path activity value As according to the following formula.
  • control unit 21 of the support server 20 executes age update processing (step S409). Specifically, the evaluation unit 212 of the control unit 21 updates the ages Age_w and Age_s of the nodes and paths by adding "1" to them.
  • control unit 21 of the support server 20 executes node activity and path activity calculation processing (step S410). Specifically, the evaluation unit 212 of the control unit 21 calculates the node activity Arate_w using the following formula.
  • the evaluation unit 212 of the control unit 21 calculates the path activity Arate_s using the following formula.
  • control unit 21 of the support server 20 executes deletion processing of paths and nodes whose activity levels are below the threshold (step S411). Specifically, the evaluation unit 212 of the control unit 21 deletes nodes and paths whose activity levels are below the threshold.
  • the control unit 21 of the support server 20 performs the calculation processing of the contribution of the usage variables (step S201) and the allocation processing of the prediction error considering the contribution (step S202). Execute. Since each variable has a different influence on the prediction error resulting from the set of variables, the contribution of each node in the self-organizing map can be used to weight the variables. This weighting then allows a prediction error to be assigned to each variable.
  • control unit 21 of the support server 20 executes input data analysis processing (step S401).
  • input data analysis processing step S401.
  • a self-organizing map can be created using input data including objective variables and explanatory variables.
  • prediction can be performed by calculating the distance using the self-organizing map, so the prediction result is highly explainable.
  • control unit 21 of the support server 20 adjusts explanatory variables and objective variables when creating a self-organizing map. As a result, it is possible to generate a self-organizing map in which explanatory variables and objective variables are balanced.
  • FIG. 16 Next, according to FIG. 16, a third embodiment of an information selection system, an information selection method, and an information selection program will be described.
  • supervised learning has been described.
  • 3rd Embodiment is the structure changed so that the node position was adjusted using the data for verification.
  • Parts of the third embodiment that are the same as those of the second embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted.
  • the third embodiment creates a self-organizing map by coupling explanatory variables and objective variables during learning.
  • the objective variable value of the second node n2 is closer to the objective variable value (correct answer) of the verification data than the objective variable value of the first node n1.
  • the distance d (node contribution value) of each dimension of the explanatory variables it is possible to identify the dimension that exerts a bad influence.
  • the control unit 21 of the support server 20 executes prediction value calculation processing for the verification data (step S901). Specifically, the evaluation unit 212 of the control unit 21 specifies the closest node (closest node) by inputting explanatory variable values of the verification data into the self-organizing map. Then, the evaluation unit 212 acquires the objective variable value of the closest node as the predicted value.
  • control unit 21 of the support server 20 executes node contribution value calculation processing (step S902). Specifically, the evaluation unit 212 of the control unit 21 calculates the node contribution value dAi,j using the following difference.
  • control unit 21 of the support server 20 executes movement vector calculation processing (step S903). Specifically, the evaluation unit 212 of the control unit 21 calculates the movement vector dVi,j using the following formula.
  • control unit 21 of the support server 20 executes processing for calculating the average vector of the movement vectors (step S904). Specifically, the evaluation unit 212 of the control unit 21 calculates a motion vector (mean vector) dVi,mean using the following formula.
  • control unit 21 of the support server 20 executes node adjustment processing using the movement vector (step S905). Specifically, the evaluation unit 212 of the control unit 21 moves the node using the movement vector dVi,mean multiplied by the adjustment coefficient.
  • control unit 21 of the support server 20 executes accuracy calculation processing (step S906). Specifically, the evaluation unit 212 of the control unit 21 predicts the objective variable value by inputting the explanatory variables of the verification data into the adjusted self-organizing map. Then, the evaluation unit 212 compares the predicted objective variable value with the objective variable of the verification data to calculate the percentage of correct answers (accuracy).
  • the control unit 21 of the support server 20 executes determination processing as to whether convergence has occurred (step S907). Specifically, the prediction unit 213 of the control unit 21 compares the accuracy of the previously created map with the accuracy of the currently created map. If the accuracy is improved, that is, if the accuracy of the map created this time is better than the accuracy of the previously created map, it is determined that the convergence has not occurred. Note that the convergence determination is not limited to determination based on the presence or absence of accuracy improvement. For example, convergence may be determined when the accuracy improvement is within a predetermined range.
  • step S907 If it is determined that the accuracy is improved, that is, it is not converged ("NO" in step S907), the control unit 21 of the support server 20 sets the accuracy of the map created this time as the initial accuracy, and the step The processing after S901 is repeated.
  • step S907 the control unit 21 of the support server 20 ends the map adjustment process.
  • the following effects can be obtained. can.
  • control unit 21 of the support server 20 executes node contribution value calculation processing (step S902).
  • the cause of prediction failure can be analyzed according to the node contribution value. That is, nodes that have a positive effect on prediction, depending on the size relationship between the "distance between the verification data and the correct node" and the "distance between the verification data and the incorrect node” in each dimension, Nodes that adversely affect prediction can be identified.
  • control unit 21 of the support server 20 executes movement vector calculation processing (step S903). This can improve the self-organizing map by moving nodes that cause prediction failures.
  • control part 21 of the support server 20 performs the deletion process of a predetermined number of variables (step S102).
  • the number of variables to be deleted is not limited to two, because a plurality of types of variables may be identified as objects to be deleted.
  • the control unit 21 of the support server 20 executes the process of deleting a predetermined number of variables (step S102) and the process of calculating the prediction error (step S104).
  • a predetermined number of variables from among the plurality of explanatory variables
  • an analysis model is created using teacher data consisting of some of the variables that remain without being deleted.
  • a plurality of analysis models can be generated by sequentially using a part of the information composed of a plurality of teaching data, and therefore the object to be deleted is not limited to variables.
  • an analysis model may be generated using a data set (part of a plurality of teacher data) generated by deleting a predetermined number of teacher data.
  • machine learning is performed as information processing, but the information processing is not limited to machine learning as long as the information processing generates an analysis model.
  • the online learning process is executed. However, it is not limited to online processing as long as it can generate a self-organizing map. For example, clustering may be performed using a self-organizing map generated by batch processing.
  • the control unit 21 of the support server 20 calculates the maximum distance dmax in executing the input data analysis process (step S401).
  • the maximum distance dmax may be a statistical value representative of the input data, so the method of calculating the maximum distance dmax is not limited.
  • an initial value of the maximum distance dmax may be set in advance, and the maximum distance dmax may be recalculated according to an increase in the number of input data.
  • the control unit 21 of the support server 20 uses a self-organizing map (step S201 in FIG. 6). Specifically, the evaluation unit 212 of the control unit 21 identifies the node closest to the variable value of the explanatory variable of the input data.
  • a plurality of nodes connected to the nearest first node n1 may be used to predict the objective variable by regression.
  • a plurality of nodes may be specified by using other nodes connected to the nearest first node n1 by paths.
  • the node position is adjusted using the node contribution value (step S902 in FIG. 16).
  • the node positions may be adjusted based on the path contribution values. For example, when the objective variable value of the second node n2 is closer to the objective variable value (correct answer) of the verification data than the objective variable value of the first node n1 predicted using the explanatory variable value of the verification data.
  • the dimension having an adverse effect is specified.
  • step SX01 the control unit 21 of the support server 20 executes a prediction value calculation process for the verification data (step SX01), as in step S901.
  • control unit 21 of the support server 20 executes node contribution value calculation processing in the same manner as in step S902 (step SX02).
  • control unit 21 of the support server 20 executes path contribution value calculation processing (step SX03).
  • the evaluation unit 212 of the control unit 21 calculates a path contribution value dAk,l (where l is a lowercase letter L) using the following difference.
  • control unit 21 of the support server 20 executes a summation process of the contribution values of the nodes (step SX04). Specifically, the evaluation unit 212 of the control unit 21 calculates the total dASi of the contribution values of the nodes using the following formula.
  • control unit 21 of the support server 20 executes path contribution value summation processing (step SX05). Specifically, the evaluation unit 212 of the control unit 21 calculates the total dASk of path contribution values using the following equation.
  • control unit 21 of the support server 20 executes a process of identifying an adverse effect node and an adverse effect path (step SX06). Specifically, the evaluation unit 212 of the control unit 21 sorts the total dASi of the node contribution values and the total dASk of the path contribution values in descending order. The evaluation unit 212 then identifies the nodes and paths corresponding to the predetermined number of dASi and dASk, respectively, as adverse nodes and adverse paths.
  • control unit 21 of the support server 20 executes the process of deleting adverse effect nodes and adverse effect paths (step SX07). Specifically, the evaluation unit 212 of the control unit 21 deletes the identified adverse effect nodes and adverse effect paths.
  • each path and each node uses a self-organizing map that holds age-related information.
  • Evolving Self-Organizing Maps can also be used as a learning method that proliferates neurons as needed during learning.
  • SOINN Self-Organizing Incremental Neural Network
  • This SOINN is an additional-learnable online unsupervised learning method that extends Growing Neural Gas (GNG) and Self-Organizing Maps (SOM).
  • GNG Growing Neural Gas
  • SOM Self-Organizing Maps
  • SOINN is able to generate an appropriate number of classes by self-organizing a network for inputs obtained online from a dynamically changing non-stationary and complex-shaped distribution. and the topological structure of the input distribution.
  • step SX12 the control unit 21 of the support server 20 determines a winner node (step SX12).
  • the first node n1 closest to the input data D(i) first winner, distance d1 to the input data D(i)
  • the second closest node n1 2 nodes n2 second winner, distance d2 to input data D(i)
  • a new first node n1 is generated.
  • the control unit 21 of the support server 20 updates the node position and path activity value (step SX15).
  • the activation values a1 and a2 corresponding to the distances between the input data D(i) and the first and second nodes n1 and n2 are calculated.
  • node position and path activation value As(n1,n2) are updated as follows (Hebb rule).
  • the control unit 21 of the support server 20 executes the processing for calculating the degree of contribution of the usage variables (step S201) and the processing for allocating prediction errors in consideration of the degree of contribution (step S202).
  • processing may be divided according to the sign of "dD i,k (l,j)". For example, if ⁇ dD i,k ( l,j)'' is rarely positive and mostly negative, calculating Data contribution values may be underestimated.
  • the contribution values are equally calculated by dividing the processing depending on whether "dD i,k (l,j)" is positive or negative.
  • FIG. 20 shows an example of "-ddA i,k (l)dD i,k (l,j)" in the i-th trial and the k-th data.
  • the subset of dimension l (lowercase ell) that satisfies "-ddA i,k (l)dD i,k (l,j)>0" is l1 (el one), "-ddA i,k (l )dD i,k (l,j) ⁇ 0” is defined as l2.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

情報処理に用いる情報を効率的に的確に選択するための情報選択システム、情報選択方法及び情報選択プログラムが提供される。支援サーバ(20)の制御部(21)が、複数の教師データからなる情報において、一部の情報を用いて、複数の解析モデルを生成するとともに、各解析モデルの精度を算出する。制御部は、各精度に応じた分配値を、解析モデルの生成に用いた情報に割り当てることと、解析モデルの生成に用いた情報毎に、分配値の統計値を算出することと、統計値を用いて、解析モデルの生成に用いる情報を選択することと、を行なう。

Description

情報選択システム、情報選択方法及び情報選択プログラム
 本開示は、情報処理に用いる情報を選択するための情報選択システム、情報選択方法及び情報選択プログラムに関する。
 学習処理を行なう場合、学習に用いる変数を選択するためにステップワイズ法を利用することがある。ステップワイズ法は、逐次的に1つずつ、変数を追加あるいは削除していく手法である(例えば、特許文献1を参照。)。この文献に記載された技術は、プロセスの状態予測方法において、重回帰モデルを構成する説明変数を、時系列データベースから選定する。時系列データベースには、プロセスの操業状態を示す複数のプロセス変数の、時刻歴データが蓄積されている。この場合、ステップワイズ法により説明変数を絞り込んだ後、絞り込まれた説明変数の偏回帰係数の正負をチェックすることで、実現象とは逆の作用を示す説明変数を除外する。
特開2012-128800号公報
 しかしながら、変数が多いと、試行回数が膨大になるため、計算時間が長くなる。
 本開示の一側面によって提供される情報選択システムは、解析モデルの生成に用いる情報を選択する制御部を備える。そして、前記制御部が、複数の教師データからなる情報において、一部の情報を用いて、複数の解析モデルを生成するとともに、前記各解析モデルの精度を算出する。前記制御部は、前記各精度に応じた分配値を、前記解析モデルの生成に用いた情報に割り当てることと、前記解析モデルの生成に用いた情報毎に、前記分配値の統計値を算出することと、前記統計値を用いて、解析モデルの生成に用いる情報を選択することと、を行なう。
第1実施形態の情報選択システムの説明図である。 図1の情報選択システムにおける、第1実施形態のハードウェア構成の説明図である。 図1の情報選択システムにおける、第1実施形態の処理手順の説明図である。 図3の処理手順における、第1実施形態の変数テーブルの説明図である。 図4に続く、第1実施形態の変数テーブルの説明図である。 図3の処理手順の一部に置換される、第2実施形態の処理手順の説明図である。 図6の処理手順における、第2実施形態の自己組織化マップ(SOM:Self-Organizing Map)のノードの説明図である。 図6の処理手順における、第2実施形態の変数テーブルの説明図である。 図6の処理手順における、第2実施形態の処理手順の説明図である。 図9の処理手順における、第2実施形態の処理手順の説明図である。 図10の処理手順における、第2実施形態の距離テーブルの説明図である。 図9の処理手順における、第2実施形態の処理手順の説明図である。 図12の処理手順における、第2実施形態の処理手順の説明図である。 図12の処理手順における、第2実施形態の処理手順の説明図である。 図9の処理手順における、第2実施形態の処理手順の説明図であって、(a)部分は入力データの配置、(b)部分は新規ノードの追加、(c)部分は既存ノードの更新、の説明図である。 図9の処理手順とは異なる、第3実施形態の処理手順の説明図である。 図16の処理手順に関連する、別例の処理手順の説明図である。 図9の処理手順とは異なる、別の別例の処理手順の説明図である。 図18の処理手順における、別例の処理手順の説明図であって、(a)部分は入力データの配置、(b)部分は新規ノードの追加、(c)部分は既存ノードの更新、の説明図である。 図6の処理手順に関連する、別例のノード同士間距離の説明図である。 比較例の処理手順の説明図である。 図21に関連する、比較例の処理手順の説明図である。 図22に続く、比較例の処理手順の説明図である。 図23に続く、比較例の処理手順の説明図である。
 本明細書における記述「A及びBのうちの少なくとも一つ」は、「Aのみ」又は「Bのみ」又は「AとBの両方」を意味するものとして理解されたい。
 (第1実施形態)
 図1~図5に従って、情報選択システム、情報選択方法及び情報選択プログラムを具体化した一実施形態を説明する。本実施形態では、変数(情報)をランダムに選択することで学習を繰り返しつつ、変数の有効性を求めて変数の追加・削除を逐次的に行なう。
 図1に示すように、本実施形態の情報選択システムは、ユーザ端末10及び支援サーバ20を用いる。
 (ハードウェア構成例)
 図2は、ユーザ端末10又は支援サーバ20等として機能する情報処理装置H10のハードウェア構成例である。
 情報処理装置H10は、通信装置H11、入力装置H12、表示装置H13、記憶装置H14、及びプロセッサH15を有する。なお、このハードウェア構成は一例であるので、情報処理装置H10は他のハードウェアを有していてもよい。
 通信装置H11は、他の装置との間で通信経路を確立することで、データの送受信を実行するインタフェースであり、例えばネットワークインタフェースや無線インタフェース等である。
 入力装置H12は、利用者等からの入力を受け付ける装置であり、例えばマウスやキーボード等である。表示装置H13は、各種情報を表示するディスプレイやタッチパネル等である。
 記憶装置H14は、ユーザ端末10又は支援サーバ20の各種機能を実行するためのデータや各種プログラムを格納する記憶装置である。記憶装置H14の一例としては、ROM、RAM、又はハードディスク等がある。
 プロセッサH15は、記憶装置H14に記憶されるプログラムやデータを用いて、ユーザ端末10又は支援サーバ20における各処理(例えば、後述する制御部21における処理)を制御する。プロセッサH15の一例としては、例えばCPUやMPU等がある。このプロセッサH15は、ROM等に記憶されるプログラムをRAMに展開することで、各種処理に対応する各種プロセスを実行する。例えば、プロセッサH15は、ユーザ端末10又は支援サーバ20のアプリケーションプログラムが起動された場合、後述する各処理を実行するプロセスを動作させる。
 プロセッサH15は、自身が実行するすべての処理についてソフトウェア処理を行なうものに限られない。例えば、プロセッサH15は、自身が実行する処理の少なくとも一部についてハードウェア処理を行なう専用のハードウェア回路(例えば、特定用途向け集積回路:ASIC)を備えてもよい。すなわち、プロセッサH15は、以下で構成し得る。
 (1)コンピュータプログラム(ソフトウェア)に従って動作する1つ以上のプロセッサ、
 (2)各種処理のうち少なくとも一部の処理を実行する1つ以上の専用のハードウェア回路、或いは
 (3)それらの組み合わせ、を含む回路(circuitry)。
 プロセッサは、CPUと、RAM及びROM等のメモリと、を含む。メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリすなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。
 (各情報処理装置の機能)
 図1を用いて、ユーザ端末10及び支援サーバ20の機能を説明する。
 ユーザ端末10は、本システムを利用するユーザが用いるコンピュータ端末である。
 支援サーバ20は、情報処理に用いる変数を選択するコンピュータシステムである。この支援サーバ20は、制御部21及び記憶部22を備えている。ここでは、情報処理として機械学習を行なう。
 制御部21は、後述する処理(選択段階及び評価段階等を含む処理)を行なう。このための情報選択プログラムを実行することにより、制御部21は、選択部211及び評価部212等として機能する。
 選択部211は、情報処理に用いられる変数を選択する処理を実行する。
 評価部212は、選択された変数を用いた解析モデルの精度を算出する処理を実行する。具体的には、評価部212は、機械学習により解析モデルを生成するとともに、この解析モデルの予測誤差を精度として算出する。
 記憶部22には、機械学習等の情報処理に用いられる情報(入力データ)が記録される。この入力データは、情報処理に用いられるデータが取得された場合に記憶部22に記録される。入力データは、互いに異なる次元からなる複数の要素データを備えたベクトルである。例えば、複数種類の説明変数及び(1種類の)目的変数からなる教師データを、入力データとして用いることができる。
 (変数減少法)
 ここで、比較例として、図21~図24を用いて、ステップワイズ法の中で、全変数を選択した状態からスタートしつつ、1つずつ変数を削除していく変数減少法を説明する。
 図21に示すように、まず、全変数を選択して精度の計算を行なう(ステップS01)。例えば、変数p1~p4を用いる場合、すべての変数(p1~p4)を用いて、回帰式を算出する。そして、この回帰式の精度として、平均絶対誤差(MAE:Mean Absolute Error)である予測誤差e0を算出する。
 次に、一部の変数を削除した後に残った変数の組み合わせの精度の計算を行なう(ステップS02)。
 図22のテーブル700に示すように、変数(p1~p4)を用いる場合、変数(p1~p4)の中から一つずつ削除した後に残った変数の組み合わせを用いて、回帰式を算出する。例えば、変数(p1~p4)の中から変数(p1)を削除した後に残った変数(p2~p4)を用いた回帰式の精度として、予測誤差e11を算出する。また、変数(p1~p4)の中から変数(p2)を削除した後に残った変数(p1,p3,p4)を用いた回帰式の精度として、予測誤差e12を算出する。また、変数(p1~p4)の中から変数(p3)を削除した後に残った変数(p1,p2,p4)を用いた回帰式の精度として、予測誤差e13を算出する。変数(p1~p4)の中から変数(p4)を削除した後に残った変数(p1~p3)を用いた回帰式の精度として、予測誤差e14を算出する。
 次に、精度に応じて変数の削除を行なう(ステップS03)。ここでは、最も精度が良かった変数組み合わせに関する変数(平均絶対誤差が最も小さい変数)を削除する。すなわち、特定の変数を用いないときに用いた変数組み合わせの平均絶対誤差が小さくなる場合に、この特定の変数を削除する。図22の予測誤差e11~e14の中で予測誤差e12が最も小さい場合、図23のテーブル701にハッチングで示すように、予測誤差e12に対応する変数p2を、変数(p1~p4)の中から削除する。
 次に、変数減少法の処理が終了かどうかについての判定を行なう(ステップS04)。例えば、残っている変数が2つの場合には終了と判定する。終了と判定した場合(ステップS04において「YES」の場合)、最も精度の良い変数の組み合わせを最終結果として特定する。
 一方、終了でないと判定した場合(ステップS04において「NO」の場合)、ステップS02以降の処理を繰り返す。
 図23に示すように、変数(p1,p3,p4)の中の一つを削除することで残った変数の組み合わせを用いて、回帰式を算出する。例えば、変数(p1,p3,p4)の中から変数(p1)を削除することで残った変数(p3,p4)の組み合わせを用いた回帰式の精度として、予測誤差e21を算出する。変数(p1,p3,p4)の中から変数(p3)を削除することで残った変数(p1,p4)の組み合わせを用いた回帰式の精度として、予測誤差e23を算出する。変数(p1,p3,p4)の中から変数(p4)を削除することで残った変数(p1,p3)を用いた回帰式の精度として、予測誤差e24を算出する。図23の予測誤差e21,e23,e24の中で予測誤差e21が最も小さい場合、図24のテーブル702にハッチングで示すように、予測誤差e21に対応する変数p1を変数(p1,p3,p4)の中から削除する。
 そして、最も精度の良い変数(平均絶対誤差が大きい変数)の組み合わせ(ここでは、変数p3,p4)を、最終結果として特定する。
 しかしながら、上述の変数減少法は変数を1つずつ検討していくので、複数の変数の組み合わせが考慮されない場合がある。この場合、局所解に陥りやすい。例えば、図22~図24の例では、最初に変数p2を削除する。よって、変数p2が入った変数組み合わせは、変数p2を削除した以降は考慮されない。また、変数が多いと、試行回数が膨大になるので、計算時間が長くなる虞れがある。
 (変数選択処理)
 次に、図3を用いて、本実施形態における変数選択処理を説明する。ここでは、支援サーバ20の制御部21の選択部211は、ユーザ端末10から入力データを取得する。そして、選択部211は、入力データを記憶部22に記録する。
 まず、支援サーバ20の制御部21は、全変数で精度の計算処理を実行する(ステップS101)。具体的には、制御部21の選択部211は、記憶部22に記録された入力データにおいて、すべての変数値を含めてデータセット(教師データ群)を作成する。次に、選択部211は、評価部212に対して、作成されたデータセットを提供する。そして、評価部212は、データセットを用いた機械学習を行なうことにより、解析モデルを作成する。次に、評価部212は、作成された解析モデルの精度(予測誤差)を計算する。
 そして、支援サーバ20の制御部21は、以下の処理を、所定回数、繰り返す。
 ここでは、支援サーバ20の制御部21は、所定数の変数の削除処理を実行する(ステップS102)。具体的には、制御部21の選択部211は、入力データを構成する変数から、ランダムに所定数の複数種類の変数(利用変数組)を、特定する。本実施形態では、削除される変数である削除対象として、2個の変数を特定する。削除されずに残った変数が、利用変数である。ここでは、利用変数組は、6個の変数を有する。
 次に、支援サーバ20の制御部21は、特定された利用変数組が、過去に選択された変数組に一致するかどうかについての判定処理を実行する(ステップS103)。具体的には、制御部21の選択部211は、今回の利用変数組と、これまでに評価を行なった利用変数組と、を比較する。
 今回の利用変数組と、これまでに評価を行なった利用変数組と、が一致していることで、今回特定された利用変数組が、過去に選択した利用変数組に一致すると判定した場合(ステップS103において「YES」の場合)、所定数の変数の削除処理(ステップS102)を繰り返す。
 一方、今回特定された利用変数組が、過去に選択された利用変数組でないと判定された場合(ステップS103において「NO」の場合)、支援サーバ20の制御部21は、予測誤差の算出処理を実行する(ステップS104)。具体的には、制御部21の選択部211は、今回の利用変数組のデータセットを作成する。次に、選択部211は、評価部212に対して、作成されたデータセットを提供する。そして、評価部212は、データセットを用いた機械学習を行なうことにより、解析モデルを作成する。次に、評価部212は、作成された解析モデルの精度(予測誤差)を計算する。
 次に、支援サーバ20の制御部21は、利用変数組に対して、予測誤差の割当処理を実行する(ステップS105)。具体的には、制御部21の選択部211は、利用変数組の各変数に対して、計算された予測誤差を分配値として割り当てる。
 図4に示すように、変数(p1~p8)を用いる場合、複数の変数p2及びp7を削除したケースを想定する。ここで、変数テーブル100に示すように、予測誤差の算出処理(ステップS104)において、予測誤差e1を算出した場合を想定する。そして、利用変数組に対する予測誤差の割当処理(ステップS105)において、変数テーブル101に示すように、変数(p1,p3~p6,p8)の各々に、予測誤差e1を割り当てる。
 以上の処理を、所定回数、繰り返す。
 図5に示すように、7回(ここでの所定回数)の処理を繰り返した後、変数テーブル102が生成される。ここでは、各利用変数組に対して予測誤差e1~e7が算出されるとともに、予測誤差e1~e7の各々は各利用変数に対して割り当てられている。
 次に、支援サーバ20の制御部21は、各変数について予測誤差の平均値の算出処理を実行する(ステップS106)。具体的には、制御部21の選択部211は、各変数について割り当てられた予測誤差の統計値を、ここでは、平均値を、算出する。
 この場合、図5の平均値欄103に示すように、変数(p1~p8)に対して割り当てられた予測誤差(e1~e7)の平均値av1~av8を算出する。例えば、変数p1について予測誤差の平均値av1は、予測誤差e1及びe3~e7の平均値である。
 次に、支援サーバ20の制御部21は、予測誤差が大きい変数に対する削除処理を実行する(ステップS107)。具体的には、制御部21の選択部211は、予測誤差の平均値が大きい変数を特定する。そして、選択部211は、予測誤差の平均値が大きい変数を削除する。この場合、選択部211は、残っている変数組に関連付けて予測誤差をメモリに仮記憶する。
 次に、支援サーバ20の制御部21は、終了条件に到達かどうかについての判定処理を実行する(ステップS108)。具体的には、制御部21の選択部211は、繰り返し回数Nが目標回数Nmax(終了条件)になっているかどうかを確認する。なお、終了条件は目標回数Nmaxに限らず、最大計算時間を予め定めておいて、この最大計算時間を終了条件としてもよい。
 繰り返し回数Nが目標回数Nmaxに達していないことで、終了条件に到達していないと判定された場合(ステップS108において「NO」の場合)、支援サーバ20の制御部21は、繰り返し回数Nに「1」を加算する。そして、所定数の変数の削除処理(ステップS102)以降の処理を繰り返す。
 一方、繰り返し回数Nが目標回数Nmaxに一致していることで、終了条件に到達したと判定された場合(ステップS108において「YES」の場合)、支援サーバ20の制御部21は、最も精度の良い変数の組み合わせの出力処理を実行する(ステップS109)。具体的には、制御部21の選択部211は、メモリに仮記憶された変数組において、予測誤差が最も小さい変数組を特定する。そして、選択部211は、特定した変数組を、ユーザ端末10に出力する。
 本実施形態によれば、以下のような効果を得ることができる。
 (1-1)本実施形態においては、支援サーバ20の制御部21は、所定数の変数の削除処理(ステップS102)と、予測誤差の算出処理(ステップS104)と、及び利用変数組に対する予測誤差の割当処理(ステップS105)と、を実行する。これにより、複数の変数の組み合わせを考慮するとともに、局所解の発生を抑制することができる。よって、情報処理に用いる情報を効率的に的確に選択することができる。
 (1-2)本実施形態においては、支援サーバ20の制御部21は、各変数について予測誤差の平均値の算出処理(ステップS106)と、及び予測誤差が大きい変数の削除処理(ステップS107)と、を実行する。これにより、統計的に誤差が大きい変数を削除することができる。すなわち、各変数の平均予測誤差には、各変数の有効性が反映されていると考えられる。Hebb則のように、学習を繰り返すことにより、有効な変数の組み合わせを強調させることができる。
 ここで、例えば、32次元の学習データ(2クラス分類)を人工的に生成することで、上記実施形態を検証した。32個の選択変数を用いたサポートベクターマシン(SVM)の予測誤差は、「0.246」であった。また、ステップワイズ法及びSVMを用いた場合、選択変数は11個になるとともに、予測誤差は、「0.141」であった。更に、上記実施形態及びSVMを用いた場合、選択変数は9個になるとともに、予測誤差は、「0.137」となった。よって、上記実施形態は、ステップワイズ法よりもよい精度を得ることができた。
 (第2実施形態)
 次に、図6に従って、情報選択システム、情報選択方法及び情報選択プログラムを具体化した第2実施形態を説明する。第1実施形態では、予測誤差をそのまま利用変数に割り当てる方法について説明した。第2実施形態は、各変数の有効性を反映させるように、予測誤差を利用変数に割り当てるように変更した構成である。第2実施形態のうち、上記第1実施形態と同様の部分については、第1実施形態と同一の符号を付し、その詳細な説明を省略する。
 図6に示すように、予測誤差の算出処理(ステップS104)の実行後に、支援サーバ20の制御部21は、利用変数の貢献度の算出処理を実行する(ステップS201)。ここでは、利用変数組を用いて算出した精度(予測誤差)に対する、各利用変数の貢献度を算出する。
 各変数の貢献度(有効性)を算出するために、自己組織化マップ(SOM:Self-Organizing Map)を用いる。このため、支援サーバ20の記憶部22は、生成された自己組織化マップを記録する。この自己組織化マップは、学習処理の実行時に記録される。自己組織化マップは、複数次元空間に配置されたノードと、ノード同士間を繋ぐパスと、から構成される。そして、各パス及び各ノードは、年齢に関する情報を保持する。この年齢は、新たな入力データの取得時に「1」だけ増加される。更に、各パス及び各ノードは、活性値に関する情報を保持する。活性値は、各パス及び各ノードの有効性(存在意義)を表す指標である。
 図7を用いて、自己組織化マップを用いて、この貢献度の概念を説明する。この自己組織化マップでは、入力変数及び目的変数により、各ノードが構成されている。ここでは、入力データの5次元の説明変数に対して、目的変数を予測する自己組織化マップを想定する。入力データの説明変数を自己組織化マップに適用した場合、第1及び第2ノードn1,n2が勝者ノードであると判定する。この場合、最も近いノードの目的変数値を予測値とする。ここで、第1ノードn1と入力データの各説明変数との間の距離D(1,j)と、第2ノードn2と入力データの各説明変数との間の距離D(2,j)と、の差分「D(1,j)-D(2,j)」を算出する。「j」は説明変数の種類を示す。
 差分「D(1,j)-D(2,j)」により、第1ノードn1に近い説明変数と、第2ノードn2に近い説明変数と、が存在することがわかる。ここで、入力データの目的変数値に関して、第1ノードn1の説明変数値よりも第2ノードn2の説明変数値の方が好ましい場合、第2ノードn2の目的変数の方が近いことになる。すなわち、差分が正の説明変数は、予測に良い影響を与えていることを示す。一方、差分が負の説明変数は、予測に悪い影響を与えていることを示す。そこで、この差分を、説明変数の貢献度を表わす指標として用いる。
 図8のテーブル110に示すように、変数(p1,p3~p6,p8)が選択されるとともに、精度として予測誤差e1が算出された場合を想定する。この場合、予測誤差e1の算出における変数(p1,p3~p6,p8)の貢献度V(i,j)を算出する。
 この場合、貢献度V(i,j)を以下の式で計算する。
 次に、支援サーバ20の制御部21は、貢献度を考慮した予測誤差の割当処理を実行する(ステップS202)。
 図8に示すように、変数(p1,p3~p6,p8)の各貢献度と、予測誤差e1と、を用いて、各変数の分配値(A2(i,1),A2(i,3)~A2(i,6),A2(i,8))を各変数に割り当てる。
 各変数に設定する分配値A2を以下の式で算出する。
 (自己組織化マップの作成方法)
 次に、図9を用いて、利用変数の貢献度の算出処理(図6のステップS201)に用いる、自己組織化マップの作成処理を説明する。ここでは、ユーザ端末10から入力データが取得される。そして、支援サーバ20の制御部21の選択部211は、入力データを記憶部22に記録する。ここでは、説明変数及び目的変数からなる、入力データが用いられる。この場合、支援サーバ20の制御部21は、マップを作成しながら、学習の精度を検証する。そして、支援サーバ20の制御部21は、学習の精度が基準値に達していない場合には、学習のハイパーパラメータである調整係数において、学習の精度が基準値以上となる最適値を探す交差検証を実行する。これにより、目的変数の変数値に調整係数を乗算することで、目的変数の影響を調整する。
 (マップ生成処理)
 まず、支援サーバ20の制御部21は、入力データの解析処理を実行する(ステップS401)。具体的には、制御部21の評価部212は、入力データD(i)からノードを作成する場合に用いられる、最大距離dmaxを算出する。ここでは、全データ数Nに対して、ノードの近傍データ数Nnと、考慮する勝者数Nwと、を予め設定しておく。
 図10を用いて、入力データの解析処理(ステップS401)を説明する。
 ここでは、まず、支援サーバ20の制御部21は、各入力データD(i)同士間の距離の算出処理を実行する(ステップS501)。具体的には、制御部21の評価部212は、すべての2つの入力データD(i)の組み合わせの距離を算出する。
 この場合、図11に示すように、各入力データD(i)同士間の距離(d12,d13,…,d23,…)を算出することで距離テーブル500を作成する。例えばd12は、入力データD(1)と入力データD(2)との間の距離である。  次に、支援サーバ20の制御部21は、各入力データD(i)について、近傍データとの距離の算出処理を実行する(ステップS502)。具体的には、制御部21の評価部212は、距離テーブル500において、距離を昇順に並び替えるとともに、長さがNn番目までの距離を取得する。
 次に、支援サーバ20の制御部21は、平均値の算出処理を実行する(ステップS503)。具体的には、制御部21の評価部212は、取得したNn番目までの距離の、平均値(統計値)を算出する。そして、この平均値を、ノード同士間の最大距離dmaxとして記憶部22に記録する。
 次に、図9に示すように、支援サーバ20の制御部21は、初期化処理を実行する(ステップS402)。ここでは、制御部21の評価部212は、パラメータ及び初期ノードを決定する。
 図12を用いて、初期化処理(ステップS402)を説明する。ここでは、すべての入力データD(i)をノードとして取り扱う。
 まず、支援サーバ20の制御部21は、i=1から、順次、入力データD(i)を処理対象として特定しつつ、以下の処理を繰り返す。
 まず、支援サーバ20の制御部21は、最大距離内の近傍データの特定処理を実行する(ステップS601)。具体的には、制御部21の評価部212は、処理対象の入力データD(i)からの距離が最大距離dmax以内の、全ての近傍データを特定する。
 次に、支援サーバ20の制御部21は、ノード活性値の計算処理を実行する(ステップS602)。具体的には、制御部21の評価部212は、以下の式により、各近傍データのノード活性値Aw(ni)を計算する。
Figure JPOXMLDOC01-appb-M000003
 次に、支援サーバ20の制御部21は、ノード活性度配列の生成処理を実行する(ステップS603)。具体的には、制御部21の評価部212は、1次元の配列で、全ノードの活性値を並べた[Arate_W(i) i=1~N]を生成する。この[Arate_W(i) i=1~N]は、1次元の配列であり、[Arate_W(i) i=1~N]には全ノードの活性値が入る。次に、評価部212は、ノード活性度Arate_W(i)を算出する。このノード活性度Arate_W(i)は、ノードniから最大距離dmax内のデータのノード活性値の和を、年齢で割ったものである。
 次に、支援サーバ20の制御部21は、最大距離以上の近傍データの特定処理を実行する(ステップS604)。具体的には、制御部21の評価部212は、処理対象の入力データD(i)からの距離が最大距離dmax以上である、他の入力データD(j)を特定する。
 次に、支援サーバ20の制御部21は、パス活性値の計算処理を実行する(ステップS605)。具体的には、制御部21の評価部212は、以下の式により、各近傍データ(入力データD(j))のパス活性値As(n1,n2)を計算する。ここで、パスの両端のノードを第1ノードn1及び第2ノードn2とする。d1は第1ノードn1とデータD(j)との間の距離であり、d2は第2ノードn2とデータD(j)との間の距離である。
Figure JPOXMLDOC01-appb-M000004
 次に、支援サーバ20の制御部21は、パス活性度配列の生成処理を実行する(ステップS606)。具体的には、制御部21の評価部212は、2次元の配列で、全パスの活性値を並べた[Arate_S(i,j)i=1~N,j=1~N]を生成する。この[Arate_S(i,j) i=1~N, j=1~N]は、2次元の配列であり、[Arate_S(i,j) i=1~N, j=1~N]には全パスの活性値が入る。次に、評価部212は、パス活性度Arate_S(i,j)を算出する。このパス活性度Arate_S(i,j)は、パス(i,j)に属するデータのノード活性値の和を、年齢で割ったものである。
 以上の処理を、全ての入力データについて繰り返して実行する。
 次に、支援サーバ20の制御部21は、初期ノードの設定処理を実行する(ステップS607)。
 図13を用いて、初期ノードの設定処理(ステップS607)を説明する。
 ここでは、まず、支援サーバ20の制御部21は、ノード活性度のソート処理を実行する(ステップS701)。具体的には、制御部21の評価部212は、ノード活性度Arate_W(i)の高い順に、入力データD(i)を並び替える。
 次に、支援サーバ20の制御部21は、ノード候補の特定処理を実行する(ステップS702)。具体的には、制御部21の評価部212は、活性度の高い入力データD(i)を、ノード候補として、順次、特定する。
 次に、支援サーバ20の制御部21は、最大距離未満かどうかについての判定処理を実行する(ステップS703)。具体的には、制御部21の評価部212は、ノード候補と、既登録のノードと、の間の距離を算出するとともに、算出された距離を最大距離dmaxと比較する。
 ノード候補と、既登録のノードと、の間の距離が最大距離以上であると判定した場合(ステップS702において「NO」の場合)、支援サーバ20の制御部21は、初期ノードの追加処理を実行する(ステップS704)。具体的には、制御部21の評価部212は、ノード候補を新規ノードとして追加するとともに、記憶部22に記録する。
 一方、ノード候補と、既登録のノードと、の間の距離が最大距離未満であると判定した場合(ステップS703において「YES」の場合)、支援サーバ20の制御部21は、初期ノードの追加処理(ステップS704)をスキップする。
 次に、支援サーバ20の制御部21は、終了かどうかについての判定処理を実行する(ステップS705)。具体的には、制御部21の評価部212は、活性度が最も低い入力データD(i)について処理を終了した場合、終了と判定する。
 終了でないと判定した場合(ステップS705において「NO」の場合)、支援サーバ20の制御部21は、ノード候補の特定処理(ステップS702)以降の処理を繰り返す。
 一方、終了と判定した場合(ステップS705において「YES」の場合)、支援サーバ20の制御部21は、初期ノードの設定処理(ステップS607)を終了する。
 次に、図12に示すように、支援サーバ20の制御部21は、削除閾値の設定処理を実行する(ステップS608)。
 図14を用いて、削除閾値の設定処理(ステップS608)を説明する。
 ここでは、支援サーバ20の制御部21は、ノード活性度のソート処理を実行する(ステップS801)。具体的には、制御部21の評価部212は、ノード活性度Arate_W(i)を降順に並べ替える。
 次に、支援サーバ20の制御部21は、ノード削除閾値の特定処理を実行する(ステップS802)。具体的には、制御部21の評価部212は、指定順位(Ndw)のノード活性度Arate_W(i)の値を、ノード削除閾値として特定するとともに、記憶部22に記録する。
 次に、支援サーバ20の制御部21は、パス活性度のソート処理を実行する(ステップS803)。具体的には、制御部21の評価部212は、パス活性度Arate_S(i,j)を、降順に並べ替える。
 次に、支援サーバ20の制御部21は、パス削除閾値の特定処理を実行する(ステップS804)。具体的には、制御部21の評価部212は、指定順位(Nds)のパス活性度Arate_S(i,j)を、パス削除閾値として特定するとともに、記憶部22に記録する。
 次に、図9に示すように、オンライン学習処理を実行する。この処理は、オンラインで新たな入力データD(i)を取得した場合に行なわれる。ここでは、「i=1~M」とする。
 まず、支援サーバ20の制御部21は、勝者ノードと距離との特定処理を実行する(ステップS403)。具体的には、制御部21の評価部212は、記憶部22に記録された自己組織化マップを構成するノード(既存ノード)の中で、近接ノードとして、N個のノード(第1勝者~第N勝者)を特定する。ここでは、評価部212は、新たに取得された入力データD(i)との位置が近い順番に、N個のノード(第1勝者~第N勝者)を特定する。そして、評価部212は、入力データD(i)と各勝者(第1勝者~第N勝者)との間の各距離(d1~dn)を算出する。
 図15の(a)部分では、2個の勝者(第1勝者n1及び第2勝者n2)を特定するとともに、入力データD(i)から各勝者(n1,n2)までの各距離d1,d2を算出する。
 次に、支援サーバ20の制御部21は、算出した距離が最大距離よりも遠いかどうかについての判定処理を実行する(ステップS404)。具体的には、制御部21の評価部212は、新たに取得された入力データD(i)と最寄りのノード(n1)との間の距離d1と、最大距離dmaxと、を比較する。
 距離d1が最大距離よりも遠い場合(ステップS404において「YES」の場合)、支援サーバ20の制御部21は、新規ノードの追加処理を実行する(ステップS405)。具体的には、制御部21の評価部212は、入力データD(i)を新規ノードとして記憶部22に記録する。
 図15の(b)部分では、第1及び第2ノードn1,n2をそれぞれ第2及び第3ノードn2,n3とするとともに、入力データD(i)を第1ノードn1として追加している。
 次に、支援サーバ20の制御部21は、ノード及びパスの情報初期化処理を実行する(ステップS406)。具体的には、制御部21の評価部212は、年齢(Age_w,Age_s)と活性値(Aw,As)とを初期化する。
 図15の(b)部分に示すように、以下の式により、各ノードの情報を初期化する。ここでは、第1ノードn1について、初期化する。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 ここで、dは、各ノードniと第1ノードn1との間の距離である。
 また、第1及び第2ノードn1,n2のパスの情報を更新する。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 また、第1及び第3ノードn1,n3のパスの情報を更新する。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
 一方、距離d1が最大距離dmax以下の場合(ステップS404において「NO」の場合)、支援サーバ20の制御部21は、入力データと第N勝者までの勝者との活性値anの算出処理を実行する(ステップS407)。ここでは、新規ノード及び既存の第N勝者までの勝者の活性値an(n=1~N)を求める。具体的には、制御部21の評価部212は、以下の式を用いて、活性値を算出する。
Figure JPOXMLDOC01-appb-M000011
 ここで、「d」は各ノードniと入力データD(i)との間の距離である。
 次に、支援サーバ20の制御部21は、ノード位置とパス活性値との更新処理を実行する(ステップS408)。
 具体的には、図15の(c)部分に示すように、制御部21の評価部212は、以下の式によりノード位置を更新する。
Figure JPOXMLDOC01-appb-M000012
 ここで、「g」は、学習率を表す係数である。
 更に、評価部212は、以下の式によりパス活性値Asを更新する。
Figure JPOXMLDOC01-appb-M000013
 そして、制御部21の評価部212は、以下の式によりノード活性値Awを更新する。
Figure JPOXMLDOC01-appb-M000014
 また、制御部21の評価部212は、以下の式によりパス活性値Asを更新する。
Figure JPOXMLDOC01-appb-M000015
 次に、支援サーバ20の制御部21は、年齢の更新処理を実行する(ステップS409)。具体的には、制御部21の評価部212は、ノード及びパス各々の年齢Age_w,Age_sにそれぞれ「1」を加算して更新する。
 次に、支援サーバ20の制御部21は、ノード活性度及びパス活性度の算出処理を実行する(ステップS410)。具体的には、制御部21の評価部212は、以下の式によりノード活性度Arate_wを算出する。
Figure JPOXMLDOC01-appb-M000016
 制御部21の評価部212は、以下の式によりパス活性度Arate_sを算出する。
Figure JPOXMLDOC01-appb-M000017
 次に、支援サーバ20の制御部21は、活性度が閾値を下回る、パス及びノードの削除処理を実行する(ステップS411)。具体的には、制御部21の評価部212は、活性度が閾値を下回るノード及びパスを削除する。
 次に、支援サーバ20の制御部21は、終了かどうかについての判定処理を実行する(ステップS412)。具体的には、制御部21の評価部212は、「i=M」の場合に、すべての入力データについて終了と判定する。
 この場合には、オンライン学習処理を終了する。
 一方、終了でないと判定した場合(ステップS412において「NO」の場合)、支援サーバ20の制御部21は、「i=i+1」としてステップS403以降の処理を繰り返す。
 以上、本実施形態によれば、上記(1-1)、(1-2)と同様の効果に加えて、以下に示す効果を得ることができる。
 (2-1)本実施形態では、支援サーバ20の制御部21は、利用変数の貢献度の算出処理(ステップS201)と、貢献度を考慮した予測誤差の割当処理(ステップS202)と、を実行する。変数組から生じる予測誤差において、各変数の影響は異なるので、自己組織化マップの各ノードの貢献度で、変数の重み付けを行なうことができる。そして、この重み付けにより、予測誤差を各変数に割り当てることができる。
 (2-2)本実施形態では、支援サーバ20の制御部21は、入力データの解析処理を実行する(ステップS401)。これにより、目的変数と説明変数とを含めた入力データを用いて、自己組織化マップを作成することができる。そして、自己組織化マップを用いた距離の計算により予測を行なうことができるので、予測結果の説明性が高い。
 (2-3)本実施形態では、支援サーバ20の制御部21は、自己組織化マップの作成時に、説明変数と目的変数とを調整する。これにより、説明変数と目的変数とをバランスさせた、自己組織化マップを生成することができる。
 (第3実施形態)
 次に、図16に従って、情報選択システム、情報選択方法及び情報選択プログラムを具体化した第3実施形態を説明する。第2実施形態では、教師あり学習について説明した。第3実施形態は、検証用データを用いて、ノード位置を調整するように変更した構成である。第3実施形態のうち、上記第2実施形態と同様の部分については、同一の符号を付し、その詳細な説明を省略する。第3実施形態は、学習時に、説明変数と目的変数とをカップリングすることで、自己組織化マップを作成する。
 例えば、検証用データの説明変数値を用いた予測結果において、第1ノードn1を予測した場合を想定する。そして、第1ノードn1の目的変数値よりも、第2ノードn2の目的変数値の方が、検証用データの目的変数値(正解)に近い場合を想定する。この場合、説明変数の各次元の距離d(ノード寄与値)同士を比較することで、悪影響を与えている次元を特定することができる。
 図16を用いて、マップ調整処理を説明する。
 ここでは、ノード毎、及び検証用データ毎、に以下の処理を繰り返す。
 まず、支援サーバ20の制御部21は、検証用データについて、予測値の算出処理を実行する(ステップS901)。具体的には、制御部21の評価部212は、検証用データの説明変数値を、自己組織化マップに入力することで、最も近接するノード(最近接ノード)を特定する。そして、評価部212は、最近接ノードの目的変数値を、予測値として取得する。
 次に、支援サーバ20の制御部21は、ノード寄与値の算出処理を実行する(ステップS902)。具体的には、制御部21の評価部212は、以下の差分を用いて、ノード寄与値dAi,jを算出する。
 次に、支援サーバ20の制御部21は、移動ベクトルの計算処理を実行する(ステップS903)。具体的には、制御部21の評価部212は、以下の式を用いて移動ベクトルdVi,jを算出する。
Figure JPOXMLDOC01-appb-M000019
 以上の処理を、すべての検証用データについて終了するまで繰り返す。
 次に、支援サーバ20の制御部21は、移動ベクトルの平均ベクトルの算出処理を実行する(ステップS904)。具体的には、制御部21の評価部212は、以下の式を用いて移動ベクトル(平均ベクトル)dVi,meanを算出する。
Figure JPOXMLDOC01-appb-M000020
 以上の処理を、すべてのノードについて終了するまで繰り返す。
 次に、支援サーバ20の制御部21は、移動ベクトルを用いてノード調整処理を実行する(ステップS905)。具体的には、制御部21の評価部212は、調整係数を乗算した移動ベクトルdVi,meanを用いて、ノードを移動させる。
 次に、支援サーバ20の制御部21は、精度の算出処理を実行する(ステップS906)。具体的には、制御部21の評価部212は、検証用データの説明変数を、調整した自己組織化マップに入力することで、目的変数値を予測する。そして、評価部212は、予測した目的変数値と、検証用データの目的変数と、を比較することで、正解の割合(精度)を算出する。
 次に、支援サーバ20の制御部21は、収束かどうかについての判定処理を実行する(ステップS907)。具体的には、制御部21の予測部213は、先行作成のマップの精度と、今回作成のマップの精度と、を比較する。そして、精度が向上している場合には、すなわち今回作成のマップの精度が先行作成のマップの精度よりも良い場合には、収束していないと判定する。なお、収束判定は、精度向上の有無で判定することに限定されるものではない。例えば、精度向上が所定範囲内の場合に、収束と判定してもよい。
 精度が向上している、すなわち、収束でないと判定した場合(ステップS907において「NO」の場合)、支援サーバ20の制御部21は、今回作成のマップの精度を初期精度として設定するとともに、ステップS901以降の処理を繰り返す。
 一方、精度が向上していない、すなわち、収束と判定した場合(ステップS907において「YES」の場合)、支援サーバ20の制御部21は、マップ調整処理を終了する。
 以上、本実施形態によれば、上記(1-1)、(1-2)、及び(2-1)~(2-3)と同様の効果に加えて、以下に示す効果を得ることができる。
 (3-1)本実施形態では、支援サーバ20の制御部21は、ノード寄与値の算出処理を実行する(ステップS902)。これにより、ノード寄与値に応じて、予測失敗の原因を分析することができる。すなわち、各次元における「検証用データと正解ノードとの間の距離」と、「検証用データと不正解ノードとの間の距離」と、の大小関係により、予測に良い影響を与えるノードと、予測に悪影響を与えるノードと、を識別できる。
 (3-2)本実施形態では、支援サーバ20の制御部21は、移動ベクトルの計算処理を実行する(ステップS903)。これにより、予測失敗の原因となったノードを移動させることで、自己組織化マップを改善できる。
 本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
 ・上記第1実施形態では、支援サーバ20の制御部21は、所定数の変数の削除処理を実行する(ステップS102)。削除対象として、2個の変数を特定するが、複数種類の変数を削除対象として特定すればよいので、削除対象の変数の数は2個に限定されない。
 ・上記第1実施形態では、支援サーバ20の制御部21は、所定数の変数の削除処理(ステップS102)と、予測誤差の算出処理(ステップS104)と、を実行する。ここでは、複数の説明変数の中で、所定数の変数を削除することにより、削除されずに残った一部の変数からなる教師データを用いて、解析モデルを作成する。ここで、複数の教師データからなる情報において、順次、一部の情報を用いることで、複数の解析モデルを生成できればよいので、削除対象は変数に限定されない。例えば、所定数の教師データを削除することで生成したデータセット(複数の教師データの中の一部)を用いて、解析モデルを生成してもよい。
 ・上記第1実施形態では、情報処理として機械学習を行なうが、情報処理は解析モデルを生成するものであればよいので、情報処理は機械学習に限定されない。
 ・上記第1実施形態では、オンライン学習処理を実行する。しかし、自己組織化マップを生成できればよいので、オンライン処理に限定されるものではない。例えば、バッチ処理によって生成した自己組織化マップを用いることで、クラスタリングを行なうようにしてもよい。
 ・上記第1実施形態では、支援サーバ20の制御部21は、入力データの解析処理の実行(ステップS401)において、最大距離dmaxを算出する。ここで、最大距離dmaxは、入力データを代表する統計値であればよいので、最大距離dmaxの算出方法は限定されない。また、最大距離dmaxの初期値を予め設定しておき、入力データ数の増加に応じて最大距離dmaxを再計算してもよい。
 ・第2実施形態において、支援サーバ20の制御部21は、自己組織化マップを用いる(図6のステップS201)。具体的には、制御部21の評価部212は、入力データの説明変数の変数値に最も近いノードを特定する。ここで、最も近い第1ノードn1に接続する複数のノードを用いて、回帰で目的変数を予測してもよい。
 この場合、最も近い第1ノードn1にパスによって接続している他のノードを利用して、複数のノードを特定してもよい。
 ・上記第3実施形態では、ノード寄与値を用いてノード位置を調整する(図16のステップS902)。ここで、代わりに又は追加して、パスの寄与値に基づいて、ノード位置を調整するようにしてもよい。例えば、検証用データの説明変数値を用いて予測した第1ノードn1の目的変数値よりも、第2ノードn2の目的変数値の方が、検証用データの目的変数値(正解)に近い場合を想定する。この場合、説明変数の各次元の距離D同士を比較することで、悪影響を与えている次元を特定する。
 図17を用いて、マップ調整処理を説明する。
 ここでは、検証用データ毎に以下の処理を繰り返す。
 まず、支援サーバ20の制御部21は、ステップS901と同様に、検証用データについて、予測値の算出処理を実行する(ステップSX01)。
 次に、支援サーバ20の制御部21は、ステップS902と同様に、ノード寄与値の算出処理を実行する(ステップSX02)。
 次に、支援サーバ20の制御部21は、パス寄与値の算出処理を実行する(ステップSX03)。具体的には、制御部21の評価部212は、以下の差分を用いてパス寄与値dAk,l(ここで、lは小文字のエル)を算出する。
 以上の処理を、すべての検証用データについて終了するまで繰り返す。
 次に、支援サーバ20の制御部21は、ノードの寄与値の合計処理を実行する(ステップSX04)。具体的には、制御部21の評価部212は、以下の式を用いてノードの寄与値の合計dASiを算出する。
Figure JPOXMLDOC01-appb-M000022
 次に、支援サーバ20の制御部21は、パスの寄与値の合計処理を実行する(ステップSX05)。具体的には、制御部21の評価部212は、以下の式を用いて、パスの寄与値の合計dASkを算出する。
Figure JPOXMLDOC01-appb-M000023
 次に、支援サーバ20の制御部21は、悪影響ノード及び悪影響パスの特定処理を実行する(ステップSX06)。具体的には、制御部21の評価部212は、ノードの寄与値の合計dASiと、パスの寄与値の合計dASkと、をそれぞれ降順で並べ替える。そして、評価部212は、上位所定数のdASi及びdASkに各々対応するノード及びパスを、悪影響ノード及び悪影響パスとして特定する。
 次に、支援サーバ20の制御部21は、悪影響ノード及び悪影響パスの削除処理を実行する(ステップSX07)。具体的には、制御部21の評価部212は、特定した悪影響ノード及び悪影響パスを削除する。
 ノードの寄与値の合計dASiが正の場合や、パスの寄与値の合計dASkが正の場合、対応するノードやパスは予測に悪影響を与える可能性が高い。そこで、このマップ調整処理によれば、ノードの寄与値やパスの寄与値に応じて、影響を与えるノードやパスを削除することができる。
 ・上記第2実施形態では、各パス及び各ノードは、年齢に関する情報を保持させた自己組織化マップを用いた。学習中に必要に応じてニューロンを増殖させる学習手法として、進化型自己組織化マップ(ESOM:Evolving SOM)を用いることも可能である。更に、自己増殖型ニューラルネットワーク(SOINN:Self-Organizing Incremental Neural Network)を用いることも可能である。このSOINNは、Growing Neural Gas(GNG)と自己組織化マップ(SOM)を拡張した、追加学習可能なオンライン教師なし学習手法である。具体的には、SOINNは、動的に形状が変化する非定常でかつ複雑な形状を持つ分布からオンラインで得られる入力に対して、ネットワークを自己組織的に形成することで、適切なクラス数と入力分布との位相構造を出力する。
 図18を用いて、このESOMのオンライン学習処理を説明する。
 まず、支援サーバ20の制御部21は、初期ノードを設定する(ステップSX11)。具体的には、支援サーバ20の制御部21は、入力データD(i)(i=1~M)の中からランダムに2個を選択して初期ノードとして設定する。この場合、データインデックスi=1とする。
 次に、支援サーバ20の制御部21は、勝者ノードを決定する(ステップSX12)。
 ここでは、図19の(a)部分に示すように、入力データD(i)に最も近い第1ノードn1(第1勝者、入力データD(i)に対する距離d1)と、2番目に近い第2ノードn2(第2勝者、入力データD(i)に対する距離d2)と、を求める。
 次に、支援サーバ20の制御部21は、入力データD(i)から第1勝者(n1)までの距離d1が、基準距離よりも長いかどうかを判定する(ステップSX13)。
 距離d1が基準距離よりも長い場合(ステップSX13において「YES」の場合)には、支援サーバ20の制御部21は、入力データD(i)をノードに更新する(ステップSX14)。そして、勝者ノードに基づいて、n1をn2に、D(i)をn1に、n2をn3に、更新する。更に、パスの活性値の初期化(As(n1,:)=0)を行なう。
 図19の(b)部分に示すように、新たな第1ノードn1を生成する。
 一方、距離d1が基準距離以下の場合(ステップSX13において「NO」の場合)には、支援サーバ20の制御部21は、ノード位置及びパス活性値を更新する(ステップSX15)。
 具体的には、図19の(c)部分に示すように、入力データD(i)と、第1及び第2ノードn1,n2の各々と、の間の距離に応じた活性値a1,a2を求める。
Figure JPOXMLDOC01-appb-M000024
 また、ノード位置とパス活性値As(n1,n2)を、以下に示すように更新する(Hebb則)。
Figure JPOXMLDOC01-appb-M000025
 そして、mod(i,指定間隔)=0の場合には、活性値が最小値となるパスを削除する(ステップSX16)。
 次に、支援サーバ20の制御部21は、終了かどうかを判定する(ステップSX17)。ここで、i=Mの場合(ステップSX17において「YES」の場合)には、支援サーバ20の制御部21は、オンライン学習処理を終了する。一方、i≠Mの場合(ステップSX17において「NO」の場合)には、支援サーバ20の制御部21は、「i=i+1」として、ステップSX12以降の処理を繰り返す。
 ・上記第2実施形態では、支援サーバ20の制御部21は、利用変数の貢献度の算出処理(ステップS201)と、貢献度を考慮した予測誤差の割当処理(ステップS202)と、を実行する。ここで、「dDi,k(l,j)」の正と負の寄与値を等しくするため、「dDi,k(l,j)」の符号で処理を分けてもよい。例えば、「dDi,k(l,j)」が正の場合が少なく、負の場合が多い場合、「dDi,k(l,j)」の正負で処理を分けずに計算すると、正データの寄与値が少なく見積もられる可能性がある。ここで、「dDi,k(l,j)」の正負により処理を分けることにより、寄与値は等しく計算される。
 このため、「dDi,k(i,j)>0」の場合には、第1ノードn1が第2ノードn2よりも正解から遠い変数の集計を行なうべく、以下の式を用いる。
Figure JPOXMLDOC01-appb-M000026
 一方、「dDi,k(i,j)<0」の場合には、第1ノードn1が第2ノードn2よりも正解から遠い変数の集計を行なうべく、以下の式を用いる。
 以下では、dDi,k(l,j)の符号で処理を分ける理由について説明する。
 図20には、i番目の試行、k番目のデータ、における「-ddAi,k(l)dDi,k(l,j)」の一例を示す。ここで、「-ddAi,k(l)dDi,k(l,j)>0」となる次元l(小文字のエル)の部分集合をl1(エルワン)、「-ddAi,k(l)dDi,k(l,j)<0」となる次元lの部分集合をl2(エルツー)とする。
 部分集合l1(エルワン)の数が、部分集合l2に比べて極端に少ない場合を想定する。これは、有効な変数が、全体の変数に比べて非常に少ない場合に相当する。
 このような場合、抽出した有効な部分集合l1の貢献度が、部分集合l2が多いために、非常に小さくなってしまう。
 dDi,k(l,j)の符号で正規化を分ければ、「部分集合l1の貢献度の合計」=-「部分集合l2の貢献度の合計」となる。よって、抽出できた有効な変数l1(エルワン)の貢献度を強調することができる。

Claims (8)

  1.  解析モデルの生成に用いる情報を選択する制御部を備えた、情報選択システムであって、
     前記制御部が、
     複数の教師データからなる情報において、一部の情報を用いて、複数の解析モデルを生成するとともに、前記各解析モデルの精度を算出することと、
     前記各精度に応じた分配値を、前記解析モデルの生成に用いた情報に割り当てることと、
     前記解析モデルの生成に用いた情報毎に、前記分配値の統計値を算出することと、
     前記統計値を用いて、前記解析モデルの生成に用いる情報を選択することと、
    を行なうように構成されている、情報選択システム。
  2.  前記制御部が、前記解析モデルの生成に用いる情報として、前記教師データを構成する説明変数の中で、前記解析モデルの生成に用いる変数を選択するように構成されている、
     請求項1に記載の情報選択システム。
  3.  前記制御部が、
     前記教師データとして、説明変数値と目的変数値とを組み合わせたデータセットを用いて生成した自己組織化マップに対して、検証用データの説明変数値を入力することで、前記説明変数値を予測することと、
     前記検証用データの説明変数値と、前記予測した説明変数値と、を比較することで、前記各説明変数の寄与値を算出することと、
     前記寄与値を用いて、前記各精度に応じた分配値を算出することと、
    を行なうように構成されている、請求項2に記載の情報選択システム。
  4.  前記制御部が、
     前記教師データの前記説明変数を用いた予測において、目的変数の予測結果に対する寄与値を算出することと、
     前記寄与値に基づいて、前記各精度に応じた分配値を、前記各説明変数に割り当てることと、
    を行なうように構成されている、請求項2又は3に記載の情報選択システム。
  5.  前記制御部が、
     目的変数と説明変数とを含む教師データを用いて、前記解析モデルとして、ノードとパスとからなる自己組織化マップを生成することと、
     前記自己組織化マップにおいて、前記教師データの前記説明変数に対して予測された目的変数の前記予測結果から、各寄与値を算出することと、
    を行なうように構成されている、請求項4に記載の情報選択システム。
  6.  前記制御部が、前記解析モデルの生成に用いる情報として、前記複数の教師データの中で、前記解析モデルの生成に用いる教師データを選択するように構成されている、
     請求項1記載の情報選択システム。
  7.  制御部を備えた情報選択システムを用いて、解析モデルの生成に用いる情報を選択する方法としての情報選択方法であって、前記情報選択方法は、
     前記制御部が、
     複数の教師データからなる情報において、一部の情報を用いて、複数の解析モデルを生成するとともに、前記各解析モデルの精度を算出することと、
     前記各精度に応じた分配値を、前記解析モデルの生成に用いた情報に割り当ることと、
     前記解析モデルの生成に用いた情報毎に、前記分配値の統計値を算出することと、
     前記統計値を用いて、前記解析モデルの生成に用いる情報を選択することと、
    を備えている、情報選択方法。
  8.  制御部を備えた情報選択システムを用いて、解析モデルの生成に用いる情報を選択するためのプログラムとしての情報選択プログラムであって、前記情報選択プログラムは
     前記制御部を、
     複数の教師データからなる情報において、一部の情報を用いて、複数の解析モデルを生成するとともに、前記各解析モデルの精度を算出することと、
     前記各精度に応じた分配値を、前記解析モデルの生成に用いた情報に割り当てることと、
     前記解析モデルの生成に用いた情報毎に、前記分配値の統計値を算出することと、
     前記統計値を用いて、前記解析モデルの生成に用いる情報を選択することと、
    を行なう手段として機能させるための、情報選択プログラム。
PCT/JP2022/047953 2022-01-11 2022-12-26 情報選択システム、情報選択方法及び情報選択プログラム WO2023136118A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022002565A JP7263567B1 (ja) 2022-01-11 2022-01-11 情報選択システム、情報選択方法及び情報選択プログラム
JP2022-002565 2022-01-11

Publications (1)

Publication Number Publication Date
WO2023136118A1 true WO2023136118A1 (ja) 2023-07-20

Family

ID=86054466

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/047953 WO2023136118A1 (ja) 2022-01-11 2022-12-26 情報選択システム、情報選択方法及び情報選択プログラム

Country Status (2)

Country Link
JP (2) JP7263567B1 (ja)
WO (1) WO2023136118A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233011A (ja) * 1992-02-18 1993-09-10 Nippon Telegr & Teleph Corp <Ntt> 独立要因抽出法
WO2019207910A1 (ja) * 2018-04-24 2019-10-31 株式会社日立ソリューションズ データ分析システム及びデータ分析方法
JP2021039612A (ja) * 2019-09-04 2021-03-11 株式会社Uacj 情報処理装置、情報処理方法、および情報処理プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5233011B2 (ja) 2008-04-30 2013-07-10 株式会社前川製作所 超電導限流器
JP2020140521A (ja) 2019-02-28 2020-09-03 富士通株式会社 人的判断の予測装置、予測プログラム及び予測方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233011A (ja) * 1992-02-18 1993-09-10 Nippon Telegr & Teleph Corp <Ntt> 独立要因抽出法
WO2019207910A1 (ja) * 2018-04-24 2019-10-31 株式会社日立ソリューションズ データ分析システム及びデータ分析方法
JP2021039612A (ja) * 2019-09-04 2021-03-11 株式会社Uacj 情報処理装置、情報処理方法、および情報処理プログラム

Also Published As

Publication number Publication date
JP7488391B2 (ja) 2024-05-21
JP2023102156A (ja) 2023-07-24
JP2023102292A (ja) 2023-07-24
JP7263567B1 (ja) 2023-04-24

Similar Documents

Publication Publication Date Title
JP2020038704A (ja) データ識別器訓練方法、データ識別器訓練装置、プログラム及び訓練方法
JP6965206B2 (ja) クラスタリング装置、クラスタリング方法およびプログラム
JP2015095212A (ja) 識別器、識別プログラム、及び識別方法
Saini et al. A novel approach towards K-mean clustering algorithm with PSO
Pashaei et al. Gene selection using hybrid dragonfly black hole algorithm: A case study on RNA-seq COVID-19 data
JP2021039640A (ja) 学習装置、学習システム、および学習方法
CN111260056B (zh) 一种网络模型蒸馏方法及装置
CN113377964B (zh) 知识图谱链接预测方法、装置、设备及存储介质
Yamany et al. Multi-objective cuckoo search optimization for dimensionality reduction
Balakrishnan et al. A novel control factor and Brownian motion-based improved Harris Hawks Optimization for feature selection
WO2022147583A2 (en) System and method for optimal placement of interacting objects on continuous (or discretized or mixed) domains
Farooq Genetic algorithm technique in hybrid intelligent systems for pattern recognition
WO2023136118A1 (ja) 情報選択システム、情報選択方法及び情報選択プログラム
Kim et al. Tweaking deep neural networks
Yamada et al. Weight Features for Predicting Future Model Performance of Deep Neural Networks.
Maji et al. Non-uniform cellular automata based associative memory: Evolutionary design and basins of attraction
Babatunde et al. Comparative analysis of genetic algorithm and particle swam optimization: An application in precision agriculture
CN115148292A (zh) 基于人工智能的dna模体预测方法、装置、设备及介质
CN114169469A (zh) 一种基于量子网络的识别方法、系统、设备及存储介质
WO2023136119A1 (ja) 学習システム、学習方法及び学習プログラム
JP7468088B2 (ja) 画像処理システム、及び画像処理プログラム
CN115688873A (zh) 图数据处理方法、设备及计算机程序产品
Steponavičė et al. Dynamic algorithm selection for pareto optimal set approximation
Has Consensual Aggregation on Random Projected High-dimensional Features for Regression
Knezevic et al. Amplitude-oriented mixed-type cgp classification

Legal Events

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

Ref document number: 22920635

Country of ref document: EP

Kind code of ref document: A1