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.
Please help me write a proper abstract based on the patent claims. 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. 2. The method of claim 1, wherein the low divergence is the lowest divergence and wherein one of: the set of proxy models reside on the client device; the set of proxy models are received from a server in response to a request by the client device for a set of proxy models related to the application. 3. The method of claim 1, further comprising selecting a generic proxy model from the set of proxy models as a default user predictive model and training the default user predictive model based on the private user data. 4. The method of claim 1, wherein the user predictive model calibrates one or more sensors of the client device to the user. 5. The method of claim 4, wherein the one or more sensors comprise a health sensor that includes a heart-rate monitor. 6. The method of claim 1, wherein the user predictive model calibrates a speech recognition module to the user, wherein the user predictive model incorporates feature vectors including components comprising a language in which the user is speaking, mel-frequency cepstral coefficients, and activations of deep neural networks. 7. The method of claim 1, wherein the user predictive model predicts one of: a subject matter of text that a user is composing or editing in the application, and the user predictive model suggests words or phrases to the user in the application; or a genre or artist of media type to present to the user, and the model suggests or plays media items in the application. 8. The method of claim 1, wherein performing a divergence estimate comprises applying a K nearest neighbor divergence estimation algorithm to the initial data distribution and a data distribution of one of the plurality of proxy models. 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. 10. The medium of claim 9, wherein the low divergence is the lowest divergence and wherein one of: the set of proxy models reside on the client device; the set of proxy models are received from a server in response to a request by the client device for a set of proxy models related to the application. 11. The medium of claim 9, further comprising selecting a generic proxy model from the set of proxy models as a default user predictive model and training the default user predictive model based on the private user data. 12. The medium of claim 9, wherein the user predictive model calibrates one or more sensors of the client device to the user. 13. The medium of claim 12, wherein the one or more sensors comprise a health sensor that includes a heart-rate monitor. 14. The medium of claim 9, wherein the user predictive model calibrates a speech recognition module to the user, wherein the user predictive model incorporates feature vectors including components comprising a language in which the user is speaking, mel-frequency cepstral coefficients, and activations of deep neural networks. 15. The medium of claim 9, wherein the user predictive model predicts one of: a subject matter of text that a user is composing or editing in the application, and the use predictive model suggests words or phrases to the user in the application; or a genre or artist of media type to present to the user, and the model suggests or plays media items in the application. 16. The medium of claim 9, wherein performing a divergence estimate comprises applying a K nearest neighbor divergence estimation algorithm to the initial data distribution and a data distribution of one of the plurality of proxy models. 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. 18. The system of claim 17, wherein the low divergence is the lowest divergence and wherein one of: the set of proxy models reside on the client device; the set of proxy models are received from a server in response to a request by the client device for a set of proxy models related to the application. 19. The system of claim 17, further comprising selecting a generic proxy model from the set of proxy models as a default user predictive model and training the default user predictive model based on the private user data. 20. The system of claim 17, wherein the user predictive model calibrates one or more sensors of the client device to the user. 21. The system of claim 20, wherein the one or more sensors comprise a health sensor that includes a heart-rate monitor. 22. The system of claim 17, wherein the user predictive model calibrates a speech recognition module to the user, wherein the user predictive model incorporates feature vectors including components comprising a language in which the user is speaking, mel-frequency cepstral coefficients, and activations of deep neural networks. 23. The system of claim 17, wherein the user predictive model predicts one of: a subject matter of text that a user is composing or editing in the application, and the user predictive model suggests words or phrases to the user in the application; or a genre or artist of media type to present to the user, and the model suggests or plays media items in the application. 24. The system of claim 17, wherein performing a divergence estimate comprises applying a K nearest neighbor divergence estimation algorithm to the initial data distribution and a data distribution of one of the plurality of proxy models. 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.