WO2021140884A1 - モデルを再利用する方法及びコンピュータシステム - Google Patents

モデルを再利用する方法及びコンピュータシステム Download PDF

Info

Publication number
WO2021140884A1
WO2021140884A1 PCT/JP2020/047538 JP2020047538W WO2021140884A1 WO 2021140884 A1 WO2021140884 A1 WO 2021140884A1 JP 2020047538 W JP2020047538 W JP 2020047538W WO 2021140884 A1 WO2021140884 A1 WO 2021140884A1
Authority
WO
WIPO (PCT)
Prior art keywords
dataset
source
data set
distance
target
Prior art date
Application number
PCT/JP2020/047538
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 WO2021140884A1 publication Critical patent/WO2021140884A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to the reuse of an artificial intelligence model.
  • AI artificial intelligence
  • One of the solutions to the problem is the reuse of the model. That is, instead of creating a new model for a new customer, the existing model of an existing customer is reused.
  • the existing model will be referred to as a source model. Forecasting existing customers is called a source task. A dataset containing multiple data records of an existing customer is called a source dataset. Forecasting new customers is called a target task. A dataset that contains multiple data records for a new customer is called a target dataset.
  • the predicted goals of the source task and the target task are the same.
  • the variables (features) of the source data set and the target data set are the same.
  • the source task is to predict the default risk of the credit card client of Bank S
  • the target task is to predict the default risk of the credit card client of Bank T.
  • the source dataset contains age, gender, and salary features
  • the target dataset also contains age, gender, and salary features.
  • Patent Document 1 discloses a technique for reusing a model.
  • Patent Document 1 describes a method of updating one source model (generated for one diagnostic device) to adapt it to a new diagnostic device.
  • one diagnostic device corresponds to one customer.
  • Patent Documents 2 and 3 disclose a technique for training a model to adapt one data set so as to be more similar to another data set.
  • Non-Patent Document 1 discloses a technique for estimating the similarity of data sets.
  • JP-A-2019-79089 International Publication No. 2019/102962 Japanese Unexamined Patent Publication No. 2019-101789
  • Patent Document 1 focuses on the reuse of one default source model. The situation where there are multiple source models is not taken into account. Therefore, the problem is how to select a source model suitable for reuse. In addition, a new model of the new diagnostic device is generated. This increases the number of models, which increases the cost of operating and maintaining the models. Therefore, it is an issue to guarantee the accuracy of the source model with a new diagnostic device without changing the source model.
  • the source model Since the source model is trained by the source dataset, the characteristics of the source dataset are well learned. If the target dataset is similar to the source dataset, the source model will perform well with the target dataset. Therefore, the source model to be reused can be selected based on the similarity of the datasets between the source and target datasets.
  • Non-Patent Document 1 describes a method related to image data. The distance between the images of the two datasets is used to estimate the similarity of the datasets. However, for example, since the structure of the image data and the table data are different, the above method cannot be used for the table data.
  • One aspect of the present invention is a method of reusing a model, which is executed by a computer system.
  • the computer system includes a database.
  • the database is composed of a plurality of source training data sets each consisting of a plurality of source training data records, a plurality of source models generated from each of the plurality of source training data sets, and a plurality of target training data records.
  • the computer system calculates the inter-distribution distance of each feature quantity between each source training data set of the plurality of source training data sets and the target training data set.
  • the computer system determines the dataset distance between each source training dataset of the plurality of source training datasets and the target training dataset based on the inter-distribution distance.
  • the computer system selects a source model to be reused from the plurality of source models based on the data set distance.
  • the computer system uses the reused source model to perform predictions on the target test dataset.
  • a source model suitable for reuse can be selected from a plurality of source models. Issues, configurations and effects other than the above will become apparent from the description of the embodiments below.
  • FIG. 5 is a diagram illustrating an example of a GUI provided by a computer in an exemplary embodiment. It is a flowchart which shows the outline of the process executed by a computer in an exemplary embodiment. It is a figure which shows an example of the GUI provided by the computer in an exemplary embodiment. It is a figure which shows an example of the GUI provided by the computer in an exemplary embodiment.
  • the data used for training (learning or generation) of an artificial intelligence model (also called a machine learning model or simply a model) is called training data, and the data of the target to be predicted by the model is called test data.
  • the existing model that is a candidate for reuse is called a source model, and the source is included in the data name related to the source model.
  • the data predicted by reusing the source model is called the target test data, and the training data related to it is called the target training data.
  • the method described below estimates the similarity between each of the multiple source training datasets and the target training dataset, and selects the source model to be reused based on the estimation results.
  • the selected source model can be used for predictions about the target test dataset without any additional training. Further, in the following, a method of adapting the target test data set to improve the accuracy of the selected source model with respect to the target test data set will be described.
  • the source model suitable for reuse can be selected from a plurality of source models by the method described below. Also, by adjusting the target test dataset so that the target test dataset is more similar to the selected source training dataset, the accuracy of the selected model with respect to the target test dataset can be further improved without changing the model. ..
  • FIG. 1 is a diagram showing a configuration example of a computer system according to an exemplary embodiment.
  • the computer system is composed of one computer 100.
  • the computer 100 improves the accuracy of the target data set of the selected model by selecting a model suitable for reuse from the existing source model and adapting the target data set.
  • the adapted target dataset will be referred to as the adaptive target dataset.
  • the computer 100 includes a processor 101, a network interface 102, a main storage device 103, and a secondary storage device 104. Each hardware component is connected to each other via an internal bus. Further, an input device 105 (keyboard, mouse, touch panel, etc.) and an output device 106 (display, printer, etc.) are connected to the computer 100.
  • the processor 101 executes the program stored in the main storage device 103.
  • the processor 101 executes processing according to a program, it operates as a functional unit that realizes a specific function.
  • the processor 101 is executing the program.
  • the network interface 102 is an interface for communicating with another computer via a network.
  • the main storage device 103 is a storage device such as a memory. It stores a program executed by the processor 101 and information used by the program. In addition, main storage 103 includes a work area that is temporarily used by the program.
  • the secondary storage device 104 is a storage device such as an HDD (hard disk drive) or SSD (solid state drive). Save data permanently.
  • the main storage device 103, the secondary storage device 104, and a combination thereof are examples of storage devices.
  • the information stored in the secondary storage device 104 is as follows. Multiple source training data set 111, multiple source models 112, target training data set 131, target validation data set 132, target test data set 133, weight information 134, feature amount distribution distance information 135, dataset distance information 136, Selection model information 137, adaptive data set 138 and evaluation information 139.
  • Multiple source training datasets 111 include training datasets from different existing customers.
  • Each training data set 111 is composed of a plurality of source training data records.
  • Each source training data record is composed of a plurality of features (input data) and one label.
  • the plurality of source models 112 include source models indicated by model structure and parameter information, which are generated from the corresponding source training dataset 111 (trained by the source training dataset 111). For example, suppose you have three source training datasets 111 (source 1, source 2, and source 3). In that case, there are three source models 112 (model 1, model 2, and model 3). Model 1 is generated from source 1, model 2 is generated from source 2, and model 3 is generated from source 3.
  • the target training dataset 131 is a training dataset from a new customer and is used to calculate the inter-distribution distance and weight of the features for estimating the similarity of the dataset.
  • the target training data set 131 is composed of a plurality of target training data records.
  • Each target training data record is composed of a plurality of features and one label.
  • the features and label names (types) are the same as those of the source training dataset, but their values can be different from those of the source training dataset 111.
  • Target validation dataset 132 is a validation dataset for new customers. It is used to calculate the weights for dataset similarity estimation and to determine the parameters of the dataset adaptation.
  • the configuration format of the target verification data set 132 is the same as the configuration format of the target training data set 131.
  • the target validation data set 132 may be included in the target training data set 131.
  • Target test dataset 133 is a new customer test dataset.
  • the target test data set 133 is composed of a plurality of target test data records.
  • the configuration format of the target test data set 133 is the same as the configuration format of the target training data set 131 and the target verification data set 132, except that there is no label information.
  • the goal of this embodiment is to predict the label information of the target test dataset 133 by reusing the source model 112.
  • the computer 100 holds a source training data set 111, a source model 112, a target training data set 131, a target validation data set 132, and a target test data set 133. Further, these can also be stored in a storage system or the like accessible from the computer 100.
  • the weight information 134 is information for managing the degree of influence of the inter-distribution distance of each feature amount on the distance of the data set. The details of the data structure of the weight information 134 will be described with reference to FIG.
  • the feature amount distribution distance information 135 is information for managing the distribution distance of each feature amount between each source training data set 111 and the target training data set 131. The details of the data structure of the feature amount distribution distance information 135 will be described with reference to FIG.
  • the data set distance information 136 is information for managing the data set distance between each source training data set 111 and the target training data set 131. As will be described later, the dataset distance is calculated from the inter-distribution distance and weight of the features. The dataset distance represents the similarity between the source training dataset 111 and the target training dataset 131. The smaller the dataset distance, the more similar the target training dataset 131 is to the source training dataset 111. The dataset distance is used to select the appropriate source model 112 for reuse. The details of the data structure of the dataset distance information 136 will be described with reference to FIG.
  • the selected model information 137 is information for managing a model for reuse, and the model is selected based on the data set distance.
  • the selected model is used to predict the target test dataset 133.
  • the adaptive data set 138 includes an adaptive target verification data set and an adaptive target test data set. If the user agrees to adapt the dataset, the selected model predicts the adaptive dataset to improve the accuracy of the selected model.
  • the evaluation information 139 is information for managing the prediction result of the selection Dell for the target verification data set 132 and the target test data set 133.
  • the main storage device 103 stores the data receiving module 121, the dataset similarity estimation module 122, the model selection module 123, the dataset adaptation module 124, the evaluation module 125, and the output module 126. These modules are programs.
  • the data receiving module 121 provides a UI (user interface) for receiving various operations, and receives input via the UI. Upon receiving the target training data set 131, the target verification data set 132, and the target test data set 133, the data receiving module 121 stores each data set in the secondary storage device 104. The output module 126 outputs various information such as information related to the model selected for reuse, the adapted data set, and the like.
  • the dataset similarity estimation module 122 calculates the distance and weight between feature quantity distributions, and estimates the dataset similarity between each source training data set 111 and the target training data set 131 using the calculation results. Based on the calculation result and the estimation result, the dataset similarity estimation module 122 generates the weight information 134, the feature amount distribution distance information 135, and the dataset distance information 136.
  • the model selection module 123 selects a model suitable for reuse from the source model 112 based on the data set distance, and generates selection model information 137.
  • the dataset adaptation module 124 determines the parameters of the dataset adaptation method and adapts the target test dataset 133 by utilizing the evaluation results of the model selected by the target validation dataset 132.
  • the dataset adaptation module 124 produces an adaptive dataset 138.
  • the evaluation module 125 uses the selected source model 112 to predict the original target validation dataset and the adapted target validation dataset, as well as the original target test dataset and the adapted target test dataset. This is performed, and evaluation information 139 is generated based on the prediction result.
  • multiple programs can be combined into one program.
  • one program can be divided into a plurality of programs.
  • the same function can be realized by using a computer system composed of a plurality of computers.
  • the computer system includes one or more processors and one or more storage devices to perform the processes described herein.
  • FIG. 2 is a diagram showing an example of the data structure of the weight information 134 in the exemplary embodiment.
  • the weight information 134 includes a plurality of entries composed of the feature quantity 201 and the weight 202. There is one entry for one feature.
  • the feature amount 201 is a field for storing the identification information of the feature amount.
  • the weight 202 is a field for storing the influence of the inter-distribution distance of the feature amount on the distance of the data set.
  • FIG. 3 is a diagram showing an example of the data structure of the feature amount distribution distance information 135 in the exemplary embodiment.
  • the feature amount distribution distance information 135 is data in a matrix format, the rows correspond to the source training data set 111, and the columns correspond to the feature amount 201.
  • Source n represents the identification information of the nth source training data set 111.
  • Fm represents the identification information of the m-th feature amount 201.
  • the distance between the feature distributions between one source training data set 111 and the target training data set 131 is stored in the cell.
  • the distance between the feature distributions of the m-th feature quantity 201 (Fm) between the n-th source training data set 111 (source n) and the target training data set 131 is stored in the cell of row n and column m.
  • FIG. 4 is a diagram showing an example of the data structure of the dataset distance information 136 in the exemplary embodiment.
  • the dataset distance information 136 is data in matrix format.
  • the rows correspond to the feature types and the columns correspond to the source training dataset 111.
  • the feature amount type refers to a numerical feature amount or a category feature amount.
  • Source n represents the identification information of the nth source training data set 111.
  • the dataset distance summarized for numerical or category features between one source training dataset and the target training dataset is stored in the cell.
  • FIG. 5 is a diagram showing an example of a GUI provided by the computer 100 in an exemplary embodiment.
  • the GUI 500 is a UI provided when the computer 100 is requested to execute the process, and is displayed on the output device 106.
  • the GUI 500 includes a target data setting field 510, an output setting field 520, and an execute button 530.
  • the target data setting field 510 is a field for executing settings related to the target training data set, the target verification data set, and the target test data set.
  • the target data setting field 510 includes a target training data set field 511, a target validation data set field 512, and a target test data set field 513.
  • the target training data set field 511 is a field for designating the target training data set.
  • a path indicating a storage location of the target training data set, a name of a file for storing the target training data set, and the like are set.
  • the target verification data set field 512 is a field for designating the target verification data set.
  • a path indicating a storage location of the target verification data set, a name of a file for storing the target verification data set, and the like are set.
  • the target test data set field 513 is a field for designating the target test data set.
  • a path indicating a storage location of the target test data set, a name of a file for storing the target test data set, and the like are set.
  • the output setting field 520 is a field for setting the information to be output and the storage location of the information.
  • the output setting field 520 includes a selection model information storage field 521 and an evaluation information storage field 522.
  • the selected model information storage field 521 is a field for designating the storage location of the selected model information.
  • the evaluation information storage field 522 is a field for designating a storage location of the prediction result of the selected model for the target verification data set and the target test data set.
  • the execution button 530 is an operation button for instructing the execution of processing.
  • an execution request including the information set in the target data setting field 510 and the output setting field 520 is transmitted to the data receiving module 121.
  • FIG. 6 is a flowchart showing an outline of the processing executed by the computer 100 in the exemplary embodiment.
  • FIG. 7 is a diagram showing an example of a GUI provided by the computer 100 in an exemplary embodiment.
  • FIG. 8 is a diagram showing an example of a GUI provided by the computer 100 in an exemplary embodiment.
  • the computer 100 When the computer 100 receives the execution request, it executes the process described below.
  • the data receiving module 121 executes the initialization process (step S101). Specifically, the following processing is performed.
  • the data receiving module 121 acquires the target training data set, the target verification data set, and the target test data set from the designated path, and stores them in the secondary storage device 104.
  • the data receiving module 121 initializes the weight information 134, the feature amount distribution distance information 135, the dataset distance information 136, the selected model information 137, and the evaluation information 139. In the initialization of the distance information 135 between feature quantity distributions, the data receiving module 121 generates a matrix in which the number of rows matches the number of source training datasets and the number of columns matches the number of feature quantity items. All cells in the matrix are blank. In the initialization of the dataset distance information 136, the data receiving module 121 produces a matrix in which the number of rows matches the number of feature quantity types and the number of columns matches the number of source training datasets. All cells in the matrix are blank.
  • the dataset similarity estimation module 122 executes the data set similarity estimation process by using the source training dataset, the target training dataset, and the target validation dataset (step S102).
  • the weight information 134, the distance information 135 between the feature distributions, and the data set distance information 136 are generated by executing the data set similarity estimation process. The details of the data set similarity estimation process will be described with reference to FIG.
  • the model selection module 123 executes a model selection process for reuse using the data set distance information 136 (step S103).
  • the model selection module 123 generates the selection model information 137 by executing the model selection process, and stores the selection model information 137 in the path specified by the selection model information storage field 521. Details of the model selection process for reuse will be described with reference to FIG.
  • the evaluation module 125 executes the prediction process of the target test data set using the selected source model (step S104).
  • the performance is evaluated and output information for displaying the GUI 600 as shown in FIG. 6 is generated.
  • the dataset adaptation module 124 executes the process of target test dataset adaptation to generate and store the adaptive target test dataset.
  • the evaluation module 125 executes prediction processing of the adaptive target test data set using the selected source model, generates evaluation information 139, and stores it in the path specified by the evaluation information storage field 522.
  • the assessment module 125 uses the selected source model to perform predictive processing of the target test dataset, generate assessment information 139, and store the assessment information. Store in the path specified in field 522. Details of the prediction process of the target test data set will be described with reference to FIG. Here, the GUI 700 will be described.
  • the GUI 700 is a UI provided when displaying feedback information, and is displayed on the output device 106.
  • the GUI 700 includes a selection model accuracy field 710, radio buttons 721, 722, an adaptive data set storage field 723 and a next button 730.
  • the selected model accuracy field 710 is a field for displaying the accuracy of the selected model with respect to the target verification data set 132.
  • Radio button 721 is selected when the user is not satisfied with the performance of the selected model displayed in the selected model accuracy field 710 and adapts the target test dataset 133 for prediction. If the user is satisfied with the performance of the selected model displayed in the selected model accuracy field 710 and does not want to adapt the target test dataset for prediction, the radio button 722 is selected.
  • the adaptive data set storage field 723 is a field for designating the storage location of the adaptive data set.
  • the next button 730 is an operation button for instructing the execution of the process. When the user operates the next button 730, an execution request containing the information set in the radio buttons 721 and 722 and the adaptive data set storage field 723 is transmitted to the evaluation module 125.
  • the output module 126 generates and displays output information (step S105). After that, the computer 100 ends the process. For example, the output module 126 generates output information for displaying the GUI 800 as shown in FIG. Here, the GUI 800 will be described.
  • the GUI 800 is a UI provided when displaying output information, and is displayed on the output device 106.
  • the GUI 800 includes a selection model information field 801 and an evaluation information field 802, a data distribution field 803, and an accuracy field 804.
  • the selected model information field 801 is a field for displaying the storage location of the selected model information 137.
  • the evaluation information field 802 is a field for displaying the storage location of the evaluation information 139.
  • the data distribution field 803 is a field that displays changes in the data distribution of the target validation dataset 132 due to adaptation (when requested by the user). Specifically, the data distribution field 803 contains the data distribution of the input data of the selected source training data set 111, the data distribution of the input data of the original target validation data set 132 before adaptation, and the target validation data set after adaptation. The data distribution of 132 input data is displayed.
  • the accuracy field 804 is a field for displaying the change in accuracy of the selected model with respect to the target validation dataset 132 caused by the adaptation of the dataset (if requested by the user).
  • FIG. 9 is a flowchart showing an example of the dataset similarity estimation process executed by the computer 100 in the exemplary embodiment.
  • the dataset similarity estimation module 122 reads the target training data set 131 and the target verification data set 132 (step S201).
  • the dataset similarity estimation module 122 estimates the degree of influence of the distance between each feature distribution on the dataset distance as a weight.
  • the influence degree (feature amount importance) of each feature amount on the prediction of the target task is estimated by using the target training data set 131 and the target verification data set 132 (step S202).
  • the target training dataset 131 is used to train the LightGBM model that performs best with the target validation dataset 132.
  • the feature importance information is acquired by using the function function_impportance () of the model.
  • the weight estimation method is not particularly limited. Other techniques such as eXplainable Artificial Intelligence (XAI) can also be used to estimate weights.
  • XAI eXplainable Artificial Intelligence
  • the user can also pre-specify the weights using the GUI. In the simplest case, all weights can default to 1.
  • the data set similarity estimation module 122 updates the weight information 134 (step S203). Specifically, for each feature amount, the dataset similarity estimation module 122 adds an entry to the weight information 134, sets the feature amount identification information to the feature amount 201 of the added entry, and adds the added entry. The degree of influence is set in the weight 202 of.
  • the data set similarity estimation module 122 initializes the variable i (step S204).
  • the variable i is a variable used to represent the identification number of the source training data set 111. Specifically, the data set similarity estimation module 122 sets the variable i to 1. On the other hand, the dataset similarity estimation module 122 sets the number of source training datasets 111 to N.
  • the data set similarity estimation module 122 acquires the source training data set (source training data set [i]) corresponding to the variable i from the source training data set 111 (step S205).
  • the variable j is a variable used to represent the identification number of the feature amount. Specifically, the data set similarity estimation module 122 sets the variable j to 1. On the other hand, the dataset similarity estimation module 122 sets the number of features to M.
  • the dataset similarity estimation module 122 calculates the inter-distribution distance of the feature quantity corresponding to the variable j (feature quantity [j]) of the source training data set [i] and the target training data set 131 (step). S207). Specifically, the dataset similarity estimation module 122 acquires all the values of the feature amount [j] from the source training data set [i], and all the values of the feature amount [j] from the target training data set 131. And calculate the distance between the distributions of these two value sets.
  • An example of calculating the distance between distributions is as follows.
  • the two value sets are normalized (for example, by minimum-maximum normalization or other normalization), the Earth Mover's Distance is calculated, and between the distributions of the feature [j]. Use as a distance.
  • the expression of each value set is generated by the appearance rate of possible values. For example, suppose there are 60 men and 40 women in value set A. Suppose there are 100 men and 100 women in value set B. Therefore, the value set A is represented by (0.6, 0.4) and the value set B is represented by (0.5, 0.5). Next, a distance such as the Euclidean distance between these two expressions is calculated and used as the inter-distribution distance of the feature quantity [j].
  • the inter-distribution distance of the numerical features and the inter-distribution distance of the category features can be calculated more appropriately.
  • the method of calculating the distance between feature distributions is not limited. Other methods can be applied, such as estimating the probability density distributions of the two value sets and calculating the distance of the probability density distributions.
  • the data set similarity estimation module 122 updates the distance information 135 between the feature distributions (step S208). Specifically, the dataset similarity estimation module 122 sets the calculated distance between feature distributions in the cells corresponding to rows i and column j of the distance information 135 between feature distributions.
  • the data set similarity estimation module 122 determines whether or not the value of the variable j matches M (step S209). That is, it is determined whether or not the processing is completed for all the feature quantity items of the source training data set [i].
  • the data set similarity estimation module 122 sets the value obtained by adding 1 to the variable j in the variable j (step S210). After that, the process returns to step S207.
  • the dataset similarity estimation module 122 uses the weight information 134 and the row i of the feature amount distribution distance information 135 to use the source training data set [i]. ] And the target training data set 131 (step S211), and the data set distance information 136 is updated (step S212).
  • the dataset distance can be calculated, for example, according to the following equation.
  • DistanceS, T w1d1S, T + w2d2S, T + ... + wMdMS, T
  • S represents the source training data set [i]
  • T represents the target training data set 131.
  • DistanceS, T represents the data set distance between S and T.
  • the dataset distance is calculated individually using the inter-distribution distance of the numerical feature quantity or the inter-distribution distance of the category feature quantity. This makes it possible to calculate an appropriate dataset distance depending on the type of feature quantity.
  • One example calculates the numerical data set distance using the inter-distribution distance of the numerical features and sets the calculated numerical data set distance in the cell corresponding to row 1 and column i of the dataset distance information 136. .. Further, the distance between the distributions of the category feature quantities is used to calculate the distance of the category dataset, and the calculated distance of the category dataset is set in the cell corresponding to row 2 and column i of the dataset distance information 136. ..
  • the method for calculating the dataset distance is not limited, and methods other than the above methods can be applied.
  • the data set similarity estimation module 122 determines whether or not the value of the variable i matches N (step S213). That is, it is determined whether or not the processing of all the source training data sets 111 has been completed.
  • the data set similarity estimation module 122 sets the value obtained by adding 1 to the variable i in the variable i (step S214). After that, the process returns to step S205.
  • the dataset similarity estimation module 122 ends the data set similarity estimation process.
  • FIG. 10 is a flowchart showing an example of model selection processing executed by the computer 100 in the exemplary embodiment.
  • the model selection module 123 initializes the variable candate_model_index (step S301).
  • the variable candate_model_index is a variable used to store the identification number of the candidate model for reuse. Specifically, the model selection module 123 sets an empty list in the variable candate_model_index.
  • the model selection module 123 initializes the variable R (step S302).
  • the variable R is a variable used to represent the identification number of the row of the dataset distance information 136. Specifically, the model selection module 123 sets the variable R to 1. On the other hand, the model selection module 123 sets the number of rows of the data set distance information 136 to 2.
  • the model selection module 123 acquires the value of row R of the dataset distance information 136 (step S303).
  • the value is the dataset distance based on the inter-distribution distance of the numerical or category features between each of the source training datasets 111 and the target training dataset.
  • R the (first) dataset distance is calculated using the distance between the numerical feature distributions and the corresponding weights.
  • R the (second) dataset distance is calculated using the distance between category feature distributions and the corresponding weights.
  • the model selection module 123 ranks the source training data set 111 based on the data set distance value acquired in step S303 (step S304).
  • the model selection module 123 acquires the identification number of the top 1 source training data set 111 and adds it to the variable candate_model_index (step S305).
  • the top-ranked source training dataset 111 is the source training dataset 111 that most closely resembles the target training dataset 131. There can be multiple top-ranked source training datasets 111.
  • the model selection module 123 determines whether or not the value of the variable R matches 2 (step S306). That is, it is determined whether or not the processing is completed for all the rows of the data set distance information 136. When it is determined that the value of the variable R does not match 2, the model selection module 123 sets the value obtained by adding 1 to the variable R in the variable R (step S307). After that, the process returns to step S303.
  • the model selection module 123 saves the unique value in the variable candate_model_index in the variable candate_model_index (step S308). That is, the repeated value is deleted from candate_model_index. If the source is the same as the top-ranked source training dataset 111 based on the dataset distance based on the distance between the numerical feature distributions and the top-ranked source training dataset 111 based on the dataset distance based on the distance between the category feature distributions. One of the identification numbers of the training dataset 111 is deleted.
  • the model selection module 123 determines whether or not a plurality of models are candidates (step S309). If it is determined that the number of candidate models is greater than 1, the model selection module 123 selects a model to be reused from the candidate models (step S310). For example, each candidate model can make predictions for the target validation dataset 132 and select the candidate model that shows the best performance for the target validation dataset 132. Alternatively, all candidate models may be selected, all candidate models may be used to make predictions in the target test dataset 133, and a summary of the prediction results (eg, average) may be used as the final prediction result. .. The method of selecting the model to be used is not limited, and other methods can be applied. After that, the process proceeds to step S311.
  • step S311 the model selection module 123 updates the selection model information 137. Specifically, the model selection module 123 stores the identification number of the selected model as the selection model information 137. The model selection module 123 ends the model selection process.
  • FIG. 11 is a flowchart showing an example of the target test data set prediction process executed by the computer 100 in the exemplary embodiment.
  • the evaluation module 125 acquires the selected model information 137 and the target test data set 133 (step S401).
  • the evaluation module 125 acquires the selected source model from the source model 112 according to the identification number of the selected model shown in the selected model information 137 (step S402).
  • the evaluation module 125 evaluates the selected source model in the target verification data set 132 (step S403), updates the evaluation information 139, and feeds back the evaluation result to the user by the GUI 700 (step S404).
  • the evaluation module 125 determines whether the user needs the data set adaptation process. That is, the instruction from the user is determined. If it is determined that the user does not need the data set adaptation process, the evaluation module 125 predicts the target test data set 133 using the selected source model (step S408) and updates the evaluation information 139. (Step S409). After that, the evaluation module 125 ends the processing of the target test data set prediction.
  • the evaluation module 125 adapts the target test dataset 133 (step S406) and predicts the adaptive target test dataset using the selected source model. (Step S407), the evaluation information 139 is updated (step S409). After that, the evaluation module 125 ends the processing of the target test data set prediction. Details of the dataset adaptation process will be described with reference to FIG.
  • FIG. 12 is a flowchart showing an example of data set adaptation processing executed by the computer 100 in the exemplary embodiment.
  • the dataset adaptation module 124 acquires the weights of all features from the weight information 134, and from the feature distribution distance information 135, between the selected source training data set 111 and the target training data set 131. The distance between the feature distributions of all the features is acquired (step S501).
  • the selected source training dataset will be a merge of the source training datasets corresponding to the selected source model.
  • the distance between the feature distributions of all features in the selected source training dataset and the target training dataset is the feature between each of the source training dataset 111 and the target training dataset 131 corresponding to the selected source model. It is a summary of the distance between quantity distributions (mean value, etc.).
  • the dataset adaptation module 124 determines the feature amount to be applied (different important feature amount) (step S502).
  • Some features are selected for adaptation and, for example, the target validation dataset 132 can be utilized.
  • Module 125 is used to evaluate the accuracy of the selected model for the adaptive target validation dataset. For example, the rank of the feature amount item becomes higher as the distance between the feature amount distributions becomes larger and the weight becomes larger. By selecting candidate features based on this ranking, more appropriate target test data can be applied.
  • the dataset adaptation module 124 selects the case with the highest accuracy of the selection model for the adaptive target validation dataset. Therefore, the features applied in the selected case are determined as the features applied in the target test dataset 133.
  • the method for determining the applied feature amount is not limited, and other methods such as setting the threshold value of the acquired weight and the distance between the feature amount distribution in advance can be applied.
  • the data set adaptation module 124 initializes the variable TT (step S503).
  • the variable TT is a variable used to represent the identification number of the target test data record in the target test data set 133. Specifically, the data set adaptation module 124 sets the variable TT to 1. On the other hand, the dataset adaptation module 124 sets the number of target test data records in the target test dataset 133 to TTMax.
  • the data set adaptation module 124 acquires the target test data record (target test data record [TT]) corresponding to the variable TT from the target test data set 133 (step S504).
  • the dataset adaptation module 124 adapts the features determined to be adapted.
  • the method of adapting the determined features is not limited.
  • the dataset adaptation module 124 k-nearest neighbors in the selected source training data set 111 based on the remaining features other than the features determined to be adapted. Detect nearby source training data records (step S505).
  • k is a parameter used to determine the number of nearest source training data records that need to be detected from the source training dataset.
  • the parameter k can be determined using, for example, the target validation dataset 132.
  • the value of parameter k is iteratively modified to adapt the target validation dataset 132 and the evaluation module 125 is used to evaluate the accuracy of the selection model for the adaptive target validation dataset. Select the case with the highest accuracy of the selection model for the adapted target validation dataset. Therefore, the value of the parameter k in the selected case is determined as the value of the parameter k to be used.
  • the method for determining the value of the parameter k is not limited, and other methods can be applied.
  • the dataset adaptation module 124 adapts the determined features in the target test data [TT] based on the detected source training data record in the nearest k-nearest neighbor (step S506).
  • the dataset adaptation module 124 calculates the average value of the numerical features of the detected source training data record in the nearest k-nearest neighbor, and uses this as the numerical value of the target test data record [TT].
  • Set to feature quantity Regarding the category features, the dataset adaptation module 124 selects the value that occurs most frequently among the values of the category features of the source training data record closest to the detected k, and sets it as the category of the target test data record [TT].
  • Set to feature quantity By the above method, it is possible to determine an appropriate post-adaptation feature value in the target test data.
  • the method of adapting the data set is not limited, and methods other than the above methods can also be applied.
  • the dataset adaptation module 124 stores the adapted target data record in the adaptive data set 138 (step S507).
  • the data set adaptation module 124 determines whether or not the value of the variable TT matches TTMax (step S508). That is, it is determined whether or not the processing is completed for all the target test data records in the target test data set 133.
  • the data set adaptation module 124 sets the value obtained by adding 1 to the variable TT in the variable TT (step S509). After that, the process returns to step S504. If it is determined that the value of the variable TT matches TTMax, the dataset adaptation module 124 ends the data adaptation process.
  • the computer 100 estimates the dataset similarity (distance between datasets) between the source training dataset and the target training dataset based on the distance between feature distributions. Therefore, an appropriate source model can be selected from a plurality of source models and reused. Furthermore, by setting a weight for the feature amount (distance between distributions), a more appropriate source model can be selected and reused from a plurality of source models.
  • the inter-distribution distance of the numerical features and the inter-distribution distance of the categorical features are calculated individually, and the corresponding data set distance is calculated. This makes it possible to calculate the inter-distribution distance and the dataset distance by a method suitable for each of the different types of features.
  • the computer 100 adapts the target test data set by adapting only a part of the features (different important features). This can reduce the loss of the original characteristics of the target test dataset and further improve the accuracy of the selection model for the target test dataset as compared to applying all the features.
  • the present invention is not limited to the above-described embodiment, and includes various modifications. Further, for example, the above-described embodiment describes the configuration in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations. In addition, a part of the configuration of each embodiment can be added, deleted, or replaced with another configuration.
  • each of the above configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit.
  • the present invention can also be realized by a program code of software that realizes the functions of the embodiment.
  • a storage medium in which the program code is recorded is provided to the computer, and the processor included in the computer reads out the program code stored in the storage medium.
  • the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the program code itself and the storage medium storing the program code itself constitute the present invention.
  • Examples of the storage medium for supplying such a program code include a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, and a magnetic tape.
  • Non-volatile memory cards, ROMs, etc. are used.
  • program code that realizes the functions described in the present embodiment can be implemented in a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, Python, and Java.
  • the program code is stored in a storage means such as a hard disk or a memory of a computer or a storage medium such as a CD-RW or a CD-R.
  • the processor provided in the computer may read and execute the program code stored in the storage means or the storage medium.
  • control lines and information lines indicate what is considered necessary for explanation, and do not necessarily indicate all the control lines and information lines in the product. All configurations may be interconnected.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

