WO2018002967A1 - 情報処理システム、情報処理方法、及び、記録媒体 - Google Patents

情報処理システム、情報処理方法、及び、記録媒体 Download PDF

Info

Publication number
WO2018002967A1
WO2018002967A1 PCT/JP2016/003137 JP2016003137W WO2018002967A1 WO 2018002967 A1 WO2018002967 A1 WO 2018002967A1 JP 2016003137 W JP2016003137 W JP 2016003137W WO 2018002967 A1 WO2018002967 A1 WO 2018002967A1
Authority
WO
WIPO (PCT)
Prior art keywords
analysis pipeline
parameter
value
pipeline
analysis
Prior art date
Application number
PCT/JP2016/003137
Other languages
English (en)
French (fr)
Inventor
浩嗣 玉野
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US16/310,851 priority Critical patent/US20190180180A1/en
Priority to JP2018524580A priority patent/JP6648828B2/ja
Priority to PCT/JP2016/003137 priority patent/WO2018002967A1/ja
Publication of WO2018002967A1 publication Critical patent/WO2018002967A1/ja

Links

Images

Classifications

    • 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
    • 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
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention relates to an information processing system, an information processing method, and a program, and more particularly, to an information processing system, an information processing method, and a recording medium that generate an analysis pipeline.
  • the data analysis procedure in machine learning and data mining is roughly composed of preprocessing of data to be analyzed and learning processing performed by inputting the preprocessed data into an analysis engine.
  • preprocessing removal of abnormal values and missing values in data, scale conversion such as standardization and normalization, generation of necessary attributes, and the like are performed.
  • regression analysis, discriminant analysis, clustering, and the like are performed as learning processing according to the purpose.
  • Such a series of data analysis processes can be expressed as a sequence of processes such as removal of missing values ⁇ standardization ⁇ regression analysis, that is, a pipeline.
  • a series of such data analysis processes is referred to as an analysis pipeline.
  • Processing in the analysis pipeline includes processing with parameters that can be adjusted by humans. For example, in the abnormal value removal process, a value that should be regarded as abnormal is set as a parameter. Further, in the process of discriminant analysis, when a decision tree is used in discriminant analysis, the maximum height of the tree to be learned is set as a parameter.
  • pipeline parameters parameters related to preprocessing and learning processing of the analysis pipeline are also referred to as pipeline parameters.
  • Grid Search is known as the simplest and most common method for searching parameter values.
  • a search is made for combinations. While Grid Search is simple and easy to understand, the number of grid points to search tends to be enormous and takes time. Random Search and methods using Bayesian optimization have been proposed as methods for solving these problems of Grid Search.
  • Non-Patent Document 1 describes GridSearchCV using Grid Search and Cross Validation and RandomSearchCV using Random Search and Cross Validation as search methods and validation methods.
  • Non-Patent Document 2 describes a CrossValidator that uses Grid Search and Cross Validation as a search method and a validation method.
  • Non-Patent Document 3 describes the above Random Search as a search method.
  • Non-Patent Document 4 describes a method applying Bayesian optimization as a search method.
  • GridSearchCV and RandomSearchCV described in Non-Patent Document 1 and CrossValidator described in Non-Patent Document 2 have the following problems. That is, in these systems, since the search method and the validation method are fixed, for example, when adjusting pipeline parameters by various validation methods, it is necessary to use the system for each validation method.
  • As a validation method not only the single validation and cross validation described above, but also the analysis business site uses a unique validation method that is more suited to the actual usage scene. For example, in the prediction of time series data, a method of performing prediction for one year using a relearned model every three months and obtaining the annual average accuracy of the model is used as a validation method. Therefore, it is not realistic to prepare a system for adjusting parameters for each validation method.
  • An object of the present invention is to solve the above-described problems and provide an information processing system, an information processing method, and a recording medium that can adjust parameters related to an analysis pipeline for various validation methods.
  • An information processing system includes preprocessing and learning processing for data to be analyzed, and a pipeline parameter value that is a parameter related to at least one of the preprocessing and the learning processing is applied.
  • Generation of the analysis pipeline model and calculation of the evaluation value of the generated analysis pipeline model are performed according to a predetermined validation method, and the generated analysis pipeline model and validation for outputting the calculated evaluation value are output.
  • Initialization means for receiving module inputs and the pipeline parameters
  • the evaluation value is optimized by inputting the analysis pipeline to which the value of the pipeline parameter is applied to the validation module and executing it according to a predetermined search method within a search range of the parameter set including And adjusting means for searching for a value of the parameter set and outputting the analysis pipeline model when optimized.
  • An information processing method includes preprocessing and learning processing for data to be analyzed, and a pipeline parameter value that is a parameter related to at least one of the preprocessing and the learning processing is applied.
  • Generation of the analysis pipeline model and calculation of the evaluation value of the generated analysis pipeline model are performed according to a predetermined validation method, and the generated analysis pipeline model and validation for outputting the calculated evaluation value are output.
  • a computer-readable recording medium includes a preprocessing and a learning process for data to be analyzed, and a pipeline parameter that is a parameter related to at least one of the preprocessing and the learning process
  • a storage medium storing a program for generating an analysis pipeline model including the preprocess and the learned model learned by the learning process using an analysis pipeline to which the value of Generation of the analysis pipeline model using the input analysis pipeline and calculation of the evaluation value of the generated analysis pipeline model according to a predetermined validation method, and the generated analysis pipeline model, and The validation module that outputs the calculated evaluation value is received.
  • the analysis pipeline to which the value of the pipeline parameter is applied is input to the validation module and executed.
  • a program for executing a process for searching the value of the parameter set for which the evaluation value is optimized and outputting the analysis pipeline model when the evaluation value is optimized is stored.
  • the effect of the present invention is that the parameters related to the analysis pipeline can be adjusted for various validation methods.
  • FIG. 4 is a diagram showing an example of an analysis pipeline in the first embodiment of the present invention.
  • the analysis pipeline includes a block that performs preprocessing of data, and a block that performs learning processing using the preprocessed data.
  • preprocessing abnormal values and missing values are removed, scale conversion, attribute generation, and the like are performed.
  • learning process a model (pretrained model) for prediction and classification, such as a regression equation and a decision tree, is generated (calculation of coefficients in the regression equation, model parameters of the decision tree, determination conditions, etc.).
  • the analysis pipeline “Pipeline1” in FIG. 4 is an analysis pipeline that generates an analysis pipeline model for predicting LDL (Low Density Lipoprotein) cholesterol from human height and weight.
  • LDL Low Density Lipoprotein
  • the analysis pipeline “Pipeline1” includes a block “BMI” for calculating BMI (Body Mass Index) and a block “Pow (weight) for calculating the d-th power of weight as blocks for preprocessing data. "Is set.
  • a block “ridge regression (LDL)” that generates a ridge regression model for predicting LDL cholesterol from the preprocessed data with the regularization parameter ⁇ is set as a block for performing the learning process. .
  • FIG. 5 is a diagram showing an example of input / output data of each block of the analysis pipeline in the first exemplary embodiment of the present invention.
  • the data “data1” of FIG. 5 is input to the analysis pipeline of FIG. 4, the data “data1” is input to the block “BMI” and data such as “data2” is output. Further, the data “data2” is input to the block “Pow (weight)”, and data such as “data3” is output. Then, the data “data3” is input to the block “ridge regression (LDL)”, and a learned model “ridge regression model (LDL)” for predicting LDL cholesterol is generated.
  • LDL ridge regression
  • FIG. 6 is a diagram showing an example of an analysis pipeline model in the first embodiment of the present invention.
  • the analysis pipeline model includes a block for performing preprocessing of data, similar to the analysis pipeline, and a block for processing a learned model generated by the analysis pipeline. In the learned model, prediction and classification are performed using the preprocessed data.
  • the analysis pipeline model “PipelineModel1” in FIG. 6 is an analysis pipeline model generated by the analysis pipeline “Pipeline1” in FIG.
  • a block “BMI” for calculating BMI and a block “Pow (body weight ⁇ d)” for calculating the d-th power of body weight are set as data preprocessing blocks. Yes.
  • a block “ridge regression model (LDL)” is set as a block for processing the learned model.
  • FIG. 7 is a diagram showing an example of output data of the analysis pipeline model in the first embodiment of the present invention.
  • the preprocessed data “data3” is input to the block “ridge regression model (LDL)”.
  • LDL ridge regression model
  • the analysis pipeline has pipeline parameters related to at least one of pre-processing and learning processing.
  • the order d in the preprocessing block “Pow (weight)” and the regularization parameter ⁇ in the learning processing block “ridge regression (LDL)” are set as the pipeline parameter values.
  • the analysis pipeline and the analysis pipeline model are programs executed on, for example, a CPU (Central Processing Unit).
  • a CPU Central Processing Unit
  • FIG. 2 is a block diagram showing a configuration of the analysis pipeline adjustment system 100 in the first exemplary embodiment of the present invention.
  • the analysis pipeline adjustment system 100 is an embodiment of the information processing system of the present invention.
  • the analysis pipeline adjustment system 100 includes an initialization unit 110, a validation module storage unit 120, a search module storage unit 130, an analysis pipeline storage unit 140, and an adjustment unit 150.
  • the initialization unit 110 receives input of data to be analyzed, an analysis pipeline to be used in the analysis, a validation module, and a search module from a user or the like.
  • the validation module, the search module, and the analysis pipeline are programs that are executed on the CPU, for example.
  • the initialization unit 110 may receive an input of an analysis pipeline to be used or an identifier of each module among a plurality of analysis pipelines or modules stored in a storage unit (not shown) or the like.
  • the search module is executed by the adjustment unit 150, and the validation module is executed by the search module via an objective function.
  • the input / output and processing of the validation module, objective function, and search module are defined as follows.
  • ⁇ Validation module> From the objective function, data to be analyzed and an analysis pipeline in which one or more pipeline parameter values are set (applied) are input to the validation module.
  • the validation module uses the input data and the analysis pipeline to generate an analysis pipeline model and calculate the evaluation value of the generated analysis pipeline model according to a predetermined validation method corresponding to the validation module. To do.
  • the validation module returns (outputs) the generated analysis pipeline model and the calculated evaluation value to the objective function.
  • the predetermined validation method for example, the above-mentioned Single Validation, Cross Validation or the like is used.
  • the evaluation value for example, a mean square error (RMSE (Root Mean Squared Error)) calculated from a predicted value and an actual value by the generated analysis pipeline model is used.
  • RMSE Root Mean Squared Error
  • An argument x is specified (input) from the search module to the objective function.
  • a value of each parameter hereinafter also referred to as a parameter set value
  • a set of one or more parameters hereinafter also referred to as a parameter set
  • the parameter set includes one or more pipeline parameters as described above.
  • FIG. 9 is a flowchart showing objective function processing in the first embodiment of the present invention.
  • the objective function sets (applies) the value of the pipeline parameter included in the parameter set specified as the argument x to the analysis pipeline to be used (step S210).
  • the objective function inputs the data to be analyzed and the analysis pipeline in which the value of the pipeline parameter is set (applied) to the validation module to be used, and executes the validation module (step S220).
  • the objective function returns (outputs) to the search module using the evaluation value and the analysis pipeline model obtained as a result of the execution of the validation module as return values (step S230).
  • ⁇ Search module> An objective function is input from the adjustment unit 150 to the search module.
  • the initialization unit 110 sets the search range of the argument x (parameter set value) of the objective function.
  • the search range a search method for the search module to be used, a value range corresponding to the analysis pipeline to be used, and the validation module are set.
  • the search range may be input by the adjustment unit 150 instead of the initialization unit 110.
  • the search range may be set in advance in a search module input from a user or the like.
  • the search module specifies the value within the search range as the argument x and executes the input objective function.
  • the search module searches for an argument x (parameter set value) in which the evaluation value included in the return value of the objective function is optimized (minimum or maximum) according to a predetermined search method corresponding to the search module. To do.
  • the search module returns (outputs) the return value (evaluation value and analysis pipeline model) of the objective function when the evaluation value is optimized to the adjustment unit 150.
  • the search module can execute the objective function, the input of the objective function may be omitted.
  • the search module may also return (output) the argument x (parameter set value) when the evaluation value is optimized, together with the return value from the objective function.
  • the validation module can be realized without depending on the search module.
  • the search module can be realized so as not to depend on the analysis pipeline or validation module to be used.
  • the validation module storage unit 120 stores a validation module to be used.
  • the search module storage unit 130 stores search modules to be used.
  • the analysis pipeline storage unit 140 stores the analysis pipeline to be used.
  • the adjustment unit 150 generates the above-described objective function corresponding to the data to be analyzed, the analysis pipeline to be used, and the validation module.
  • the adjustment unit 150 inputs the generated objective function to the search module to be used, and executes the search module.
  • the adjustment unit 150 outputs the analysis pipeline model obtained as a result of the execution of the search module to a user or the like.
  • the analysis pipeline adjustment system 100 may be a computer that includes a CPU and a storage medium storing a program, and operates by control based on the program.
  • FIG. 3 is a block diagram showing a configuration of an analysis pipeline adjustment system 100 realized by a computer according to the first embodiment of the present invention.
  • the analysis pipeline adjustment system 100 includes a CPU 101, a storage device 102 (storage medium) such as a hard disk and a memory, an input / output device 103 such as a keyboard and a display, and a communication device 104 that communicates with other devices.
  • the CPU 101 executes a program for realizing the initialization unit 110 and the adjustment unit 150.
  • the storage device 102 stores information of the validation module storage unit 120, the search module storage unit 130, and the analysis pipeline storage unit 140.
  • the input / output device 103 receives input of the validation module, search module, and analysis pipeline to be used from the user, and outputs the analysis pipeline model to the user.
  • the communication device 104 may receive the validation module, search module, and analysis pipeline to be used from another device or the like, or may transmit the analysis pipeline model to another device or the like.
  • some or all of the components of the analysis pipeline adjustment system 100 in FIG. 2 may be realized by general-purpose or dedicated circuits, processors, or combinations thereof. These circuits and processors may be constituted by a single chip or may be constituted by a plurality of chips connected via a bus. Also, some or all of the components of the analysis pipeline adjustment system 100 may be realized by a combination of the above-described circuit and the like and a program.
  • the plurality of information processing devices and circuits may be centrally arranged. However, it may be distributed.
  • the information processing apparatus, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • the data to be analyzed is the data “data1” in FIG.
  • the analysis pipeline to be used is “Pipeline1” in FIG. 4
  • the validation module is “SingleValidation1” that performs Single Validation
  • the search module is “GridSearch1” that performs Grid Search.
  • validation module storage unit 120, the search module storage unit 130, and the analysis pipeline storage unit 140 store the validation module, the search module, and the analysis pipeline to be used in advance by a user or the like, respectively.
  • FIG. 8 is a flowchart showing the operation of the analysis pipeline adjustment system 100 in the first exemplary embodiment of the present invention.
  • the initialization unit 110 receives input of data to be analyzed, a validation module to be used, a search module, and an analysis pipeline from a user or the like (step S110).
  • the initialization unit 110 receives input of data to be analyzed “data1”, a validation module to be used “SingleValidation1”, a search module “GridSearch1”, and an analysis pipeline “Pipeline1”.
  • the initialization unit 110 stores the validation module, the search module, and the analysis pipeline in the validation module storage unit 120, the search module storage unit 130, and the analysis pipeline storage unit 140 (Step S120).
  • the initialization unit 110 may perform settings necessary for the validation module and the search module.
  • the initialization unit 110 sets the validation module “SingleValidation1” to calculate RMSE as an evaluation value and use 80% of learning data and 20% of test data as a data division ratio.
  • FIG. 10 is a diagram showing an example of a search range in the first embodiment of the present invention. Further, for example, the initialization unit 110 sets “grid1” as shown in FIG. 10 corresponding to the analysis pipeline “Pipeline1” to be used as the search range of the search module “GridSearch1”.
  • “Pow.d”: [2, 3] ” indicates that there are 2 and 3 as candidates for the value of the order d set in the block“ Pow ”of the analysis pipeline.
  • ““ Ridge regression. ⁇ ”: [10 ⁇ -6, ⁇ 10 ⁇ -7, 10 ⁇ -8]” is a candidate for the value of the regularization parameter ⁇ of the block “Ridge regression”. This indicates that there are 10 ⁇ -7 and 10 ⁇ -8 ( ⁇ indicates power). In this case, there are six combinations of values as a search range of values of the parameter set (order d, regularization parameter ⁇ ).
  • the adjustment unit 150 acquires the analysis pipeline and the validation module to be used from the analysis pipeline storage unit 140 and the validation module storage unit 120.
  • the adjustment unit 150 generates an objective function for the data to be analyzed, the analysis pipeline to be used, and the validation module (step S130).
  • the adjustment unit 150 generates an objective function f1 (x) for performing the process as shown in FIG. 9 on the data “data1”, the analysis pipeline “Pipeline1”, and the validation module “SingleValidation1”.
  • the adjustment unit 150 acquires a search module to be used from the search module storage unit 130.
  • the adjustment unit 150 inputs the generated objective function to the search module to be used, and executes the search module (step S140).
  • the adjustment unit 150 inputs the objective function f1 (x) to the search module “GridSearch1” and executes it.
  • the search module “GridSearch1” executes the objective function f1 (x) for each of the combinations of values of the six parameter sets (degree d, regularization parameter ⁇ ) specified by the search range “grid1”.
  • the validation module “SingleValidation1” generates the analysis pipeline model “PipelineModel1” using the data “data1” and the analysis pipeline “Pipeline1”.
  • the validation module “SingleValidation1” generates an analysis pipeline model “PipelineModel1” using 80% of the data “data1” as learning data.
  • the validation module “SingleValidation1” calculates an evaluation value (RMSE) using the remaining 20% of the data “data1” as test data.
  • the validation module “SingleValidation1” returns the analysis pipeline model “PipelineModel1” and the evaluation value (RMSE).
  • the objective function f1 (x) returns the evaluation value (RMSE) and analysis pipeline model “PipelineModel1” obtained as a result of executing the validation module “SingleValidation1” as return values.
  • the search module “GridSearch1” adjusts the analysis pipeline model for the combination that minimizes the evaluation value (RMSE) included in the return value among the six parameter set values specified by the search range “grid1” Return to section 150.
  • RMSE evaluation value
  • the adjustment unit 150 outputs the analysis pipeline model returned from the search module to the user or the like (step S150).
  • the adjustment unit 150 outputs the analysis pipeline model “PipelineModel1” returned from the search module.
  • CrossValidation1 that performs Cross Validation
  • RandomSearch1 that performs Random Search
  • the validation module “CrossValidation1” divides the data “data1” into 10 and performs cross-validation. "Is returned.
  • FIG. 11 is a diagram showing another example of the search range in the first embodiment of the present invention. Further, for example, a search range “dist1” as illustrated in FIG. 11 is set in the search module “RandomSearch1” by the initialization unit 110.
  • ““ Pow.d ”: discrete ([2, 3], [0.40, 0.6])” represents a multinomial distribution that is 2 with a probability of 40% and 3 with a probability of 60%.
  • “(10 ⁇ -7, 10 ⁇ -8)” represents a normal distribution with an average of 10 ⁇ -7 and a standard deviation of 10 ⁇ -8.
  • the search module “RandomSearch1” samples a predetermined number (for example, 100 combinations) of parameter set values according to the distribution represented by the search range “dist1”, and executes the objective function f1 (x) for each combination. To do. Then, the search module “RandomSearch1” sends the analysis pipeline model “PipelineModel1” to the adjustment unit 150 for the combination having the smallest evaluation value (RMSE) included in the return value among the predetermined number of combinations of the parameter set values. return.
  • RMSE smallest evaluation value
  • the parameter set is a parameter (pipeline parameter) related to preprocessing and learning processing in the analysis pipeline.
  • the present invention is not limited to this, and the parameter set may include parameters related to the validation process in the validation module.
  • FIG. 12 is a flowchart showing another process of the objective function in the first embodiment of the present invention.
  • the objective function sets (applies) the analysis pipeline to the pipeline parameter value included in the parameter set value combination designated as the argument x (step S310). Further, the objective function sets (applies) the parameter value related to the validation process included in the parameter set value combination to the validation module to be used (step S320).
  • the objective function inputs the data to be analyzed and the analysis pipeline in which the value of the pipeline parameter is set (applied) to the validation module to be used, and executes the validation module (step S330).
  • the objective function is returned (output) to the search module using the evaluation value and the analysis pipeline model obtained as a result of the execution of the validation module as return values (step S340).
  • the objective function may be input to the validation module as a list of key and value, for example, a combination of parameter set values.
  • the validation module sets (applies) the value of the corresponding value.
  • a parameter value related to the validation process for example, a parameter value that specifies a narrowing ratio of learning data is used.
  • FIG. 13 is a diagram showing another example of the search range in the first embodiment of the present invention.
  • the search range “grid2” as illustrated in FIG. 13 is set by the initialization unit 110 in the search module “GridSearch2” that performs Grid Search.
  • “SV.num_train_ratio”: [1.0, 0.8] ” is 1.0 and 0.8 as candidates for the value of the learning data refinement ratio num_train_ratio set (applied) in the validation module that performs SingleValidation. It is shown that.
  • the validation module performs learning using all of the learning data if the narrowing ratio num_train_ratio is 1.0. Also, the validation module performs learning by selecting (narrowing) 80% of the learning data if the narrowing ratio num_train_ratio is 0.8. As a narrowing target, for example, when data is divided into learning data and test data in chronological order, 80% of the data close to the test data is selected.
  • the adjustment unit 150 generates an objective function f2 (x) that performs the process shown in FIG. 12 for the data “data1”, the analysis pipeline “Pipeline1”, and the validation module “SingleValidation1”.
  • the search module “GridSearch2” executes the validation module “SingleValidation1” through the objective function f2 (x) for each of the eight combinations of parameter set values specified by the search range “grid2”, and the analysis pipeline model Ask for.
  • a parameter value related to the validation process a parameter (Refit flag) value that specifies relearning (Refit process) using all data may be used.
  • FIG. 14 is a diagram showing another example of the search range in the first embodiment of the present invention.
  • the search range “grid3” as illustrated in FIG. 14 is set by the initialization unit 110 in the search module “GridSearch3” that performs Grid Search.
  • ““ SV.refit ”: [true, false]” indicates that there are true and false as candidates for the value of the Refit flag “refit” set (applied) to the validation module that performs SingleValidation. ing. If the Reflect flag is false, the validation module performs learning using the learning data and calculates an evaluation value using the test data, and returns the obtained analysis pipeline model. On the other hand, if the Valid flag is true, the validation module performs learning using the learning data and calculation of the evaluation value using the test data, and then all data (learning data and test data). ) Is used again to update the analysis pipeline model. The validation module returns the analysis pipeline model updated by re-learning.
  • the search module “GridSearch3” executes the validation module “SingleValidation1” through the objective function f2 (x) for each of the eight combinations of parameter set values specified by the search range “grid3”, and the analysis pipeline model Ask for.
  • the parameters related to the validation process in the validation module in the parameter set can be adjusted including the conditions related to learning data and the conditions related to relearning, and a more accurate analysis pipeline model can be obtained. Can do.
  • FIG. 1 is a block diagram showing a characteristic configuration of the first embodiment of the present invention.
  • the analysis pipeline adjustment system 100 (information processing system) includes an initialization unit 110 and an adjustment unit 150.
  • the initialization unit 110 generates an analysis pipeline model and calculates an evaluation value using the input analysis pipeline according to a predetermined validation method, and receives an input of a validation module to be output.
  • the adjustment unit 150 inputs and executes the analysis pipeline to which the value of the pipeline parameter is applied in the validation module according to a predetermined search method within the search range of the parameter set, and the parameter set in which the evaluation value is optimized. Search for the value of.
  • the adjustment unit 150 outputs the analysis pipeline model when optimized.
  • the initialization unit 110 receives an input of a validation module that generates and outputs an analysis pipeline model and calculates an evaluation value according to a predetermined validation method using the input analysis pipeline. Then, the adjustment unit 150 inputs and executes the analysis pipeline to which the value of the pipeline parameter is applied in the validation module according to a predetermined search method within the search range of the parameter set, and the parameter whose evaluation value is optimized This is because the set value is searched.
  • the parameters related to the analysis pipeline can be adjusted for combinations of various validation methods and search methods.
  • the reason is as follows. That is, the initialization unit 110 inputs a parameter set value into an objective function and executes it in accordance with a predetermined search method within a parameter set search range, and searches for a parameter set value for which an evaluation value is optimized. Accept search module input.
  • the objective function is the evaluation value obtained by inputting the analysis pipeline to which the value of the pipeline parameter included in the input parameter set is applied to the validation module and executing it, and the analysis pipeline model Is a function that outputs Then, the adjustment unit 150 generates an objective function and executes the search module.
  • the second embodiment of the present invention is different from the first embodiment of the present invention in that the analysis pipeline to be used is also specified as a parameter.
  • the block diagram showing the configuration of the analysis pipeline adjustment system 100 according to the second embodiment of the present invention is the same as that of the first embodiment (FIG. 2) of the present invention.
  • the analysis pipeline storage unit 140 stores a plurality of analysis pipelines.
  • the parameter set includes an identifier of the analysis pipeline to be used.
  • FIG. 17 is a flowchart showing objective function processing in the second embodiment of the present invention.
  • the objective function acquires the analysis pipeline of the identifier included in the parameter set designated as the argument x from the analysis pipeline storage unit 140 (step S510).
  • the objective function sets (applies) the value of the pipeline parameter included in the parameter set to the acquired analysis pipeline (step S520).
  • the objective function inputs the data to be analyzed and the analysis pipeline in which the value of the pipeline parameter is set (applied) to the validation module to be used, and executes the validation module (step S530).
  • the objective function is returned (output) to the search module using the evaluation value and the analysis pipeline model obtained as a result of the execution of the validation module as return values (step S540).
  • the objective function instead of the analysis pipeline storage unit 140 storing a plurality of analysis pipelines, the objective function generates an analysis pipeline with an identifier included in the parameter set based on information related to the analysis pipeline. Also good.
  • FIG. 15 is a diagram showing an example of an analysis pipeline in the second embodiment of the present invention.
  • the analysis pipeline “Pipeline2” in FIG. 15 generates an analysis pipeline model for predicting LDL (Low Density Lipoprotein) cholesterol from the height and weight of the human, similar to the analysis pipeline “Pipeline1” in FIG.
  • This is an analysis pipeline.
  • a block “BMI” for calculating BMI and a block “Pow (height)” for calculating the d-th power of height are set as blocks for preprocessing data.
  • a block “decision tree (LDL)” for generating a decision tree model for determining LDL cholesterol from the preprocessed data at a tree height h is set as a block for performing the learning process. Yes.
  • the data to be analyzed is the data “data1” in FIG.
  • the analysis pipeline is “Pipeline1” in FIG. 4 or “Pipeline2” in FIG. 15
  • the validation module is “SingleValidation1” that performs Single ⁇ ⁇ Validation
  • the search module is “GridSearch4” that performs Grid Search.
  • the analysis pipelines “Pipeline1” and “Pipeline2” to be used are specified in advance by a user or the like, for example. .
  • FIG. 16 is a flowchart showing the operation of the analysis pipeline adjustment system 100 in the second exemplary embodiment of the present invention.
  • the initialization unit 110 receives input of data to be analyzed, a validation module to be used, and a search module from a user or the like (step S410).
  • the initialization unit 110 receives input of data to be analyzed “data1”, a validation module to be used “SingleValidation1”, and a search module “GridSearch4”.
  • the initialization unit 110 stores the validation module and the search module in the validation module storage unit 120 and the search module storage unit 130, respectively (step S420).
  • the initialization unit 110 may perform settings necessary for the validation module and the search module.
  • FIG. 18 is a diagram showing an example of a search range in the second embodiment of the present invention.
  • the initialization unit 110 sets “grid4” as shown in FIG. 18 corresponding to the analysis pipelines “Pipeline1” and “Pipeline2” to be used as the search range of the search module “GridSearch4”.
  • the adjustment unit 150 acquires the validation module to be used from the validation module storage unit 120.
  • the adjustment unit 150 generates an objective function for the data to be analyzed and the validation module to be used (step S430).
  • the adjustment unit 150 generates an objective function f3 (x) that performs the process shown in FIG. 17 on the data “data1” and the validation module “SingleValidation1”.
  • the adjustment unit 150 acquires a search module to be used from the search module storage unit 130.
  • the adjustment unit 150 inputs the generated objective function to the search module to be used, and executes the search module (step S440).
  • the adjustment unit 150 inputs the objective function f3 (x) to the search module “GridSearch4” and executes it.
  • the search module “GridSearch4” executes the objective function f3 (x) for each of the eight combinations of parameter set values specified by the search range “grid4”.
  • Validation module “SingleValidation1” generates an analysis pipeline model using data “data1” and analysis pipeline “Pipeline2”.
  • the objective function f3 (x) returns the evaluation value (RMSE) and analysis pipeline model obtained as a result of executing the validation module “SingleValidation2” as return values.
  • the search module “GridSearch4” selects the analysis pipeline model for the combination that minimizes the evaluation value (RMSE) included in the return value from among the combinations of the eight parameter set values specified in the search range “grid4”. Return to the adjustment unit 150.
  • RMSE evaluation value
  • the adjustment unit 150 outputs the analysis pipeline model returned from the search module to the user or the like (step S450).
  • the parameter set includes a validation ratio such as a narrowing ratio of learning data, a flag indicating relearning by all data, and the like. Parameters related to the processing may be included.
  • an analysis pipeline with higher accuracy can be obtained as compared with the first embodiment of the present invention.
  • the parameter set further includes an identifier for the analysis pipeline.
  • Analysis pipeline adjustment system 101 CPU 102 storage device 103 input / output device 104 communication device 110 initialization unit 120 validation module storage unit 130 search module storage unit 140 analysis pipeline storage unit 150 adjustment unit

