USING PROXIES TO ENABLE ON-DEVICE MACHINE LEARNING
First Claim
1. A computer-implemented method practiced on a client device, comprising:
- collecting private user data on the client device to produce an initial data distribution for use with an application;
performing a divergence estimate between the initial data distribution and corresponding data distributions of a set of proxy models;
selecting a proxy model from the set of proxy models having a low divergence between the initial data distribution and a data distribution of the selected proxy model, the low divergence being below a threshold value; and
associating the selected proxy model with the application such that the selected proxy model becomes a user predictive model for the application.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for a server generating a plurality of proxy prediction models for each of a plurality of applications for use by client devices. Providing a prediction model based on a data distribution that more closely matches the user private data of the actual user of the client device, as opposed to a generic model, can improve the accuracy of predictions and improve the benefits to the user of the client device. The plurality of prediction models are generated by a server and provided to a plurality of clients. For a particular application, a client device can use previously collected private user data to select one of the plurality of prediction models for the application as being a closest matching prediction model to use for a particular user.
-
Citations
25 Claims
-
1. A computer-implemented method practiced on a client device, comprising:
-
collecting private user data on the client device to produce an initial data distribution for use with an application; performing a divergence estimate between the initial data distribution and corresponding data distributions of a set of proxy models; selecting a proxy model from the set of proxy models having a low divergence between the initial data distribution and a data distribution of the selected proxy model, the low divergence being below a threshold value; and associating the selected proxy model with the application such that the selected proxy model becomes a user predictive model for the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable medium programmed with instructions that, when executed by a processing system, perform operations, comprising:
-
collecting private user data on the client device to produce an initial data distribution for use with an application; performing a divergence estimate between the initial data distribution and corresponding data distributions of a set of proxy models; selecting a proxy model from the set of proxy models having a low divergence between the initial data distribution and a data distribution of the selected proxy model, the low divergence being below a threshold value; and associating the selected proxy model with the application such that the selected proxy model becomes a user predictive model for the application. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a processing system coupled to a memory programmed with executable instructions that, when executed by the processing system perform operations, comprising; collecting private user data on the client device to produce an initial data distribution for use with an application; performing a divergence estimate between the initial data distribution and corresponding data distributions of a set of proxy models; selecting a proxy model from the plurality of proxy models having a low divergence between the initial data distribution and a data distribution of the selected proxy model, the low divergence being below a threshold value; and associating the selected proxy model with the application such that the selected proxy model becomes a user predictive model for the application. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer-implemented method practiced on a server comprising at least one hardware processor, the method comprising:
-
training a plurality of models based on at least one of anonymized data, de-identified data, or voluntarily-provided data of identified users, collected on the server for an application used by one or more client devices; performing a divergence estimate between pairs of models in the plurality models to identify a subset of the plurality of models for inclusion in a set of proxy models; designating one of the models in the set of proxy models as a generic proxy model; transmitting the set of proxy models to one or more client devices.
-
Specification