Decision tree generation system, information processing device, server, decision tree generation method and program

The decision tree generation system addresses data leakage and enhances model accuracy by analyzing data distribution and adjusting data across devices, ensuring secure and efficient model generation in federated learning.

JP7597230B2Active Publication Date: 2024-12-10NEC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023544800
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-30
Publication Date
2024-12-10
Estimated Expiration
2041-08-30

AI Technical Summary

Technical Problem

Existing machine learning systems using federated learning fix data classification early, limiting flexibility and potentially reducing the accuracy of learning models.

Method used

A decision tree generation system that analyzes data distribution across multiple information processing devices, determines node splitting conditions, adjusts data to prevent leakage, and generates a gradient boosting decision tree without exposing individual data to the server.

Benefits of technology

Prevents data leakage while maintaining model accuracy by adjusting data distribution and generating decision trees flexibly, without requiring complex hardware configurations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007597230000006
    Figure 0007597230000006
  • Figure 0007597230000007
    Figure 0007597230000007
  • Figure 0007597230000008
    Figure 0007597230000008
Patent Text Reader

Abstract

A server 10 that generates a gradient boosting decision tree outputs, as split candidates, candidates for node split conditions to a plurality of information processing devices 20. The information processing devices 20 calculate the number of items of data input to each of two child nodes resulting from splitting based on the split candidates. If the number of items of data input to each child node resulting from the splitting based on the split candidates is less than a predetermined number, the information processing devices 20 adjust the data input to the child node, evaluate the split candidates on the basis of the adjustment results, and output the evaluation results of the split candidates to the server 10. The server 10 generates a gradient boosting decision tree on the basis of the evaluation results acquired from the plurality of information processing devices 20.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a decision tree generation system. [Background technology]

[0002] When generating a learning model by machine learning, a server may obtain data from multiple clients and generate a learning model using the obtained data. Also, when generating a learning model by collaboration between a server and a client, a method called federated learning may be used in which the server generates a learning model without sending individual data from the client to the server.

[0003] In federated learning, technology to prevent information leakage to the server side is being studied. As such a technology to prevent information leakage, for example, a technology such as that disclosed in Patent Document 1 is disclosed. The machine learning system described in Patent Document 1 generates a learning model for image diagnosis by federated learning. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] International Publication No. 2021 / 079792 Summary of the Invention [Problem to be solved by the invention]

[0005] The machine learning system described in Patent Document 1 classifies data into groups before using the data to generate a learning model. Therefore, data classification is fixed at the stage of group classification, making it impossible to perform flexible split search, and in some cases making it impossible to improve the accuracy of the learning model.

[0006] In order to solve the above problems, an object of the present invention is to provide a decision tree generation system and the like that can prevent data leakage. [Means for solving the problem]

[0007] In order to solve the above problems, the decision tree generation system of the present invention comprises a server including: a splitting candidate determination means for determining candidates for node splitting conditions as splitting candidates based on information indicating the distribution of data acquired from each of the multiple information processing devices when generating a gradient boosting decision tree in cooperation with a multiple information processing device; a data output means for outputting the splitting candidates to the multiple information processing devices; a data acquisition means for acquiring, from the multiple information processing devices, evaluation results of evaluating the splitting candidates by adjusting data to be entered into child nodes resulting from splitting based on the splitting candidates; and a decision tree generation means for generating a gradient boosting decision tree based on the evaluation results of the splitting candidates acquired from the multiple information processing devices; an acquisition means for acquiring candidates for node splitting conditions as splitting candidates from the server; a data number calculation means for calculating, from the held data, the number of data to be entered into each of two child nodes resulting from splitting based on the splitting candidates; an adjustment means for adjusting the data to be entered into the child nodes if the number of data to be entered into the child nodes is less than a predetermined number; an evaluation means for evaluating the splitting candidates using the data of the two child nodes after adjustment; and an output means for outputting the evaluation result of the splitting candidates to the server.

[0008] The information processing device of the present invention includes an acquisition means for acquiring candidate node splitting conditions as splitting candidates from a server that generates a gradient boosting decision tree, a data number calculation means for calculating the number of data items to be entered into each of two child nodes resulting from splitting based on the splitting candidates from the stored data, an adjustment means for adjusting the data to be entered into the child nodes if the number of data items to be entered into the child nodes resulting from splitting based on the splitting candidates is less than a predetermined number, an evaluation means for evaluating the splitting candidates using the adjusted data for the two child nodes, and an output means for outputting the evaluation results of the splitting candidates to the server.

[0009] The server of the present invention, in cooperation with a plurality of information processing devices, is provided with a splitting candidate determination means for determining candidates for node splitting conditions as splitting candidates based on information indicating the distribution of data acquired from the plurality of information processing devices when generating a gradient boosting decision tree, a data output means for outputting the splitting candidates to the plurality of information processing devices, a data acquisition means for acquiring from the plurality of information processing devices evaluation results of evaluating the splitting candidates by adjusting the data to be entered into child nodes resulting from splitting based on the splitting candidates, and a decision tree generation means for generating a gradient boosting decision tree based on the evaluation results of the splitting candidates acquired from the plurality of information processing devices, and the data output means outputs data of the generated gradient boosting decision tree.

[0010] The decision tree generation method of the present invention obtains candidate node splitting conditions as splitting candidates from a server that generates a gradient boosting decision tree, calculates the amount of data from the stored data that will be placed in each of two child nodes resulting from splitting based on the splitting candidates, and if the amount of data that will be placed in the child nodes resulting from splitting based on the splitting candidates is less than a predetermined number, adjusts the data that will be placed in the child nodes, evaluates the splitting candidates using the adjusted data for the two child nodes, and outputs the evaluation results of the splitting candidates to the server.

[0011] The program recording medium of the present invention records a program that causes a computer to execute the following processes: obtaining candidate node splitting conditions as splitting candidates from a server that generates a gradient boosting decision tree; calculating the amount of data that will be placed into each of two child nodes resulting from splitting based on the splitting candidates from the data held; adjusting the data to be placed into the child nodes if the amount of data that will be placed into the child nodes resulting from splitting based on the splitting candidates is less than a predetermined number; evaluating the splitting candidates using the adjusted data for the two child nodes; and outputting the evaluation results of the splitting candidates to the server. Effect of the Invention

[0012] According to the present invention, data leakage can be prevented. [Brief description of the drawings]

