# Analysis of Machine Learning Techniques for Information Classification in Mobile Applications
## 7 Federated Learning  
Federated learning is an ML environment in which different clients collaborate to learn a centralised model while keeping client data decentralised [83]. In this model, several users share data remotely to a server for centralized deep learning model training; this improves iteratively, meaning that the more data are shared by the clients, the better fit the model will have. The training and tuning process is simple; first, each client downloads the pretrained base model from the cloud, which is trained with the client's data (private or public), and a model summary is created with the new data. The new model configuration is encrypted and sent back to the server, performing the reverse process of encryption, and the model is integrated with the client data and the base model [84].  
Federated learning allows mobile devices to collaboratively learn the shared prediction model so that all training data can be kept on the device, which helps train the machine learning algorithm while allowing each device to maintain its own private and local data. This technology provides pervasive machine learning solutions, as well as flexible and managed real-time data. Federated learning can be used for numerous tasks and contexts, including offline and online learning procedures for algorithms [85; 86].  
In order to ensure user privacy, when a model is deployed on a mobile device using federated Learning features, the device initially downloads the base model (A) from a remote server; when there is a data candidate for retraining, this model summarises the changes as a update to the base model (B), which is sent to refresh the core model via encrypted communication (C). This ensures that no user data, whether private or not, leave the device and that no individual updates are stored in the cloud [85] (see Figure 7).  
There are three types of federated learning [87]:  
* Vertical federated learning: Is applied in cases in which the datasets share the same sample space but have a different feature space, with training data vertically divided.
* Horizontal federated learning: Is proposed for architectures for which the participating customer datasets share the same type of characteristics but have different data samples, with the entire data set divided horizontally into data samples and assigned to two customers.
* Hybrid federated learning: Is applied when datasets from different customers have not only have different sample architectures but also share different feature architectures.  
Figure 7: Functioning of federated learning. (**A**) the device downloads the base model, (**B**) summarises the changes as a update to the base model, (**C**) sent to refresh the core model via encrypted communication.  
Federated learning has been used to improve the utility of various types of applications. Some of the most prominent applications of federated learning are Android's Gboard for predictive text and Google Assistant, in addition to natural language processing, autonomous vehicle, resource allocation, data science and health applications, among others [83].  
Federated learning has the functionality to be incorporated into other industries, such as adding to customer financial records and adding to sound and image data. As more technology moves to mobile phones and other peripheral devices, federated learning provides a way to take advantage of streaming data [84].