## 6 Practical Applications of the Scheme  
The proposed collaborative learning method for linear regression can be viewed as a peer-to-peer mode of collaborative learning, or decentralized federated learning. In addition to the peer-to-peer model for collaborative learning, the proposed learning scheme can also be used for the client-server mode of collaborative learning, or centralizedfederated learning. In the client-server mode of collaborative learning, the server may or may not own any training data. Each party sends its data to the server in the aggregated form. The server can then do all the computations for the users and can send the final result, i.e., the value of \(\vec{\beta}\), to each user.  
Users' new data can also be sent to the server many times. When sending their newly collected data incrementally, care must be taken to avoid sending a batch of too few data. For example, suppose that initially a user \(A\) has collected a set of \(n_{1}\) data. If \(n_{1}>m+1\), then the user can send the corresponding matrix \(G_{1}=X_{1}^{T}X_{1}\) and \(\vec{h}_{1}=X_{1}^{T}\vec{y}_{1}\) to the server. Assume that more data were collected by the same user \(A\). If the number of new data \(n_{2}>m+1\), then \(A\) can send another pair of matrices \(G_{2}=X_{2}^{T}X_{2}\) and \(\vec{h}_{2}=X_{2}\vec{y}_{2}\) to the server. In the case that the number of data \(n_{2}\leq m+1\), user \(A\) may not want to send \(G_{2}=X_{2}^{T}X_{2}\) and \(\vec{h}_{2}=X_{2}^{T}\vec{y}_{2}\) to the server for security and privacy reasons. This is because the number of data in \(X_{2}\) and \(\vec{y}_{2}\) is too small, and a curious server can compute the matrix \(X_{2}\) and \(\vec{y}_{2}\) from \(G_{2}\) and \(\vec{h}_{2}\).  
This implies that our proposed collaborate learning method can easily be implemented to compute optimal model parameters for linear regression incrementally. Suppose that \(k\) datasets are collected over a period of time:  
\[(X_{1},\vec{y}_{1}),(X_{2},\vec{y}_{2}),\cdots,(X_{k},\vec{y}_{k}).\]  
Define an \((m+1)\times(m+1)\) matrix  
\[G_{i}=X_{i}^{T}X_{i}\]  
and an \((m+1)\times 1\) vector  
\[\vec{h}_{i}=X_{i}^{T}\vec{y}_{i}.\]  
The optimal model parameters \(\vec{\beta}\) can be computed by the equation  
\[\vec{\beta}=G^{-1}\vec{h},\]  
where  
\[G=\sum_{i=1}^{k}G_{i}\text{, and }\vec{h}=\sum_{i=1}^{k}\vec{h}_{i}.\]  
These \(k\) sets of data \((X_{1},\vec{y}_{1}),(X_{2},\vec{y}_{2}),\cdots,(X_{k},\vec{y}_{k})\) can be the data of \(k\) users collected at different times. When some dataset \((X_{i},\vec{y}_{i})\) is available, it can be added into \(G\) and \(\vec{h}\), respectively. Better model parameters \(\vec{\beta}\) can then be computed.  
It is also possible to delete some specified datasets as long as the relevant aggregated data are properly preserved. For example, if we want to delete all datasets associated with a party, we need to know the aggregated data for that party was also be held by that party. Once that party wants to delete his entire dataset, he can send the aggregated data to the server, which can deduct his data from the system.  
By Theorem 1, in applying our scheme, it is required that the number of data \(n_{i}\) must be greater than \(m+1\) for each user \(i\). Otherwise, the curious party may be able to compute the value of the data set of user \(i\). This is not a serious limitation, because, in any practical application, the number of features is usually small, and the amount of collected data should be much larger than the number of features to built an accurate machine learning model.