コンピュータシステムは、複数のソーストレーニングデータセットの各ソーストレーニングデータセットとターゲットトレーニングデータセットとの間で、特徴量それぞれの分布間距離を計算する。コンピュータシステムは、分布間距離に基づいて、複数のソーストレーニングデータセットの各ソーストレーニングデータセットとターゲットトレーニングデータセットとの間の、データセット距離を決定する。コンピュータシステムは、データセット距離に基づいて、複数のソースモデルから、再利用するソースモデルを選択する。

Description

モデルを再利用する方法及びコンピュータシステム 参照による取り込み
 本出願は、2020年1月6日に出願された日本出願である特願2020-000303の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、人工知能モデルの再利用に関する。
 近年、人工知能(AI)はさまざまなサービスの提供に利用されている。イベントを予測するために、機械学習アルゴリズムを利用して、トレーニングデータセットからAIモデルが生成される。以下、「モデル」は「AIモデル」を表すために使用される。
 ビジネスの拡大に伴い、顧客ごとにモデルが生成されるようになる。これにより、2つの問題が発生する。(1)ビジネスが拡大するにつれて、モデルの数は徐々に増加する。モデルの運用と保守のコストが高くなる。(2)トレーニングデータが十分でない場合、顧客に適したモデルを生成することが困難である。
 問題の解決策の1つは、モデルの再利用である。つまり、新規顧客に対して新規モデルを生成するのではなく、既存顧客の既存モデルを再利用する。以下、既存モデルをソースモデルと呼ぶ。既存顧客の予測をソースタスクと呼ぶ。既存顧客の複数のデータレコードを含むデータセットをソースデータセットと呼ぶ。新規顧客の予測を、ターゲットタスクと呼ぶ。新規顧客の複数のデータレコードを含むデータセットを、ターゲットデータセットと呼ぶ。
 ここでは、ソースタスクとターゲットタスクの予測目標は同一である。ソースデータセットとターゲットデータセットの変数(特徴量)は、同一である。例えば、ソースタスクはバンクSのクレジットカードクライアントのデフォルトリスクを予測することであり、ターゲットタスクは、バンクTのクレジットカードクライアントのデフォルトリスクを予測することである。ソースデータセットには年齢、性別、給与の特徴量が含まれ、ターゲットデータセットにも年齢、性別、給与の特徴量が含まれる。
 特許文献1は、モデル再利用の技術を開示している。特許文献1には、(1つの診断装置に対して生成された)1つのソースモデルを更新して、新しい診断装置に適合させる方法が記載されている。ここでは、一つの診断装置が1人の顧客に対応する。また、特許文献2及び3は、データセットの適応については、モデルをトレーニングして、あるデータセットを他のデータセットにより類似するように適応させる技術を開示している。さらに、非特許文献1は、データセットの類似性を推定する技術を開示する。