[0013] [Figure 1] 1 is a diagram showing an outline of a configuration of a first exemplary embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram illustrating an example of a server configuration according to the first embodiment of the present invention. [Diagram 3] 1 is a diagram illustrating an example of a configuration of an information processing apparatus according to a first exemplary embodiment of the present invention. [Figure 4] FIG. 4 is a diagram illustrating an example of an operation flow of a server according to the first exemplary embodiment of the present invention. [Diagram 5] FIG. 2 is a diagram illustrating an example of an operation flow of the information processing apparatus according to the first exemplary embodiment of the present invention. [Figure 6] FIG. 2 is a diagram illustrating an example of an operation flow of the decision tree generation system according to the first exemplary embodiment of the present invention. [Figure 7] FIG. 2 is a diagram illustrating an example of an operation flow of the decision tree generation system according to the first exemplary embodiment of the present invention. [Figure 8] FIG. 2 is a diagram illustrating an example of adjustment of the number of pieces of data in the first embodiment of the present invention. [Figure 9] FIG. 13 is a diagram showing an outline of the configuration of a second exemplary embodiment of the present invention. [Figure 10] FIG. 11 is a diagram illustrating an example of a configuration of an information processing device according to a second exemplary embodiment of the present invention. [Figure 11] FIG. 11 is a diagram illustrating an example of an operation flow of the information processing apparatus according to the second exemplary embodiment of the present invention. [Figure 12] FIG. 11 is a diagram illustrating an example of adjustment of the number of pieces of data in the second embodiment of the present invention. [Figure 13] FIG. 11 is a diagram illustrating an example of adjustment of the number of pieces of data in the second embodiment of the present invention. [Figure 14] FIG. 13 is a diagram illustrating an example of another configuration of the embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] (First embodiment) A first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a diagram showing an outline of the configuration of a decision tree generation system of this embodiment. The decision tree generation system of this embodiment includes a server 10 and a plurality of information processing devices 20. The server 10 and each of the information processing devices 20 are connected via a network. Note that the number of the plurality of information processing devices 20 is not particularly limited and can be appropriately changed as necessary.

[0015] The decision tree generation system is an information processing system in which a server 10 generates a gradient boosting decision tree by associative learning with a plurality of information processing devices 20. In the decision tree generation system, the server 10 operates as a central server, and the information processing devices 20 operate as clients.

[0016] When generating a decision tree, the server 10 outputs candidate conditions for splitting a node to the information processing device 20 and acquires an evaluation result for each condition from each information processing device 20. Each information processing device 20 evaluates each condition using data held by it. The server 10 generates a decision tree based on the evaluation results acquired from each information processing device 20. That is, the server 10 generates a decision tree based on data held by each information processing device 20. Since the server 10 generates a decision tree without acquiring individual data from the information processing device 20, the decision tree generation system can prevent individual data from the information processing device 20 from leaking to the server 10 side.

[0017] The following describes the configuration of the server 10. Fig. 2 is a diagram showing an example of the configuration of the server 10 of this embodiment. The server 10 includes a predicted value calculation unit 11, a division interval determination unit 12, a division candidate determination unit 13, a decision tree generation unit 14, a data acquisition unit 15, a data output unit 16, and a data storage unit 17.

[0018] The prediction value calculation unit 11 acquires, from each information processing device 20, a predetermined statistical value of the objective variable and the number of data used to calculate the predetermined statistical value for the data held by each information processing device 20. The predetermined statistical value is a value calculated as a preset statistical amount for the data that is set as the objective variable among the data held by each information processing device 20.

[0019] When generating a decision tree using a regression model, the predetermined statistical value is, for example, the average value of the objective variable. The predetermined statistical value may be calculated as a statistical amount other than the average value. When generating a decision tree using a classification model, the predetermined statistical value is calculated for each category. A category refers to a classification into which data is classified. The category is set by an operator when generating a decision tree. In the case of binary classification, the prediction value calculation unit 11 calculates the predetermined statistical value by multiplying the weight of the number of data belonging to each category by setting one probability to 0 and the other probability to 1. In the case of three or more values, the prediction value calculation unit 11 divides into the first category and the others, calculates the predetermined statistical value as a binary classification, and calculates the predetermined statistical value by dividing the others in the same way.

[0020] When the prediction value calculation unit 11 acquires the predetermined statistical value and the number of data, it calculates the statistical value for all the information processing devices 20 as the initial value of the prediction value. When generating a decision tree by a regression model, if the predetermined statistical value is an average value, the prediction value calculation unit 11 multiplies the average value for each information processing device 20 by the weight of the number of data, and calculates the average value of the data of all the information processing devices 20. When generating a decision tree by a classification model, the prediction value calculation unit 11 calculates a prediction value for each category. The prediction value calculation unit 11 multiplies the predetermined statistical value for each category acquired from each information processing device 20 by the weight of the number of data held by each information processing device 20, and calculates the average value in all the information processing devices 20. The prediction value calculation unit 11 outputs the average value of the data of all the information processing devices 20 to each information processing device 20 as the initial value of the prediction value via the data output unit 16. A value calculated using a part of the data may be used as the initial value of the prediction value. For example, a predetermined statistical value of the objective variable may be calculated using data held by some of the information processing devices 20 or data managed by an administrator of the server 10, and the calculated predetermined statistical value may be shared between the server 10 and each information processing device 20 as an initial value of the predicted value.

[0021] The division interval determination unit 12 determines the division interval of each feature amount. The division interval determination unit 12 extracts the maximum and minimum values ​​in all information processing devices 20 based on the maximum and minimum values ​​of each feature amount acquired from each information processing device 20 via the data acquisition unit 15. A correction value is added to the maximum and minimum values ​​of each feature amount acquired from each information processing device 20. The correction value is added to the actual maximum and minimum values ​​by each information processing device 20 so that the maximum and minimum values ​​are not leaked to the server 10. The method of adding the correction value will be described later. The division interval determination unit 12 performs processing by regarding the maximum and minimum values ​​to which the correction value is added as the actual maximum and minimum values. The division interval determination unit 12 extracts the data range of each feature amount based on the maximum and minimum values ​​of each feature amount sent from each information processing device 20.

[0022] The division interval determination unit 12 divides the range between the maximum and minimum values ​​for each feature amount in all information processing devices 20 into a preset number of intervals, and calculates the boundary values ​​of the intervals as division points. The division interval determination unit 12 outputs information on the division points to each information processing device 20 via the data output unit 16. The division intervals may be set in advance for each feature amount. For example, the division intervals may be set for each feature amount by an operator, and information on the set division intervals may be shared in advance between the server 10 and each information processing device 20.

[0023] The splitting candidate determination unit 13 determines splitting candidates. Splitting candidates are candidates for splitting conditions of a node when splitting a node into two child nodes when generating a decision tree. Splitting candidates are composed of target features and splitting conditions. In the case of a regression model, the splitting conditions are set by a threshold value for splitting into two child nodes. In the case of a classification model, the splitting conditions are set by attributes assigned to each child node.