Landscapes

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

Abstract

様々なバリデーション方法に対して、分析パイプラインに係るパラメータの調整ができる情報処理システムを提供する。 分析パイプライン調整システム(100)は、初期化部(110)、及び、調整部(150)を含む。初期化部(110)は、入力された分析パイプラインを用いて分析パイプラインモデルの生成、及び、評価値の算出を、所定のバリデーション方法に従って行い、出力する、バリデーションモジュールの入力を受け付ける。調整部(150)は、パラメータセットの探索範囲内で、所定の探索方法に従って、パイプラインパラメータの値が適用された分析パイプラインをバリデーションモジュールに入力して実行し、評価値が最適化されるパラメータセットの値を探索する。

Description

情報処理システム、情報処理方法、及び、記録媒体
 本発明は、情報処理システム、情報処理方法、及び、プログラムに関し、特に、分析パイプラインを生成する情報処理システム、情報処理方法、及び、記録媒体に関する。
 機械学習やデータマイニングにおけるデータ分析の手順は、大まかに、分析対象のデータの前処理、及び、前処理されたデータを分析用のエンジンに入力することで行われる学習処理により構成される。前処理では、データ中の異常値や欠損値の除去、標準化や規格化等のスケール変換、必要な属性の生成等が行われる。エンジンでは、学習処理として、目的に応じて、回帰分析、判別分析、クラスタリング等が行われる。
 このようなデータ分析の一連の処理は、例えば、欠損値の除去→標準化→回帰分析のような処理の列、つまり、パイプラインとして表現できる。以降、このようなデータ分析の一連の処理を分析パイプラインと呼ぶ。
 分析パイプライン中の処理には、人が調整できるパラメータを持つ処理がある。例えば、異常値除去の処理には、異常とみなすべき値がパラメータとして設定される。また、判別分析の処理には、判別分析で決定木が用いられる場合、学習する木の最大の高さが、パラメータとして設定される。以降、これら分析パイプラインの前処理、及び、学習処理に係るパラメータをパイプラインパラメータとも呼ぶ。
 パイプラインパラメータに適切な値に設定することは、分析の精度を向上させるために重要である。例えば、決定木の高さを高く過ぎると、学習により生成されたモデルが、データにオーバーフィットしてしまい、一方で低くし過ぎると、学習により生成されたモデルが、データにアンダーフィットしてしまう。したがって、分析対象のデータに対して適切な値が設定されるように、パラメータを調整する必要がある。
 一般に、このような、パイプラインパラメータの人による調整は手間がかかる。このため、適切なパラメータの値を探索し、調整するシステムが用いられている。パラメータの値の探索方法の内、最も単純、かつ、一般的な方法としてGrid Searchが知られている。Grid Searchでは、各パラメータの候補値で格子が生成され、全ての格子点について探索が行われ、最適なパラメータの値の組が求められる。例えば、2つのパラメータa、bが、それぞれa=[1, 10, 100]、b=[1, 0.1, 0.01]のような候補値を持つ場合、9通り(3×3通り)の値の組み合わせについて探索が行われる。Grid Searchは、単純でわかりやすい一方、探索する格子点が膨大になりやすく、時間がかかる。Grid Searchのこうした問題を解決した方法として、Random Searchや、ベイズ最適化を応用した方法等も提案されている。
 また、パイプラインパラメータの調整では、パラメータの値の探索とともに、生成されたモデルのバリデーションも併せて行う必要がある。機械学習の一般的なバリデーション方法としては、分析対象のデータを学習データとテストデータの2つに分割し、学習データでモデルを生成し、テストデータで評価値を算出する方法が知られている。この方法では、テストデータで、生成されたモデルを用いた予測が行われ、その予測精度がモデルの評価値として算出される。以下、この方法をSingle Validationと記載する。さらに、同じ分析対象のデータにおいて、学習データ、テストデータとして用いられるデータを変えながら、同様のモデル生成、評価値の算出を繰り返す、Cross Validation(交差検定)も知られている。
 これらの探索方法、及び、バリデーション方法を用いてパラメータの調整を行うシステムは、以下のような文献に記載されている。例えば、非特許文献1には、探索方法とバリデーション方法に、Grid SearchとCross Validationを用いたGridSearchCV、Random SearchとCross Validationを用いたRandomSearchCVが記載されている。非特許文献2には、探索方法とバリデーション方法に、Grid SearchとCross Validationを用いたCrossValidatorが記載されている。
 また、非特許文献3には、探索方法として、上述のRandom Searchが記載されている。非特許文献4には、探索方法として、ベイズ最適化を応用した方法が記載されている。