特開2019-79089号公報 国際公開第2019/102962号 特開2019-101789号公報
Yin Cui,Yang Song, Chen Sun, Andrew Howard, Serge Belongie、「Large Scale Fine-Grained Categorization and Domain-Specific Transfer Learning」、arXiv preprint arXiv:1806.06193 (2018)
 特許文献1に記載されている技術は、1つのデフォルトソースモデルの再利用に焦点を当てている。複数のソースモデルが存在する状況は考慮されていない。したがって、再利用に適したソースモデルを選択する方法が課題となる。さらに、新しい診断装置の新しいモデルが生成される。これは、モデルの数を増加させるため、モデルの運用と保守のコストが高くなる。したがって、ソースモデルを変更せずに新しい診断装置でソースモデルの精度を保証することが課題となる。
 ソースモデルは、ソースデータセットによりトレーニングされるため、ソースデータセットの特性をよく学習する。ターゲットデータセットがソースデータセットと類似している場合、ソースモデルはターゲットデータセットで良好な性能を示す。そのため、再利用するソースモデルは、ソースデータセットとターゲットデータセット間のデータセットの類似性に基づいて選択できる。
 データセットの類似性の推定については、非特許文献1に画像データに関する方法が記載されている。2つのデータセットの画像間の距離を利用して、データセットの類似性を推定する。しかし、例えば、画像データと表データでは構造が異なるため、上記方法は、表データに対して利用できない。
 本発明の一態様は、コンピュータシステムによって実行される、モデルを再利用する方法である。前記コンピュータシステムは、データベースを含む。前記データベースは、それぞれ複数のソーストレーニングデータレコードからなる、複数のソーストレーニングデータセットと、前記複数のソーストレーニングデータセットそれぞれから生成された、複数のソースモデルと、複数のターゲットトレーニングデータレコードからなる、ターゲットトレーニングデータセットと、複数のターゲットテストデータレコードからなる、ターゲットテストデータセットと、を格納する。前記コンピュータシステムが、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間で、特徴量それぞれの分布間距離を計算する。前記コンピュータシステムが、前記分布間距離に基づいて、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間の、データセット距離を決定する。前記コンピュータシステムが、前記データセット距離に基づいて、前記複数のソースモデルから、再利用するソースモデルを選択する。前記コンピュータシステムが、前記再利用するソースモデルを使用して、前記ターゲットテストデータセットの予測を実行する。
 本発明の一態様によれば、再利用に適したソースモデルを複数のソースモデルから選択することができる。上記以外の課題、構成及び効果は、以下の実施形態の説明から明らかになるであろう。