[0024] The division candidate determination unit 13 determines division candidates based on information indicating the distribution of data sent from each information processing device 20. The division candidate determination unit 13 acquires information indicating the distribution of data as a histogram based on data for each division section. The division candidate determination unit 13 acquires information indicating the distribution of data as, for example, a histogram of h. h is a value of the second derivative of the loss function. The value of the second derivative of the loss function, h, will be described later. The division candidate determination unit 13 adds up the histograms of h, which are the values ​​of the second derivative of the loss function sent from each information processing device 20, for each division section to generate an overall histogram. After generating the overall histogram, the division candidate determination unit 13 determines division candidates such that the weights of each division section are equal. The weights of each division section are equal as long as they can be considered to be equal, and do not have to be completely equal. The division candidates can be determined using, for example, a weighted quantile sketch algorithm. The division candidate determination unit 13 outputs data of the division candidates to each information processing device 20 via the data output unit 16. The division candidate determination unit 13 outputs target feature quantities and information on the division conditions as data of the division candidates. In the case of a regression model, the division conditions are set using a threshold value, and in the case of a classification model, the division conditions are set using attributes assigned to each category.

[0025] The decision tree generation unit 14 generates a decision tree based on the evaluation results of the division candidates acquired from each information processing device 20. The decision tree generation unit 14 generates a decision tree by selecting a division candidate that maximizes the gain in, for example, the formula shown below as Equation 1 before and after branching a node into child nodes. [Number 1] TIFF0007597230000001.tif12150

[0026] In the formula 1, g i indicates the first derivative of the loss function for the i-th data. Also, h iindicates the value of the first derivative of the loss function for the i-th data. λ and γ are constants. The first item in the parentheses of equation 1 is calculated from the data that will enter the left child node of the left and right child nodes that are created by the split. The second item in the parentheses of equation 1 is calculated from the data that will enter the right child node of the left and right child nodes that are created by the split. Additionally, the third item in the parentheses of equation 1 is calculated from the data before the split.

[0027] Here, the loss function in the regression model is expressed, for example, by the following formula 2. [Number 2] TIFF0007597230000002.tif9150

[0028] In the loss function of Equation 2, the squared error is used as the objective variable. In Equation 2, y i indicates the correct value.

[0029] When we take the first derivative in equation 2, g i = y i -y i (t-1) This is the difference between the correct value and the predicted value from the previous time.

[0030] In addition, when the second derivative is taken in Equation 2, h i = 1 Then, h i The sum of these is the number of data points. Therefore, in the case of a regression model, the histogram of h is a histogram that shows the distribution of the number of data points in each divided interval.

[0031] In the case of a classification model, the decision tree generating unit 14 calculates a loss function using logistic regression. The formula of the loss function in the case of a classification model is shown as, for example, Equation 3 below. [Number 3] TIFF0007597230000003.tif6150

[0032] Furthermore, if we take the first and second derivatives of equation 3, we get the following equations 4 and 5. [Number 4] TIFF0007597230000004.tif10150

[0033] [Number 5] TIFF0007597230000005.tif10150

[0034] In the case of classification, h i does not become 1.

[0035] The data acquiring unit 15 acquires data from each information processing device 20. The data acquiring unit 15 acquires from each information processing device 20 predetermined statistical values ​​of the objective variables, the number of pieces of data, maximum and minimum values ​​of the data, histograms of each divided section h, and evaluation result data.

[0036] The data output unit 16 outputs data to each information processing device 20. The data output unit 16 outputs the initial value of the predicted value, the division points of the feature quantities, the division candidates, and the data of the decision tree of the part that has been generated. When the generation of the decision tree is completed, the data output unit 16 outputs the data of the decision tree to the information processing device 20 or another information processing device connected via a network.

[0037] The data storage unit 17 stores each data used in the process of generating a decision tree. The data storage unit 17 stores data of the decision tree generated by the decision tree generation unit 14. The data storage unit 17 stores data of the initial value of the predicted value calculated by the predicted value calculation unit 11, the division point calculated by the division interval determination unit 12, and the division candidate calculated by the division candidate determination unit 13. The data storage unit 17 also stores data of the predetermined statistical value of the objective variable, the number of data, the maximum and minimum values ​​of the data, the histogram of each division interval, and the evaluation result data acquired by the data acquisition unit 15 from each information processing device 20.

[0038] The following describes the configuration of the information processing device 20. Fig. 3 is a diagram showing an example of the configuration of the information processing device 20 of this embodiment. The information processing device 20 includes a statistical value calculation unit 21, a data range calculation unit 22, a data number calculation unit 23, a data adjustment unit 24, an evaluation unit 25, an acquisition unit 26, an output unit 27, a data generation unit 28, and a storage unit 29.

[0039] The statistical value calculation unit 21 of the information processing device 20 calculates a predetermined statistical value for the stored data. When the decision tree is related to a regression model, the statistical value calculation unit 21 calculates the average value of the objective variable as the predetermined statistical value. When the decision tree is related to a classification model and is a binary classification, the statistical value calculation unit 21 calculates a value weighted by the proportion of the number of data belonging to each of the two values, setting the probability of one of the two values ​​to 0 and the probability of the other to 1, as the predetermined statistical value. When there are three or more values, the statistical value calculation unit 21 divides into a first category and other categories, and calculates statistical values ​​in the same way as in the case of binary classification. The statistical value calculation unit 21 divides the other categories in the same way and calculates statistical values ​​for each category. The statistical value calculation unit 21 outputs the calculated predetermined statistical value and the number of data to the server 10 via the output unit 27.

[0040] The data range calculation unit 22 calculates the range of each feature amount using the stored data. For example, the data range calculation unit 22 extracts the maximum and minimum values ​​of each feature amount using the stored data. The data range calculation unit 22 adds a correction value to the extracted maximum and minimum values. The correction value is added so that the actual values ​​of the maximum and minimum values ​​are not leaked to the server 10.

[0041] The data range calculation unit 22, for example, generates a positive random number value, adds the generated random number value to the maximum value, and calculates the corrected maximum value value, thereby adding a correction value to the maximum value. The data range calculation unit 22 also subtracts a positive random number value from the minimum value, and calculates the corrected minimum value value, thereby adding a correction value to the minimum value. The data range calculation unit 22 generates a positive random number value, for example, using Gaussian noise. The standard deviation of the Gaussian noise is set for each information processing device 20. The data range calculation unit 22 outputs the corrected maximum value and minimum value to the server 10 via the output unit 27. Also, instead of a random number value, a value previously set for each information processing device 20 or a value calculated using a previously set coefficient may be used as the correction value. For example, a plurality of correction values ​​may be set for each information processing device 20, and the correction value may be selected randomly from among the values ​​previously set for each information processing device 20.

[0042] The data number calculation unit 23 generates a histogram based on the distribution of data falling into each divided interval. The data number calculation unit 23 determines which division each piece of data falls into for each feature amount based on the division point information acquired from the server 10 via the acquisition unit 26. The data number calculation unit 23 calculates the sum of h, which is the value of the second derivative of the loss function, for each piece of data falling into each divided interval. The data number calculation unit 23 generates a histogram indicating the distribution of the sum of h for each divided interval as a histogram of h. When generating a decision tree related to a regression model, the generated histogram is a histogram of the number of data falling into each divided interval. The data number calculation unit 23 outputs the generated histogram to the server 10.

