US2019102670A1PendingUtilityA1

Secure Broker-Mediated Data Analysis and Prediction

Assignee: IMEC VZWPriority: Oct 2, 2017Filed: Oct 2, 2017Published: Apr 4, 2019
Est. expiryOct 2, 2037(~11.2 yrs left)· nominal 20-yr term from priority
G06N 3/042G06N 3/04G06N 3/0427G06N 3/084G06F 21/6245G06N 3/09G06N 3/0499G06N 3/0495G06N 3/098G16C 20/70G16C 20/30G16H 10/60G06F 21/6218
37
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The present disclosure relates to secure broker-mediated data analysis and prediction. One example embodiment includes a method. The method includes receiving, by a managing computing device, a plurality of datasets from client computing devices. The method also includes computing, by the managing computing device, a shared representation based on a shared function having one or more shared parameters. Further, the method includes transmitting, by the managing computing device, the shared representation and other data to the client computing devices. In addition, the method includes, based on the shared representation and the other data, the client computing devices update partial representations and individual functions with one or more individual parameters. Still further, the method includes determining, by the client computing devices, feedback values to provide to the managing computing device. Additionally, the method includes updating, by the managing computing device, the one or more shared parameters based on the feedback values.

Claims

exact text as granted — not AI-modified
What is claimed: 
     
         1 . A method, comprising:
 receiving, by a managing computing device, a plurality of datasets, wherein each dataset of the plurality of datasets is received from a respective client computing device of a plurality of client computing devices, wherein each dataset corresponds to a set of recorded values, and wherein each dataset comprises objects;   determining, by the managing computing device, a respective list of identifiers for each dataset and a composite list of identifiers comprising a combination of the lists of identifiers of each dataset of the plurality of datasets;   determining, by the managing computing device, a list of unique objects from among the plurality of datasets;   selecting, by the managing computing device, a subset of identifiers from the composite list of identifiers;   determining, by the managing computing device, a subset of the list of unique objects corresponding to each identifier in the subset of identifiers;   computing, by the managing computing device, a shared representation of the datasets based on the subset of the list of unique objects and a shared function having one or more shared parameters;   determining, by the managing computing device, a sublist of objects for the respective dataset of each client computing device based on an intersection of the subset of identifiers with the list of identifiers for the respective dataset;   determining, by the managing computing device, a partial representation for the respective dataset of each client computing device based on the sublist of objects for the respective dataset and the shared representation;   transmitting, by the managing computing device, to each of the client computing devices:
 the sublist of objects for the respective dataset; and 
 the partial representation for the respective dataset; 
   receiving, by the managing computing device, one or more feedback values from at least one of the client computing devices, wherein the one or more feedback values are determined by the client computing devices by:
 determining, by the respective client computing device, a set of predicted values corresponding to the respective dataset, wherein the set of predicted values is based on the partial representation and an individual function with one or more individual parameters corresponding to the respective dataset; 
 determining, by the respective client computing device, an error for the respective dataset based on an individual loss function for the respective dataset, the set of predicted values corresponding to the respective dataset, the sublist of objects, and non-empty entries in the set of recorded values corresponding to the respective dataset; 
 updating, by the respective client computing device, the one or more individual parameters for the respective dataset; and 
 determining, by the respective client computing device, the one or more feedback values, wherein the one or more feedback values are used to determine a change in the partial representation that corresponds to an improvement in the set of predicted values; 
   determining, by the managing computing device, based on the sublists of objects and the one or more feedback values from the client computing devices, one or more aggregated feedback values; and   updating, by the managing computing device, the one or more shared parameters based on the one or more aggregated feedback values.   
     
     
         2 . The method of  claim 1 , further comprising transmitting, by the managing computing device, the shared function and the one or more shared parameters to each of the client computing devices. 
     
     
         3 . The method of  claim 1 , wherein determining, by the managing computing device, the list of unique objects from among the plurality of datasets comprises:
 creating, by the managing computing device, a composite list of objects that is a combination of the objects from each dataset; and   removing, by the managing computing device, duplicate objects from the composite list of objects based on an intersection of the lists of identifiers for each of the plurality of datasets.   
     
     
         4 . The method of  claim 1 , wherein determining the error for the respective dataset comprises:
 identifying, by the respective client computing device, which of the non-empty entries in the set of recorded values corresponding to the respective dataset corresponds to an object in the sublist of objects;   determining, by the respective client computing device, a partial error value for each of the identified non-empty entries in the set of recorded values corresponding to the respective dataset by applying the individual loss function between each identified non-empty entry and its corresponding predicted value in the set of predicted values corresponding to the respective dataset; and   combining, by the respective client computing device, the partial error values.   
     
     
         5 . The method of  claim 1 , further comprising:
 calculating, by the managing computing device, a final shared representation of the datasets based on the list of unique objects, the shared function, and the one or more shared parameters; and   transmitting, by the managing computing device, the final shared representation of the datasets to each of the client computing devices.   
     
     
         6 . The method of  claim 5 , wherein the final shared representation of the datasets is usable by each of the client computing devices to determine a final set of predicted values corresponding to the respective dataset. 
     
     
         7 . The method of  claim 6 , wherein determining the final set of predicted values corresponding to the respective dataset comprises:
 receiving, by the respective client computing device, the sublist of objects for the respective dataset;   determining, by the respective client computing device, a final partial representation for the respective dataset based on the sublist of objects and the final shared representation; and   determining, by the respective client computing device, the final set of predicted values corresponding to the respective dataset based on the final partial representation, the individual function, and the one or more individual parameters corresponding to the respective dataset.   
     
     
         8 . The method of  claim 1 , wherein the one or more feedback values from each of the client computing devices are based on back-propagated errors. 
     
     
         9 . The method of  claim 1 , wherein each of the plurality of datasets comprises an equal number of dimensions. 
     
     
         10 . The method of  claim 1 ,
 wherein each of the plurality of datasets is represented by a tensor, and   wherein at least one of the plurality of datasets is represented by a sparse tensor.   
     
     
         11 . The method of  claim 1 , further comprising:
 selecting, by the managing computing device, an additional subset of identifiers from the composite list of identifiers;   determining, by the managing computing device, an additional subset of the list of unique objects corresponding to each identifier in the additional subset of identifiers;   computing, by the managing computing device, a revised shared representation of the datasets based on the additional subset of the list of unique objects and the shared function having the one or more shared parameters;   determining, by the managing computing device, additional sublists of objects for the respective dataset of each client computing device based on an intersection of the additional subset of identifiers with the list of identifiers for the respective dataset;   determining, by the managing computing device, a revised partial respective for the respective dataset of each client computing device based on the additional sublist of objects for the respective dataset and the revised shared representation;   transmitting, by the managing computing device, to each of the client computing devices:
 the additional sublist of objects for the respective dataset; and 
 the revised partial representation for the respective dataset; 
   receiving, by the managing computing device, one or more revised feedback values from at least one of the client computing devices, wherein the one or more revised feedback values are determined by the client computing devices by:
 determining, by the respective client computing device, a revised set of predicted values corresponding to the respective dataset, wherein the revised set of predicted values is based on the revised partial representation and the individual function with the one or more individual parameters corresponding to the respective dataset; 
 determining, by the respective client computing device, a revised error for the respective dataset based on the individual loss function for the respective dataset, the revised set of predicted values corresponding to the respective dataset, the additional sublist of objects, and the non-empty entries in the set of recorded values corresponding to the respective dataset; 
 updating, by the respective client computing device, the one or more individual parameters for the respective dataset; and 
 determining, by the respective client computing device, the one or more revised feedback values, wherein the one or more revised feedback values are used to determine a change in the revised partial representation that corresponds to an improvement in the set of predicted values; 
   determining, by the managing computing device, based on the additional sublists of objects and the one or more revised feedback values, one or more revised aggregated feedback values;   updating, by the managing computing device, the one or more shared parameters based on the one or more revised aggregated feedback values; and   determining, by the managing computing device based on the one or more revised aggregated feedback values, that an aggregated error corresponding to the revised errors for all respective datasets has been minimized.   
     
     
         12 . The method of  claim 1 , further comprising initializing, by the managing computing device, the shared function and the one or more shared parameters based on a related shared function used to model a similar relationship. 
     
     
         13 . The method of  claim 1 , wherein determining the one or more feedback values by the client computing devices further comprises initializing, by the respective client computing device, the individual function and the one or more individual parameters corresponding to the respective dataset based on a random number generator or a pseudo-random number generator. 
     
     
         14 . The method of  claim 1 ,
 wherein each of the plurality of datasets comprises at least two dimensions,   wherein a first dimension of each of the plurality of datasets comprises a plurality of chemical compounds,   wherein a second dimension of each of the plurality of datasets comprises descriptors of the chemical compounds,   wherein entries in each of the plurality of datasets correspond to a binary indication of whether a respective chemical compound exhibits a respective descriptor,   wherein each of the sets of recorded values corresponding to each of the plurality of datasets comprises at least two dimensions,   wherein a first dimension of each of the sets of recorded values comprises the plurality of chemical compounds,   wherein a second dimension of each of the sets of recorded values comprises activities of the chemical compounds in a plurality of biological assays, and   wherein entries in each of the sets of recorded values correspond to a binary indication of whether a respective chemical compound exhibits a respective activity.   
     
     
         15 . The method of  claim 14 , further comprising:
 calculating, by the managing computing device, a final shared representation of the datasets based on the list of unique objects, the shared function, and the one or more shared parameters; and   transmitting, by the managing computing device, the final shared representation of the datasets to each of the client computing devices,   wherein the final shared representation of the datasets is usable by each of the client computing devices to determine a final set of predicted values corresponding to the respective dataset, and   wherein the final set of predicted values is used by at least one of the client computing devices to identify one or more effective treatment compounds among the plurality of chemical compounds.   
     
     
         16 . The method of  claim 1 ,
 wherein each of the plurality of datasets comprises at least two dimensions,   wherein a first dimension of each of the plurality of datasets comprises a plurality of patients,   wherein a second dimension of each of the plurality of datasets comprises descriptors of the patients,   wherein entries in each of the plurality of datasets correspond to a binary indication of whether a respective patient exhibits a respective descriptor,   wherein each of the sets of recorded values corresponding to each of the plurality of datasets comprises at least two dimensions,   wherein a first dimension of each of the sets of recorded values comprises the plurality of patients,   wherein a second dimension of each of the sets of recorded values comprises clinical diagnoses of the patients, and   wherein entries in each of the sets of recorded values correspond to a binary indication of whether a respective patient exhibits a respective clinical diagnosis.   
     
     
         17 . The method of  claim 16 , further comprising:
 calculating, by the managing computing device, a final shared representation of the datasets based on the list of unique objects, the shared function, and the one or more shared parameters; and   transmitting, by the managing computing device, the final shared representation of the datasets to each of the client computing devices,   wherein the final shared representation of the datasets is usable by each of the client computing devices to determine a final set of predicted values corresponding to the respective dataset, and   wherein the final set of predicted values is used by at least one of the client computing devices to diagnose at least one of the plurality of patients.   
     
     
         18 . The method of  claim 1 ,
 wherein each of the sets of predicted values corresponding to one of the plurality of datasets corresponds to a predicted value tensor,   wherein the predicted value tensor is factored into a first tensor multiplied by a second tensor, and   wherein the first tensor corresponds to the respective dataset multiplied by the one or more shared parameters.   
     
     
         19 . The method of  claim 18 , wherein the respective dataset encodes side information about the objects of the dataset. 
     
     
         20 . The method of  claim 18 , wherein the predicted value tensor is factored using a Macau factorization method. 
     
     
         21 . A non-transitory, computer-readable medium with instructions stored thereon, wherein the instructions are executable by a processor to perform a method, comprising:
 receiving a plurality of datasets, wherein each dataset of the plurality of datasets is received from a respective client computing device of a plurality of client computing devices, wherein each dataset corresponds to a set of recorded values, and wherein each dataset comprises objects;   determining a respective list of identifiers for each dataset and a composite list of identifiers comprising a combination of the lists of identifiers of each dataset of the plurality of datasets;   determining a list of unique objects from among the plurality of datasets;   selecting a subset of identifiers from the composite list of identifiers;   determining a subset of the list of unique objects corresponding to each identifier in the subset of identifiers;   computing a shared representation of the datasets based on the subset of the list of unique objects and a shared function having one or more shared parameters;   determining, by the managing computing device, a sublist of objects for the respective dataset of each client computing device based on an intersection of the subset of identifiers with the list of identifiers for the respective dataset;   determining, by the managing computing device, a partial representation for the respective dataset of each client computing device based on the sublist of objects for the respective dataset and the shared representation;   transmitting to each of the client computing devices:
 the sublist of objects for the respective dataset; and 
 the partial representation for the respective dataset; 
   receiving one or more feedback values from at least one of the client computing devices,   wherein the one or more feedback values are determined by the client computing devices by:
 determining, by the respective client computing device, a set of predicted values corresponding to the respective dataset, wherein the set of predicted values is based on the partial representation and an individual function with one or more individual parameters corresponding to the respective dataset; 
 determining, by the respective client computing device, an error for the respective dataset based on an individual loss function for the respective dataset, the set of predicted values corresponding to the respective dataset, the sublist of objects, and non-empty entries in the set of recorded values corresponding to the respective dataset; 
 updating, by the respective client computing device, the one or more individual parameters for the respective dataset; and 
 determining, by the respective client computing device, the one or more feedback values, wherein the one or more feedback values are used to determine a change in the partial representation that corresponds to an improvement in the set of predicted values; 
   determining based on the sublists of objects and the one or more feedback values from the client computing devices, one or more aggregated feedback values; and   updating the one or more shared parameters based on the one or more aggregated feedback values.   
     
     
         22 . A memory with a model stored thereon, wherein the model is generated according to a method, comprising:
 receiving, by a managing computing device, a plurality of datasets, wherein each dataset of the plurality of datasets is received from a respective client computing device of a plurality of client computing devices, wherein each dataset corresponds to a set of recorded values, and wherein each dataset comprises objects;   determining, by the managing computing device, a respective list of identifiers for each dataset and a composite list of identifiers comprising a combination of the lists of identifiers of each dataset of the plurality of datasets;   determining, by the managing computing device, a list of unique objects from among the plurality of datasets;   selecting, by the managing computing device, a subset of identifiers from the composite list of identifiers;   determining, by the managing computing device, a subset of the list of unique objects corresponding to each identifier in the subset of identifiers;   computing, by the managing computing device, a shared representation of the datasets based on the subset of the list of unique objects and a shared function having one or more shared parameters;   determining, by the managing computing device, a sublist of objects for the respective dataset of each client computing device based on an intersection of the subset of identifiers with the list of identifiers for the respective dataset;   determining, by the managing computing device, a partial representation for the respective dataset of each client computing device based on the sublist of objects for the respective dataset and the shared representation;   transmitting, by the managing computing device, to each of the client computing devices:
 the sublist of objects for the respective dataset; and 
 the partial representation for the respective dataset; 
   receiving, by the managing computing device, one or more feedback values from at least one of the client computing devices, wherein the one or more feedback values are determined by the client computing devices by:
 determining, by the respective client computing device, a set of predicted values corresponding to the respective dataset, wherein the set of predicted values is based on the partial representation and an individual function with one or more individual parameters corresponding to the respective dataset; 
 determining, by the respective client computing device, an error for the respective dataset based on an individual loss function for the respective dataset, the set of predicted values corresponding to the respective dataset, the sublist of objects, and non-empty entries in the set of recorded values corresponding to the respective dataset; 
 updating, by the respective client computing device, the one or more individual parameters for the respective dataset; and 
 determining, by the respective client computing device, the one or more feedback values, wherein the one or more feedback values are used to determine a change in the partial representation that corresponds to an improvement in the set of predicted values; 
   determining, by the managing computing device, based on the sublists of objects and the one or more feedback values from the client computing devices, one or more aggregated feedback values;   updating, by the managing computing device, the one or more shared parameters based on the one or more aggregated feedback values; and   storing, by the managing computing device, the shared representation, the shared function, and the one or more shared parameters on the memory.

Join the waitlist — get patent alerts

Track US2019102670A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.