例示的な実施形態におけるコンピュータシステムの構成例を示す図である。 例示的な実施形態における重み情報のデータ構造の一例を示す図である。 例示的な実施形態における特徴量分布間距離情報のデータ構造の一例を示す図である。 例示的な実施形態におけるデータセット距離情報のデータ構造の一例を示す図である。 例示的な実施形態において、コンピュータによって提供されるGUIの一例を示す図である。 例示的な実施形態においてコンピュータによって実行される処理の概要を示すフローチャートである。 例示的な実施形態においてコンピュータによって提供されるGUIの一例を示す図である。 例示的な実施形態においてコンピュータによって提供されるGUIの一例を示す図である。 例示的な実施形態においてコンピュータによって実行されるデータセット類似性推定処理の一例を示すフローチャートである。 例示的な実施形態においてコンピュータによって実行されるモデル選択処理の一例を示すフローチャートである。 例示的な実施形態においてコンピュータによって実行されるターゲットテストデータセット予測処理の一例を示すフローチャートである。 例示的な実施形態においてコンピュータによって実行されるデータセット適応処理の一例を示すフローチャートである。
 以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
 以下に説明する構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明は、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
 以下の説明において、人工知能モデル(機械学習モデルまたは単にモデルとも呼ぶ)の訓練(学習または生成)に使用するデータをトレーニングデータ、モデルによる予測を行うべき対象のデータをテストデータと呼ぶ。また、再利用の候補である既存モデルをソースモデルと呼び、さらに、ソースモデルに関連するデータ名称にソースを含む。ソースモデルを再利用して予測するデータをターゲットテストデータと呼び、それに関連するトレーニングデータをターゲットトレーニングデータと呼ぶ。
 以下に説明する手法は、複数のソーストレーニングデータセットそれぞれとターゲットトレーニングデータセットと間の類似性を推定し、その推定結果に基づいて再利用するソースモデルを選択する。選択されたソースモデルは、新たな訓練を行うことなく、ターゲットテストデータセットについての予測のために使用することができる。さらに、以下においては、ターゲットテストデータセットに対する選択されたソースモデルの精度を向上させるために、ターゲットテストデータセットを適応させる方法を説明する。
 以下に説明する手法により、再利用に適したソースモデルを複数のソースモデルから選択することができる。また、ターゲットテストデータセットが選択したソーストレーニングデータセットにより類似するように、ターゲットテストデータセットを調整することにより、ターゲットテストデータセットに対する選択したモデルの精度を、モデルを変更せずにさらに改善できる。
 図1は、例示的な実施形態におけるコンピュータシステムの構成例を示す図である。コンピュータシステムは、一つのコンピュータ100で構成されている。コンピュータ100は、既存のソースモデルから再利用に適したモデルを選択し、ターゲットデータセットを適応させることにより、選択したモデルのターゲットデータセットの精度を向上させる。以下の説明では、適応されたターゲットデータセットを適応ターゲットデータセットと呼ぶ。
 コンピュータ100は、プロセッサ101、ネットワークインターフェース102、主記憶装置103、及び二次記憶装置104を含む。各ハードウェアコンポーネントは、内部バスを介して互いに接続されている。さらに、入力装置105(キーボード、マウス、及びタッチパネルなど)及び出力装置106(ディスプレイ及びプリンタなど)が、コンピュータ100に接続されている。
 プロセッサ101は、主記憶装置103に格納されたプログラムを実行する。プロセッサ101がプログラムに従って処理を実行すると、特定の機能を実現する機能部として動作する。以下の説明において、プログラムを主体として処理を説明する場合、プロセッサ101が当該プログラムを実行していることを示す。
 ネットワークインターフェース102は、ネットワークを介して他のコンピュータと通信するためのインターフェースである。
 主記憶装置103は、メモリなどの記憶装置である。プロセッサ101によって実行されるプログラムと、プログラムによって使用される情報を格納する。さらに、主記憶装置103は、プログラムによって一時的に使用される作業領域を含む。二次記憶装置104は、HDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)などの記憶装置である。データを永続的に保存する。主記憶装置103、二次記憶装置104及びこれらの組み合わせは、記憶装置の例である。
 ここで、主記憶装置103に格納されているプログラムと二次記憶装置104に格納されている情報について説明する。二次記憶装置104が格納する情報は以下の通りである。複数のソーストレーニングデータセット111、複数のソースモデル112、ターゲットトレーニングデータセット131、ターゲット検証データセット132、ターゲットテストデータセット133、重み情報134、特徴量分布間距離情報135、データセット距離情報136、選択モデル情報137、適応データセット138及び評価情報139である。
 複数のソーストレーニングデータセット111は、異なる既存の顧客からのトレーニングデータセットを含む。各トレーニングデータセット111は、複数のソーストレーニングデータレコードで構成されている。各ソーストレーニングデータレコードは、複数の特徴量(入力データ)と一つのラベルで構成されている。
 複数のソースモデル112は、モデル構造とパラメータの情報で示されるソースモデルを含み、それらは、対応するソーストレーニングデータセット111から生成されている(ソーストレーニングデータセット111により訓練されている)。例えば、3つのソーストレーニングデータセット111(ソース1、ソース2、及びソース3)があるとする。その場合、3つのソースモデル112(モデル1、モデル2、及びモデル3)がある。モデル1はソース1から生成され、モデル2はソース2から生成され、モデル3はソース3から生成される。
 ターゲットトレーニングデータセット131は、新しい顧客からのトレーニングデータセットであり、データセットの類似性推定のための特徴量の分布間距離及び重みを計算するために使用される。ターゲットトレーニングデータセット131は、複数のターゲットトレーニングデータレコードで構成されている。各ターゲットトレーニングデータレコードは、複数の特徴量と一つのラベルで構成されている。特徴量とラベルの名前(種類)はソーストレーニングデータセットのものと同じであるが、それらの値はソーストレーニングデータセット111のものとは異なり得る。
 ターゲット検証データセット132は、新しい顧客用の検証データセットである。データセットの類似性推定のための重みを計算し、データセット適応のパラメータを決定するために使用される。ターゲット検証データセット132の構成形式は、ターゲットトレーニングデータセット131の構成形式と同じである。ターゲット検証データセット132は、ターゲットトレーニングデータセット131に含まれていてもよい。
 ターゲットテストデータセット133は、新しい顧客のテストデータセットである。ターゲットテストデータセット133は、複数のターゲットテストデータレコードから構成されている。ターゲットテストデータセット133の構成形式は、ラベル情報がないことを除いて、ターゲットトレーニングデータセット131及びターゲット検証データセット132の構成形式と同じである。本実施形態の目標は、ソースモデル112を再利用することにより、ターゲットテストデータセット133のラベル情報を予測することである。
 例示的な実施形態では、コンピュータ100は、ソーストレーニングデータセット111、ソースモデル112、ターゲットトレーニングデータセット131、ターゲット検証データセット132、及びターゲットテストデータセット133を保持する。また、これらは、コンピュータ100からアクセス可能なストレージシステムなどに保存することもできる。
 重み情報134は、データセットの距離に対する各特徴量の分布間距離の影響度を管理するための情報である。重み情報134のデータ構造の詳細については、図2を用いて説明する。
 特徴量分布間距離情報135は、各ソーストレーニングデータセット111とターゲットトレーニングデータセット131間の各特徴量の分布間距離を管理するための情報である。特徴量分布間距離情報135のデータ構造の詳細については、図3を用いて説明する。
 データセット距離情報136は、各ソーストレーニングデータセット111とターゲットトレーニングデータセット131間のデータセット距離を管理するための情報である。後述するように、データセット距離は、特徴量の分布間距離と重みから計算される。データセット距離は、ソーストレーニングデータセット111とターゲットトレーニングデータセット131の類似性を表す。データセット距離が小さいほど、ターゲットトレーニングデータセット131はソーストレーニングデータセット111により類似している。データセット距離は、再利用のために適切なソースモデル112を選択するために使用される。データセット距離情報136のデータ構造の詳細については、図4を用いて説明する。
 選択モデル情報137は、再利用のためのモデルを管理するための情報であり、モデルは、データセット距離に基づいて選択される。選択したモデルは、ターゲットテストデータセット133の予測に使用される。
 適応データセット138には、適応ターゲット検証データセットと適応ターゲットテストデータセットが含まれる。ユーザがデータセットの適応に同意すると、選択したモデルは、選択したモデルの精度を向上させるために、適応データセットを予測する。評価情報139は、ターゲット検証データセット132とターゲットテストデータセット133に対する選択デルの予測結果を管理するための情報である。
 主記憶装置103は、データ受信モジュール121、データセット類似性推定モジュール122、モデル選択モジュール123、データセット適応モジュール124、評価モジュール125及び出力モジュール126を格納する。これらモジュールはプログラムである。
 データ受信モジュール121は、様々な操作を受信するためのUI(ユーザインターフェース)を提供し、UIを介して入力を受信する。データ受信モジュール121は、ターゲットトレーニングデータセット131、ターゲット検証データセット132、及びターゲットテストデータセット133を受信すると、各データセットを二次記憶装置104に保存する。出力モジュール126は、再利用のために選択されたモデル、適応されたデータセットなどに関連する情報などの様々な情報を出力する。
 データセット類似性推定モジュール122は、特徴量分布間距離及び重みを計算し、計算結果を利用して、各ソーストレーニングデータセット111とターゲットトレーニングデータセット131間のデータセット類似性を推定する。計算結果及び推定結果に基づいて、データセット類似性推定モジュール122は、重み情報134、特徴量分布間距離情報135、及びデータセット距離情報136を生成する。
 モデル選択モジュール123は、データセット距離に基づいてソースモデル112から再利用に適したモデルを選択し、選択モデル情報137を生成する。データセット適応モジュール124は、ターゲット検証データセット132による選択されたモデルの評価結果を利用することにより、データセット適応方法のパラメータを決定し、ターゲットテストデータセット133を適応させる。データセット適応モジュール124は、適応データセット138を生成する。
 評価モジュール125は、選択されたソースモデル112を使用して、オリジナルのターゲット検証データセット及び適応されたターゲット検証データセット、並びに、オリジナルのターゲットテストデータセット及び適応されたターゲットテストデータセットの予測を行い、予測結果に基づいて評価情報139を生成する。
 なお、複数のプログラムを1つのプログラムに結合できる。また、1つのプログラムを複数のプログラムに分割できる。また、複数のコンピュータで構成されるコンピュータシステムを使用することにより、同じ機能を実現できる。この場合、各コンピュータには少なくとも1つのプログラムが実装される。このように、コンピュータシステムは、1以上のプロセッサ及び1以上の記憶装置を含み、本明細書で説明する処理を実行する。
 図2は、例示的な実施形態における重み情報134のデータ構造の一例を示す図である。重み情報134は、特徴量201と重み202とで構成される複数のエントリを含む。1つの特徴量に対して1つのエントリがある。特徴量201は、特徴量の識別情報を格納するフィールドである。重み202は、データセットの距離に対する特徴量の分布間距離の影響度を格納するフィールドである。
 図3は、例示的な実施形態における特徴量分布間距離情報135のデータ構造の一例を示す図である。特徴量分布間距離情報135は、マトリックス形式のデータであり、行はソーストレーニングデータセット111に対応し、列は特徴量201に対応する。
 ソースnは、n番目のソーストレーニングデータセット111の識別情報を表す。Fmは、m番目の特徴量201の識別情報を表す。1つのソーストレーニングデータセット111とターゲットトレーニングデータセット131との間の特徴量分布間距離が、セルに格納される。例えば、n番目のソーストレーニングデータセット111(ソースn)とターゲットトレーニングデータセット131と間のm番目の特徴量201(Fm)の特徴量分布間距離は、行nと列mのセルに格納される。
 図4は、例示的な実施形態におけるデータセット距離情報136のデータ構造の一例を示す図である。データセット距離情報136は、マトリックス形式のデータである。行は特徴量タイプに対応し、列はソーストレーニングデータセット111に対応する。ここで、特徴量タイプは数値特徴量またはカテゴリ特徴量を指す。
 ソースnは、n番目のソーストレーニングデータセット111の識別情報を表す。1つのソーストレーニングデータセットとターゲットトレーニングデータセット間の、数値特徴量またはカテゴリ特徴量について要約されたデータセット距離は、セルに格納される。
 図5は、例示的な実施形態において、コンピュータ100によって提供されるGUIの一例を示す図である。
 GUI500は、コンピュータ100が処理の実行を要求されるときに提供されるUIであり、出力装置106に表示される。GUI500は、ターゲットデータ設定フィールド510、出力設定フィールド520及び実行ボタン530を含む。
 ターゲットデータ設定フィールド510は、ターゲットトレーニングデータセット、ターゲット検証データセット、及びターゲットテストデータセットに関連する設定を実行するためのフィールドである。ターゲットデータ設定フィールド510は、ターゲットトレーニングデータセットフィールド511、ターゲット検証データセットフィールド512、及びターゲットテストデータセットフィールド513を含む。
 ターゲットトレーニングデータセットフィールド511は、ターゲットトレーニングデータセットを指定するためのフィールドである。ターゲットトレーニングデータセットフィールド511には、ターゲットトレーニングデータセットの保存場所を示すパス、またはターゲットトレーニングデータセットを保存するファイルの名前などが設定される。
 ターゲット検証データセットフィールド512は、ターゲット検証データセットを指定するためのフィールドである。ターゲット検証データセットフィールド512には、ターゲット検証データセットの格納場所を示すパス、またはターゲット検証データセットを格納するファイルの名前などが設定される。
 ターゲットテストデータセットフィールド513は、ターゲットテストデータセットを指定するためのフィールドである。ターゲットテストデータセットフィールド513には、ターゲットテストデータセットの格納場所を示すパス、またはターゲットテストデータセットを格納するファイルの名前などが設定される。
 出力設定フィールド520は、出力する情報とその情報の保存場所に関する設定を行うためのフィールドである。出力設定フィールド520は、選択モデル情報格納フィールド521及び評価情報格納フィールド522を含む。
 選択モデル情報格納フィールド521は、選択モデル情報の格納場所を指定するためのフィールドである。評価情報格納フィールド522は、ターゲット検証データセット及びターゲットテストデータセットについての選択されたモデルの予測結果の保存場所を指定するためのフィールドである。
 実行ボタン530は、処理の実行を指示するための操作ボタンである。ユーザが実行ボタン530を操作すると、ターゲットデータ設定フィールド510及び出力設定フィールド520に設定された情報を含む実行要求が、データ受信モジュール121に送信される。
 図6は、例示的な実施形態においてコンピュータ100によって実行される処理の概要を示すフローチャートである。図7は、例示的な実施形態においてコンピュータ100によって提供されるGUIの一例を示す図である。図8は、例示的な実施形態においてコンピュータ100によって提供されるGUIの一例を示す図である。
 コンピュータ100は、実行要求を受信すると、以下に説明する処理を実行する。データ受信モジュール121は、初期化処理を実行する(ステップS101)。具体的には、以下の処理を行う。
 (S101-1)データ受信モジュール121は、指定されたパスからターゲットトレーニングデータセット、ターゲット検証データセット、ターゲットテストデータセットを取得し、二次記憶装置104に格納する。
 (S101-2)データ受信モジュール121は、重み情報134、特徴量分布間距離情報135、データセット距離情報136、選択モデル情報137、及び評価情報139を初期化する。特徴量分布間距離情報135の初期化において、データ受信モジュール121は、行の数がソーストレーニングデータセットの数と一致し、列の数が特徴量項目の数と一致するマトリックスを生成する。マトリックスのすべてのセルは空白である。データセット距離情報136の初期化において、データ受信モジュール121は、行の数が特徴量タイプの数と一致し、列の数がソーストレーニングデータセットの数と一致するマトリックスを生成する。マトリックスのすべてのセルは空白である。
 次に、データセット類似性推定モジュール122は、ソーストレーニングデータセット、ターゲットトレーニングデータセット、及びターゲット検証データセットを使用することにより、データセット類似性推定の処理を実行する(ステップS102)。重み情報134、特徴量分布間距離情報135、及びデータセット距離情報136は、データセット類似性推定の処理を実行することにより生成される。データセット類似度推定の処理の詳細は、図9を参照して説明する。
 次に、モデル選択モジュール123は、データセット距離情報136を用いて、再利用のためのモデル選択処理を実行する(ステップS103)。モデル選択モジュール123は、モデル選択処理を実行することにより、選択モデル情報137を生成し、選択モデル情報137を選択モデル情報格納フィールド521で指定されたパスに格納する。再利用のためのモデル選択処理の詳細については、図10を参照して説明する。
 次に、評価モジュール125は、選択されたソースモデルを使用してターゲットテストデータセットの予測処理を実行する(ステップS104)。ユーザが予測のためにデータセットの適応を実行する必要があるかどうかを判断できるように、評価モジュール125は、ターゲットテストデータセットの予測を行う前に、ターゲット検証データセット132で選択したモデルのパフォーマンスを評価し、図6に示すようなGUI600を表示するための出力情報を生成する。
 ユーザがターゲットテストデータセットを適応させることに決めた場合、データセット適応モジュール124はターゲットテストデータセット適応の処理を実行し、適応ターゲットテストデータセットを生成して格納する。評価モジュール125は、選択されたソースモデルを使用して適応ターゲットテストデータセットの予測処理を実行し、評価情報139を生成し、評価情報格納フィールド522で指定されたパスに格納する。
 ユーザがターゲットテストデータセットを適応させないことに決めた場合、評価モジュール125は、選択されたソースモデルを使用してターゲットテストデータセットの予測処理を実行し、評価情報139を生成し、評価情報格納フィールド522で指定されたパスに格納する。ターゲットテストデータセットの予測処理の詳細は図11を参照して説明する。ここで、GUI700について説明する。
 GUI700は、フィードバック情報を表示するときに提供されるUIであり、出力装置106に表示される。GUI700は、選択モデル精度フィールド710、ラジオボタン721、722、適応データセット格納フィールド723及び次へボタン730を含む。
 選択モデル精度フィールド710は、ターゲット検証データセット132に対する選択モデルの精度を表示するためのフィールドである。ラジオボタン721は、選択モデル精度フィールド710に表示される、選択されたモデルのパフォーマンスにユーザが満足しておらず、予測のためにターゲットテストデータセット133を適応させる場合に選択される。ユーザが、選択モデル精度フィールド710に表示されている選択モデルのパフォーマンスに満足しており、予測のためにターゲットテストデータセットを適応させたくない場合、ラジオボタン722が選択される。
 適応データセット格納フィールド723は、適応データセットの格納場所を指定するためのフィールドである。次へボタン730は、処理の実行を指示するための操作ボタンである。ユーザが次へボタン730を操作すると、ラジオボタン721、722と適応データセット格納フィールド723に設定された情報を含む実行要求が、評価モジュール125に送信される。
 次に、出力モジュール126は、出力情報を生成及び表示する(ステップS105)。その後、コンピュータ100は処理を終了する。例えば、出力モジュール126は、図8に示されるようなGUI800を表示するための出力情報を生成する。ここで、GUI800について説明する。
 GUI800は、出力情報を表示するときに提供されるUIであり、出力装置106に表示される。GUI800は、選択モデル情報フィールド801、評価情報フィールド802、データ分布フィールド803及び精度フィールド804を含む。選択モデル情報フィールド801は、選択モデル情報137の格納場所を表示するフィールドである。評価情報フィールド802は、評価情報139の格納場所を表示するフィールドである。
 データ分布フィールド803は、適応に起因するターゲット検証データセット132のデータ分布の変化を表示するフィールドである(ユーザに要求された場合)。具体的には、データ分布フィールド803は、選択したソーストレーニングデータセット111の入力データのデータ分布、適応前のオリジナルのターゲット検証データセット132の入力データのデータ分布、及び適応後のターゲット検証データセット132の入力データのデータ分布を表示する。
 精度フィールド804は、データセットの適応によって引き起こされた、ターゲット検証データセット132に対する選択されたモデルの精度の変化を表示するためのフィールドである(ユーザに要求された場合)。
 図9は、例示的な実施形態においてコンピュータ100によって実行されるデータセット類似性推定処理の一例を示すフローチャートである。データセット類似性推定モジュール122は、ターゲットトレーニングデータセット131及びターゲット検証データセット132を読み取る(ステップS201)。
 次に、データセット類似性推定モジュール122は、データセット距離に対する各特徴量分布間距離の影響度を重みとして推定する。一例は、ターゲットトレーニングデータセット131及びターゲット検証データセット132を使用することにより、ターゲットタスクの予測に対する各特徴量の影響度(特徴量重要度)を推定する(ステップS202)。
 例えば、ターゲットトレーニングデータセット131を使用して、ターゲット検証データセット132で最高のパフォーマンスを発揮するLightGBMモデルをトレーニングする。モデルの関数feature_importance()を使用して、特徴量重要度情報を取得する。なお、重み推定の方法は特に限定されない。eXplainable Artificial Intelligence(XAI)などの他の技術も、重みを推定するために利用できる。さらに、ユーザはGUIを使用して事前に重みを指定することもできる。最も単純なケースでは、すべての重みをデフォルトの1にすることができる。
 次に、データセット類似性推定モジュール122は、重み情報134を更新する(ステップS203)。具体的には、各特徴量について、データセット類似性推定モジュール122は、重み情報134にエントリを追加し、追加されたエントリの特徴量201に特徴量の識別情報を設定し、追加されたエントリの重み202に影響度を設定する。
 次に、データセット類似性推定モジュール122は、変数iを初期化する(ステップS204)。変数iは、ソーストレーニングデータセット111の識別番号を表すために使用される変数である。具体的には、データセット類似性推定モジュール122は、変数iに1を設定する。一方、データセット類似性推定モジュール122は、ソーストレーニングデータセット111の数をNに設定する。
 次に、データセット類似性推定モジュール122は、変数iに対応するソーストレーニングデータセット(ソーストレーニングデータセット[i])を、ソーストレーニングデータセット111から取得する(ステップS205)。
 次に、データセット類似性推定モジュール122は、変数jを初期化する(ステップS206)。変数jは、特徴量の識別番号を表すために使用される変数である。具体的には、データセット類似性推定モジュール122は、変数jに1を設定する。一方、データセット類似性推定モジュール122は、特徴量の数をMに設定する。
 次に、データセット類似性推定モジュール122は、ソーストレーニングデータセット[i]及びターゲットトレーニングデータセット131の、変数j(特徴量[j])に対応する特徴量の分布間距離を計算する(ステップS207)。具体的には、データセット類似性推定モジュール122は、ソーストレーニングデータセット[i]から特徴量[j]のすべての値を取得し、ターゲットトレーニングデータセット131から特徴量[j]のすべての値を取得し、これら2つの値セットの分布間距離を計算する。
 分布間距離の計算の一例は次の通りである。特徴量[j]が数値の場合、2つの値セットを正規化し(例えば、最小-最大正規化または他の正規化による)、Earth Mover’s Distanceを計算し、特徴量[j]の分布間距離として使用する。
 特徴量[j]がカテゴリ特徴量の場合、可能な値の出現率によって各値セットの表現を生成する。例えば、値セットAには60人の男性と40人の女性がいるとする。値セットBには100人の男性と100人の女性がいるとする。したがって、値セットAは(0.6、0.4)で表され、値セットBは(0.5、0.5)で表される。次に、これら2つの表現の間のユークリッド距離などの距離を計算し、特徴量[j]の分布間距離として使用する。
 上記方法により、数値特徴量の分布間距離及びカテゴリ特徴量の分布間距離をそれぞれより適切に計算することができる。なお、特徴量分布間距離の計算方法は限定されない。2つの値セットの確率密度分布を推定し、確率密度分布の距離を計算するなど、他の方法も適用できる。
 次に、データセット類似性推定モジュール122は、特徴量分布間距離情報135を更新する(ステップS208)。具体的には、データセット類似性推定モジュール122は、計算された特徴量分布間距離を、特徴量分布間距離情報135の行i及び列jに対応するセルに設定する。
 次に、データセット類似性推定モジュール122は、変数jの値がMに一致するか否かを判定する(ステップS209)。つまり、ソーストレーニングデータセット[i]のすべての特徴量項目について処理が完了したかどうかが判定される。
 変数jの値がMと一致しないと判定された場合、データセット類似性推定モジュール122は、変数jに1を加えた値を変数jに設定する(ステップS210)。その後、処理はステップS207に戻る。
 変数jの値がMに一致すると判定された場合、データセット類似性推定モジュール122は、重み情報134と、特徴量分布間距離情報135の行iとを使用して、ソーストレーニングデータセット[i]とターゲットトレーニングデータセット131と間のデータセット距離を計算し(ステップS211)、データセット距離情報136を更新する(ステップS212)。
 データセット距離は、例えば、下記式に従って計算できる。
  DistanceS,T=w1d1S,T+w2d2S,T+・・・+wMdMS,T
 ここで、Sはソーストレーニングデータセット[i]を表し、Tはターゲットトレーニングデータセット131を表す。DistanceS,Tは、SとTとの間のデータセット距離を表す。dmS,T(m=1、2、・・M)は、SとTとの間の特徴量[m]の分布間距離を表す。wm(m=1、2、・・M)は、特徴量[m]の分布間距離の影響度を表す。
 特徴量分布間距離の計算方法は数値特徴量とカテゴリ特徴量で異なるため、データセット距離は、数値特徴量の分布間距離またはカテゴリ特徴量の分布間距離を使用して、個別に計算する。これにより、特徴量のタイプに応じて適切なデータセット距離を計算できる。1つの例は、数値特徴量の分布間距離を使用して数値データセット距離を計算し、計算された数値データセット距離をデータセット距離情報136の行1及び列iに対応するセルに設定する。さらに、カテゴリ特徴量の分布間距離を使用してカテゴリデータセットの距離を計算し、計算されたカテゴリデータセットの距離を、データセット距離情報136の行2及び列iに対応するセルに設定する。データセット距離の計算方法は限定されず、上記の方法以外の方法も適用できる。
 次に、データセット類似性推定モジュール122は、変数iの値がNに一致するか否かを判定する(ステップS213)。つまり、すべてのソーストレーニングデータセット111の処理が完了したかどうかが判定される。
 変数iの値がNと一致しないと判定された場合、データセット類似性推定モジュール122は、変数iに1を加えた値を変数iに設定する(ステップS214)。その後、処理はステップS205に戻る。変数iの値がNに一致すると判定された場合、データセット類似性推定モジュール122は、データセット類似性推定の処理を終了する。
 図10は、例示的な実施形態においてコンピュータ100によって実行されるモデル選択処理の一例を示すフローチャートである。モデル選択モジュール123は、変数であるcandidate_model_indexを初期化する(ステップS301)。変数candidate_model_indexは、再利用のための候補モデルの識別番号を保存するために使用される変数である。具体的には、モデル選択モジュール123は、空のリストを変数candidate_model_indexに設定する。
 次に、モデル選択モジュール123は、変数Rを初期化する(ステップS302)。変数Rは、データセット距離情報136の行の識別番号を表すために使用される変数である。具体的には、モデル選択モジュール123は、変数Rに1を設定する。一方、モデル選択モジュール123は、データセット距離情報136の行数を2に設定する。
 次に、モデル選択モジュール123は、データセット距離情報136の行Rの値を取得する(ステップS303)。値は、ソーストレーニングデータセット111それぞれとターゲットトレーニングデータセットとの間の、数値特徴量またはカテゴリ特徴量の分布間距離に基づく、データセット距離である。Rが1の場合、(第1)データセット距離は、数値特徴量分布間距離とそれに対応する重みを使用して計算される。Rが2の場合、(第2)データセット距離は、カテゴリ特徴量分布間距離とそれに対応する重みを使用して計算される。
 次に、モデル選択モジュール123は、ステップS303で取得したデータセット距離値に基づいてソーストレーニングデータセット111をランク付けする(ステップS304)。
 次に、モデル選択モジュール123は、トップ1のソーストレーニングデータセット111の識別番号を取得し、それを変数candidate_model_indexに追加する(ステップS305)。トップランクのソーストレーニングデータセット111は、ターゲットトレーニングデータセット131に最も類似したソーストレーニングデータセット111である。複数のトップランクのソーストレーニングデータセット111が存在し得る。
 次に、モデル選択モジュール123は、変数Rの値が2に一致するか否かを判定する(ステップS306)。すなわち、データセット距離情報136のすべての行について処理が完了したかどうかが判定される。変数Rの値が2に一致しないと判定された場合、モデル選択モジュール123は、変数Rに1を加えた値を変数Rに設定する(ステップS307)。その後、処理はステップS303に戻る。
 変数Rの値が2に一致すると判定された場合、モデル選択モジュール123は、変数candidate_model_indexにおける一意の値を、変数candidate_model_indexに保存する(ステップS308)。つまり、繰り返される値は、candidate_model_indexから削除される。数値特徴量分布間距離に基づくデータセット距離によるトップランクのソーストレーニングデータセット111と、カテゴリ特徴量分布間距離に基づくデータセット距離によるトップランクのソーストレーニングデータセット111と同一である場合、そのソーストレーニングデータセット111の識別番号の一方は削除される。
 次に、モデル選択モジュール123は、複数のモデルが候補であるか否かを判定する(ステップS309)。候補モデルの数が1より大きいと判定された場合、モデル選択モジュール123は、候補モデルから再利用するモデルを選択する(ステップS310)。例えば、候補モデルそれぞれによってターゲット検証データセット132の予測を行い、ターゲット検証データセット132に対して最高のパフォーマンスを示す候補モデルを選択できる。または、すべての候補モデルを選択し、すべての候補モデルによりターゲットテストデータセット133での予測を行い、その予測結果の要約(例:平均値)を、最終的な予測結果として使用してもよい。使用するモデルの選択方法は限定されず、他の方法も適用できる。その後、処理はステップS311へ進む。
 候補モデルが1つであると判定された場合、モデル選択モジュール123は、ステップS311に進む。ステップS311では、モデル選択モジュール123は、選択モデル情報137を更新する。具体的には、モデル選択モジュール123は、選択されたモデルの識別番号を選択モデル情報137として保存する。モデル選択モジュール123は、モデル選択の処理を終了する。
 図11は、例示的な実施形態においてコンピュータ100によって実行されるターゲットテストデータセット予測処理の一例を示すフローチャートである。評価モジュール125は、選択モデル情報137及びターゲットテストデータセット133を取得する(ステップS401)。
 次に、評価モジュール125は、選択モデル情報137に示される選択モデルの識別番号に従って、ソースモデル112から選択ソースモデルを取得する(ステップS402)。
 次に、評価モジュール125は、ターゲット検証データセット132において選択ソースモデルを評価し(ステップS403)、評価情報139を更新し、評価結果をGUI700によりユーザにフィードバックする(ステップS404)。
 次に、評価モジュール125は、データセット適応の処理を、ユーザが必要としているか判定する。つまり、ユーザからの指示が判定される。ユーザがデータセット適応の処理を必要としないと判定された場合、評価モジュール125は、選択されたソースモデルを使用してターゲットテストデータセット133を予測し(ステップS408)、評価情報139を更新する(ステップS409)。その後、評価モジュール125は、ターゲットテストデータセット予測の処理を終了する。
 ユーザがデータセット適応の処理を必要とすると判定された場合、評価モジュール125はターゲットテストデータセット133を適応させ(ステップS406)、選択されたソースモデルを使用して適応ターゲットテストデータセットを予測し(ステップS407)、評価情報139を更新する(ステップS409)。その後、評価モジュール125は、ターゲットテストデータセット予測の処理を終了する。データセット適応の処理の詳細は、図12を参照して説明される。
 図12は、例示的な実施形態においてコンピュータ100によって実行されるデータセット適応処理の一例を示すフローチャートである。データセット適応モジュール124は、重み情報134からすべての特徴量の重みを取得し、特徴量分布間距離情報135から、選択されたソーストレーニングデータセット111と、ターゲットトレーニングデータセット131との間の、すべての特徴量の特徴量分布間距離を取得する(ステップS501)。
 ここで、再利用のために複数のソースモデルが選択されている場合、選択されたソーストレーニングデータセットは、選択されたソースモデルに対応するソーストレーニングデータセットのマージになる。選択されたソーストレーニングデータセットとターゲットトレーニングデータセットのすべての特徴量の特徴量分布間距離は、選択されたソースモデルに対応するソーストレーニングデータセット111それぞれとターゲットトレーニングデータセット131との間の特徴量分布間距離の要約(平均値など)である。
 次に、データセット適応モジュール124は、適応する特徴量(異なる重要な特徴量)を決定する(ステップS502)。一部の特徴量(候補特徴量)が適応するために選択され、例えば、ターゲット検証データセット132を利用することができる。取得した重みと特徴量分布間距離に基づいて特徴量項目をランク付けし、ターゲット検証データセット132の上位X(X=1、2、…M)の特徴量の異なる組み合わせを繰り返し適応させ、評価モジュール125を使用して、適応ターゲット検証データセットに対する選択したモデルの精度を評価する。例えば、特徴量項目のランクは、特徴量分布間距離が大きい程、また、重みが大きい程、上位となる。このランク付けに基づき候補特徴量を選択することで、より適切なターゲットテストデータの適応が可能となる。
 データセット適応モジュール124は、適応ターゲット検証データセットに対する選択モデルの精度が最も高いケースを選択する。したがって、選択されたケースで適応されている特徴量は、ターゲットテストデータセット133において適応される特徴量として決定される。適応される特徴量を決定する方法は限定されず、取得した重みと特徴量分布間距離のしきい値を事前に設定するなど、他の方法も適用できる。
 次に、データセット適応モジュール124は、変数TTを初期化する(ステップS503)。変数TTは、ターゲットテストデータセット133におけるターゲットテストデータレコードの識別番号を表すために使用される変数である。具体的には、データセット適応モジュール124は、変数TTに1を設定する。一方、データセット適応モジュール124は、ターゲットテストデータセット133内のターゲットテストデータレコードの数をTTMaxに設定する。
 次に、データセット適応モジュール124は、ターゲットテストデータセット133から変数TTに対応するターゲットテストデータレコード(ターゲットテストデータレコード[TT])を取得する(ステップS504)。
 次に、データセット適応モジュール124は、適応させると決定された特徴量を適応させる。決定された特徴量を適応させる方法は限定されない。一例において、ターゲットテストデータレコード[TT]に対して、データセット適応モジュール124は、適応させると決定された特徴量以外の残りの特徴量に基づいて、選択されたソーストレーニングデータセット111におけるk最近傍のソーストレーニングデータレコードを検出する(ステップS505)。ここで、kは、ソーストレーニングデータセットから検出する必要がある最近傍のソーストレーニングデータレコードの数を決定するために使用されるパラメータである。
 パラメータkは、例えば、ターゲット検証データセット132を使用して決定できる。パラメータkの値を繰り返し変更して、ターゲット検証データセット132を適応させ、評価モジュール125を使用して、適応ターゲット検証データセットに対する選択モデルの精度を評価する。適応されたターゲット検証データセットに対して選択モデルの精度が最も高いケースを選択する。したがって、選択されたケースのパラメータkの値は、使用するパラメータkの値として決定される。パラメータkの値を決定する方法は限定されず、他の方法も適用できる。
 次に、データセット適応モジュール124は、検出されたk最近傍のソーストレーニングデータレコードに基づいて、ターゲットテストデータ[TT]内の決定された特徴量を適応させる(ステップS506)。
 例えば、数値特徴量の場合、データセット適応モジュール124は、検出されたk最近傍のソーストレーニングデータレコードの数値特徴量の値の平均値を計算し、それをターゲットテストデータレコード[TT]の数値特徴量に設定する。カテゴリ特徴については、データセット適応モジュール124は、検出されたk最近傍のソーストレーニングデータレコードのカテゴリ特徴量の値で最も多く発生する値を選択し、それをターゲットテストデータレコード[TT]のカテゴリ特徴量に設定する。上記方法により、ターゲットテストデータにおける適切な適応後の特徴量の値を決定できる。なお、データセットの適応方法は限定されず、上記の方法以外の方法も適用できる。
 次に、データセット適応モジュール124は、適応されたターゲットデータレコードを、適応データセット138内に保存する(ステップS507)。
 次に、データセット適応モジュール124は、変数TTの値がTTMaxと一致するか否かを判定する(ステップS508)。すなわち、ターゲットテストデータセット133内のすべてのターゲットテストデータレコードについて処理が完了したか否かが判定される。
 変数TTの値がTTMaxと一致しないと判定された場合、データセット適応モジュール124は、変数TTに1を加えた値を変数TTに設定する(ステップS509)。その後、処理はステップS504に戻る。変数TTの値がTTMaxと一致すると判定された場合、データセット適応モジュール124は、データ適応の処理を終了する。
 上記例示的な実施形態によれば、コンピュータ100は、特徴量分布間距離に基づき、ソーストレーニングデータセットとターゲットトレーニングデータセットとの間のデータセット類似性(データセット間距離)を推定する。そのため、複数のソースモデルから適切なソースモデルを選択して再利用できる。さらに、特徴量(分布間距離)に重みを設定することで、複数のソースモデルからより適切なソースモデルを選択して再利用できる。
 上記例示的な実施形態は、数値特徴量の分布間距離とカテゴリ特徴量の分布間距離とを個別に計算し、それらに対応するデータセット距離を算出する。これにより、異なるタイプの特徴量にそれぞれ適した方法で分布間距離及びデータセット距離を算出できる。
 さらに、コンピュータ100は、特徴量の一部(異なる重要な特徴量)のみを適応させることにより、ターゲットテストデータセットを適応させる。これにより、全ての特徴量を適用させることと比較して、ターゲットテストデータセットの元の特性の損失を減らすことができ、ターゲットテストデータセット対する選択モデルの精度をさらに向上させることができる。
 なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施形態は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成に追加、削除、置換することが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
 また、本実施形態に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
 さらに、実施形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施形態において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (14)

  1.  コンピュータシステムによって実行される、モデルを再利用する方法であって、
     前記コンピュータシステムは、データベースを含み、
     前記データベースは、
     それぞれ複数のソーストレーニングデータレコードからなる、複数のソーストレーニングデータセットと、
     前記複数のソーストレーニングデータセットそれぞれから生成された、複数のソースモデルと、
     複数のターゲットトレーニングデータレコードからなる、ターゲットトレーニングデータセットと、
     複数のターゲットテストデータレコードからなる、ターゲットテストデータセットと、を格納し、
     前記方法は、
     前記コンピュータシステムが、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間で、特徴量それぞれの分布間距離を計算し、
     前記コンピュータシステムが、前記分布間距離に基づいて、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間の、データセット距離を決定し、
     前記コンピュータシステムが、前記データセット距離に基づいて、前記複数のソースモデルから、再利用するソースモデルを選択し、
     前記コンピュータシステムが、前記再利用するソースモデルを使用して、前記ターゲットテストデータセットの予測を実行する、方法。
  2.  請求項1に記載の方法であって、
     前記コンピュータシステムが、前記特徴量それぞれに付与されている重みと前記分布間距離とに基づいて、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間の前記データセット距離を計算する、方法。
  3.  請求項1に記載の方法であって、
     前記コンピュータシステムが、前記ターゲットテストデータセットにおいて、前記分布間距離に基づき選択した前記特徴量の一部を適応させ、
     前記コンピュータシステムが、前記再利用するソースモデルを使用して、適応させた前記ターゲットテストデータセットの予測を実行する、方法。
  4.  請求項3に記載の方法であって、
     前記コンピュータシステムが、前記分布間距離及び前記特徴量それぞれに付与されている重みに基づき、前記適応させる特徴量を選択する、方法。
  5.  請求項3に記載の方法であって、
     前記データベースは、ターゲット検証データセットを格納し、
     前記コンピュータシステムが、前記分布間距離に基づいて、複数の候補特徴量を選択し、
     前記複数の候補特徴量における異なる候補特徴量の組み合わせそれぞれを前記ターゲット検証データセットにおいて適応させ、異なる適応ターゲット検証データセットを生成し、
     前記異なる適応ターゲット検証データセットそれぞれに対する、前記再利用されるモデルの精度に基づき、前記ターゲットテストデータセットにおいて適応させる特徴量の組み合わせを、前記異なる候補特徴量の組み合わせから選択する、方法。
  6.  請求項3に記載の方法であって、
     前記選択されたソーストレーニングデータセットにおいて、前記適応させる特徴量以外の特徴量に基づき、前記ターゲットテストデータセットにけるk最近傍のソーストレーニングデータレコードを決定し、
     前記k最近傍のソーストレーニングデータレコードの前記適応させる特徴量に基づき、前記ターゲットテストデータセットにおける前記適応される特徴量の値を決定する、方法。
  7.  請求項1に記載の方法であって、
     前記コンピュータシステムが、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間で、数値特徴量の分布間距離に基づく第1データセット距離と、カテゴリ特徴量の分布間距離に基づく第2データセット距離と、を決定し、
     前記コンピュータシステムが、前記第1データセット距離及び前記第2データセット距離に基づいて、前記複数のソースモデルから再利用するソースモデルを選択する、方法。
  8.  請求項7に記載の方法であって、
     前記コンピュータシステムが、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間において、前記数値特徴量の正規化した値によって、前記数値特徴量の分布間距離を計算し、
     前記コンピュータシステムが、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとにおいて、前記カテゴリ特徴量それぞれの可能な値の出現率による表現を生成し、前記表現間の距離により前記カテゴリ特徴量の分布間距離を計算する、方法。
  9.  請求項1に記載の方法であって、
     前記コンピュータシステムが、最小のデータセット距離のソーストレーニングデータセットに対応するソースモデルを、前記再利用するモデルと決定する、方法。
  10.  コンピュータシステムであって、
     1以上のプロセッサと、
     1以上の記憶装置と、を含み、
     前記1以上の記憶装置は、
     それぞれ複数のソーストレーニングデータレコードからなる、複数のソーストレーニングデータセットと、
     前記複数のソーストレーニングデータセットそれぞれから生成された、複数のソースモデルと、
     複数のターゲットトレーニングデータレコードからなる、ターゲットトレーニングデータセットと、
     複数のターゲットテストデータレコードからなる、ターゲットテストデータセットと、を格納し、
     前記1以上のプロセッサは、
     前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間で、特徴量それぞれの分布間距離を計算し、
     前記分布間距離に基づいて、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間の、データセット距離を決定し、
     前記データセット距離に基づいて、前記複数のソースモデルから、再利用するソースモデルを選択し、
     前記再利用するソースモデルを使用して、前記ターゲットテストデータセットの予測を実行する、コンピュータシステム。
  11.  請求項10に記載のコンピュータシステムであって、
     前記1以上のプロセッサは、前記特徴量それぞれに付与されている重みと前記分布間距離とに基づいて、前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間の前記データセット距離を計算する、コンピュータシステム。
  12.  請求項10に記載のコンピュータシステムであって、
     前記1以上のプロセッサは、
     前記ターゲットテストデータセットにおいて、前記分布間距離に基づき選択した前記特徴量の一部を適応させ、
     前記再利用するソースモデルを使用して、適応させた前記ターゲットテストデータセットの予測を実行する、コンピュータシステム。
  13.  請求項10に記載のコンピュータシステムであって、
     前記1以上のプロセッサは、
     前記複数のソーストレーニングデータセットの各ソーストレーニングデータセットと前記ターゲットトレーニングデータセットとの間で、数値特徴量の分布間距離に基づく第1データセット距離と、カテゴリ特徴量の分布間距離に基づく第2データセット距離と、を決定し、
     前記第1データセット距離及び前記第2データセット距離に基づいて、前記複数のソースモデルから再利用するソースモデルを選択する、コンピュータシステム。
  14.  請求項10に記載のコンピュータシステムであって、
     前記1以上のプロセッサは、最小のデータセット距離のソーストレーニングデータセットに対応するソースモデルを、前記再利用するモデルと決定する、コンピュータシステム。
     