[0043] The data adjustment unit 24 adjusts the data that will be entered into each child node resulting from division based on the division candidates. Adjusting the data refers to a process performed to prevent data leakage to the server 10 when the number of data that will be entered into a child node is less than a preset standard. The data adjustment unit 24 adjusts the data of the child node, for example, by supplementing the child node with composite data generated by the data generation unit 28. The data adjustment unit 24 may adjust the data of the child node by replacing the data of the child node with the composite.

[0044] The data adjustment unit 24 calculates the number of pieces of data to be stored in each child node resulting from division based on the division candidates from among the data held by the data adjustment unit 24. When the number of pieces of data to be stored in any child node is less than a preset value, the data adjustment unit 24 adjusts the data so that the number of pieces of data becomes the preset number. The data adjustment unit 24 adjusts the data by using, among the composite data generated by the data generation unit 28, composite data that satisfies the condition of the child node with the smallest number of pieces of data.

[0045] The evaluation unit 25 evaluates the division candidates by calculating evaluation values ​​of the division candidates sent from the server 10. The evaluation unit 25 calculates the values ​​of the first and second derivatives of the loss function shown by the above-mentioned Equation 2 or Equation 3. The evaluation unit 25 also calculates the sum of the first and second derivatives of the loss function for each child node generated by division based on the division candidates. The evaluation unit 25 outputs the values ​​of the sum of the first and second derivatives of the loss function to the server 10 via the output unit 27.

[0046] The acquisition unit 26 acquires each piece of data used in the process of generating a decision tree from the server 10. The acquisition unit 26 acquires from the server 10 the initial value of the predicted value of the objective variable, information on division points indicating division intervals of feature quantities, division candidates, and data on the generated decision tree.

[0047] The output unit 27 outputs each data used in the process related to the generation of a decision tree to the server 10. The output unit 27 outputs to the server 10 predetermined statistical values ​​and the number of pieces of data of the stored data, corrected maximum and minimum values ​​of each feature amount, a histogram of the number of pieces of data for each divided section, and evaluation results of the division candidates.

[0048] The data generating unit 28 generates new data as synthetic data from the stored data using a data generation model. The data generation model is trained in advance using the stored data. The data generation model may be trained in advance using data stored in another information processing device. For example, a CTGAN (Conditional Tabular Generative Adversarial Networks) can be used as the generation model. The generation model is generated by alternately training a generator and a classifier, and training the classifier so that the classifier cannot distinguish the synthetic data created by the generator from the real data. The generation model may be generated using another method as long as it can generate synthetic data included in the data range of the real data. Here, the real data refers to data stored in advance in the information processing device 20.

[0049] The storage unit 29 stores each data used in the process of generating the decision tree. The storage unit 29 stores data used in generating the decision tree. The storage unit 29 also stores the initial value of the predicted value of the objective variable, information on the division points indicating the division intervals of the feature quantities, data on the division candidates and the generated decision tree, which are acquired by the acquisition unit 26 from the server 10. The storage unit 29 also stores predetermined statistical values ​​and the number of data of the data held by each part, corrected maximum and minimum values ​​of each feature quantity, a histogram of h indicating the value of the second derivative of the loss function, and evaluation results of the division candidates.

[0050] The operation of the decision tree generation system of this embodiment will be described. In the following, an example of generating a decision tree using a regression model will be described. Fig. 4 is a diagram showing an example of the operation flow of the server 10. Fig. 5 is a diagram showing an example of the operation flow of the information processing device 20. Figs. 6 and 7 are sequence diagrams showing an example of the operation flow of the decision tree generation system. The numbers of the operation steps in Figs. 4 and 5 correspond to those in Figs. 6 and 7.

[0051] The statistical value calculation unit 21 of each information processing device 20 calculates a predetermined statistical value of the objective variable using the stored data (step S31). If the decision tree is related to a regression model, the statistical value calculation unit 21 calculates the average value of the objective variable as the predetermined statistical value of the objective variable. After calculating the predetermined statistical value, the statistical value calculation unit 21 outputs the calculated predetermined statistical value and the number of data to the server 10 via the output unit 27 (step S31).

[0052] The data acquisition unit 15 of the server 10 acquires a predetermined statistical value of the objective variable and the number of data from the client's information processing device 20 (step S11). After acquiring the statistical value of the objective variable and the number of data, the predicted value calculation unit 11 of the server 10 calculates an initial value of the predicted value of the objective variable from the predetermined statistical value and the number of data (step S12). The predicted value calculation unit 11 calculates the initial value of the predicted value of the objective variable by multiplying the predetermined statistical value of each information processing device 20 by the number of data as a weight and calculating the overall average value. After calculating the predicted value, the predicted value calculation unit 11 outputs the calculated predicted value to each information processing device 20 via the data output unit 16 (step S13).

[0053] The data range calculation unit 22 of the information processing device 20 extracts a maximum value and a minimum value for each feature. The data range calculation unit 22 generates a positive random number value, and adds the generated random number value to the maximum value to calculate a corrected maximum value. The data range calculation unit 22 subtracts the positive random number value from the minimum value to calculate a corrected minimum value (step S33). After calculating the corrected maximum and minimum values, the data range calculation unit 22 outputs the corrected maximum and minimum values ​​to the server 10 via the output unit 27 as the data range of each feature (step S34).

[0054] The data acquisition unit 15 of the server 10 acquires the corrected maximum and minimum values ​​of each feature amount from the client's information processing device 20 as the data range of each feature amount (step S14).

[0055] When the information on the data range of each feature amount is acquired, the division interval determination unit 12 of the server 10 calculates the division points of each feature amount (step S15). The division interval determination unit 12 specifies the data ranges in all information processing devices 20 based on the data ranges sent from each information processing device 20. The division interval determination unit 12 divides the data ranges in all information processing devices 20 for each feature amount into a preset number of intervals, and calculates the boundary values ​​of the intervals as division points. The division interval determination unit 12 outputs information indicating the division points as information on the division intervals to each information processing device 20 via the data output unit 16 (step S15).

[0056] The acquisition unit 26 of the information processing device 20 acquires data of the division points (step S35). When the data of the division points is acquired, the data number calculation unit 23 generates a histogram of h indicating the value of the second derivative of the loss function using the data that falls in each division interval for each feature amount (step S36). When the histogram is generated, the data number calculation unit 23 outputs the generated histogram to the server 10 via the output unit 27 (step S37).

[0057] The data acquisition unit 15 of the server 10 acquires histogram data (step S17). When the histogram data is acquired, the splitting candidate determination unit 13 of the server 10 calculates splitting candidates based on the acquired histogram (step S18). When determining splitting candidates, the splitting candidate determination unit 13 determines candidates for conditions for splitting a node so that the number of data items contained in two child nodes resulting from the splitting are approximately equal. When the splitting candidates are determined, the splitting candidate determination unit 13 outputs the data of the splitting candidates to each information processing device 20 via the data output unit 16 (step S19).