"scikit-learn: machine learning in Python"、[online]、[2016年5月26日検索]、インターネット〈URL:http://scikit-learn.org/stable/〉 "Overview: estimators, transformers and pipelines - spark.ml"、[online]、[2016年5月26日検索]、インターネット〈URL:http://spark.apache.org/docs/latest/ml-guide.html〉 James Bergstra、Yoshua Bengio、"Random Search for Hyper-Parameter Optimization"、Journal of Machine Learning Research 13、pages 281-305、2012 Jasper Snoek、Hugo Larochelle、Ryan P. Adams、"Practical Bayesian Optimization of Machine Learning Algorithms"、Advances in Neural Information Processing Systems 25 (NIPS 2012)、2012
 しかしながら、非特許文献1に記載されているGridSearchCVやRandomSearchCV、非特許文献2に記載されているCrossValidatorには、以下の問題がある。すなわち、これらのシステムでは、探索方法やバリデーション方法が固定であるため、例えば、様々なバリデーション方法でパイプラインパラメータを調整する場合、バリデーション方法ごとにシステムを使い分ける必要がある。バリデーション方法としては、上述のSingle ValidationやCross Validationだけでなく、分析ビジネスの現場では、より実際の利用シーンに合わせた、独自のバリデーション方法が用いられている。例えば、時系列データの予測では、バリデーション方法として、3か月おきに、再学習されたモデルを用いて1年間の予測を行い、そのモデルの年間平均精度を求める方法等が用いられる。したがって、バリデーション方法ごとにパラメータを調整するシステムを用意することは現実的ではない。
 本発明の目的は、上述の課題を解決し、様々なバリデーション方法に対して、分析パイプラインに係るパラメータの調整ができる情報処理システム、情報処理方法、及び、記録媒体を提供することにある。
 本発明の一態様における情報処理システムは、分析対象のデータに対する前処理と学習処理とを含み、前記前処理と前記学習処理との内の少なくとも一方に係るパラメータであるパイプラインパラメータの値が適用された分析パイプラインを用いて、前記前処理と前記学習処理により学習された学習済みモデルとを含む分析パイプラインモデルを生成する情報処理システムであって、入力された前記分析パイプラインを用いて前記分析パイプラインモデルの生成、及び、生成した前記分析パイプラインモデルの評価値の算出を、所定のバリデーション方法に従って行い、生成した前記分析パイプラインモデル、及び、算出した前記評価値を出力するバリデーションモジュールの入力を受け付ける、初期化手段と、前記パイプラインパラメータを含むパラメータセットの探索範囲内で、所定の探索方法に従って、前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより、前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する、調整手段と、を備える。
 本発明の一態様における情報処理方法は、分析対象のデータに対する前処理と学習処理とを含み、前記前処理と前記学習処理との内の少なくとも一方に係るパラメータであるパイプラインパラメータの値が適用された分析パイプラインを用いて、前記前処理と前記学習処理により学習された学習済みモデルとを含む分析パイプラインモデルを生成する情報処理方法であって、入力された前記分析パイプラインを用いて前記分析パイプラインモデルの生成、及び、生成した前記分析パイプラインモデルの評価値の算出を、所定のバリデーション方法に従って行い、生成した前記分析パイプラインモデル、及び、算出した前記評価値を出力するバリデーションモジュールの入力を受け付け、前記パイプラインパラメータを含むパラメータセットの探索範囲内で、所定の探索方法に従って、前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより、前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する。
 本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、分析対象のデータに対する前処理と学習処理とを含み、前記前処理と前記学習処理との内の少なくとも一方に係るパラメータであるパイプラインパラメータの値が適用された分析パイプラインを用いて、前記前処理と前記学習処理により学習された学習済みモデルとを含む分析パイプラインモデルを生成するプログラムを格納する記録媒体であって、コンピュータに、入力された前記分析パイプラインを用いて前記分析パイプラインモデルの生成、及び、生成した前記分析パイプラインモデルの評価値の算出を、所定のバリデーション方法に従って行い、生成した前記分析パイプラインモデル、及び、算出した前記評価値を出力するバリデーションモジュールの入力を受け付け、前記パイプラインパラメータを含むパラメータセットの探索範囲内で、所定の探索方法に従って、前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより、前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する、処理を実行させるプログラムを格納する。
 本発明の効果は、様々なバリデーション方法に対して、分析パイプラインに係るパラメータの調整ができることである。
