Method and device for determining effective value of service data characteristics to control communication volume
Under the multi-party security calculation framework, the joint data sharding and predicted value data of multiple participants are used to determine the valid values of feature items, and the problem of redundant information in multi-dimensional feature data is solved, and efficient feature dimensionality reduction processing is achieved , while ensuring the privacy and security of data.
Patent Information
- Application Number
- CN202110580162.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-26
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2041-05-26
AI Technical Summary
In machine learning, there is redundant information in multi-dimensional feature data, which affects the model effect and stability, and it is difficult for the prior art to efficiently determine the valid feature value while ensuring data privacy.
Under the framework of multi-party security calculation, the joint data sharding and predicted value data of multiple participants are used to determine the correlation data between feature items, and the significant detection method is used to determine the valid value of feature items, thereby reducing the value of the feature items. Dimensional processing.
Without leaking private data, the processing efficiency of determining characteristic effective value is improved, the amount of interactive data in the multi-party security calculation process is reduced, the overall processing efficiency is improved, and the privacy and security of data are ensured.
Smart Images

Figure CN113407988B_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of the present specification relate to the field of data security technology, and in particular, to a method and device for determining effective values of service data characteristics to control communication volume. Background Art
[0002] The data required for machine learning often involves multiple platforms and multiple fields. For example, in the merchant classification analysis scenario based on machine learning, the electronic payment platform has the merchant's transaction flow data, the e-commerce platform stores the merchant's sales data, and the banking institution has the merchant's loan data. In order to improve services, multiple parties often work together to train business prediction models while ensuring the privacy and security of business data.
[0003] As the amount of data increases, the feature dimensions of the data also become larger and larger. These multidimensional feature data often contain some redundant information, which may affect the effect of machine learning and reduce the stability of the model. Therefore, according to the feature effectiveness, the multidimensional feature data can be reduced in dimension, and the redundant features that are not significant in improving the model performance can be removed without losing as much information as possible, and converted into low-dimensional features.
[0004] Therefore, it is hoped that there will be an improved solution that can improve the processing efficiency as much as possible in the process of determining the effective value of the feature while ensuring data privacy. Summary of the invention
[0005] One or more embodiments of this specification describe a method and device for determining effective values of service data characteristics for controlling communication volume, which can determine effective values of characteristic items for service data distributed among multiple parties without leaking privacy data, and improve processing efficiency. The specific technical solution is as follows.
[0006] In a first aspect, an embodiment provides a method for determining effective values of service data characteristics for controlling communication volume, wherein the service data is distributed among multiple participants, and the service data of the multiple participants constitute joint data under the assumption of splicing, and the joint data includes feature values of multiple objects for multiple feature items; the method is executed by any first participant device, and includes:
[0007] Acquire the joint data slices of the first participant, acquire the predicted value slices corresponding to the multiple objects, and acquire the model parameter slices corresponding to the multiple feature items; the predicted value slices and the model parameter slices are obtained based on the trained business prediction model;
[0008] Reconstructing complete prediction value data in the selected participant device by using a plurality of prediction value slices through transmission of the prediction value slices between the participant device and the selected participant device;
[0009] By using multi-party secure computing, through the interaction between the devices of multiple participants, based on the joint data shards of the multiple participants and the predicted value data of the selected participant, the correlation data shards corresponding to the multiple participants are determined, including the correlation data between the multiple feature items;
[0010] A significance test method is adopted, through secure interaction between multiple participating devices, based on the model parameter shards of multiple participating parties and the corresponding data in the correlation data shards, to determine the effective value of the feature item corresponding to the model parameter in improving the effect of the business prediction model.
[0011] In one implementation, the step of obtaining the joint data shard of the first participant includes:
[0012] By adopting secret sharing addition, through interaction with other participants' devices, splitting and splicing operations are performed based on the business data of multiple participants, so that multiple participants can obtain joint data slices respectively; the joint data slices of multiple participants obtain the joint data under the assumption of reconstruction.
[0013] In one embodiment, the business prediction model is obtained by performing secure joint training based on joint data slices of multiple participants; the business prediction model is used to perform business prediction on an object.
[0014] In one embodiment, the step of obtaining predicted value slices corresponding to a plurality of objects and model parameter slices corresponding to a plurality of feature items includes:
[0015] Obtaining a model parameter shard of the trained business prediction model locally on the first participant device;
[0016] Through the interaction of multiple participants, based on the joint data shards of the multiple participants and the trained business prediction model, the multiple participants are respectively enabled to determine the prediction value shards of the object.
[0017] In one embodiment, the selected participants include participants who have label data; and the step of reconstructing complete prediction value data includes:
[0018] When the first participant is not a selected participant, sending its own predicted value slice to the selected participant device, so that the selected participant device reconstructs complete predicted value data using multiple predicted value slices;
[0019] When the first participant is the selected participant, it receives the predicted value slices sent by other participants, reconstructs its own predicted value slices and the received predicted value slices to obtain complete predicted value data.
[0020] In one embodiment, the correlation data includes covariance matrix data, and the correlation data slices include covariance matrix slices;
[0021] The step of determining the relevant data fragments corresponding to the multiple participants respectively includes:
[0022] Based on the joint data slices of the multiple participants and the predicted value data of the selected participant, and the functional relationship in the business prediction model, determine the intermediate matrix slices corresponding to the multiple participants respectively;
[0023] Based on the intermediate matrix slices of multiple participants, the slices of the inverse intermediate matrices corresponding to the multiple participants are calculated to obtain the covariance matrix slices corresponding to the multiple participants.
[0024] In one implementation, the step of determining the intermediate matrix slices corresponding to the multiple participants respectively includes:
[0025] According to the assumed splicing relationship of the business data of multiple participants, the Hessian matrix expression obtained based on the functional relationship in the business prediction model is divided into multiple blocks; the Hessian matrix expression includes joint data and predicted value data;
[0026] According to the participant data associated with the multiple blocks, the joint data slices of the multiple participants and the corresponding data in the predicted value data of the selected participant are utilized to enable the multiple participants to respectively determine the data slices of the multiple blocks, and based on the data slices of the blocks, respectively determine the corresponding Hessian matrix slices as intermediate matrix slices.
[0027] In one embodiment, the business data of any participant includes characteristic values of some characteristic items of all objects;
[0028] The step of dividing the Hessian matrix expression obtained based on the functional relationship in the business prediction model into a plurality of blocks comprises:
[0029] Dividing the Hessian matrix expression into a first block associated with the data of the selected participant and a second block associated with a plurality of participants;
[0030] The step of enabling multiple participants to respectively determine multiple block data slices, and respectively determining corresponding Hessian matrix slices based on the block data slices includes:
[0031] When the first participant is a selected participant, the data slices of the first block are determined by using its own joint data slices and the predicted value data; when the first participant is not a selected participant, a value of 0 is filled into the first block to obtain its data slices;
[0032] Determine data shards of the second block corresponding to the plurality of participants by using the joint data shards of the plurality of participants and corresponding data in the predicted value data of the selected participant by using secret sharing matrix multiplication SMM through interaction between the plurality of participants;
[0033] The data slices of the first block and the data slices of the second block of the first participant are concatenated to obtain the Hessian matrix slices of the first participant.
[0034] In one embodiment, the business data of any participant includes characteristic values of all characteristic items of a part of the objects;
[0035] The step of dividing the Hessian matrix expression obtained based on the functional relationship in the business prediction model into a plurality of blocks comprises: dividing the Hessian matrix expression into a plurality of blocks respectively associated with data of a plurality of participants;
[0036] The step of enabling multiple participants to respectively determine multiple block data slices, and respectively determining corresponding Hessian matrix slices based on the block data slices includes:
[0037] Determine the data shards of the blocks associated with the data of the first participant by using the joint data shards and the predicted value data of the first participant, and fill the blocks associated with the data of other participants with 0 values to obtain their data shards;
[0038] The data slices of the multiple blocks are spliced together to obtain the Hessian matrix slices of the first participant.
[0039] In one embodiment, the step of calculating the slices of the intermediate matrix inverse corresponding to the multiple participants respectively based on the intermediate matrix slices of the multiple participants to obtain the covariance matrix slices corresponding to the multiple participants respectively includes:
[0040] The secret sharing matrix inversion algorithm SMI is used to obtain the covariance matrix slices corresponding to multiple participants through iterative calculation based on the intermediate matrix slices of multiple participants.
[0041] In one embodiment, the step of determining the effective value of the feature item corresponding to the model parameter in improving the effect of the business prediction model includes:
[0042] The diagonal elements in the covariance matrix slices of multiple participants are used as variance slices corresponding to multiple model parameters respectively;
[0043] For any model parameter, the secret shared square root inverse algorithm SNSI and the significance test method are used. Based on the corresponding model parameter shards of the first participant and the corresponding variance shards of multiple participants, through the interaction between the devices of multiple participants, a secure square root inverse operation is jointly performed to determine the significance test value shard of the first participant for the model parameter; based on the significance test value shards of the model parameter by multiple participants, the effective value of the characteristic item corresponding to the model parameter is determined.
[0044] In one embodiment, the method further comprises:
[0045] For any first feature item, obtain a valid value slice of the first feature item from other participant devices;
[0046] Based on the local effective value slices and the acquired effective value slices of the first feature item, a reconstructed effective value of the first feature item is determined.
[0047] In one embodiment, the method further comprises:
[0048] Based on the effective value, feature items whose effective values do not meet preset conditions are removed from multiple feature items, so that multiple participants use the business data after removing the feature items to perform security joint training on the business prediction model.
[0049] In one embodiment, the object includes one of a user, a commodity, and an event; the feature item includes at least one of the following: basic attribute information, association relationship information, interaction information, and historical behavior information; and the business prediction model is used to perform business prediction on the object.
[0050] In one embodiment, the business prediction model is obtained based on a logistic regression model.
[0051] In a second aspect, an embodiment provides a device for controlling communication volume and determining effective values of service data characteristics, wherein the service data is distributed among multiple participants, and the service data of the multiple participants constitute joint data under the assumption of splicing, and the joint data includes feature values of multiple objects for multiple feature items; the device is deployed in any first participant device, and includes:
[0052] An acquisition module is configured to acquire the joint data slices of the first participant, acquire the prediction value slices corresponding to the multiple objects, and acquire the model parameter slices corresponding to the multiple feature items; the prediction value slices and the model parameter slices are obtained based on the trained business prediction model;
[0053] A reconstruction module configured to reconstruct complete prediction value data using a plurality of prediction value slices in the selected participant device through transmission of the prediction value slices between the participant device and the selected participant device;
[0054] The interaction module is configured to determine, by using multi-party secure computing and through interaction between devices of multiple participants, the correlation data shards corresponding to the multiple participants respectively based on the joint data shards of the multiple participants and the predicted value data of the selected participant, including the correlation data between the multiple feature items;
[0055] The verification module is configured to adopt a significance test method, through secure interaction between multiple participating devices, based on the model parameter shards of multiple participating parties and the corresponding data in the correlation data shards, to determine the effective value of the feature items corresponding to the model parameters in improving the effect of the business prediction model.
[0056] In one implementation, when the acquisition module acquires the joint data shard of the first participant, it includes:
[0057] By adopting secret sharing addition, through interaction with other participants' devices, splitting and splicing operations are performed based on the business data of multiple participants, so that multiple participants can obtain joint data slices respectively; the joint data slices of multiple participants obtain the joint data under the assumption of reconstruction.
[0058] In one implementation, the selected participants include participants who have tag data; the reconstruction module is specifically configured as follows:
[0059] When the first participant is not a selected participant, sending its own predicted value slice to the selected participant device, so that the selected participant device reconstructs complete predicted value data using multiple predicted value slices;
[0060] When the first participant is the selected participant, it receives the predicted value slices sent by other participants, reconstructs its own predicted value slices and the received predicted value slices to obtain complete predicted value data.
[0061] In one embodiment, the correlation data includes covariance matrix data, and the correlation data slices include covariance matrix slices;
[0062] The interaction module comprises:
[0063] A determination submodule is configured to determine the intermediate matrix slices corresponding to the plurality of participants respectively based on the joint data slices of the plurality of participants and the predicted value data of the selected participant, and the functional relationship in the business prediction model;
[0064] The calculation submodule is configured to calculate the slices of the inverse of the intermediate matrix corresponding to the multiple participants respectively based on the slices of the intermediate matrix of the multiple participants, so as to obtain the slices of the covariance matrix corresponding to the multiple participants respectively.
[0065] In a third aspect, an embodiment provides a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute any one of the methods described in the first aspect.
[0066] In a fourth aspect, an embodiment provides a computing device, comprising a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method described in any one of the first aspects is implemented.
[0067] The method and device provided in the embodiments of this specification, through the interaction between multiple participants, based on the joint data shards and predicted value data of the selected participants, and the joint data shards and predicted value shards of other participants, use multi-party secure computing to enable multiple participants to obtain correlation data shards, and then use model parameter shards and correlation data shards to determine the effect value of feature items in improving model effects. Multiple participants use joint data shards to perform multi-party secure computing, and the correlation data obtained is also a data shard. The model parameter shards are also used when calculating the effective value. The use of data shards to determine the effective value can better protect data privacy from being leaked, and improve the privacy and security of data during the processing process. At the same time, reconstructing the predicted value data can greatly reduce the amount of interactive data in the multi-party secure computing process, thereby improving the efficiency of the overall processing process. BRIEF DESCRIPTION OF THE DRAWINGS
[0068] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0069] Figure 1 A schematic diagram of an implementation scenario of an embodiment disclosed in this specification;
[0070] Figure 2 A flow chart of a method for determining a valid value of a service data feature for controlling communication volume provided in this embodiment;
[0071] Figure 3 A schematic diagram of a calculation process of secret sharing matrix multiplication application in this embodiment;
[0072] Figure 4A schematic block diagram of a device for determining effective values of service data characteristics for controlling communication volume provided in an embodiment. DETAILED DESCRIPTION
[0073] The solution provided in this specification is described below in conjunction with the accompanying drawings.
[0074] Figure 1 This is a schematic diagram of an implementation scenario of an embodiment disclosed in this specification. Figure 1 As shown, in a shared learning scenario, a data set is jointly provided by multiple participants 1, 2, ..., W (W is a natural number), and each participant owns a portion of the data in the data set, which constitutes the business data of the participant (i.e., the original matrix). The data set can be a training data set for training a model, a test data set for testing a model, or a data set to be predicted. The data set may include feature data of an object, and the object may be one of various business objects to be analyzed, such as users, commodities, events, etc. The above-mentioned model may include a business prediction model trained by machine learning.
[0075] There are at least two data distributions in the dataset. One distribution is that each participant has different feature data for all objects. For example, each participant has samples of the same N objects, and the privacy data of each sample contains D features. These features are distributed among W participants, and each participant has D / W features. For another example, two platforms have the same group of users, but the user features in their business data are different. Each participant has different types of features, and the number of features they have can be the same (for example, each has D / W features) or different. N, D, and W are all natural numbers. This is a scenario where the data in the dataset is vertically segmented. Table 1 shows the business data distribution of the data vertical segmentation scenario.
[0076] Table 1
[0077]
[0078] Among them, xx represents a specific feature value, which belongs to the private data of the participant. Each row in Table 1 represents a sample data, and each column represents the feature value of a feature item of N objects. The D feature items belong to W participants. The feature values of the D feature items of N objects constitute the entire business data.
[0079] Another distribution is that each participant has all the feature data of different objects. For example, there are N samples of objects in total, and the business data of each sample contains D feature items. These N business data are distributed among W participants, and each participant has a part of the total N samples, and each sample contains the same feature items. The number of object samples stored by different participants can be the same or different. For another example, there are two banks that serve different user groups, but they both have the same user credit characteristics. This is a scenario of horizontal data segmentation in the data set. Table 2 shows the business data distribution of the data horizontal segmentation scenario.
[0080] Table 2
[0081]
[0082]
[0083] Among them, xx represents a specific feature value, which belongs to the private data of the participant. Each row in Table 2 represents a sample data, and each column represents the feature value of a feature item of N objects. The N sample data belong to W participants. Different participants have different object samples. The feature values of D feature items of N objects constitute all the business data.
[0084] The business data owned by the participants may include multiple feature items. The feature items of the object may include at least one of the following: basic attribute information, association information, interaction information, historical behavior information, etc. of the object. For example, when the object is a user, its basic attribute information may include the user's gender, age, income, etc., the user's association information may include other users, companies, regions, etc. with which the user has an association relationship, the user's interaction information may include information such as the user's clicks, views, and participation in certain activities on a certain website, and the user's historical behavior information may include the user's historical transaction behavior, payment behavior, purchase behavior, etc.
[0085] When the object is a commodity, its basic attribute information may include the category, origin, price, etc. of the commodity; the commodity's association information may include users, shops or other commodities that have an association relationship with the commodity; the commodity's interaction information may include the interaction features between users, shops and the commodity; the commodity's historical behavior information may include information on the commodity being purchased, transferred, returned, etc.
[0086] When the object is an event, the event may include transaction events, login events, purchase events, social events, etc. The basic attribute information of the event may be text information used to describe the event, the association information may include text that is contextually related to the event, other event information that is associated with the event, etc., and the historical behavior information may include record information of the development and changes of the event in the time dimension, etc.
[0087] Each participant can correspond to a different service platform, which can include various enterprises, institutions, organizations, etc. Business data is often the private data of the service platform, and requires high privacy and security during the processing process. Regardless of the data distribution method, the eigenvalues (i.e., eigendata) corresponding to the feature items of the object are private data and can be stored as a private data matrix. For the security of private data, each participant needs to keep its private data locally, not output plaintext data, and not perform plaintext aggregation.
[0088] In order to protect the privacy data of each participant from being leaked, in one embodiment, each participant can adopt a multi-party secure computing method, use its own predicted value and original matrix, and interact with a third party to enable the third party to obtain covariance matrix data that can represent the correlation data between multiple feature items. The third party uses the covariance matrix data and model parameters and adopts a significance test method to determine the effective value of the feature items corresponding to the model parameters in improving the effect of the business prediction model.
[0089] Since the covariance matrix data contains certain privacy data, further improvement on it can improve the security of privacy data. In another implementation, no third party may be used, but only between multiple participants, based on multi-party secure computing, and various data slices are used to determine the relevant data slices, and then determine the validity of the feature items.
[0090] When processed in the above manner, since the data exists in the form of data shards among multiple participants, multiple participants need to perform a large amount of data interaction when using multi-party secure computing to determine relevant data shards. Although this can maximize the security of private data, the processing efficiency is very low.
[0091] In order to balance the ratio between processing efficiency and privacy protection, that is, to improve processing efficiency and appropriately reduce the requirements for privacy protection when permitted, the embodiments of this specification provide corresponding implementation plans. Figure 1In the embodiments of the present specification, each participant stores its own data shards, including its own joint data shards, predicted value shards corresponding to multiple objects, and model parameter shards corresponding to multiple features, etc. The selected participant device reconstructs the complete predicted value data using the predicted value shards of multiple participants, and the multiple participant devices interact based on multi-party secure computing. The joint data shards and the predicted value data of the selected participant are used to determine the correlation data shards corresponding to the multiple participants, and the correlation data shards include correlation data between multiple feature items. Each participant uses a significance test method to determine the effective value of the feature item in improving the effect of the business prediction model based on the corresponding data in the model parameter shards and the correlation data shards of the multiple participants through secure interactions between the multiple participant devices.
[0092] In this embodiment, multiple participants use joint data sharding to perform multi-party secure computing, and the obtained correlation data is also sharding, and the model parameter sharding is also used to calculate the effective value. In this process, joint data, correlation data, model parameters and other data containing important privacy are all represented by sharding, and data reconstruction is not performed, which can better protect data privacy from leakage. And using the selected participants to reconstruct the predicted value data can well reduce the amount of interactive data in the multi-party secure computing process, realize the control of the communication volume between the participants, and improve the overall processing efficiency. In this way, the purpose of balancing privacy protection and processing efficiency is achieved.
[0093] In this specification, multiple participants have corresponding participant devices, and use the corresponding participant devices to perform the operations in the embodiments of this specification. The participant devices include but are not limited to any device, equipment, platform, device cluster, etc. with computing and processing capabilities. The embodiments of the present invention are described below in conjunction with specific embodiments.
[0094] Figure 2 A flow chart of a method for determining the effective value of business data characteristics for controlling communication volume provided in this embodiment. Business data is distributed among multiple participants, and the business data of each of the multiple participants constitutes joint data under the assumption of splicing. The business data of the participants is highly private privacy data. The business data will not be sent in plain text between multiple participants, nor will the business data be truly spliced to form joint data. Joint data is only a data set composed of the business data of multiple participants under hypothetical circumstances. For example, Table 1 and Table 2 above are the specific forms of joint data in the scenarios of vertical data segmentation and horizontal data segmentation, respectively. Joint data includes feature values of multiple objects for multiple feature items, for example, it may include feature values of N objects for D feature items, and N and D are both natural numbers.
[0095] For the convenience of description, the following examples are mostly illustrated with two participants. For example, the two participants are the first participant A and the second participant B, the first participant A corresponds to the first participant device, and the second participant B corresponds to the second participant device. The participant device is used to perform the operations of this participant and store the data of this participant. In a specific implementation, the participant device can also obtain the data of this participant from other devices. The method of this embodiment specifically includes the following steps S210~S240.
[0096] Step S210: The first participant device obtains the joint data slice of the first participant A, obtains the predicted value slices corresponding to the multiple objects, and the model parameter slices corresponding to the multiple feature items. The second participant device obtains the joint data slice of the second participant B, obtains the predicted value slices corresponding to the multiple objects, and the model parameter slices corresponding to the multiple feature items.
[0097] Multiple participants each have their own business data, which is original data and also private data. In the vertical segmentation scenario, the feature items of multiple participants are different, but the objects are the same. Multiple participants can use original matrices to represent their original data. For example, the original matrices of the first participant A and the second participant B can be represented as X A and X B , the characteristic items are represented as d A d B , the number of objects is represented by n A and n B , then the total feature item of the joint data is D = d A +d B , the total number of objects or samples is N = n A =n B When the columns in the original matrix represent feature items and the rows represent objects or samples, the business data of multiple participants such as the first participant A and the second participant B are assumed to be horizontally spliced to obtain joint data in the form of X = (X A , X B ). The above is the case where the columns in the original matrix represent feature items and the rows represent samples, corresponding to the data distribution in Table 1. In other implementations, the columns in the original matrix may represent objects and the rows may represent feature items. In this case, the business data of multiple participants such as the first participant A and the second participant B are assumed to be vertically spliced to obtain joint data in the form of
[0098]
[0099] In the horizontal segmentation scenario, multiple participants have the same feature items but different objects. The original matrices of the first participant A and the second participant B are XA and X B , the characteristic items are d A =d B =D, the number of objects is n A 、n B , then the total feature item of the joint data is D = d A =d B , the total number of objects or samples is N = n A +n B When the rows in the original matrix of the participants represent objects and the columns represent feature items, the business data of multiple participants such as the first participant A and the second participant B are assumed to be vertically spliced to obtain joint data in the form of
[0100]
[0101] The above can correspond to the data distribution in Table 2. When the rows in the original matrix represent feature items and the columns represent objects, the business data of multiple participants such as the first participant A and the second participant B are assumed to be horizontally spliced to obtain joint data in the form of X=(X A , X B ).
[0102] In order to enable multiple participants to obtain joint data shards, multiple participants can use secret sharing addition to split the business data of the participants into random numbers, and complete the sharding by transferring random numbers between multiple participants. Specifically, when the first participant device obtains the joint data shard of the first participant A, it can use secret sharing addition to perform splitting and splicing operations based on the business data of multiple participants through interaction with other participant devices, so that multiple participants can obtain joint data shards respectively. Similarly, the second participant B also obtains its joint data shard.
[0103] Secret sharing addition can split the original matrix into random matrices, and complete the sharding by transferring the random matrices between multiple participants. Take two participants as an example. The first participant A and the second participant B each have the original matrix X of the business data. A and X B For the first participant device, it can generate a random matrix R in a finite field A , and calculate X A -R A =X2, the first participant device can take two random matrices R A Any one of X2 and X3, for example X3, is sent to the second participant device. The second participant device also generates a random matrix R in a finite field. B , and calculate X B -R B=X3, the second participant device can use two random matrices R B Any one of X3 and X4, for example, X4, is sent to the first participant device.
[0104] The first participant device can A and X3 sent by the second participant device to form a joint data segment. The second participant device can B The X2 sent by the first participant device is spliced into a joint data slice. Of course, in actual application scenarios, the number of participants is usually 3 or more, and the implementation process of the above secret sharing addition can be easily extended to more than three parties. The data sent between multiple participants are all random matrices, and the privacy data of the original matrix is not leaked.
[0105] Among them, the joint data slices of multiple participants are assumed to be reconstructed to obtain joint data. Reconstruction can be achieved by adding up the data slices of each party. The specific reconstruction can be to add other matrix transformation operations on the basis of addition. The matrix transformation includes, for example, multiplication by a preset value. The joint data contains private data. Each participant does not directly aggregate the plain text of the private data. The joint data is only a representation under a hypothetical situation. In practice, the data slices of the participants will not be directly reconstructed together. The following meaning of reconstruction is applicable to the description here.
[0106] The first participant A's joint data sharding can be <x> A Indicates that the joint data sharding of the first participant B can be adopted <x> B Indicates that, then the joint data X = <x> A + <x> B .in, <x>It represents the shard of parameter X, and its subscript represents the participant to which the shard belongs. For the sake of uniformity in expression, the form of "angle brackets + subscript" is used in the following text to represent the shard of data in a certain participant.
[0107] In this embodiment, the joint data shards of the participants are obtained based on the business data of multiple participants, and the sum of the joint data shards of multiple participants is conceptually or theoretically equal to the joint data.
[0108] In step S210, the predicted value shards and the model parameter shards are data obtained based on the trained business prediction model. The business prediction model is a model obtained by secure joint training based on the joint data shards of multiple participants. The business prediction model can be pre-trained. The business prediction model can be a model trained based on a logistic regression model, or it can be trained based on other types of models. The business prediction model is used to perform business prediction on an object, for example, classification prediction or regression prediction can be performed on the feature data of the input object.
[0109] Multiple participant devices can obtain prediction value shards and model parameter shards through the trained business prediction model. For example, the first participant device can obtain the model parameter shards of the trained business prediction model locally on the first participant device, and through secure interaction between multiple participant devices, based on the joint data shards of multiple participants and the trained business prediction model, enable multiple participants to determine the prediction value shards of the object.
[0110] Multiple participating devices use N objects in the joint data shard as samples to train the business prediction model. After training, the model parameter shard of the business prediction model in the participating device can be obtained. Through the secure interaction between multiple participating devices, the joint data shards of multiple participants are input into the business prediction model, and each participating device can determine the predicted value shards of multiple objects of the participating device.
[0111] Therefore, for a participant, in the data obtained, one object corresponds to one prediction value slice, N objects correspond to N prediction value slices respectively, and N prediction value slices can be used as vector elements to form a vector, that is, vector representation; when the business data contains D feature items, the trained business prediction model contains multiple model parameters, which correspond to the D feature items respectively. For any prediction value data, the corresponding prediction value slices owned by multiple participants obtain the prediction value data under the assumption of reconstruction. For any model parameter, the corresponding model parameter slices owned by multiple participants obtain the model parameter under the assumption of reconstruction.
[0112] Step S220, through the transmission of the predicted value slices between the participant device and the selected participant device, the complete predicted value data is reconstructed in the selected participant device using multiple predicted value slices.
[0113] The selected participant C may be any one of the multiple participants, or may be selected from the multiple participants according to a certain selection rule. The selected participant may be pre-selected or set by an administrator, and the identifier of the selected participant may be sent to other participants in advance.
[0114] In one implementation, the selected participant may be a participant that has label data. Taking the first participant A as an example, the step of reconstructing the complete prediction value data may include:
[0115] When the first participant A is not the selected participant, its own prediction value slices are sent to the selected participant device, so that the selected participant device reconstructs the complete prediction value data using multiple prediction value slices.
[0116] When the first participant A is the selected participant, it receives the predicted value slices sent by other participants, reconstructs its own predicted value slices and the received predicted value slices to obtain complete predicted value data.
[0117] The business data of the participants may include label data, for example, there is at least one label data in the business data corresponding to each object. For example, when the object is a user, the business data of user 1 may include label data of whether user 1 is a high-risk user, and the label data 1 and 0 may represent yes or no respectively.
[0118] The participant with the label data can be one or more. In the business data distribution shown in Table 1, one of the participants 1 to W can have the label data of all objects, for example, participant 1 has the label data of all N objects. When reconstructing the predicted value data, the selected participant can obtain multiple predicted value slices of other participants, and reconstruct all the predicted value slices of N objects to obtain the predicted value data. For example, there are three participants A, B and C, each of which has business data of 10 objects. Participant A has the label data and is the selected participant. Participants B and C can send their 10 predicted value slices to participant A respectively. Participant A's device can obtain all 30 predicted value slices, of which each object corresponds to 3 predicted value slices. These 3 predicted value slices can be reconstructed to obtain the predicted value data of the object, and then the predicted value data of 10 objects are obtained, a total of 10.
[0119] In the business data distribution shown in Table 2, participants 1 to W each have label data of some objects. In this case, different participants act as selected participants for different business data, and the predicted value data is reconstructed in different participants. For example, there are three participants A, B and C, each of which has business data of 5 objects, for a total of 15 objects. Among them, the business data of participant A has label data of objects 1 to 5, the business data of participant B has label data of objects 6 to 10, and the business data of participant C has label data of objects 11 to 15. When reconstructing the predicted value data, for a total of 5 objects from object 1 to object 5, participants B and participant C send their respective predicted value slices of the 5 objects to participant A. Participant A uses its own 5 predicted value slices and the 10 predicted value slices sent by other participants to reconstruct the predicted value data corresponding to objects 1 to 5, for a total of 5. Similarly, for objects 6 to 10, participant B is the selected participant and reconstructs the predicted value data of these objects; for objects 11 to 15, participant C is the selected participant and reconstructs the predicted value data of these objects.
[0120] The participant who owns the label data is selected as the participant to perform the step of reconstructing the predicted value data, which can make the predicted value data confidential to non-label owners. Other participants will not obtain the predicted value data, thereby protecting the privacy of the predicted value data.
[0121] Step S230, utilizing multi-party secure computing, through interaction between multiple participant devices, based on the joint data shards of multiple participants and the predicted value data of the selected participant, determine the correlation data shards corresponding to the multiple participants, including the correlation data between multiple feature items.
[0122] Among them, the correlation data slices of multiple participants obtain correlation data under the assumption of reconstruction, that is, the correlation data between feature items. The feature items include the correlation data between feature items owned by the same participant, and the correlation data between feature items owned by different participants. There are both correlation data between different feature items and correlation data between the same feature items.
[0123] When implementing this step, based on the existing formula for calculating the correlation data between feature items, the joint data shards and the predicted value data of the selected participants can be used to determine the correlation data shards corresponding to multiple participants through multi-party secure calculation. The formula that can represent the correlation data between feature items can include a covariance matrix formula, a correlation coefficient formula, and the like.
[0124] Secure Multi-party Computation (MPC) is an existing data privacy protection technology that can be used for multi-party participation. Its specific implementation methods include homomorphic encryption, obfuscated circuits, oblivious transmission, secret sharing, etc. The use of secure multi-party computing can realize secure interactive calculations on joint data shards and predicted value data between multiple participating devices, thereby enabling multiple participating parties to determine the corresponding relevant data shards.
[0125] Step S240, using a significance test method, through secure interaction between multiple participating devices, based on the corresponding data in the model parameter shards and correlation data shards of multiple participating parties, determines the effective value of the feature item corresponding to the model parameter in improving the effect of the business prediction model.
[0126] Among them, the significance test method may include Wald test, likelihood ratio (LR) test, Lagrange multiplier (LM) test, etc. After transforming the existing formula provided by the significance test method, through the secure interaction between multiple participating devices, the model parameter slices and correlation data slices of multiple participating parties are securely calculated to determine the effective value slice corresponding to the participating party.
[0127] In this embodiment, the feature items correspond to the model parameters, and the model parameter slices and the correlation data slices both contain data corresponding to the feature items. By using the corresponding data in the model parameter slices and the correlation data slices and adopting the significance test method, the significance test value slices corresponding to the multiple model parameters can be determined, that is, the significance test value slices of the corresponding multiple feature items, and the above-mentioned effective value slices can be determined based on the significance test value slices.
[0128] When it is necessary to determine the effective value of a certain feature item, for example, for any first feature item, the first participant device can obtain the effective value slice of the first feature item from other participant devices, and determine the reconstructed effective value of the first feature item based on the local effective value slice of the first feature item and the obtained effective value slice. The effective value of the feature item can also be reconstructed in the second participant device or other participant devices. This embodiment is only described by taking the reconstruction of the effective value in the first participant device as an example.
[0129] After obtaining the valid values of multiple feature items, the first participant device can also remove the feature items whose valid values do not meet the preset conditions from the multiple feature items based on the multiple valid values, so that multiple participants can use the business data after the feature items are removed to perform secure joint training on the business prediction model. The business data after the feature items are removed realizes the dimensionality reduction processing of the original matrix, making the feature items more refined, while ensuring the security of the privacy data.
[0130] A specific embodiment is described in detail below: When the business prediction model includes a logistic regression model and the significance test method adopts the Wald test method, the specific implementation method of determining the correlation data segmentation method in step S230 and determining the effect value of the feature item in step S240 is described.
[0131] The following first explains in detail the application principle of the Wald test in logistic regression. When the logistic regression model is used to regress the characteristic data of the sample, the calculation formula of the predicted value includes:
[0132]
[0133]
[0134] Among them, X is the characteristic data of the sample, which can be used as an independent variable; π(X) is the predicted value function of the sample, which can be used as a dependent variable; β is the model parameter, which is the characteristic term coefficient; e is a natural constant.
[0135] The null hypothesis and alternative hypothesis of the Wald test are:
[0136] H0:ω j =0 (j=1, 2, ..., k), that is, the independent variable has no effect on the possibility of the dependent variable, that is, it is assumed that the independent variable has no effect on the estimated value of the dependent variable;
[0137] H1:ω j ≠0
[0138] If the null hypothesis is rejected, it means that the change of the dependent variable depends on the independent variable j.
[0139] The test statistic for this Wald test is
[0140]
[0141] Wald k is the significance test value, which conforms to the chi-square distribution with a degree of freedom of 1. is the model parameter The standard deviation of is also equal to the square root of the diagonal elements of the covariance matrix:
[0142]
[0143] The diagonal elements of the covariance matrix are the variances of the eigenvalues. is the negative Hessian matrix of the log-likelihood function. The value at
[0144]
[0145] in
[0146]
[0147] is the element expression of the Hessian matrix H, where the subscripts k and r are both natural numbers less than N, and x ik and x ir is an element in the joint data X, X i Represents the feature data of the i-th sample.
[0148] By deducing the above formula, we can know that the H matrix can be expressed as H = X T MX, where
[0149]
[0150]
[0151] Among them, N is the total number of samples, that is, the total number of objects, D is the dimension of feature data, π(X N ) is the logistic regression model for sample X N The predicted value of , M is the diagonal matrix obtained based on the predicted value, which can also be called the predicted value matrix.
[0152] From the above formula (2)
[0153]
[0154] It can be seen that for the kth model parameter, the larger the standard deviation of the model parameter, that is, the larger the value corresponding to the kth row and kth column in the covariance matrix, the greater the oscillation of the logistic regression model caused by the model parameter, and the smaller the Wald test value corresponding to the model parameter.
[0155] In determining the significance test value of the kth model parameter, Wald k Afterwards, you can also
[0156]
[0157] Get z k Statistics, and according to p_value = 2[1-norm.cdf(|z k |)] calculates the corresponding p-value, where the function norm.cdf is used to obtain the probability distribution function of the normal distribution. When the p-value is less than the significance level threshold, the null hypothesis is rejected, the model parameter can be retained for modeling, and the effective value of the characteristic item corresponding to the model parameter can be taken as 1 or other higher values; when the p-value is not less than the significance level threshold, the null hypothesis is accepted, the model parameter is not retained, and the effective value of the characteristic item corresponding to the model parameter can be taken as 0 or other lower values. The significance level threshold can usually be 0.05 or 0.01, etc.
[0158] Logistic regression analysis is a statistical method for analyzing independent variables and dependent variables and clarifying the relationship between the two. The established regression equation is meaningful only when there is indeed a certain relationship between the independent variables and the dependent variables. Therefore, whether the factors as independent variables are related to the predicted objects as dependent variables, how much correlation there is, and how much confidence there is in judging the degree of correlation are the problems to be solved by regression analysis. Logistic regression analysis can use the Wald test to test the values of regression item coefficients one by one. If for specific independent variables, the Wald test shows that these independent variables are important, they should be included in the model. If the Wald test shows that these independent variables are not significant, these independent variables can be omitted from the model. Logistic regression analysis and Wald test can be used to evaluate the model parameters of the business prediction model, and then the characteristic items of the object sample can be screened based on the evaluation results to achieve the purpose of dimensionality reduction processing of business data.
[0159] In this embodiment, in step S230, the correlation data includes covariance matrix data, and the correlation data slices include covariance matrix slices. The covariance matrix slices of multiple participants can constitute a covariance matrix under the assumption of reconstruction. The covariance matrix is a matrix composed of the covariance between two feature items in multiple feature items in the joint data, and the elements on the main diagonal are the variances of the multiple feature items, and the elements on the off-diagonal are the covariance between two feature items. The covariance matrix is a symmetric matrix. When there are D feature items in the joint data, the covariance matrix can be a symmetric matrix of D*D dimensions.
[0160] When determining the correlation data slices corresponding to the multiple participants respectively in step S230, that is, when determining the covariance matrix slices corresponding to the multiple participants respectively, the participant devices of the multiple participants can execute the following steps 1 and 2.
[0161] Step 1: Based on the joint data slices of multiple participants and the predicted value data of the selected participant, as well as the functional relationship in the business prediction model, determine the intermediate matrix slices corresponding to the multiple participants. For example, the first participant A obtains the intermediate matrix slice <h> A , the second participant B obtains the intermediate matrix slice <h> B , multiple intermediate matrix slices are assumed to be reconstructed to obtain the intermediate matrix H. Multiple participants do not actually reconstruct the intermediate matrix slices, and here they only represent the relationship between multiple intermediate matrix slices.
[0162] Step 2: Based on the intermediate matrix slices of multiple participants, calculate the slices of the intermediate matrix inverse corresponding to the multiple participants, and obtain the covariance matrix slices corresponding to the multiple participants. For example, the first participant A obtains the slice of the intermediate matrix inverse <H -1 > A , the second participant B obtains the slice of the inverse of the intermediate matrix <H -1 > B , the slices of the inverse of the intermediate matrix are reconstructed to obtain the inverse of the intermediate matrix H -1 The multiple participants do not actually reconstruct the slices of the intermediate inverse matrix. Here, they just represent the relationship between the slices of the intermediate inverse matrix.
[0163] In the above step 1, when determining the intermediate matrix slices corresponding to the multiple participants respectively, the following steps 1_1 and 1_2 may be included.
[0164] Step 1_1, according to the assumed splicing relationship of the business data of multiple participants, the Hessian matrix expression obtained based on the functional relationship in the business prediction model is divided into multiple blocks. The Hessian matrix expression includes joint data and predicted value data.
[0165] Step 1_2, according to the participant data associated with multiple blocks, using the corresponding data in the joint data slices of multiple participants and the predicted value data of the selected participants, multiple participants are enabled to respectively determine the data slices of multiple blocks, and based on the data slices of the blocks, respectively determine the corresponding Hessian matrix slices as intermediate matrix slices.
[0166] When the business prediction model is a logistic regression model, the functional relationship of the business prediction model, that is, the functional relationship of the model prediction value, is shown in the above formula (1). After the logistic regression model is trained, the corresponding model parameters, such as β, are obtained. The Hessian matrix expression is actually the second-order derivative of the model parameter β, that is, the above formula (5)
[0167]
[0168] Among them, H is the Hessian matrix obtained based on the functional relationship in the business prediction model, H kr is the expression of the element in the kth row and rth column of the Hessian matrix H, x ik and x ir is an element in the joint data X, X i represents the characteristic data of the i-th sample, π(X i ) is the predicted value data, i can be from 1 to N.
[0169] In this embodiment, the Hessian matrix H can be divided into multiple blocks according to the assumed splicing relationship of the business data of multiple participants. The assumed splicing relationship of the business data of multiple participants includes the splicing relationship of the business data of multiple participants assumed to be spliced into joint data horizontally or vertically based on the established order of participants.
[0170] In the application scenario of vertical data segmentation, the business data of any participant includes the characteristic values of some characteristic items of all objects. See Table 1, in which the business data of any participant includes the characteristic values of some characteristic items of N objects, and the business data of multiple participants can be combined to obtain joint data based on horizontal splicing. Table 1 is only an example of data distribution, in which rows represent objects and columns represent characteristic items. In other embodiments, rows can also be used to represent characteristic items and columns to represent objects. In the following examples, the data distribution shown in Table 1 is used as an example to illustrate the division of the Hessian matrix in the scenario of vertical data segmentation.
[0171] In this application scenario, when dividing the Hessian matrix expression, the Hessian matrix expression can be divided into a first block associated with the data of the selected participant and a second block associated with multiple participants.
[0172] For example, taking two participants as an example, the business data of the first participant A and the second participant B are conceptually spliced into joint data as shown in Table 3. It should be noted that the splicing here is virtual splicing and will not be performed in practice.
[0173] Table 3
[0174]
[0175]
[0176] The business data of the first participant A includes d A feature items, and assume that the first participant A is the selected participant, whose business data contains label data. The business data of the second participant B contains d B feature items, and the second participant B is not the selected participant. If expressed in the form of a matrix, the business data of the first participant A and the second participant B can be assumed to be spliced into a joint data matrix X similar to Table 3, where the total number of rows is N and the total number of columns is d A and d B The sum is denoted as X N*(dA+dB) .
[0177] According to the expression of formula (5), the Hessian matrix H is divided into
[0178]
[0179] The Hessian matrix H is divided into 4 blocks, each of which is a submatrix. It can be noted here that the total number of columns of the joint data is d A +d B , x in formula (5) ik and x ir , i takes values in the rows 1 to N of the joint data, and k and r take values in the columns 1 to D of the joint data. This is the theoretical situation.
[0180] For the upper left corner block [A] matrix, where H is determined kr The required data of the element are all taken from the data of the first participant A, and the predicted value data π(X i ) is also owned by the first participant A. That is, when k and r are in the columns 0 to d A When the value is taken in, x in formula (5) ik and x ir All of them are taken from the business data of the first participant A. Therefore, it can be determined that the data in the upper left corner block [A] can be independently calculated by the first participant A. The upper left corner block [A] is the first block associated with the data of the selected participant.
[0181] In formula (9), the upper right corner block [AB] and the lower left corner block [BA] are transposed matrices of each other. After determining one of them, the other can be determined by transposing it. The following is an example of determining block [AB]. kr The row and column data of the element are taken from the business data of the first participant A and the second participant B. That is, when k and r, one is in the column number 0 to d A Take the value in the column number d A +1~d A +d B When the value is taken in, then x in formula (5) ik and x ir , a business data X of the first participant A A A value in the second party B's business data X B Therefore, it can be determined that the data in the upper right corner block [AB] can be jointly calculated by the first participant A and the second participant B. The upper right corner block [AB] belongs to the second block associated with the data of both the first participant A and the second participant B.
[0182] Determine H in the lower right corner block [B] kr The data required for the element is taken from the data of the first participant A and the second participant B. That is, when k and r are in column number d A +1~d A +d B When the value is taken in, x in formula (5) ik and x ir All of them are business data X of the second participant B B However, the predicted value data is owned by the first participant A, so the lower right corner block [B] also needs to be jointly calculated by the first participant A and the second participant B. The lower right corner block [B] belongs to the second block associated with the data of both the first participant A and the second participant B.
[0183] In this way, the Hessian matrix H is divided into 4 blocks, and accordingly, the Hessian matrix slices of the first participant A are <h> A And the Hessian matrix slice of the second participant B <h> B They are divided into four blocks, and the corresponding blocks in the two Hessian matrix slices constitute the blocks in the Hessian matrix under the assumed reconstruction.
[0184] Among them, the Hessian matrix shard of the first participant A is <h> A In the middle, the data shard of the upper left corner block <[A]> A (belonging to the first block), the joint data shard owned by the first participant A <x> A and the predicted value data π(X i ) is determined; the data in the upper right corner is divided into blocks <[AB]> A (belonging to the second block), the joint data shard owned by the first participant A <x> A and the predicted value data π(X i ), and the joint data shard owned by the second participant B <x> B The data in the figure is obtained through multi-party secure calculation; the data sharding of the block in the lower left corner <[BA]> A (belongs to the second block), by sharding the data of the upper right corner block <[AB]> A Take the transpose to get the data slice of the lower right corner <[B]> A (belonging to the second block), the predicted value data π(X i ), and the joint data shard owned by the second participant B <x> B The data in is obtained through multi-party secure computing.
[0185] Hessian matrix sharding of the second participant B <h> B In the middle, the data shard of the upper left corner block <[A]> B The value of (belonging to the first block) can be filled with 0 value; the data fragment of the upper right corner block <[AB]> B (belonging to the second block), the joint data shard owned by the first participant A <x> A and the predicted value data π(X i ) and the joint data shard owned by the second participant B <x> B The data in the figure is obtained through multi-party secure calculation; the data sharding of the block in the lower left corner <[BA]> B (belongs to the second block), by sharding the data of the upper right corner block <[AB]> B Take the transpose to get the data slice of the lower right corner <[B]> B (belonging to the second block), the predicted value data π(X i ) and the joint data shard owned by the second participant B <x> B The data in is obtained through multi-party secure computing.
[0186] In summary, for the first block, for the selected party (e.g., the first party A), the selected party device can use its own joint data shards and predicted value data to determine the data shards of the first block; for other parties other than the selected party (e.g., the second party B), the other party devices can fill the first block with 0 values to obtain their data shards;
[0187] For the second block, we can use Secret Matrix Multiplication (SMM) in multi-party secure computing. Through interaction between multiple participants, we can use the joint data shards of multiple participants and the corresponding data in the predicted value data of the selected participant to determine the data shards of the second block corresponding to the multiple participants.
[0188] The first participant device may concatenate the first block data slices and the second block data slices of the first participant A to obtain the Hessian matrix slices of the first participant A. <h> A The second participant device can splice the first block data slices and the second block data slices of the second participant B to obtain the Hessian matrix slices of the second participant B. <h> B .
[0189] The following describes a specific implementation method of using SMM to determine the data slices of the second block corresponding to the multiple participants by using the joint data slices of the multiple participants and the corresponding data in the predicted value data of the selected participant through the interaction between the multiple participants. <x> A and the predicted value data π(X i ), and the joint data shard owned by the second participant B <x> B , determine the data shards of the upper right corner blocks of the first participant A and the second participant B through SMM <[AB]> A and <[AB]> B For example.
[0190] According to the formula x ik π(X i )[π(X i )-1]*x ir When calculating, it is necessary to use the joint data shard of the first participant A <x> A Partial data, predicted value data π(X i ) and the joint data shard of the second participant B <x> B Part of the data in the SMM joint calculation is used to enable the first participant A and the second participant B to determine the data shard <[AB]> A and <[AB]> B .
[0191] In order to make the description more concise and clear, the above-mentioned amount to be calculated is simplified as follows. The first participant A has a matrix data slice <x> A and <y> A , the second participant B has the matrix data slice <x> B and <y> B , the target parameter to be calculated is xy. Among them, x = <x> A + <x> B ,y= <y> A + <y> B Through SMM joint calculation, the first participant A obtains <y> A , the second party B gets <y> B , and xy= <y> A + <y> B The specific calculation process can be as follows Figure 3 The process is carried out as shown in the schematic diagram.
[0192] Figure 3 The figure is a schematic diagram of a calculation process of applying secret sharing matrix multiplication in this embodiment, and the specific implementation steps are as follows.
[0193] Step 1: Both parties obtain a random number matrix triple. The first participant A obtains A 、 <v> A 、 <z> A , the second party B obtains B 、 <v> B 、 <z> B , and satisfies z=u*v, where z= <z> A + <z> B ,u= A + B ,v= <v> A + <v> B .
[0194] In step 2, the first participant A uses random numbers to split its private data to shield the private data and obtain the secret matrix. The first participant A calculates <d> A = <x> A - A , <e> A = <y> A - <v> A The second participant B uses random numbers to split its private data and obtains a secret matrix. The second participant B calculates <d> B = <x> B - B , <e> B = <y> B - <v> B .
[0195] Step 3: The participants send their secret matrices to each other and process based on their own secret matrices and the received secret matrices. The first participant A sends to the second participant B <d> A and <e> A , the second participant B sends to the first participant A <d> B and <e> B The first participant A calculates d = <d> A - <d> B ,e= <e> A - <e> B , the first participant B calculates d = <d> A - <d> B ,e= <e> A - <e> B .
[0196] Step 4: The participants calculate their own data shards. The first participant A calculates <y> A = <z> A + A *e+d* <v> A +d*e, the second participant B calculates <y> B = <z> B + B *e+d* <v> B And, in theory, <y> A + <y> B =x*m.
[0197] In this way, the joint data sharding of the first participant A can be <x> A Part of the data and predicted value data in the second participant B's joint data shard <x> B The SMM is used to determine the shards of the product of the parts of the joint data and the predicted value data corresponding to multiple participants.
[0198] In this embodiment, an implementation method for determining Hessian matrix slices by using blocks in a data vertical segmentation scenario is provided, wherein some blocks require data interaction between multiple participants, while some blocks can be calculated locally, which can save a large amount of interaction data and improve the overall processing flow.
[0199] In the data horizontal segmentation application scenario, the business data of any participant includes the characteristic values of all characteristic items of some objects. See Table 2, where the business data of any participant includes the characteristic values of D characteristic items of some objects, and the business data of multiple participants can be combined to obtain joint data based on vertical splicing. Table 2 is only an example of data distribution, in which rows represent objects and columns represent characteristic items. In other embodiments, rows can also be used to represent characteristic items and columns to represent objects. In the following examples, the data distribution shown in Table 2 is used as an example to illustrate the division of the Hessian matrix in the data horizontal segmentation scenario.
[0200] In this application scenario, when dividing the Hessian matrix expression, it can be divided into multiple blocks respectively associated with the data of multiple participants.
[0201] For example, taking two participants as an example, the business data of the first participant A and the second participant B are conceptually spliced into joint data as shown in Table 4. It should be noted that the splicing here is virtual splicing and will not be performed in practice.
[0202] Table 4
[0203]
[0204] The business data of the first participant A includes n A objects, and the first participant A is the selected participant corresponding to this part of the objects, and its business data contains the label data of this part of the objects. The business data of the second participant B contains n B objects, and the second participant B is the selected participant corresponding to this part of the objects, and its business data contains the label data of this part of the objects. If expressed in the form of a matrix, the business data of the first participant A and the second participant B can be assumed to be spliced into a joint data matrix X similar to Table 4, where the total number of rows is N and n A and n B The total number of columns is D, expressed as X (nA+nB)*D .
[0205] According to the expression of formula (5), the Hessian matrix H is divided into
[0206]
[0207] Here, the Hessian matrix H is divided into two blocks, each of which is a submatrix. It can be noted here that the total number of rows of the joint data is n A +n B , x in formula (5) ik and x ir , i takes values in the rows 1 to N of the joint data, and k and r take values in the columns 1 to D of the joint data. This is the theoretical situation.
[0208] For the elements in the Hessian matrix Calculated by the first participant A, Calculated by the second participant B and stored locally, and H kr = <H kr > A + <H kr > B Similarly, <h> A and <h> B All can be calculated locally by the corresponding participating parties.
[0209] Specifically, according to formula (5), the elements in the upper block [A] matrix in formula (10) are determined, and the required data are all in the first participant A. That is, when i is in the row number 1 to n A When the value is taken in, x in formula (5) ik and x ir The predicted value data π(X i ) is also owned by the first participant A. Therefore, it can be determined that the data in the upper block [A] can be independently calculated by the first participant A. The upper block [A] is the block associated with the data of the first participant A.
[0210] According to formula (5), determine the elements in the lower block [B] matrix in formula (10), and the required data are all in the second participant B. That is, when i is in row number n A +1~n A +n B When the value is taken in, x in formula (5) ik and x ir are all taken from the business data of the second participant B, and the corresponding predicted value data π(X i ) is also owned by the second participant B. Therefore, it can be determined that the data in the lower block [B] can be independently calculated by the second participant B. The lower block [B] is the block associated with the data of the second participant B.
[0211] In this way, the Hessian matrix H is divided into two blocks. Correspondingly, the Hessian matrix slice of the first participant A is <h> A And the Hessian matrix slice of the second participant B <h> B They are divided into two blocks, and the corresponding blocks in the two Hessian matrix slices constitute the blocks in the Hessian matrix under the assumed reconstruction.
[0212] Among them, the Hessian matrix shard of the first participant A is <h> A Data shards in the middle and upper blocks <[A]> A , the joint data shard owned by the first party A <x> A and the predicted value data π(X i ) in the data is determined; the data fragmentation of the next block <[B]> A The values in can be filled with 0 values.
[0213] Hessian matrix sharding of the second participant B <h> B Data sharding in the middle and lower blocks<[B]> B , the joint data shard owned by the second party B <x> B and the predicted value data π(X i ) in the data is determined; the data fragmentation of the upper block <[A]> B The values in can be filled with 0 values.
[0214] In summary, for the first participant A, the first participant device uses the first participant A's own joint data slices and predicted value data to determine the data slices of the blocks associated with the first participant A's data, fills the value of 0 into the blocks associated with the data of other participants to obtain the data slices of the block, and splices the data slices of multiple blocks to obtain the Hessian matrix slices of the first participant A.
[0215] For the first participant B, the second participant device uses the second participant B's own joint data slices and predicted value data to determine the data slices of the blocks associated with the data of the second participant B, fills the value of 0 into the blocks associated with the data of other participants to obtain the data slices of the block, and splices the data slices of multiple blocks to obtain the Hessian matrix slices of the second participant B.
[0216] In this embodiment, an implementation method is provided for dividing the Hessian matrix in a scenario of horizontal data segmentation and determining the Hessian matrix slices in a block form, wherein the Hessian matrix slices can be determined separately without the need for interaction between multiple participants, thereby saving the amount of interaction data between the participants in the overall process.
[0217] Let’s go back to step 2 and shard the intermediate matrix based on multiple participants. <h>, calculate the slices of the inverse of the intermediate matrix corresponding to multiple participants <H -1 >, and obtain the covariance matrix slices corresponding to multiple participants <cov>When the steps are executed, the secret matrix inverse (Secure Matrix Inverse, SMI) algorithm can be used to slice the intermediate matrix of multiple participants. <h>, through iterative calculation, we can obtain the covariance matrix slices corresponding to multiple participants <cov>. Among them, the covariance matrix is equal to the inverse of the intermediate matrix, Cov = H -1 .
[0218] For example, the intermediate matrix slice of the first participant A is known <h> A and the intermediate matrix shard of the second participant B <h> B , in order to calculate <H -1 > A and <H -1 > B We can use SMI for iterative calculation. <h> A and <h> B When assuming reconstruction, we get the intermediate matrix H, H -1 is the inverse matrix of H, but the first participant A and the second participant B will not reconstruct H. Therefore, it is necessary to <h> A and <h> B , and without reconstructing it, the first participant A and the second participant B respectively determine <H -1 > A and <H -1 > B Not reconstructing the intermediate matrix H can avoid the leakage of private data.
[0219] The following example uses two participants to illustrate the process of using SMI to iteratively calculate the covariance matrix slice. It is known that the first participant A has the intermediate matrix slice <h> A , the second participant B owns the intermediate matrix slice <h> B ,H= <h> A + <h> B Expectation: The first party A gets <H -1 > A , the second party B gets <H -1 > B , H -1 = <H -1 > A + <H -1 > B .
[0220] During initialization, the first participant A and the second participant B obtain L0 through joint calculation.
[0221] L0=tr(H) -1 =[tr( <h> A )+tr( <h> B )] -1
[0222] Where tr is the trace of the matrix.
[0223] In any iterative calculation, multiple participants use SMM and calculate according to the following iterative formula:
[0224] L k+1 =L k (2*IH L k )=( <L k > A + <L k > B )[2*I-( <h> A + <h> B )( <L k > A + <L k > B )]
[0225] Wherein, I is the unit matrix. In one iteration process, two SMMs need to be performed. The number of iterations can be preset, for example, it can be set to 20 to 32 times, and k is the number of iterations.
[0226] Now returning to step S230, when determining the effective value of the feature item corresponding to the model parameter in improving the effect of the business prediction model based on the model parameter slicing and covariance matrix slicing of multiple participants, the Wald test formula (2) can be used:
[0227]
[0228] Or use formula (8)
[0229]
[0230] Calculate the significance test value (or significance level value) of the kth model parameter, and based on the significance test value and the initial hypothesis, determine the effective value of the feature item corresponding to the model parameter in improving the effect of the business forecasting model.
[0231] In determining Wald k or k When the molecular part is Model parameters, denominator is the standard deviation of the model parameters, which can be obtained according to the square root of the variance of the model parameters, and the diagonal elements of the covariance matrix are the variances of the corresponding model parameters. The following can use the Secure Number Sqrt Invert (SNSI) algorithm to determine the effective value of the characteristic item corresponding to the model parameter based on the model parameter slicing and covariance matrix slicing of multiple participants. Specifically, the following steps 1b and 2b may be included.
[0232] Step 1b, multiple participating devices use the diagonal elements in the covariance matrix slices of the multiple participating devices as variance slices corresponding to the multiple model parameters. The diagonal elements here may refer to the main diagonal elements. In the covariance matrix, the main diagonal elements are the variances of the characteristic items. Correspondingly, in the covariance matrix slices, the main diagonal elements are the variance slices of the characteristic items.
[0233] Step 2b: The first participant device, for any model parameter, uses the SNSI algorithm and the significance test method, based on the corresponding model parameter slice of the first participant A and the corresponding variance slices of multiple participants, and through the interaction between multiple participant devices, jointly performs a secure square root inverse operation to determine the significance test value slice for the model parameter of the first participant A. Based on the significance test value slices of the model parameter of multiple participants, the effective value of the feature item corresponding to the model parameter is determined.
[0234] Similarly, the second participant device, for any model parameter, uses the SNSI algorithm and the significance test value, based on the corresponding model parameter shard of the second participant B and the corresponding variance shards of multiple participants, through the interaction between multiple participant devices, jointly performs a secure square root inverse operation to determine the significance test value shard of the model parameter of the second participant B.
[0235] In one embodiment, the significance test value segments of multiple participants can be sent to a certain participant device or a third-party device, and the participant device or the third-party device reconstructs the significance test value, and based on the significance test value, the effective value of the corresponding feature item can be determined according to a predetermined transformation method. In another embodiment, the significance test value segments of multiple participants can also be directly used as effective value segments, and multiple significance test value segments can be reconstructed to obtain effective values.
[0236] The significance test value can be calculated based on the above formula (2) or formula (8), or the p_value formula. The obtained significance test value segmentation can be but is not limited to Wald k Value sharding, z k Value sharding or p-value sharding.
[0237] The model parameter fragments of multiple participants obtain the model parameter when assuming reconstruction. For example, for any model parameter β1, the model parameter fragment <β1> of the first participant A and the model parameter shard <β1> of the second participant B B The model parameter β1 is obtained when the reconstruction is assumed. The model parameter slices will not be actually reconstructed, and this is only to illustrate the relationship between the model parameter slices and the model parameters.
[0238] It can be seen that when calculating the significance test value, this embodiment uses the diagonal elements in the covariance matrix slices of multiple participants, and does not reconstruct the data in the covariance matrix, so it can well protect the security of the privacy data in the covariance matrix.
[0239] The following is a detailed description of step 2b, for any model parameter β k , the first participant device uses the SNSI algorithm and the significance test method, through the interaction between multiple participant devices, based on the model parameter sharding <β of the first participant A k > A And the variance sharding of multiple participants, jointly perform the security square root inverse operation to determine the model parameter β for the first participant A k Similarly, the second participant device can determine the model parameter β of the second participant B. k The significance test value of sharding.
[0240] According to the significance test method (8) For the first participant, formula (8) can be transformed into
[0241]
[0242] in, <z k > A is the model parameter β of the first participant A k The numerator is the model parameter shard of the first participant A, and in the denominator, <Cov kk > A is the model parameter β owned by the first participant A k The corresponding variance slice is also the kkth element (diagonal element) in the covariance matrix slice of the first participant A. <Cov kk > B is the model parameter β owned by the second participant B k The corresponding variance slice is also the kkth element in the covariance matrix slice of the second participant B.
[0243] The numerator is owned by the first participant A, and the denominator is jointly owned by the first participant A and the second participant B. Therefore, the focus of the problem now is how to calculate the inverse square root in formula (11). In this embodiment, the SNSI algorithm is used to determine the model parameter β of the first participant A. k The variance sharding and the model parameter β of the second participant B k The square root inverse of the sum of the variance slices of , based on the square root inverse and the model parameter slice of the first participant A <β k > A The product of can be obtained by the first participant A for the model parameter β k The significance test value of the shards. Among them, the inverse of the square root in formula (11) is as follows
[0244]
[0245] The following steps 1c to 3c specifically illustrate how to use the SNSI algorithm to calculate the inverse square root ( <Cov kk > A + <Cov kk > B ) -1 / 2 For the convenience of description, let n a = <Cov kk > A , n b = <Cov kk > B , let n represent the model parameter β k , that is, n = n a +n b , the first participant device is expected to obtain c through the following calculation a , the second participant device gets c b , and c a +c b =(n a +n b ) -1 / 2 =n -1 / 2 .
[0246] In step 1c, the first participant device and the second participant device convert the addition shard into the multiplication shard through interaction.
[0247] The first participant's device generates a random number x locally a , and ask
[0248] The first participant's device and the second participant's device jointly calculate through secret sharing matrix multiplication Get x respectively ba2 , x bb ;
[0249] The first party device calculates x ba =x ba1 +x ba2 , and x ba Send to the second party's device (x ba1 , x ba2 Cannot be sent separately);
[0250] The second party device calculates x b =x ba +x bb , at this time n = x a × b , realize the addition slice n = n a +n b Transform into multiplication slice n = x a × b At this point, the first party A has x a , the second party has x b .
[0251] In step 2c, the two participating devices respectively initialize the iterative estimation value locally.
[0252] Taking the first participant A as an example, the first participant device converts the 64-bit floating point number x a The stored value is read as a 64-bit integer and shifted right by one bit (divided by 2 and rounded down), recorded as int a ; Calculate 0x5fe6eb50c7b537a9-int a , and read it according to the storage method of 64-bit floating point numbers, recorded as y a In this way, x a Initialized to y a .
[0253] Similarly, the second participant device performs the above initialization and can b Initialized to y b At this point, the first party A has y a , the second party has y b .
[0254] Step 3c: The two parties jointly use Newton's method to iteratively calculate n -1 / 2 .
[0255] The initial value of the iteration is Y0=Y 0a ×Y 0b =y a ×y b , owned by two parties respectively. The iterative formula is as follows
[0256]
[0257] In the iterative process, two secret sharing matrix multiplications are used, and a total of 1 iteration is performed. The first participant A and the second participant B obtain floating point numbers c a and c b .
[0258] The implementation process of step 2b above can also be implemented in other ways. For example, the variance slices of the first participant A and the variance slices of the second participant B are first security-standardized, and then the initial value of the iteration is obtained by linear approximation calculation, and finally the iteration is performed based on the Goldschmidt algorithm. In this implementation, a secret sharing matrix multiplication operation can be performed based on the variance slices of the first participant A and the variance slices of the second participant B, and then other operations are performed.
[0259] In this specification, the first participant, the "first" in the first characteristic item, and the "second" in the text are merely for the convenience of distinction and description and do not have any limiting meaning.
[0260] In this specification, the number of multiple participants can be 2, 3 or more, and each participant performs multiple operations through the corresponding participant device. The participant device can be implemented through any device, equipment, platform, device cluster, etc. with computing and processing capabilities.
[0261] In the embodiments of this specification, two parties are often used as examples for explanation. For example, in the description of the embodiments of algorithms such as secret sharing matrix multiplication, secret sharing square root inversion, and secret sharing matrix inversion for multi-party secure computing, the implementation method of two parties can be easily expanded to scenarios involving more parties, and the specific process will not be repeated.
[0262] The foregoing describes certain embodiments of the present specification, and other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims may be performed in an order different from that in the embodiments, and the desired results may still be achieved. In addition, the processes depicted in the accompanying drawings do not necessarily have to be performed in the specific order or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0263] Figure 4 A schematic block diagram of a device for determining the effective value of a service data feature to control communication volume provided in an embodiment. The service data is distributed among multiple participants, and the service data of the multiple participants constitute joint data under the assumption of splicing. The joint data includes the feature values of multiple objects for multiple feature items. The device 400 is deployed in any first participant device, and the first participant device can be implemented by any device, equipment, platform, device cluster, etc. with computing and processing capabilities. The device embodiment is similar to Figure 2 The device 400 includes:
[0264] The acquisition module 410 is configured to acquire the joint data slices of the first participant, acquire the predicted value slices corresponding to the multiple objects, and acquire the model parameter slices corresponding to the multiple feature items; the predicted value slices and the model parameter slices are obtained based on the trained business prediction model;
[0265] A reconstruction module 420, configured to reconstruct complete prediction value data using a plurality of prediction value slices in the selected participant device through transmission of the prediction value slices between the participant device and the selected participant device;
[0266] The interaction module 430 is configured to determine, by using multi-party secure computing and through interaction between multiple participant devices, the correlation data shards corresponding to the multiple participants respectively based on the joint data shards of the multiple participants and the predicted value data of the selected participant, including the correlation data between the multiple feature items;
[0267] The verification module 440 is configured to use a significance test method to determine the effective value of the feature item corresponding to the model parameter in improving the effect of the business prediction model based on the model parameter shards of multiple participants and the corresponding data in the correlation data shards through secure interaction between multiple participant devices.
[0268] In one implementation, the acquisition module 410, when acquiring the joint data shard of the first participant, includes:
[0269] By adopting secret sharing addition, through interaction with other participants' devices, splitting and splicing operations are performed based on the business data of multiple participants, so that multiple participants can obtain joint data slices respectively; the joint data slices of multiple participants obtain the joint data under the assumption of reconstruction.
[0270] In one embodiment, the business prediction model is obtained by performing secure joint training based on joint data slices of multiple participants; the business prediction model is used to perform business prediction on an object.
[0271] In one implementation, the acquisition module 410, when acquiring predicted value slices corresponding to a plurality of objects and model parameter slices corresponding to a plurality of feature items, includes:
[0272] Obtaining a model parameter shard of the trained business prediction model locally on the first participant device;
[0273] Through the interaction of multiple participants, based on the joint data shards of the multiple participants and the trained business prediction model, the multiple participants are respectively enabled to determine the prediction value shards of the object.
[0274] In one implementation, the selected participants include participants who have tag data; the reconstruction module 420 is specifically configured as follows:
[0275] When the first participant is not a selected participant, sending its own predicted value slice to the selected participant device, so that the selected participant device reconstructs complete predicted value data using multiple predicted value slices;
[0276] When the first participant is the selected participant, it receives the predicted value slices sent by other participants, reconstructs its own predicted value slices and the received predicted value slices to obtain complete predicted value data.
[0277] In one embodiment, the correlation data includes covariance matrix data, and the correlation data slices include covariance matrix slices; the interaction module 430 includes:
[0278] The determination submodule 431 is configured to determine the intermediate matrix slices corresponding to the plurality of participants respectively based on the joint data slices of the plurality of participants and the predicted value data of the selected participant, and the functional relationship in the business prediction model;
[0279] The calculation submodule 432 is configured to calculate the slices of the inverse intermediate matrices corresponding to the multiple participants respectively based on the slices of the intermediate matrices of the multiple participants, and obtain the slices of the covariance matrices corresponding to the multiple participants respectively.
[0280] In one implementation, the determination submodule 431 is specifically configured as follows:
[0281] According to the assumed splicing relationship of the business data of multiple participants, the Hessian matrix expression obtained based on the functional relationship in the business prediction model is divided into multiple blocks; the Hessian matrix expression includes joint data and predicted value data;
[0282] According to the participant data associated with the multiple blocks, the joint data slices of the multiple participants and the corresponding data in the predicted value data of the selected participant are utilized to enable the multiple participants to respectively determine the data slices of the multiple blocks, and based on the data slices of the blocks, respectively determine the corresponding Hessian matrix slices as intermediate matrix slices.
[0283] In one embodiment, the business data of any participant includes characteristic values of some characteristic items of all objects;
[0284] The determining submodule 431, when dividing the Hessian matrix expression obtained based on the functional relationship in the business prediction model into a plurality of blocks, includes:
[0285] Dividing the Hessian matrix expression into a first block associated with the data of the selected participant and a second block associated with a plurality of participants;
[0286] The determination submodule 431, when enabling multiple participants to respectively determine multiple block data slices, and respectively determine corresponding Hessian matrix slices based on the block data slices, includes:
[0287] When the first participant is a selected participant, the data slices of the first block are determined by using its own joint data slices and the predicted value data; when the first participant is not a selected participant, a value of 0 is filled into the first block to obtain its data slices;
[0288] Determine data shards of the second block corresponding to the plurality of participants by using the joint data shards of the plurality of participants and corresponding data in the predicted value data of the selected participant by using secret sharing matrix multiplication SMM through interaction between the plurality of participants;
[0289] The data slices of the first block and the data slices of the second block of the first participant are concatenated to obtain the Hessian matrix slices of the first participant.
[0290] In one embodiment, the business data of any participant includes characteristic values of all characteristic items of a part of the objects;
[0291] The determining submodule 431, when dividing the Hessian matrix expression obtained based on the functional relationship in the business prediction model into a plurality of blocks, includes: dividing the Hessian matrix expression into a plurality of blocks respectively associated with the data of a plurality of participants;
[0292] The determination submodule 431, when enabling multiple participants to respectively determine multiple block data slices, and respectively determine corresponding Hessian matrix slices based on the block data slices, includes:
[0293] Determine the data shards of the blocks associated with the data of the first participant by using the joint data shards and the predicted value data of the first participant, and fill the blocks associated with the data of other participants with 0 values to obtain their data shards;
[0294] The data slices of the multiple blocks are spliced together to obtain the Hessian matrix slices of the first participant.
[0295] In one implementation, the calculation submodule 432 is specifically configured as follows:
[0296] The secret sharing matrix inversion algorithm SMI is used to obtain the covariance matrix slices corresponding to multiple participants through iterative calculation based on the intermediate matrix slices of multiple participants.
[0297] In one implementation, the inspection module 440 is specifically configured as follows:
[0298] The diagonal elements in the covariance matrix slices of multiple participants are used as variance slices corresponding to multiple model parameters respectively;
[0299] For any model parameter, the secret shared square root inverse algorithm SNSI and the significance test method are used. Based on the corresponding model parameter shards of the first participant and the corresponding variance shards of multiple participants, through the interaction between the devices of multiple participants, a secure square root inverse operation is jointly performed to determine the significance test value shard of the first participant for the model parameter; based on the significance test value shards of the model parameter by multiple participants, the effective value of the characteristic item corresponding to the model parameter is determined.
[0300] In one implementation, the apparatus 400 further includes a determination module (not shown in the figure), configured to:
[0301] For any first feature item, obtain a valid value slice of the first feature item from other participant devices;
[0302] Based on the local effective value slices and the acquired effective value slices of the first feature item, a reconstructed effective value of the first feature item is determined.
[0303] In one embodiment, the apparatus 400 further includes a removal module (not shown in the figure), configured to:
[0304] Based on the effective value, feature items whose effective values do not meet preset conditions are removed from multiple feature items, so that multiple participants use the business data after removing the feature items to perform security joint training on the business prediction model.
[0305] In one embodiment, the object includes one of a user, a commodity, and an event; the feature item includes at least one of the following: basic attribute information, association relationship information, interaction information, and historical behavior information; and the business prediction model is used to perform business prediction on the object.
[0306] In one embodiment, the business prediction model is obtained based on a logistic regression model.
[0307] The above device embodiments correspond to the method embodiments. For specific descriptions, please refer to the description of the method embodiments, which will not be repeated here. The device embodiments are obtained based on the corresponding method embodiments and have the same technical effects as the corresponding method embodiments. For specific descriptions, please refer to the corresponding method embodiments.
[0308] The present specification also provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed in a computer, the computer is caused to execute Figures 1 to 3 Any of the methods described above.
[0309] The embodiment of the present specification also provides a computing device, including a memory and a processor, wherein the memory stores an executable code, and when the processor executes the executable code, Figures 1 to 3 Any of the methods described above.
[0310] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the storage medium and computing device embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0311] Those skilled in the art should be aware that in one or more of the above examples, the functions described in the embodiments of the present invention can be implemented by hardware, software, firmware, or any combination thereof. When implemented by software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium.
[0312] The specific implementation methods described above further describe the purpose, technical solutions and beneficial effects of the embodiments of the present invention in detail. It should be understood that the above description is only a specific implementation method of the embodiments of the present invention and is not intended to limit the scope of protection of the present invention. Any modification, equivalent replacement, improvement, etc. made on the basis of the technical solution of the present invention shall be included in the scope of protection of the present invention.< / h> < / h> < / h> < / h> < / h> < / h> < / h> < / h> < / h> < / h> < / h> < / h> < / h> < / h> < / cov> < / h> < / cov> < / h> < / x> < / h> < / x> < / h> < / h> < / h> < / h> < / h> < / x> < / x> < / y> < / y> < / v> < / z> < / y> < / v> < / z> < / y> < / e> < / e> < / d> < / d> < / e> < / e> < / d> < / d> < / e> < / d> < / e> < / d> < / v> < / y> < / e> < / x> < / d> < / v> < / y> < / e> < / x> < / d> < / v> < / v> < / z> < / z> < / z> < / v> < / z> < / v> < / y> < / y> < / y> < / y> < / y> < / y> < / x> < / x> < / y> < / x> < / y> < / x> < / x> < / x> < / x> < / x> < / h> < / h> < / x> < / x> < / x> < / h> < / x> < / x> < / x> < / x> < / h> < / h> < / h> < / h> < / h> < / x> < / x> < / x> < / x> < / x>
Claims
1. A method for determining effective values of service data characteristics for controlling communication traffic, wherein the service data is distributed among multiple participants, and the service data of the multiple participants are respectively combined to form joint data, wherein the joint data includes characteristic values of multiple objects for multiple characteristic items; The method is performed by any first participant device, including: Acquire the joint data slices of the first participant, acquire the predicted value slices corresponding to the multiple objects, and acquire the model parameter slices corresponding to the multiple feature items; the predicted value slices and the model parameter slices are obtained based on the trained business prediction model; The predicted value slices are transmitted between the participant device and the selected participant device, and the complete predicted value data is reconstructed in the selected participant device using the plurality of predicted value slices; the selected participant is selected from the plurality of participants, and the plurality of participants respectively perform operations using the corresponding participant devices; By using multi-party secure computing, through the interaction between the devices of multiple participants, based on the joint data shards of the multiple participants and the predicted value data of the selected participant, the correlation data shards corresponding to the multiple participants are determined, including the correlation data between the multiple feature items; A significance test method is adopted, through secure interaction between multiple participating devices, based on the model parameter shards of multiple participating parties and the corresponding data in the correlation data shards, to determine the effective value of the feature items corresponding to the model parameters in improving the effect of the business prediction model.
2. According to the method of claim 1, the step of obtaining the joint data shard of the first participant comprises: By adopting secret sharing addition, through interaction with other participants' devices, splitting and splicing operations are performed based on the business data of multiple participants, so that multiple participants can obtain joint data slices respectively; the joint data slices of multiple participants obtain the joint data under the assumption of reconstruction.
3. According to the method of claim 1, the business prediction model is obtained by conducting secure joint training based on the joint data shards of multiple participants; the business prediction model is used to perform business prediction on the object.
4. According to the method of claim 3, the step of obtaining predicted value slices corresponding to a plurality of objects and model parameter slices corresponding to a plurality of feature items comprises: Obtaining a model parameter shard of the trained business prediction model locally on the first participant device; Through the interaction of multiple participants, based on the joint data shards of the multiple participants and the trained business prediction model, the multiple participants are respectively enabled to determine the prediction value shards of the object.
5. The method according to claim 1, wherein the selected participants include participants who have label data; and the step of reconstructing complete prediction value data comprises: When the first participant is not a selected participant, sending its own predicted value slice to the selected participant device, so that the selected participant device reconstructs complete predicted value data using multiple predicted value slices; When the first participant is the selected participant, it receives the predicted value slices sent by other participants, reconstructs its own predicted value slices and the received predicted value slices to obtain complete predicted value data.
6. The method according to claim 1, wherein the correlation data comprises covariance matrix data, and the correlation data slices comprise covariance matrix slices; The step of determining the relevant data fragments corresponding to the multiple participants respectively includes: Based on the joint data slices of the multiple participants and the predicted value data of the selected participant, and the functional relationship in the business prediction model, determine the intermediate matrix slices corresponding to the multiple participants respectively; Based on the intermediate matrix slices of multiple participants, the slices of the inverse intermediate matrices corresponding to the multiple participants are calculated to obtain the covariance matrix slices corresponding to the multiple participants.
7. The method according to claim 6, wherein the step of determining the intermediate matrix slices corresponding to the plurality of participants comprises: According to the assumed splicing relationship of the business data of multiple participants, the Hessian matrix expression obtained based on the functional relationship in the business prediction model is divided into multiple blocks; the Hessian matrix expression includes joint data and predicted value data; According to the participant data associated with the multiple blocks, the joint data slices of the multiple participants and the corresponding data in the predicted value data of the selected participant are utilized to enable the multiple participants to respectively determine the data slices of the multiple blocks, and based on the data slices of the blocks, respectively determine the corresponding Hessian matrix slices as intermediate matrix slices.
8. According to the method of claim 7, the business data of any participant includes the characteristic values of some characteristic items of all objects; The step of dividing the Hessian matrix expression obtained based on the functional relationship in the business prediction model into a plurality of blocks comprises: Dividing the Hessian matrix expression into a first block associated with the data of the selected participant and a second block associated with a plurality of participants; The step of enabling multiple participants to respectively determine multiple block data slices, and respectively determining corresponding Hessian matrix slices based on the block data slices includes: When the first participant is a selected participant, the data slices of the first block are determined by using its own joint data slices and the predicted value data; when the first participant is not a selected participant, a value of 0 is filled into the first block to obtain its data slices; Determine data shards of the second block corresponding to the plurality of participants by using the joint data shards of the plurality of participants and corresponding data in the predicted value data of the selected participant by using secret sharing matrix multiplication SMM through interaction between the plurality of participants; The data slices of the first block and the data slices of the second block of the first participant are concatenated to obtain the Hessian matrix slices of the first participant.
9. According to the method of claim 7, the business data of any participant includes the characteristic values of all characteristic items of some objects; The step of dividing the Hessian matrix expression obtained based on the functional relationship in the business prediction model into a plurality of blocks comprises: dividing the Hessian matrix expression into a plurality of blocks respectively associated with data of a plurality of participants; The step of enabling multiple participants to respectively determine multiple block data slices, and respectively determining corresponding Hessian matrix slices based on the block data slices includes: Determine the data shards of the blocks associated with the data of the first participant by using the joint data shards and the predicted value data of the first participant, and fill the blocks associated with the data of other participants with 0 values to obtain their data shards; The data slices of the multiple blocks are spliced together to obtain the Hessian matrix slices of the first participant.
10. The method according to claim 6, wherein the step of calculating the slices of the intermediate matrix inverses corresponding to the multiple participants respectively based on the intermediate matrix slices of the multiple participants to obtain the covariance matrix slices corresponding to the multiple participants respectively comprises: The secret sharing matrix inversion algorithm SMI is used to obtain the covariance matrix slices corresponding to multiple participants through iterative calculation based on the intermediate matrix slices of multiple participants.
11. According to the method of claim 6, the step of determining the effective value of the feature item corresponding to the model parameter in improving the effect of the business prediction model comprises: The diagonal elements in the covariance matrix slices of multiple participants are used as variance slices corresponding to multiple model parameters respectively; For any model parameter, using the secret shared square root inverse algorithm SNSI and the significance test method, based on the corresponding model parameter shard of the first participant and the corresponding variance shards of multiple participants, through the interaction between the devices of multiple participants, a secure square root inverse operation is jointly performed to determine the significance test value shard of the first participant for the model parameter; Based on the significance test value slices of the model parameter by multiple participants, the effective value of the feature item corresponding to the model parameter is determined.
12. The method according to claim 11, further comprising: For any first feature item, obtain a valid value slice of the first feature item from other participant devices; Based on the local effective value slices and the acquired effective value slices of the first feature item, a reconstructed effective value of the first feature item is determined.
13. The method according to claim 1, further comprising: Based on the effective value, feature items whose effective values do not meet preset conditions are removed from multiple feature items, so that multiple participants use the business data after removing the feature items to perform security joint training on the business prediction model.
14. According to the method of claim 1, the object includes one of a user, a commodity, and an event; the feature item includes at least one of the following: basic attribute information, association relationship information, interaction information, and historical behavior information; and the business prediction model is used to perform business prediction on the object.
15. According to the method of claim 1, the business prediction model is obtained based on a logistic regression model.
16. A device for controlling communication volume and determining effective values of service data characteristics, the service data being distributed among a plurality of participants, the service data of the plurality of participants constituting joint data under the assumption of splicing, the joint data comprising characteristic values of a plurality of objects for a plurality of characteristic items; The device is deployed in any first participant device, and includes: An acquisition module is configured to acquire the joint data slices of the first participant, acquire the prediction value slices corresponding to the multiple objects, and acquire the model parameter slices corresponding to the multiple feature items; the prediction value slices and the model parameter slices are obtained based on the trained business prediction model; A reconstruction module is configured to reconstruct complete prediction value data using multiple prediction value slices in the selected participant device through transmission of prediction value slices between the participant device and the selected participant device; the selected participant is selected from multiple participants, and the multiple participants respectively perform operations using corresponding participant devices; The interaction module is configured to determine, by using multi-party secure computing and through interaction between devices of multiple participants, the correlation data shards corresponding to the multiple participants respectively based on the joint data shards of the multiple participants and the predicted value data of the selected participant, including the correlation data between the multiple feature items; The verification module is configured to adopt a significance test method, through secure interaction between multiple participating devices, based on the model parameter shards of multiple participating parties and the corresponding data in the correlation data shards, to determine the effective value of the feature items corresponding to the model parameters in improving the effect of the business prediction model.
17. The device according to claim 16, wherein the acquisition module, when acquiring the joint data shard of the first participant, comprises: By adopting secret sharing addition, through interaction with other participants' devices, splitting and splicing operations are performed based on the business data of multiple participants, so that multiple participants can obtain joint data slices respectively; the joint data slices of multiple participants obtain the joint data under the assumption of reconstruction.
18. The apparatus according to claim 16, wherein the selected participants include participants having tag data; and the reconstruction module is specifically configured as follows: When the first participant is not a selected participant, sending its own predicted value slice to the selected participant device, so that the selected participant device reconstructs complete predicted value data using multiple predicted value slices; When the first participant is the selected participant, it receives the predicted value slices sent by other participants, reconstructs its own predicted value slices and the received predicted value slices to obtain complete predicted value data.
19. The apparatus of claim 16, wherein the correlation data comprises covariance matrix data, and the correlation data slices comprise covariance matrix slices; The interaction module comprises: A determination submodule is configured to determine the intermediate matrix slices corresponding to the plurality of participants respectively based on the joint data slices of the plurality of participants and the predicted value data of the selected participant, and the functional relationship in the business prediction model; The calculation submodule is configured to calculate the slices of the inverse of the intermediate matrix corresponding to the multiple participants respectively based on the slices of the intermediate matrix of the multiple participants, so as to obtain the slices of the covariance matrix corresponding to the multiple participants respectively.
20. A computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute the method according to any one of claims 1 to 15.
21. A computing device, comprising a memory and a processor, wherein the memory stores executable codes, and when the processor executes the executable codes, the method according to any one of claims 1 to 15 is implemented.
Citation Information
Patent Citations
Method and device for performing significance test on private data by multi-party joint
CN111506922A
Method and device for jointly determining object feature correlation in private data by multiple parties
CN112818290A