[0058] The acquisition unit 26 of the information processing device 20 acquires the data of the division candidates (step S38). When the data of the division candidates is acquired, the data number calculation unit 23 calculates the number of data to be stored in each child node generated by the division, based on the data of the division candidates (step S39).

[0059] When the number of data items to be stored in any of the child nodes is less than a preset value (No in step S40), data adjustment unit 24 adjusts the data to the preset number of data items using the data generated by data generation unit 28 (step S41). For example, when the preset number is k, if the number of data items to be stored in any of the child nodes is k or less, data adjustment unit 24 supplements the data to be stored in the child nodes having less than k data items using the data generated by data generation unit 28 so that the number of data items becomes k. Data adjustment unit 24 only needs to adjust the number of data items to be k or more, and the number of data items after adjustment may be k+1 or more.

[0060] If the number of data items in any of the child nodes resulting from the division is equal to or greater than k and satisfies the criterion (Yes in step S40), the evaluation unit 25 does not adjust the number of data items.

[0061] After calculating the number of data to be entered into the child node or calculating and adjusting the number of data, the evaluation unit 25 calculates the first derivative value g and the second derivative value h of the loss function. After calculating g and h, the evaluation unit 25 calculates the sum of g and h for the data to be entered into each node (step S42). The evaluation unit 25 outputs the first derivative value and the second derivative value of the loss function to the server 10 via the output unit 27 (step S43). When evaluating the loss function for the first time, the evaluation unit 25 uses the initial predicted value calculated by the server 10 as the previous predicted value.

[0062] The data acquisition unit 15 of the server 10 acquires the sum of g and the sum of h for the division candidates as evaluation results (step S20). When the sum of g and the sum of h for the division candidates are acquired from each information processing device 20 as evaluation results, the decision tree generation unit 14 generates a decision tree by the gradient boosting method based on the evaluation results acquired from each information processing device 20 (step S21).

[0063] When the decision tree is generated, the decision tree generation unit 14 checks whether the termination condition is satisfied (step S22). The decision tree generation unit 14 determines that the termination condition is satisfied when the number of tree layers and leaf nodes satisfy a preset number and the number of generated trees is a preset number. When the termination condition is not satisfied (No in step S23), the server 10 repeats the operation from step S14. When the termination condition is satisfied (Yes in step S23), the decision tree generation unit 14 outputs information indicating that the generation of the decision tree is completed to each information processing device 20 via the data output unit 16, and ends the operation of terminating the decision tree.

[0064] When the generation of the decision tree is completed, the decision tree generation unit 14 stores the data of the generated decision tree in the data storage unit 17. In addition, the data of the generated decision tree is output to an information processing device that uses the data of the decision tree.

[0065] In step S43, after outputting the sum of g and the sum of h of the division candidates, the information processing device 20 checks whether the process of generating the decision tree is complete based on the information sent from the server 10. When the information processing device 20 receives information indicating that the generation of the decision tree is complete (Yes in step S44), it ends the process of generating the decision tree. When the information processing device 20 receives information indicating that the generation of the decision tree is not complete (No in step S44), it repeats the operations from step 33.

[0066] FIG. 8 is a diagram showing a schematic diagram of a method for adjusting data to be entered into a child node generated based on a splitting candidate. FIG. 8(a) shows an example in which one data is entered into the left child node and four data are entered into the right child node. In the state of FIG. 8(a), the evaluation unit 25 calculates the sum of g using only one data, and outputs information on the sum of g together with information that the sum of h is 1 to the server 10. Therefore, the server 10 can obtain the value of g derived from one data. At this time, when other information is added, the server 10 may be able to identify the data that is the source of the value of g.

[0067] On the other hand, in (b) of Fig. 8, three pieces of data generated by the data generation unit 28 are added as composite data to the child node on the left side. In the state of (b) of Fig. 8, the evaluation unit 25 outputs information that the sum of g of the four pieces of data and the sum of h is 4 to the server 10. Therefore, the server 10 cannot identify g of each piece of data. In this way, when the number of pieces of data is small, the composite data generated by the data generation unit 28 is used to supplement the data of the child node with few pieces of data, thereby preventing data leakage.

[0068] In the above description, when the number of data items entering a child node resulting from division is less than a preset reference, an example has been described in which the data items on the child node side, which have less data items than the reference, are supplemented with synthetic data. Instead of such a configuration, the data adjustment unit 24 may adjust the data items on the other child node in addition to the adjustment on the child node side, which has less data items than the reference. For example, when the number of data items on one child node is less than the reference, the data adjustment unit 24 may supplement both child nodes with synthetic data so that the ratio of the number of data items on the two child nodes is the same before and after the supplementation of data. Furthermore, when the number of data items on one child node is less than the reference, the data adjustment unit 24 may supplement the other child node with synthetic data in the same amount as the data supplemented on the child node with the less number of data. Furthermore, when the number of data items on one child node is less than the reference, the data adjustment unit 24 may determine the number of data items to supplement the child nodes based on the ratio of the number of data items on the two child nodes. In this way, by adding synthetic data generated by the data generation unit 28 to both nodes, the effect on the evaluation result due to the addition of synthetic data can be suppressed.

[0069] Furthermore, when the number of data items entering a child node resulting from division is less than a preset standard, the data adjustment unit 24 may replace the data items entering the child node that are less than the standard with synthetic data. By replacing the data items entering the child node that are less than the standard with synthetic data, it is possible to prevent data based on real data from leaking to the server 10.

[0070] In the information processing device 20 of the decision tree generation system of this embodiment, when the number of data items entering a child node resulting from division is less than a preset number, the data processing device 20 adjusts the data using the composite data generated by the data generating unit 28. When the number of data items entering a child node resulting from division is less than a preset number, data leakage may occur due to the characteristics of the data entering the child node. In response to this, the possibility of data leakage can be reduced by adjusting the data and performing processing to prevent data leakage.

[0071] The information processing device 20 transmits the sum of the first-order differentials and the sum of the second-order differentials of the loss function to the server 10 as the evaluation result of the splitting candidate. When the number of data to be entered into the child node is small, for example, when the values ​​of the first-order differentials and the second-order differentials of the loss function calculated using real data are sent to the server 10, the characteristics of the data may be identified from the data sent. In contrast, when the number of data is small, the information processing device 20 can suppress the possibility that the contents of the data will leak to the server 10 by, for example, outputting the result of evaluation using the generated synthetic data to the server 10. In addition, since the decision tree generation system of this embodiment does not perform grouping by clustering, it is possible to flexibly set and evaluate splitting candidates, thereby improving the accuracy of the learning model generated as a decision tree. Therefore, the decision tree generation system of this embodiment can prevent information leakage while maintaining the accuracy of the model.