本発明の第1の実施の形態の特徴的な構成を示すブロック図である。 本発明の第1の実施の形態における、分析パイプライン調整システム100の構成を示すブロック図である。 本発明の第1の実施の形態における、コンピュータにより実現された分析パイプライン調整システム100の構成を示すブロック図である。 本発明の第1の実施の形態における、分析パイプラインの例を示す図である。 本発明の第1の実施の形態における、分析パイプラインの各ブロックの入出力データの例を示す図である。 本発明の第1の実施の形態における、分析パイプラインモデルの例を示す図である。 本発明の第1の実施の形態における、分析パイプラインモデルの出力データの例を示す図である。 本発明の第1の実施の形態における、分析パイプライン調整システム100の動作を示すフローチャートである。 本発明の第1の実施の形態における、目的関数の処理を示すフローチャートである。 本発明の第1の実施の形態における、探索範囲の例を示す図である。 本発明の第1の実施の形態における、探索範囲の他の例を示す図である。 本発明の第1の実施の形態における、目的関数の他の処理を示すフローチャートである。 本発明の第1の実施の形態における、探索範囲の他の例を示す図である。 本発明の第1の実施の形態における、探索範囲の他の例を示す図である。 本発明の第2の実施の形態における、分析パイプラインの例を示す図である。 本発明の第2の実施の形態における、分析パイプライン調整システム100の動作を示すフローチャートである。 本発明の第2の実施の形態における、目的関数の処理を示すフローチャートである。 本発明の第2の実施の形態における、探索範囲の例を示す図である。
 本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面、及び、明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
 (第1の実施の形態)
 本発明の第1の実施の形態について説明する。
 はじめに、本発明の実施の形態における、分析パイプライン、及び、分析パイプラインモデルについて説明する。
 図4は、本発明の第1の実施の形態における、分析パイプラインの例を示す図である。分析パイプラインは、データの前処理を行うブロック、及び、前処理が行われたデータを用いて学習処理を行うブロックを含む。前処理では、異常値や欠損値の除去、スケール変換、属性の生成等が行われる。学習処理では回帰式や決定木等、予測や分類を行うためのモデル(学習済みモデル)の生成(回帰式における係数や、決定木の構造、判定条件等のモデルパラメータの算出)が行われる。図4の分析パイプライン「Pipeline1」は、人間の身長、体重から、LDL(Low Density Lipoprotein)コレステロールを予測するための分析パイプラインモデルを生成する分析パイプラインである。ここで、分析パイプライン「Pipeline1」には、データの前処理を行うブロックとして、BMI(Body Mass Index)を算出するブロック「BMI」、及び、体重のd乗を算出するブロック「Pow(体重)」が設定されている。また、学習処理を行うブロックとして、前処理が行われたデータから、LDLコレステロールを予測するためのリッジ回帰モデルを、正則化パラメータλで生成するブロック「リッジ回帰(LDL)」が設定されている。
 図5は、本発明の第1の実施の形態における、分析パイプラインの各ブロックの入出力データの例を示す図である。例えば、図5のデータ「data1」が図4の分析パイプラインに入力されると、データ「data1」がブロック「BMI」に入力され、「data2」のようなデータが出力される。さらに、データ「data2」がブロック「Pow(体重)」に入力され、「data3」のような、データが出力される。そして、データ「data3」がブロック「リッジ回帰(LDL)」に入力され、LDLコレステロールを予測するための学習済みモデル「リッジ回帰モデル(LDL)」が生成される。
 図6は、本発明の第1の実施の形態における、分析パイプラインモデルの例を示す図である。分析パイプラインモデルは、分析パイプラインと同様の、データの前処理を行うブロック、及び、分析パイプラインにより生成された、学習済みモデルの処理を行うブロックを含む。学習済みモデルでは、前処理が行われたデータを用いて予測や分類が行われる。図6の分析パイプラインモデル「PipelineModel1」は、図4の分析パイプライン「Pipeline1」により生成された分析パイプラインモデルである。分析パイプラインモデル「PipelineModel1」には、データの前処理を行うブロックとして、BMIを算出するブロック「BMI」、及び、体重のd乗を算出するブロック「Pow(体重^d)」が設定されている。