PCT/JP2020/047538 2020-01-06 2020-12-18 モデルを再利用する方法及びコンピュータシステム WO2021140884A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-000303 2020-01-06
JP2020000303A JP2021110974A (ja) 2020-01-06 2020-01-06 モデルを再利用する方法

Publications (1)

Publication Number Publication Date
WO2021140884A1 true WO2021140884A1 (ja) 2021-07-15

Family

ID=76787894

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/047538 WO2021140884A1 (ja) 2020-01-06 2020-12-18 モデルを再利用する方法及びコンピュータシステム

Country Status (2)

Country Link
JP (1) JP2021110974A (ja)
WO (1) WO2021140884A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113822356A (zh) * 2021-09-22 2021-12-21 广东电网有限责任公司 一种用电用户的分类方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019521443A (ja) * 2016-06-30 2019-07-25 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド 適応型追加学習を用いた細胞のアノテーション法及びアノテーションシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019521443A (ja) * 2016-06-30 2019-07-25 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド 適応型追加学習を用いた細胞のアノテーション法及びアノテーションシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FEURER, MATTHIAS ET AL.: "Efficient and Robust Automated Machine Learning", PROCEEDINGS OF THE 28TH INTERNATIONAL CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS (NIPS'15, vol. 2, December 2015 (2015-12-01), pages 2755 - 2763, XP055840701 *
ZHOU, LING ET AL.: "Data Similarity Estimation for A1 Model Reuse", DEIM2020, 2 March 2020 (2020-03-02), pages 2 - 5, XP055840703, Retrieved from the Internet <URL:https://proceedings-of-deim.github.io/DEIM2020/papers/F4-1.pdf> [retrieved on 20210312] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113822356A (zh) * 2021-09-22 2021-12-21 广东电网有限责任公司 一种用电用户的分类方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP2021110974A (ja) 2021-08-02

Similar Documents

Publication Publication Date Title
Wauters et al. A comparative study of Artificial Intelligence methods for project duration forecasting
US11797822B2 (en) Neural network having input and hidden layers of equal units
JP6492238B2 (ja) ユーザ入力予測
US20170109356A1 (en) User-specific customization for command interface
JP6975692B2 (ja) 計算機システム及び予測器が出力した予測値の根拠に関連する情報の提示方法
US11443204B2 (en) Computer system and method of presenting information on basis of prediction result for input data
US8010535B2 (en) Optimization of discontinuous rank metrics
US11763151B2 (en) System and method for increasing efficiency of gradient descent while training machine-learning models
EP3617951A1 (en) Reward function generation method and computer system
WO2020023763A1 (en) System and method for predicting stock on hand with predefined markdown plans
JP7057761B2 (ja) 計算機システム及び情報の提示方法
JP2021064049A (ja) 計算機システム及び数理モデルの生成支援方法
CN110633802A (zh) 策略搜索装置、方法及记录介质
JP2020119085A (ja) 計算機システム及び対象に関する目的を達成するために有用な情報の提示方法
WO2021140884A1 (ja) モデルを再利用する方法及びコンピュータシステム
JP7141371B2 (ja) 学習データの精練方法及び計算機システム
US20230128579A1 (en) Generative-discriminative ensemble method for predicting lifetime value
Bellotti Optimized conformal classification using gradient descent approximation
JP7097261B2 (ja) 学習データの解析方法及び計算機システム
US20210350260A1 (en) Decision list learning device, decision list learning method, and decision list learning program
US11868885B2 (en) Learning device, inference device, learning method, and inference method using a transformation matrix generated from learning data
JP7280921B2 (ja) 計算機システム、推論方法、及びプログラム
Doan et al. Algorithm selection using performance and run time behavior
US20230237127A1 (en) Intelligent adaption for engineered prediction model for a model-based system upgrade
US20230281275A1 (en) Identification method and information processing device

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20912358

Country of ref document: EP

Kind code of ref document: A1