[0072] When a learning model is generated by the combined learning of a server and a client, if a high level of security is required, the learning model is generated using highly confidential hardware. However, such hardware has a complex configuration and is expensive. On the other hand, the decision tree generation system of this embodiment can prevent data leakage on the server 10 side by adjusting data through software processing in the information processing device 20. Therefore, the decision tree generation system of this embodiment can prevent information leakage without requiring a device with a complex configuration.

[0073] Second embodiment A second embodiment of the present invention will be described in detail with reference to the drawings. Fig. 9 is a diagram showing an outline of the configuration of a decision tree generation system of this embodiment. The decision tree generation system of this embodiment includes a server 10 and a plurality of information processing devices 30. The configuration and functions of the server 10 of this embodiment are similar to those of the server 10 of the first embodiment.

[0074] In the decision tree generation system of the first embodiment, when the number of data items entering any child node is less than a preset number, the client adjusts the number of data items by using data generated by using a data generation model. In contrast to such a configuration, the decision tree generation system of the present embodiment is characterized in that, when the number of data items entering any child node is less than a preset number, the system performs a process of deleting data items entering a child node with a small number of data items.

[0075] The following describes the configuration of the information processing device 30. Fig. 10 is a diagram showing an example of the configuration of the information processing device 30 of this embodiment. The information processing device 30 includes a statistical value calculation unit 21, a data range calculation unit 22, a data number calculation unit 23, a data adjustment unit 31, an evaluation unit 25, an acquisition unit 26, an output unit 27, a data generation unit 28, and a storage unit 29.

[0076] The information processing device 30 differs from the information processing device 20 only in the function of the data adjustment unit 31. In the information processing device 30, the statistical value calculation unit 21, the data range calculation unit 22, the data number calculation unit 23, the evaluation unit 25, the acquisition unit 26, the output unit 27, the data generation unit 28 and the storage unit 29 have the same configurations and functions as the parts of the information processing device 20 having the same names.

[0077] The data adjustment unit 31 adjusts the data entering each child node resulting from the split based on the split candidate. The data adjustment unit 31 adjusts the data entering the child node by deleting data entering the child node or supplementing the child node with synthesized data. The data adjustment unit 31 may adjust the data of the child node by replacing the data of the child node with synthesized data. The data adjustment unit 31 calculates the number of data entering each child node resulting from the split based on the split candidate. When the number of data entering any child node is less than a preset value, the data adjustment unit 31 adjusts the data of the child node with the number of data less than the set number.

[0078] When the number of data items entering a child node resulting from division based on a division candidate is less than m (m is a positive integer), the data adjustment unit 31 deletes data items entering the child node less than m. By deleting the data items, the data items entering the child node with less than m data items become 0. The value of m is set in advance. The value of m is set as a value close to 0, for example, m=1. The value of m may be other than 1. When the number of data items entering any child node is m or more and less than n (n is a positive integer), the data adjustment unit 31 adjusts the data items of the child node using the composite data generated by the data generation unit 28 so that the number of data items in the child node is n or more. That is, assuming that m is the value of the first criterion and n is the value of the second criterion, when the number of data items entering any child node is less than the first criterion, the data adjustment unit 31 deletes data items entering the child node with the number of data items less than the first criterion. In addition, when the number of data items entering any child node is equal to or greater than the first criterion and less than the second criterion, the data adjusting unit 31 adjusts the data by supplementing the child node having the number of data items less than the second criterion with synthetic data.

[0079] The operation of the decision tree generation system of this embodiment will be described below. Fig. 11 is a diagram showing an example of the operation flow of the information processing device 30 of this embodiment. The server 10 performs the same operation as in Fig. 4 of the first embodiment.

[0080] In the decision tree generation system of this embodiment, the operations up to step S39 of the information processing device 30, that is, the operations up to the point where the data number calculation unit 23 calculates the number of data to be put into the child node based on the information of the splitting candidates, are the same as those in the second embodiment. Therefore, the operation of the data adjustment unit 31 from step S51 onwards to adjust the data of the child node will be described first.

[0081] If the calculation result of data number calculation unit 39 shows that the number of data items entering any child node is less than m (Yes in step S51), data adjustment unit 31 adjusts the data of the child node by deleting data items entering the child node with less than m data items (step S52). That is, data adjustment unit 31 sets the number of data items of the child node with less than m data items to 0. At this time, data adjustment unit 31 does not adjust the data of the other child node resulting from the division.

[0082] If the number of data items is m or more but less than n (Yes in step S53), the data adjustment unit 31 adjusts the data of the child node by supplementing the data generated by the data generation unit 28 so that the number of data items is n or more (step S54). The data adjustment unit 31 only needs to adjust the number of data items to n or more, and the number of data items after adjustment may be n+1 or more. When the data of the child node is adjusted in step S52 or step S54, the operations after the calculation of g and h in the evaluation unit 25 in step S42 are performed as in the first embodiment, and the process related to the generation of the decision tree is advanced. Also, in step S53, if the number of data items is n or more, the operations after step S42 are performed.

[0083] In the information processing device 30 of the present embodiment, when the number of data items entering a child node resulting from division is less than a first criterion set in advance, the data entering the child node with the smaller number of data items is deleted. By performing such processing, it is possible to prevent information from being transmitted from the information processing device 30 to the server 10. In addition, when the number of data items entering a child node resulting from division is equal to or greater than the first criterion but is less than the second criterion, the information processing device 30 adjusts the data by increasing the data items using data generated by the data generating unit 28. In this way, the decision tree generation system of the present embodiment can prevent data leakage to the server 10 while maintaining the accuracy of the decision tree by either deleting or supplementing data depending on the number of data items entering the child node.

[0084] Each process in the server 10, the information processing device 20, and the information processing device 30 in each of the above embodiments can be realized by executing a computer program on a computer. Fig. 14 shows an example of the configuration of a computer 200 that executes a computer program that performs each process in the server 10, the information processing device 20, and the information processing device 30. The computer 200 includes a CPU (Central Processing Unit) 201, a memory 202, a storage device 203, an input / output I / F (Interface) 204, and a communication I / F 205.

[0085] The CPU 201 reads out and executes a computer program for performing each process from the storage device 203. The CPU 201 may be configured by a combination of multiple CPUs. The memory 202 is configured by a dynamic random access memory (DRAM) or the like, and temporarily stores the computer program executed by the CPU 201 and data being processed. The storage device 203 stores the computer program executed by the CPU 201. The storage device 203 is configured by, for example, a non-volatile semiconductor storage device. Other storage devices such as a hard disk drive may be used for the storage device 203. The input / output I / F 204 is an interface that receives input from an operator and outputs display data, etc. The communication I / F 205 is an interface that communicates with a server or other information processing devices.

[0086] The computer program used to execute each process may be stored in a recording medium and distributed. As the recording medium, for example, a magnetic disk such as a magnetic tape for recording data or a hard disk may be used. Also, an optical disk such as a CD-ROM (Compact Disc Read Only Memory) may be used as the recording medium. A non-volatile semiconductor memory device may also be used as the recording medium. A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes.