また、学習済みモデルの処理を行うブロックとして、ブロック「リッジ回帰モデル(LDL)」が設定されている。
 図7は、本発明の第1の実施の形態における、分析パイプラインモデルの出力データの例を示す図である。例えば、図5のデータ「data1」が図6の分析パイプラインモデルに入力されると、前処理済みのデータ「data3」がブロック「リッジ回帰モデル(LDL)」に入力される。そして、図7のデータ「data4」のように、LDLコレステロールの予測値のカラムが追加されたデータが出力される。
 分析パイプラインは、前処理、及び、学習処理の内の少なくとも一方に係るパイプラインパラメータを持つ。図4の分析パイプラインでは、前処理のブロック「Pow(体重)」における次数dと、学習処理のブロック「リッジ回帰(LDL)」における正則化パラメータλの値がパイプラインパラメータの値として設定される。
 なお、分析パイプライン、及び、分析パイプラインモデルは、例えば、CPU(Central Processing Unit)上で実行されるプログラムである。
 次に、本発明の第1の実施の形態の構成を説明する。図2は、本発明の第1の実施の形態における、分析パイプライン調整システム100の構成を示すブロック図である。分析パイプライン調整システム100は、本発明の情報処理システムの一実施形態である。
 図2を参照すると、分析パイプライン調整システム100は、初期化部110、バリデーションモジュール記憶部120、探索モジュール記憶部130、分析パイプライン記憶部140、及び、調整部150を含む。
 初期化部110は、ユーザ等から、分析対象のデータ、分析において利用する(利用対象の)分析パイプライン、バリデーションモジュール、及び、探索モジュールの入力を受け付ける。バリデーションモジュール、探索モジュール、及び、分析パイプラインは、例えば、CPU上で実行されるプログラムである。なお、初期化部110は、記憶部(図示せず)等に記憶された複数の分析パイプラインや各モジュールの内、利用対象の分析パイプラインや各モジュールの識別子の入力を受け付けてもよい。
 図2に示すように、探索モジュールは、調整部150により実行され、バリデーションモジュールは、目的関数を介して、探索モジュールにより実行される。これら、バリデーションモジュール、目的関数、及び、探索モジュールの入出力、及び、処理は、以下のように定義される。
 <バリデーションモジュール>
 バリデーションモジュールには、目的関数から、分析対象のデータと、1以上のパイプラインパラメータの値が設定(適用)された分析パイプラインと、が入力される。
 バリデーションモジュールは、入力されたデータ、及び、分析パイプラインを用いて、当該バリデーションモジュールに対応する所定のバリデーション方法に従って、分析パイプラインモデルの生成、及び、生成した分析パイプラインモデルの評価値を算出する。
 バリデーションモジュールは、生成した分析パイプラインモデル、及び、算出した評価値を、目的関数へ返却(出力)する。
 ここで、所定のバリデーション方法としては、例えば、上述のSingle ValidationやCross Validation等が用いられる。また、評価値としては、例えば、生成した分析パイプラインモデルによる予測値と実際の値とから算出した平均二乗誤差(RMSE(Root Mean Squared Error))等が用いられる。
 <目的関数>
 目的関数には、探索モジュールから、引数xが指定(入力)される。引数xには、1以上のパラメータの集合(以下、パラメータセットとも記載する)の各パラメータの値(以下、パラメータセットの値とも記載する)が設定される。パラメータセットには、上述の、1以上のパイプラインパラメータが含まれる。
 図9は、本発明の第1の実施の形態における、目的関数の処理を示すフローチャートである。目的関数は、引数xとして指定されたパラメータセットに含まれるパイプラインパラメータの値を、利用対象の分析パイプラインに設定(適用)する(ステップS210)。目的関数は、分析対象のデータと、パイプラインパラメータの値が設定(適用)された分析パイプラインと、を利用対象のバリデーションモジュールに入力し、当該バリデーションモジュールを実行する(ステップS220)。
 目的関数は、バリデーションモジュールの実行の結果得られた、評価値、及び、分析パイプラインモデルを戻り値として、探索モジュールへ返却(出力)する(ステップS230)。
 <探索モジュール>
 探索モジュールには、調整部150から、目的関数が入力される。また、探索モジュールには、初期化部110により、目的関数の引数x(パラメータセットの値)の探索範囲が設定される。探索範囲には、利用対象の探索モジュールの探索方法や、利用対象の分析パイプライン、バリデーションモジュールに対応した値の範囲が設定される。なお、探索範囲は、初期化部110の代わりに、調整部150により入力されてもよい。また、探索範囲は、ユーザ等から入力される探索モジュールに、予め、設定されていてもよい。
 探索モジュールは、探索範囲内の値を引数xに指定して、入力された目的関数を実行する。探索モジュールは、当該探索モジュールに対応する所定の探索方法に従って、目的関数の戻り値に含まれる評価値が最適化される(最小、または、最大になる)引数x(パラメータセットの値)を探索する。探索モジュールは、評価値が最適化されたときの目的関数の戻り値(評価値、及び、分析パイプラインモデル)を、調整部150へ返却(出力)する。
 ここで、所定の探索方法としては、例えば、上述のGrid SearchやRandom Search等が用いられる。また、探索モジュールが目的関数を実行できれば、目的関数の入力は省略されてもよい。また、探索モジュールは、評価値が最適化されたときの引数x(パラメータセットの値)も、目的関数からの戻り値とともに調整部150へ返却(出力)してもよい。
 このようなバリデーションモジュール、目的関数、及び、探索モジュールの定義により、バリデーションモジュールは、探索モジュールに依存しないように実現できる。また、探索モジュールも、利用対象の分析パイプラインやバリデーションモジュールに依存しないように実現できる。
 バリデーションモジュール記憶部120は、利用対象のバリデーションモジュールを記憶する。
 探索モジュール記憶部130は、利用対象の探索モジュールを記憶する。
 分析パイプライン記憶部140は、利用対象の分析パイプラインを記憶する。
 調整部150は、分析対象のデータ、利用対象の分析パイプライン、及び、バリデーションモジュールに対応した、上述の目的関数を生成する。調整部150は、生成した目的関数を利用対象の探索モジュールに入力し、当該探索モジュールを実行する。調整部150は、探索モジュールの実行の結果得られた分析パイプラインモデルを、ユーザ等へ出力する。
 なお、分析パイプライン調整システム100は、CPUとプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
 図3は、本発明の第1の実施の形態における、コンピュータにより実現された分析パイプライン調整システム100の構成を示すブロック図である。
 この場合、分析パイプライン調整システム100は、CPU101、ハードディスクやメモリ等の記憶デバイス102(記憶媒体)、キーボード、ディスプレイ等の入出力デバイス103、及び、他の装置等と通信を行う通信デバイス104を含む。CPU101は、初期化部110、及び、調整部150を実現するためのプログラムを実行する。記憶デバイス102は、バリデーションモジュール記憶部120、探索モジュール記憶部130、及び、分析パイプライン記憶部140の情報を記憶する。入出力デバイス103は、ユーザからの利用対象のバリデーションモジュール、探索モジュール、及び、分析パイプラインの入力の受け付け、及び、ユーザへの分析パイプラインモデルの出力を行う。また、通信デバイス104が、他の装置等から利用対象のバリデーションモジュール、探索モジュール、及び、分析パイプラインを受信する、或いは、他の装置等へ分析パイプラインモデルを送信してもよい。
 また、図2における分析パイプライン調整システム100の各構成要素の一部又は全部は、汎用または専用の回路(circuitry)やプロセッサ、これらの組み合わせによって実現されてもよい。これらの回路やプロセッサは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、分析パイプライン調整システム100の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 図2における分析パイプライン調整システム100の各構成要素の一部又は全部が、複数の情報処理装置や回路等により実現される場合、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の第1の実施の形態の動作について説明する。
 ここでは、分析対象のデータが、図5のデータ「data1」であると仮定する。また、利用対象の分析パイプラインが、図4の「Pipeline1」、バリデーションモジュールが、Single Validationを行う「SingleValidation1」、探索モジュールが、Grid Searchを行う「GridSearch1」であると仮定する。
 さらに、バリデーションモジュール記憶部120、探索モジュール記憶部130、分析パイプライン記憶部140には、それぞれ、利用対象のバリデーションモジュール、探索モジュール、分析パイプラインが、予めユーザ等により保存されていると仮定する。
 図8は、本発明の第1の実施の形態における、分析パイプライン調整システム100の動作を示すフローチャートである。
 はじめに、初期化部110は、ユーザ等から、分析対象のデータ、利用対象のバリデーションモジュール、探索モジュール、及び、分析パイプラインの入力を受け付ける(ステップS110)。
 例えば、初期化部110は、分析対象のデータ「data1」、利用対象のバリデーションモジュール「SingleValidation1」、探索モジュール「GridSearch1」、及び、分析パイプライン「Pipeline1」の入力を受け付ける。
 初期化部110は、バリデーションモジュール、探索モジュール、分析パイプラインを、バリデーションモジュール記憶部120、探索モジュール記憶部130、分析パイプライン記憶部140に保存する(ステップS120)。ここで、初期化部110は、バリデーションモジュール、探索モジュールに必要な設定を行ってもよい。
 例えば、初期化部110はバリデーションモジュール「SingleValidation1」を、評価値としてRMSEを算出し、データの分割比率として学習用データ8割、テスト用データ2割を用いるように設定する。
 図10は、本発明の第1の実施の形態における、探索範囲の例を示す図である。また、初期化部110は、例えば、探索モジュール「GridSearch1」の探索範囲として、利用対象の分析パイプライン「Pipeline1」に対応した、図10のような「grid1」を設定する。
 図10において、「“Pow.d”: [2, 3]」は、分析パイプラインのブロック「Pow」に設定される次数dの値の候補として、2と3があることを示している。また、「“リッジ回帰.λ”:[10^-6, 10^-7, 10^-8]」は、ブロック「リッジ回帰」の正則化パラメータλの値の候補として、10^-6、10^-7、10^-8(^はべき乗を示す)があることを示している。この場合、パラメータセット(次数d、正則化パラメータλ)の値の探索範囲として、6通りの値の組み合わせが存在する。
 次に、調整部150は、分析パイプライン記憶部140、及び、バリデーションモジュール記憶部120から、利用対象の分析パイプライン、及び、バリデーションモジュールを取得する。調整部150は、分析対象のデータ、利用対象の分析パイプライン、及び、バリデーションモジュールに対して、目的関数を生成する(ステップS130)。
 例えば、調整部150は、データ「data1」、分析パイプライン「Pipeline1」、及び、バリデーションモジュール「SingleValidation1」に対して、図9のような処理を行う目的関数f1(x)を生成する。
 次に、調整部150は、探索モジュール記憶部130から、利用対象の探索モジュールを取得する。調整部150は、生成した目的関数を利用対象の探索モジュールに入力し、当該探索モジュールを実行する(ステップS140)。
 例えば、調整部150は、目的関数f1(x)を探索モジュール「GridSearch1」に入力し、実行する。
 探索モジュール「GridSearch1」は、探索範囲「grid1」で指定される6通りのパラメータセット(次数d、正則化パラメータλ)の値の組み合わせの各々について、目的関数f1(x)を実行する。
 例えば、探索モジュール「GridSearch1」は、探索範囲「grid1」に含まれる、パラメータセットの値「次数d=2、正則化パラメータλ=10^-6」を引数xに設定し、入力された目的関数f1(x)を実行する。
 目的関数f1(x)は、引数xとして指定されたパイプラインパラメータの値「次数d=2、正則化パラメータλ=10^-6」を、分析パイプライン「Pipeline1」に設定する。そして、目的関数f1(x)は、データ「data1」と分析パイプライン「Pipeline1」を、バリデーションモジュール「SingleValidation1」に入力し、実行する。
 バリデーションモジュール「SingleValidation1」は、データ「data1」、及び、分析パイプライン「Pipeline1」を用いて、分析パイプラインモデル「PipelineModel1」を生成する。ここで、バリデーションモジュール「SingleValidation1」は、データ「data1」の8割を学習用データとして用いて、分析パイプラインモデル「PipelineModel1」を生成する。そして、バリデーションモジュール「SingleValidation1」は、データ「data1」の残りの2割をテスト用データとして用いて、評価値(RMSE)を算出する。バリデーションモジュール「SingleValidation1」は、分析パイプラインモデル「PipelineModel1」、及び、評価値(RMSE)を返却する。
 目的関数f1(x)は、バリデーションモジュール「SingleValidation1」の実行の結果得られた、評価値(RMSE)、及び、分析パイプラインモデル「PipelineModel1」を、戻り値として返却する。
 探索モジュール「GridSearch1」は、探索範囲「grid1」で指定される6通りのパラメータセットの値の組み合わせの内、戻り値に含まれる評価値(RMSE)が最小となる組み合わせに対する分析パイプラインモデルを調整部150へ返却する。
 次に、調整部150は、探索モジュールから返却された分析パイプラインモデルを、ユーザ等へ出力する(ステップS150)。
 例えば、調整部150は、探索モジュールから返却された分析パイプラインモデル「PipelineModel1」を出力する。
 以後、ユーザ等は、生成された分析パイプラインモデル「PipelineModel1」を用いて、新たなデータに対して、予測や分析を行うことができる。
 以上により、本発明の第1の実施の形態の動作が完了する。
 なお、ここでは、バリデーションモジュール、及び、探索モジュールとして、Single Validationを行うバリデーションモジュール、及び、Grid Searchを行う探索モジュールが用いられる場合を例に説明した。しかしながら、これに限らず、バリデーションモジュールや探索モジュールの入出力、及び、処理が、上述の定義に従っていれば、他のバリデーションモジュールや探索モジュールが用いられてもよい。
 例えば、バリデーションモジュールとして、Cross Validationを行う「CrossValidation1」、探索モジュールとして、Random Searchを行う「RandomSearch1」が用いられてもよい。
 この場合、バリデーションモジュール「CrossValidation1」は、例えば、データ「data1」を10分割して交差検定を行い、評価値(RMSE)の平均と、評価値(RMSE)が最小となる分析パイプラインモデル「PipelineModel1」を返却する。
 図11は、本発明の第1の実施の形態における、探索範囲の他の例を示す図である。また、探索モジュール「RandomSearch1」には、初期化部110により、例えば、図11のような探索範囲「dist1」が設定される。図11において、「“Pow.d”: discrete([2, 3], [0.40, 0.6])」は、40%の確率で2、60%の確率で3となる多項分布を表し、「Norm(10^-7, 10^-8)」は、平均が10^-7、標準偏差が10^-8の正規分布を表す。探索モジュール「RandomSearch1」は、探索範囲「dist1」で表される分布に従って、パラメータセットの値の所定数(例えば100通り)の組み合わせをサンプリングして、各組み合わせについて、目的関数f1(x)を実行する。そして、探索モジュール「RandomSearch1」は、パラメータセットの値の所定数の組み合わせの内、戻り値に含まれる評価値(RMSE)が最小となる組み合わせに対する分析パイプラインモデル「PipelineModel1」を、調整部150へ返却する。
 また、ここでは、パラメータセットが、分析パイプラインにおける前処理や学習処理に係るパラメータ(パイプラインパラメータ)であることを例に説明した。しかしながら、これに限らず、パラメータセットは、バリデーションモジュールにおけるバリデーション処理に係るパラメータを含んでいてもよい。
 図12は、本発明の第1の実施の形態における、目的関数の他の処理を示すフローチャートである。この場合、目的関数は、引数xとして指定されたパラメータセットの値の組み合わせに含まれる、パイプラインパラメータの値を、分析パイプライン設定(適用)する(ステップS310)。また、目的関数は、パラメータセットの値の組み合わせに含まれる、バリデーション処理に係るパラメータの値を、利用対象のバリデーションモジュールに設定(適用)する(ステップS320)。目的関数は、分析対象のデータと、パイプラインパラメータの値が設定(適用)された分析パイプラインとを、利用対象のバリデーションモジュールに入力し、当該バリデーションモジュールを実行する(ステップS330)。目的関数は、バリデーションモジュールの実行の結果得られた、評価値、及び、分析パイプラインモデルを戻り値として、探索モジュールへ返却(出力)する(ステップS340)。
 なお、目的関数は、例えば、パラメータセットの値の組み合わせをkey、valueのリストとして、バリデーションモジュールに入力してもよい。この場合、バリデーションモジュールは、リストの中から自バリデーションモジュールに設定(適用)可能なパラメータのkeyがあれば、対応するvalueの値を設定(適用)する。これにより、異なるバリデーションモジュールであっても、同一のインターフェースで、バリデーション処理の挙動を変更できる。
 バリデーション処理に係るパラメータの値としては、例えば、学習用データの絞り込み割合を指定するパラメータ値が用いられる。
 図13は、本発明の第1の実施の形態における、探索範囲の他の例を示す図である。例えば、Grid Searchを行う探索モジュール「GridSearch2」に、初期化部110により、図13のような探索範囲「grid2」が設定されていると仮定する。
 図13において、「“SV.num_train_ratio”: [1.0, 0.8]」は、SingleValidationを行うバリデーションモジュールに設定(適用)される、学習用データの絞り込み割合num_train_ratioの値の候補として、1.0と0.8があることを示している。バリデーションモジュールは、絞り込み割合num_train_ratioが1.0であれば、学習用データの全てを用いて学習を行う。また、バリデーションモジュールは、絞り込み割合num_train_ratioが0.8であれば、学習用データの8割を選んで(絞り込んで)学習を行う。絞り込みの対象としては、例えば、データを時系列順に学習用データとテスト用データに分割する場合、テスト用データに近い時刻の8割のデータが選ばれる。
 この場合、パラメータセット(次数d、正則化パラメータλ、及び、絞り込み割合num_train_ratio)の値の探索範囲として、8通りの値の組み合わせが存在する。
 調整部150は、データ「data1」、分析パイプライン「Pipeline1」、及び、バリデーションモジュール「SingleValidation1」に対して、図12のような処理を行う目的関数f2(x)を生成する。
 探索モジュール「GridSearch2」は、探索範囲「grid2」で指定される8通りのパラメータセットの値の組み合わせの各々について、目的関数f2(x)を通して、バリデーションモジュール「SingleValidation1」を実行し、分析パイプラインモデルを求める。
 また、バリデーション処理に係るパラメータ値として、全データによる再学習(Refit処理)を指定するパラメータ(Refitフラグ)の値が用いられてもよい。
 図14は、本発明の第1の実施の形態における、探索範囲の他の例を示す図である。例えば、Grid Searchを行う探索モジュール「GridSearch3」に、初期化部110により、図14のような探索範囲「grid3」が設定されていると仮定する。
 図14において、「“SV.refit”: [true, false]」は、SingleValidationを行うバリデーションモジュールに設定(適用)されるRefitフラグ「refit」の値の候補として、trueとfalseがあることを示している。バリデーションモジュールは、Refitフラグがfalseであれば、学習用データを用いた学習、及び、テスト用データを用いた評価値の算出を行い、得られた分析パイプラインモデルをを返却する。一方、バリデーションモジュールは、Refitフラグがtrueであれば、学習用データを用いた学習、テスト用データを用いた評価値の算出を行った後で、全データ(学習用データ、及び、テスト用データ)を用いた学習を再度行い、分析パイプラインモデルを更新する。バリデーションモジュールは、再学習により更新された分析パイプラインモデルをを返却する。
 この場合、パラメータセット(次数d、正則化パラメータλ、及び、Refitフラグ)の値の探索範囲として、8通りの値の組み合わせが存在する。
 探索モジュール「GridSearch3」は、探索範囲「grid3」で指定される8通りのパラメータセットの値の組み合わせの各々について、目的関数f2(x)を通して、バリデーションモジュール「SingleValidation1」を実行し、分析パイプラインモデルを求める。
 このように、パラメータセットにバリデーションモジュールにおけるバリデーション処理に係るパラメータを含めることで、学習データに係る条件や再学習に係る条件も含めてパラメータを調整でき、より精度の高い分析パイプラインモデルを得ることができる。
 次に、本発明の第1の実施の形態の特徴的な構成を説明する。図1は、本発明の第1の実施の形態の特徴的な構成を示すブロック図である。分析パイプライン調整システム100(情報処理システム)は、初期化部110、及び、調整部150を含む。
 初期化部110は、入力された分析パイプラインを用いて分析パイプラインモデルの生成、及び、評価値の算出を、所定のバリデーション方法に従って行い、出力する、バリデーションモジュールの入力を受け付ける。
 調整部150は、パラメータセットの探索範囲内で、所定の探索方法に従って、パイプラインパラメータの値が適用された分析パイプラインをバリデーションモジュールに入力して実行し、評価値が最適化されるパラメータセットの値を探索する。調整部150は、最適化されたときの分析パイプラインモデルを出力する。
 次に、本発明の第1の実施の形態の効果を説明する。
 本発明の第1の実施によれば、様々なバリデーション方法に対して、分析パイプラインに係るパラメータの調整ができる。その理由は、以下による。すなわち、初期化部110が、入力された分析パイプラインを用いて分析パイプラインモデルの生成、及び、評価値の算出を、所定のバリデーション方法に従って行い、出力する、バリデーションモジュールの入力を受け付ける。そして、調整部150が、パラメータセットの探索範囲内で、所定の探索方法に従って、パイプラインパラメータの値が適用された分析パイプラインをバリデーションモジュールに入力、実行し、評価値が最適化されるパラメータセットの値を探索するためである。
 また、本発明の第1の実施によれば、様々なバリデーション方法、及び、探索方法の組み合わせに対して、分析パイプラインに係るパラメータの調整ができる。その理由は、以下による。すなわち、初期化部110が、パラメータセットの探索範囲内で、所定の探索方法に従って、パラメータセットの値を目的関数に入力して実行し、評価値が最適化されるパラメータセットの値を探索する探索モジュールの入力を受け付ける。ここで、目的関数は、入力されたパラメータセットに含まれるパイプラインパラメータの値が適用された分析パイプラインをバリデーションモジュールに入力して実行することにより得られた評価値、及び、分析パイプラインモデルを出力する関数である。そして、調整部150が、目的関数を生成して、探索モジュールを実行するためである。
 (第2の実施の形態)
 次に、本発明の第2の実施の形態について説明する。
 本発明の第2の実施の形態においては、利用対象の分析パイプラインもパラメータとして指定する点において、本発明の第1の実施の形態と異なる。
 はじめに、本発明の第2の実施の形態の構成について説明する。
 本発明の第2の実施の形態における分析パイプライン調整システム100の構成を示すブロック図は、本発明の第1の実施の形態(図2)と同様となる。
 本発明の第2の実施の形態では、分析パイプライン記憶部140が、複数の分析パイプラインを記憶する。また、本発明の第2の実施の形態では、パラメータセットが、利用対象の分析パイプラインの識別子を含む。
 図17は、本発明の第2の実施の形態における、目的関数の処理を示すフローチャートである。目的関数は、引数xとして指定されたパラメータセットに含まれる識別子の分析パイプラインを分析パイプライン記憶部140から取得する(ステップS510)。目的関数は、パラメータセットに含まれるパイプラインパラメータの値を、取得した分析パイプラインに設定(適用)する(ステップS520)。目的関数は、分析対象のデータと、パイプラインパラメータの値が設定(適用)された分析パイプラインとを、利用対象のバリデーションモジュールに入力し、当該バリデーションモジュールを実行する(ステップS530)。目的関数は、バリデーションモジュールの実行の結果得られた、評価値、及び、分析パイプラインモデルを戻り値として、探索モジュールへ返却(出力)する(ステップS540)。
 なお、分析パイプライン記憶部140が複数の分析パイプラインを記憶する代わりに、目的関数が、パラメータセットに含まれる識別子の分析パイプラインを、当該分析パイプラインに係る情報をもとに生成してもよい。
 次に、本発明の第2の実施の形態の動作について説明する。
 図15は、本発明の第2の実施の形態における、分析パイプラインの例を示す図である。図15の分析パイプライン「Pipeline2」は、図4の分析パイプライン「Pipeline1」と同様に、人間の身長、体重から、LDL(Low Density Lipoprotein)コレステロールを予測するための分析パイプラインモデルを生成する分析パイプラインである。ここで、分析パイプライン「Pipeline2」には、データの前処理を行うブロックとして、BMIを算出するブロック「BMI」、及び、身長のd乗を算出するブロック「Pow(身長)」が設定されている。また、学習処理を行うブロックとして、前処理が行われたデータから、LDLコレステロールを判定するための決定木モデルを、木の高さhで生成するブロック「決定木(LDL)」が設定されている。
 ここでは、分析対象のデータが、図5のデータ「data1」であると仮定する。また、分析パイプラインが、図4の「Pipeline1」、または、図15の「Pipeline2」、バリデーションモジュールが、Single Validationを行う「SingleValidation1」、探索モジュールが、Grid Searchを行う「GridSearch4」であると仮定する。また、利用対象の分析パイプライン「Pipeline1」、「Pipeline2」は、例えば、予め、ユーザ等により指定されていると仮定する。。
 図16は、本発明の第2の実施の形態における、分析パイプライン調整システム100の動作を示すフローチャートである。
 はじめに、初期化部110は、ユーザ等から、分析対象のデータ、利用対象のバリデーションモジュール、及び、探索モジュールの入力を受け付ける(ステップS410)。
 例えば、初期化部110は、分析対象のデータ「data1」、利用対象のバリデーションモジュール「SingleValidation1」、及び、探索モジュール「GridSearch4」の入力を受け付ける。
 初期化部110は、バリデーションモジュール、及び、探索モジュールを、それぞれ、バリデーションモジュール記憶部120、及び、探索モジュール記憶部130に保存する(ステップS420)。ここで、初期化部110は、バリデーションモジュール、探索モジュールに必要な設定を行ってもよい。
 図18は、本発明の第2の実施の形態における、探索範囲の例を示す図である。初期化部110は、例えば、探索モジュール「GridSearch4」の探索範囲として、利用対象の分析パイプライン「Pipeline1」、「Pipeline2」に対応した、図18のような「grid4」を設定する。
 図18において、「“pipeline”: [“Pipeline1”]」、「“pipeline”: [“Pipeline2”]」は、それぞれ、図4、図15の分析パイプラインの識別子を示す。なお、分析パイプラインの識別子の代わりに、分析パイプラインが格納されたファイルパスが設定されていてもよい。
 この場合、分析パイプライン「Pipeline1」について、パラメータセット(次数d、正則化パラメータλ)の値の探索範囲として、4通りの値の組み合わせが存在する。また、分析パイプライン「Pipeline2」について、パラメータセット(次数d、決定木の高さh)の値の探索範囲として、4通りの組み合わせが存在する。すなわちパラメータセットの値の探索範囲として、8通りの組み合わせが存在する。
 次に、調整部150は、バリデーションモジュール記憶部120から、利用対象のバリデーションモジュールを取得する。調整部150は、分析対象のデータ、利用対象のバリデーションモジュールに対して、目的関数を生成する(ステップS430)。
 例えば、調整部150は、データ「data1」、バリデーションモジュール「SingleValidation1」に対して、図17のような処理を行う目的関数f3(x)を生成する。
 次に、調整部150は、探索モジュール記憶部130から、利用対象の探索モジュールを取得する。調整部150は、生成した目的関数を利用対象の探索モジュールに入力し、当該探索モジュールを実行する(ステップS440)。
 例えば、調整部150は、目的関数f3(x)を探索モジュール「GridSearch4」に入力し、実行する。
 探索モジュール「GridSearch4」は、探索範囲「grid4」で指定される8通りのパラメータセットの値の組み合わせの各々について、目的関数f3(x)を実行する。
 例えば、探索モジュール「GridSearch4」は、探索範囲「grid4」に含まれる、パラメータセットの値「分析パイプライン=「pipline2」、次数d=3、決定木の高さh=10」を引数xに設定し、入力された目的関数f3(x)を実行する。
 目的関数f3(x)は、引数xとして指定された分析パイプライン「pipline2」を取得し、パイプラインパラメータの値「次数d=3、決定木の高さh=10」を分析パイプライン「pipline2」に設定する。そして、目的関数f3(x)は、データ「data1」と分析パイプライン「pipline2」を、バリデーションモジュール「SingleValidation1」に入力し、実行する。
 バリデーションモジュール「SingleValidation1」は、データ「data1」、及び、分析パイプライン「Pipeline2」を用いて、分析パイプラインモデルを生成する。
 目的関数f3(x)は、バリデーションモジュール「SingleValidation2」の実行の結果得られた、評価値(RMSE)、及び、分析パイプラインモデルを、戻り値として返却する。
 探索モジュール「GridSearch4」は、探索範囲「grid4」で指定される8通りのパラメータセットの値の組み合わせの内、戻り値に含まれる評価値(RMSE)が最小となる組み合わせに対する分析パイプラインモデルを、調整部150へ返却する。
 次に、調整部150は、探索モジュールから返却された分析パイプラインモデルを、ユーザ等へ出力する(ステップS450)。
 以上により、本発明の第2の実施の形態の動作が完了する。
 なお、本発明の第2の実施の形態においても、本発明の第1の実施の形態と同様に、パラメータセットが、学習用データの絞り込み割合や、全データによる再学習を示すフラグ等、バリデーション処理に係るパラメータを含んでいてもよい。
 次に、本発明の第2の実施の形態の効果を説明する。
 本発明の第2の実施の形態によれば、本発明の第1の実施の形態に比べて、より精度の高い分析パイプラインを得ることができる。その理由は、パラメータセットが、さらに、分析パイプラインの識別子を含むためである。これにより、分析パイプラインに係る条件も含めてパラメータを調整でき、より精度の高い分析パイプラインモデルを得ることができる。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 100  分析パイプライン調整システム
 101  CPU
 102  記憶デバイス
 103  入出力デバイス
 104  通信デバイス
 110  初期化部
 120  バリデーションモジュール記憶部
 130  探索モジュール記憶部
 140  分析パイプライン記憶部
 150  調整部