[0087] [Appendix 1] a split candidate determination means for determining candidates for node split conditions as split candidates based on information indicating a distribution of data acquired from each of the plurality of information processing devices when generating a gradient boosting decision tree in cooperation with the plurality of information processing devices; a data output means for outputting the division candidates to the plurality of information processing devices; a data acquisition means for acquiring, from the plurality of information processing devices, an evaluation result obtained by evaluating the division candidates by adjusting data to be included in child nodes resulting from division based on the division candidates; a decision tree generating means for generating the gradient boosting decision tree based on the evaluation results of the division candidates acquired from the plurality of information processing devices; A server comprising: an acquisition means for acquiring candidates for node division conditions from the server as the division candidates; a data number calculation means for calculating the number of data items to be stored in each of two child nodes resulting from the division based on the division candidate, from among the stored data items; an adjusting means for adjusting data to be input to the child node when the number of data to be input to the child node is less than a predetermined number; evaluation means for evaluating the split candidates using the adjusted data of the two child nodes; an output means for outputting the evaluation result of the division candidates to the server; A plurality of information processing devices comprising: A decision tree generation system comprising:

[0088] [Appendix 2] The information processing device includes: The method further comprises: generating synthetic data using a generation model that generates synthetic data from stored data; the adjustment means adjusts the data of the child node by the composite data when the number of data items to be included in the child node resulting from the division based on the division candidate is smaller than a predetermined number. 2. The decision tree generation system of claim 1.

[0089] [Appendix 3] the adjustment means, when the number of data entering any child node is less than a first criterion, deletes data entering the child node having a number less than the first criterion, and when the number is equal to or greater than the first criterion and less than a second criterion, adjusts the data of the child node using the composite data; 3. The decision tree generation system of claim 2.

[0090] [Appendix 4] the adjustment means adjusts data entering one of the child nodes by the composite data so that a ratio of the number of pieces of data of the two child nodes is maintained when the data entering the other child node is adjusted; 4. The decision tree generation system of claim 2 or 3.

[0091] [Appendix 5] The adjustment means adjusts the division candidates base If the number of data items that will be included in the child node resulting from the division is less than a predetermined number, delete the data items that will be included in the child node with fewer data items than the predetermined number. 2. The decision tree generation system of claim 1.

[0092] [Appendix 6] An acquisition means for acquiring candidates for node split conditions as split candidates from a server that generates a gradient boosting decision tree; a data number calculation means for calculating the number of data items to be stored in each of two child nodes resulting from the division based on the division candidate, from among the stored data items; an adjustment means for adjusting data to be entered into a child node generated by the division based on the division candidate when the number of data to be entered into the child node is smaller than a predetermined number; evaluation means for evaluating the split candidates using the adjusted data of the two child nodes; an output means for outputting the evaluation result of the division candidates to the server; An information processing device comprising:

[0093] [Appendix 7] The apparatus further comprises a data generating means for generating synthetic data from the stored data, The adjustment means adjusts the data of the child node by the composite data when the number of data items to be included in the child node resulting from the division based on the division candidate is smaller than a predetermined number. 7. The information processing device according to claim 6.

[0094] [Appendix 8] the adjustment means, when the number of data entering any child node is less than a first criterion, deletes data entering the child node having a number less than the first criterion, and when the number is equal to or greater than the first criterion and less than a second criterion, adjusts the data of the child node by the composite data; 8. The information processing device according to claim 7.

[0095] [Appendix 9] the adjustment means adjusts data entering one of the child nodes by the composite data so that a ratio of the number of pieces of data of the two child nodes is maintained when the data entering the other child node is adjusted; 9. The information processing device according to claim 7 or 8.

[0096] [Appendix 10] when the number of data items to be included in a child node resulting from the division based on the division candidate is less than a predetermined number, the adjustment means deletes data items to be included in the child node having a number of data items less than the predetermined number. 7. The information processing device according to claim 6.

[0097] [Appendix 11] a split candidate determination means for determining candidates for node split conditions as split candidates based on information indicating a distribution of data acquired from a plurality of information processing devices when generating a gradient boosting decision tree in cooperation with the plurality of information processing devices; a data output means for outputting the division candidates to the plurality of information processing devices; a data acquisition means for acquiring, from the plurality of information processing devices, an evaluation result obtained by evaluating the division candidates by adjusting data to be included in child nodes resulting from division based on the division candidates; a decision tree generating means for generating a gradient boosting decision tree based on the evaluation results of the division candidates acquired from the plurality of information processing devices; Equipped with The data output means outputs data of the generated gradient boosting decision tree. server.

[0098] [Appendix 12] the division candidate determination means divides each feature amount at a plurality of division points, and determines the division candidates based on a histogram obtained by adding together histograms of data included in each interval acquired from the plurality of information processing devices, so that weights of all intervals are equal. 12. The server described in Appendix 11.

[0099] [Appendix 13] the division candidate determination means extracts a maximum value and a minimum value from all the data based on the maximum value and minimum value data of each feature amount acquired from the plurality of information processing devices, and divides the range between the maximum value and the minimum value from all the extracted data into a predetermined number of intervals to determine the plurality of division points; 13. A server as described in claim 11 or 12.

[0100] [Appendix 14] Obtain candidates for node splitting conditions as splitting candidates from a server that generates gradient boosting decision trees; Calculate the number of data items that will be included in each of two child nodes that will be generated by the division based on the division candidate, among the data items held; If the number of data items to be included in a child node resulting from the division based on the division candidate is less than a predetermined number, adjusting the data items to be included in the child node; evaluating the split candidates using the adjusted data of the two child nodes; and outputting the evaluation result of the division candidates to the server; Decision tree generation method.

[0101] [Appendix 15] When generating a gradient boosting decision tree in cooperation with a plurality of information processing devices, determining candidates for node split conditions as split candidates based on information indicating a distribution of data acquired from the plurality of information processing devices; outputting the division candidates to the plurality of information processing devices; acquiring, from the plurality of information processing devices, an evaluation result obtained by evaluating the division candidates by adjusting data to be included in child nodes resulting from division based on the division candidates; generating a gradient boosting decision tree based on the evaluation results of the division candidates acquired from the plurality of information processing devices; Outputting data of the generated gradient boosting decision tree. Decision tree generation method.

[0102] [Appendix 16] A process of acquiring candidates for node splitting conditions as splitting candidates from a server that generates a gradient boosting decision tree; A process of calculating the number of data items to be stored in each of two child nodes resulting from the division based on the division candidate, out of the stored data items; If the number of data items to be included in a child node resulting from the division based on the division candidates is less than a predetermined number, a process of adjusting the data items to be included in the child node; evaluating the split candidates using the adjusted data of the two child nodes; A process of outputting the evaluation result of the division candidates to the server; A program recording medium on which a program for causing a computer to execute the above is recorded.