Claims (10)

  1.  分析対象のデータに対する前処理と学習処理とを含み、前記前処理と前記学習処理との内の少なくとも一方に係るパラメータであるパイプラインパラメータの値が適用された分析パイプラインを用いて、前記前処理と前記学習処理により学習された学習済みモデルとを含む分析パイプラインモデルを生成する情報処理システムであって、
     入力された前記分析パイプラインを用いて前記分析パイプラインモデルの生成、及び、生成した前記分析パイプラインモデルの評価値の算出を、所定のバリデーション方法に従って行い、生成した前記分析パイプラインモデル、及び、算出した前記評価値を出力するバリデーションモジュールの入力を受け付ける、初期化手段と、
     前記パイプラインパラメータを含むパラメータセットの探索範囲内で、所定の探索方法に従って、前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより、前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する、調整手段と、
     を備えた情報処理システム。
  2.  目的関数を、入力された前記パラメータセットに含まれる前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより得られた前記評価値、及び、前記分析パイプラインモデルを出力する関数と定義した場合に、
     さらに、前記初期化手段は、前記パラメータセットの探索範囲内で、所定の探索方法に従って、前記パラメータセットの値を前記目的関数に入力して実行することにより得られる前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する探索モジュールの入力を受け付け、
     前記調整手段は、前記目的関数を生成して、前記探索モジュールを実行することにより得られた前記分析パイプラインモデルを出力する、
     請求項1に記載の情報処理システム。
  3.  前記パラメータセットは、さらに、前記分析パイプラインの識別子を含み、
     前記バリデーションモジュールを実行する場合、前記パラメータセットに含まれる前記パイプラインパラメータの値が適用された、前記分析パイプラインの識別子で示される前記分析パイプラインが入力される、
     請求項1または2に記載の情報処理システム。
  4.  前記パラメータセットは、さらに、前記所定のバリデーション方法に係るパラメータを含み、
     前記バリデーションモジュールは、入力された前記所定のバリデーション方法に係るパラメータの値に応じた前記所定のバリデーション方法に従って前記分析パイプラインモデルの生成、及び、当該分析パイプラインモデルの前記評価値の算出を行い、
     前記バリデーションモジュールを実行する場合、前記パラメータセットに含まれる前記パイプラインパラメータの値が適用された前記分析パイプラインに加えて、前記所定のバリデーション方法に係るパラメータの値が入力される、
     請求項1乃至3のいずれかに記載の情報処理システム。
  5.  前記所定のバリデーション方法に係るパラメータは、学習用データの絞り込み割合を指定するパラメータであり、
     前記バリデーションモジュールは、前記分析対象のデータを、前記分析パイプラインモデルを生成するための学習用データと前記分析パイプラインモデルの前記評価値を算出するためのテスト用データとに分割したときに、さらに、前記学習用データの絞り込み割合を指定するパラメータの値に従って、前記学習用データとして分割されたデータの絞り込みを行う、
     請求項4に記載の情報処理システム。
  6.  前記所定のバリデーション方法に係るパラメータは、再学習を指定するパラメータであり、
     前記バリデーションモジュールは、前記分析対象のデータの内、学習用データを用いた前記学習処理により前記分析パイプラインモデルを生成し、テスト用データを用いて前記分析パイプラインモデルの前記評価値を算出した後で、さらに、前記再学習を指定するパラメータの値に従って、前記学習用データと前記テスト用データとを用いた前記学習処理を再度行うことで、前記分析パイプラインモデルを更新する、
     請求項4に記載の情報処理システム。
  7.  分析対象のデータに対する前処理と学習処理とを含み、前記前処理と前記学習処理との内の少なくとも一方に係るパラメータであるパイプラインパラメータの値が適用された分析パイプラインを用いて、前記前処理と前記学習処理により学習された学習済みモデルとを含む分析パイプラインモデルを生成する情報処理方法であって、
     入力された前記分析パイプラインを用いて前記分析パイプラインモデルの生成、及び、生成した前記分析パイプラインモデルの評価値の算出を、所定のバリデーション方法に従って行い、生成した前記分析パイプラインモデル、及び、算出した前記評価値を出力するバリデーションモジュールの入力を受け付け、
     前記パイプラインパラメータを含むパラメータセットの探索範囲内で、所定の探索方法に従って、前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより、前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する、
     情報処理方法。
  8.  目的関数を、入力された前記パラメータセットに含まれる前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより得られた前記評価値、及び、前記分析パイプラインモデルを出力する関数と定義した場合に、
     さらに、前記パラメータセットの探索範囲内で、所定の探索方法に従って、前記パラメータセットの値を前記目的関数に入力して実行することにより得られる前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する探索モジュールの入力を受け付け、
     前記分析パイプラインモデルを出力する場合、前記目的関数を生成して、前記探索モジュールを実行することにより得られた前記分析パイプラインモデルを出力する、
     請求項7に記載の情報処理方法。
  9.  分析対象のデータに対する前処理と学習処理とを含み、前記前処理と前記学習処理との内の少なくとも一方に係るパラメータであるパイプラインパラメータの値が適用された分析パイプラインを用いて、前記前処理と前記学習処理により学習された学習済みモデルとを含む分析パイプラインモデルを生成するプログラムを格納する記録媒体であって、
     コンピュータに、
     入力された前記分析パイプラインを用いて前記分析パイプラインモデルの生成、及び、生成した前記分析パイプラインモデルの評価値の算出を、所定のバリデーション方法に従って行い、生成した前記分析パイプラインモデル、及び、算出した前記評価値を出力するバリデーションモジュールの入力を受け付け、
     前記パイプラインパラメータを含むパラメータセットの探索範囲内で、所定の探索方法に従って、前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより、前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する、
     処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
  10.  目的関数を、入力された前記パラメータセットに含まれる前記パイプラインパラメータの値が適用された前記分析パイプラインを前記バリデーションモジュールに入力して実行することにより得られた前記評価値、及び、前記分析パイプラインモデルを出力する関数と定義した場合に、
     さらに、前記パラメータセットの探索範囲内で、所定の探索方法に従って、前記パラメータセットの値を前記目的関数に入力して実行することにより得られる前記評価値が最適化される前記パラメータセットの値を探索し、最適化されたときの前記分析パイプラインモデルを出力する探索モジュールの入力を受け付け、
     前記分析パイプラインモデルを出力する場合、前記目的関数を生成して、前記探索モジュールを実行することにより得られた前記分析パイプラインモデルを出力する、
     処理を実行させる、請求項9に記載のプログラムを格納する、コンピュータが読み取り可能な記録媒体。
PCT/JP2016/003137 2016-06-30 2016-06-30 情報処理システム、情報処理方法、及び、記録媒体 WO2018002967A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/310,851 US20190180180A1 (en) 2016-06-30 2016-06-30 Information processing system, information processing method, and recording medium
JP2018524580A JP6648828B2 (ja) 2016-06-30 2016-06-30 情報処理システム、情報処理方法、及び、プログラム
PCT/JP2016/003137 WO2018002967A1 (ja) 2016-06-30 2016-06-30 情報処理システム、情報処理方法、及び、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/003137 WO2018002967A1 (ja) 2016-06-30 2016-06-30 情報処理システム、情報処理方法、及び、記録媒体

Publications (1)

Publication Number Publication Date
WO2018002967A1 true WO2018002967A1 (ja) 2018-01-04

Family

ID=60785368

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/003137 WO2018002967A1 (ja) 2016-06-30 2016-06-30 情報処理システム、情報処理方法、及び、記録媒体

Country Status (3)

Country Link
US (1) US20190180180A1 (ja)
JP (1) JP6648828B2 (ja)
WO (1) WO2018002967A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10698625B2 (en) 2017-05-15 2020-06-30 Accenture Global Solutions Limited Data pipeline architecture for analytics processing stack
KR102262279B1 (ko) * 2019-10-02 2021-06-08 (주)디지탈쉽 이상치 탐지를 위한 데이터 처리 방법 및 장치
US20240177246A1 (en) * 2022-11-28 2024-05-30 John Clarke Jackson Systems, devices and methods for nft-based membership in digital clubs and communities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187099A (ja) * 2008-02-04 2009-08-20 Fuji Xerox Co Ltd 情報処理装置およびプログラム
JP2011095878A (ja) * 2009-10-28 2011-05-12 Toyota Central R&D Labs Inc 識別器構築装置、識別器、プログラム
US20110313953A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Automated Classification Pipeline Tuning Under Mobile Device Resource Constraints

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6483667B2 (ja) * 2013-05-30 2019-03-13 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法
US10318883B2 (en) * 2015-03-26 2019-06-11 International Business Machines Corporation Identifying optimum times at which to retrain a logistic regression model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187099A (ja) * 2008-02-04 2009-08-20 Fuji Xerox Co Ltd 情報処理装置およびプログラム
JP2011095878A (ja) * 2009-10-28 2011-05-12 Toyota Central R&D Labs Inc 識別器構築装置、識別器、プログラム
US20110313953A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Automated Classification Pipeline Tuning Under Mobile Device Resource Constraints

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAKAHIRO SHINOZAKI ET AL.: "Unsupervised Cross- validation and Aggregated Adaptations for Improved Speech Recognition", IPSJ SIG NOTES, vol. 2009, no. 10, 30 January 2009 (2009-01-30), pages 1 - 6 *