[0103] [Appendix 17] A process of determining candidates for node split conditions as split candidates based on information indicating a distribution of data acquired from a plurality of information processing devices when generating a gradient boosting decision tree in cooperation with the plurality of information processing devices; A process of outputting the division candidates to the plurality of information processing devices; A process of acquiring, from the plurality of information processing devices, an evaluation result obtained by evaluating the division candidates by adjusting data to be included in child nodes resulting from division based on the division candidates; A process of generating a gradient boosting decision tree based on the evaluation results of the split candidates acquired from the plurality of information processing devices; A process of outputting data of the generated gradient boosting decision tree; A program recording medium on which a program for causing a computer to execute the above is recorded.

[0104] The present invention has been described above using the above-mentioned embodiment as an example. However, the present invention is not limited to the above-mentioned embodiment. That is, the present invention can be applied in various aspects that can be understood by a person skilled in the art within the scope of the present invention. [Explanation of symbols]

[0105] 10 Server 11 Prediction value calculation section 12 Division section determination section 13 Division Candidate Determination Unit 14 Decision tree generator 15 Data Acquisition Section 16 Data output section 17 Data storage section 20 Information processing device 21 Statistical Value Calculation Section 22 Data Range Calculation Section 23 Data Count Calculation Department 24 Data Adjustment Department 25 Evaluation Section 26 Acquisition Department 27 Output section 28 Data Generation Division 29 Memory section 30 Information processing device 31 Data Adjustment Department 200 Computers 201 CPU 202 Memory 203 Storage device 204 Input / Output Interface 205 Communication I / F

Claims

1. a split candidate determination means for determining candidates for node split conditions as split candidates based on information indicating a distribution of data acquired from each of the plurality of information processing devices when generating a gradient boosting decision tree in cooperation with the plurality of information processing devices; a data output means for outputting the division candidates to the plurality of information processing devices; a data acquisition means for acquiring, from the plurality of information processing devices, an evaluation result obtained by evaluating the division candidates by adjusting the number of data items to be included in child nodes resulting from division based on the division candidates; a decision tree generating means for generating the gradient boosting decision tree based on the evaluation results of the division candidates acquired from the plurality of information processing devices; A server comprising: an acquisition means for acquiring candidates for node division conditions from the server as the division candidates; a data number calculation means for calculating the number of data items to be stored in each of two child nodes resulting from the division based on the division candidate, from among the stored data items; an adjusting means for adjusting data to be input to the child node when the number of data to be input to the child node is less than a predetermined number; an evaluation means for evaluating the split candidates using the adjusted data of the two child nodes; an output means for outputting the evaluation result of the division candidates to the server; A plurality of information processing devices comprising: A decision tree generation system comprising:

2. The information processing device includes: The method further comprises: generating synthetic data using a generation model that generates synthetic data from stored data; the adjustment means adjusts the data of the child node by the composite data when the number of data items to be included in the child node resulting from the division based on the division candidate is smaller than a predetermined number. The decision tree generation system according to claim 1 .

3. the adjustment means, when the number of data entering any child node is less than a first criterion, deletes data entering the child node having a number less than the first criterion, and when the number is equal to or greater than the first criterion and less than a second criterion, adjusts the data of the child node using the composite data. The decision tree generation system according to claim 2 .

4. the adjustment means adjusts data entering one of the child nodes by the composite data so that a ratio of the number of pieces of data of the two child nodes is maintained when the data entering the other child node is adjusted; The decision tree generation system according to claim 2 or 3.

5. An acquisition means for acquiring candidates for node split conditions as split candidates from a server that generates a gradient boosting decision tree; a data number calculation means for calculating the number of data items to be stored in each of two child nodes resulting from the division based on the division candidate, from among the stored data items; an adjustment means for adjusting data to be entered into a child node generated by the division based on the division candidate when the number of data to be entered into the child node is smaller than a predetermined number; an evaluation means for evaluating the split candidates using the adjusted data of the two child nodes; an output means for outputting the evaluation result of the division candidates to the server; An information processing device comprising:

6. a split candidate determination means for determining candidates for node split conditions as split candidates based on information indicating a distribution of data acquired from a plurality of information processing devices when generating a gradient boosting decision tree in cooperation with the plurality of information processing devices; a data output means for outputting the division candidates to the plurality of information processing devices; a data acquisition means for acquiring, from the plurality of information processing devices, an evaluation result obtained by evaluating the division candidates by adjusting data to be included in child nodes resulting from division based on the division candidates; a decision tree generating means for generating a gradient boosting decision tree based on the evaluation results of the division candidates acquired from the plurality of information processing devices; Equipped with The data output means outputs data of the generated gradient boosting decision tree. server.

7. Obtain candidates for node splitting conditions as splitting candidates from a server that generates gradient boosting decision trees; Calculate the number of data items that will be included in each of two child nodes that will be generated by the division based on the division candidate, out of the data items held; If the number of data items to be included in a child node resulting from the division based on the division candidate is less than a predetermined number, adjusting the data items to be included in the child node; evaluating the split candidates using the adjusted data of the two child nodes; outputting the evaluation result of the division candidates to the server; Decision tree generation method.

8. When generating a gradient boosting decision tree in cooperation with a plurality of information processing devices, determining candidates for node split conditions as split candidates based on information indicating a distribution of data acquired from the plurality of information processing devices; outputting the division candidates to the plurality of information processing devices; acquiring, from the plurality of information processing devices, an evaluation result obtained by evaluating the division candidates by adjusting data to be included in child nodes resulting from division based on the division candidates; generating a gradient boosting decision tree based on the evaluation results of the division candidates acquired from the plurality of information processing devices; Outputting data of the generated gradient boosting decision tree. Decision tree generation method.

9. A process of acquiring candidates for node splitting conditions as splitting candidates from a server that generates a gradient boosting decision tree; A process of calculating the number of data items to be stored in each of two child nodes resulting from the division based on the division candidate, out of the stored data items; If the number of data items to be included in a child node resulting from the division based on the division candidates is less than a predetermined number, a process of adjusting the data items to be included in the child node; evaluating the split candidates using the adjusted data of the two child nodes; A process of outputting the evaluation result of the division candidates to the server; A program that causes a computer to execute the following.

10. A process of determining candidates for node split conditions as split candidates based on information indicating a distribution of data acquired from a plurality of information processing devices when generating a gradient boosting decision tree in cooperation with the plurality of information processing devices; A process of outputting the division candidates to the plurality of information processing devices; Data to be included in child nodes resulting from division based on the division candidates A process of acquiring an evaluation result of evaluating the division candidates by adjusting the above from the plurality of information processing devices; A process of generating a gradient boosting decision tree based on the evaluation results of the split candidates acquired from the plurality of information processing devices; A process of outputting data of the generated gradient boosting decision tree; A program that causes a computer to execute the following.

Citation Information

Patent Citations

  • Categorical feature enhancement mechanism for gradient boosting decision tree

    US20200293952A1

  • Machine learning system and method, integration server, information processing device, program, and inference model creation method

    WO2021079792A1