Also Published As

Publication number Publication date
US20190180180A1 (en) 2019-06-13
JP6648828B2 (ja) 2020-02-14
JPWO2018002967A1 (ja) 2019-04-25

Similar Documents

Publication Publication Date Title
Probst et al. Tunability: Importance of hyperparameters of machine learning algorithms
US10380498B1 (en) Platform services to enable one-click execution of the end-to-end sequence of modeling steps
US11693917B2 (en) Computational model optimizations
Pfahringer Semi-random model tree ensembles: An effective and scalable regression method
Jahanshahloo et al. A linear bilevel programming problem for obtaining the closest targets and minimum distance of a unit from the strong efficient frontier
KR102330423B1 (ko) 이미지 인식 딥러닝 알고리즘을 이용한 온라인 부도 예측 시스템
JP6648828B2 (ja) 情報処理システム、情報処理方法、及び、プログラム
Yang et al. A pattern fusion model for multi-step-ahead CPU load prediction
US20240193485A1 (en) System and method of operationalizing automated feature engineering
Papaioannou et al. Time-series forecasting using manifold learning, radial basis function interpolation, and geometric harmonics
Kabaldin et al. CNC machine tools and digital twins
Wang et al. Prediction of forest unit volume based on hybrid feature selection and ensemble learning
Yerlikaya-Özkurt et al. A review and new contribution on conic multivariate adaptive regression splines (CMARS): a powerful tool for predictive data mining
Damaševičius et al. Decomposition aided attention-based recurrent neural networks for multistep ahead time-series forecasting of renewable power generation
Loukopoulos et al. Dealing with missing data as it pertains of e-maintenance
Pevec et al. Prediction intervals in supervised learning for model evaluation and discrimination
Dorado-Moreno et al. Ordinal multi-class architecture for predicting wind power ramp events based on reservoir computing
Heruwidagdo et al. Performance of Information Technology Infrastructure Prediction using Machine Learning
CN111459990B (zh) 对象处理方法、系统及计算机可读存储介质和计算机设备
Olewy et al. Classifying quality of web services using machine learning classification and cross validation techniques
Alamery Cryptocurrency analysis using machine learning and deep learning approaches
Selvam et al. tofee-tree: au to matic fe ature e ngineering framework for modeling tre nd-cycl e in time series forecasting
Uniyal et al. Wine Quality Evaluation Using Machine Learning Algorithms
Jackson et al. Machine learning for classification of economic recessions
Silva et al. FeatGeNN: Improving Model Performance for Tabular Data with Correlation-Based Feature Extraction

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: 16907202

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018524580

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16907202

Country of ref document: EP

Kind code of ref document: A1