# Distributed Online Multi-Label Learning with Privacy Protection in Internet of Things
## 3 Problem Definition  
This section describes the scenario in which our proposed DOML algorithm is used and abstracts the real-world IoT environment into a mathematical representation.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Methods** & **Type of Methods** & **Description** \\ \hline OSML-ELM [37] & PT & OSM-ELM for online learning \\ dw-ELM [38] & PT & dw-ELM for OMLC \\ RLS-Multi [39] & PT & For imbalanced online data \\ AMLCM [40] & PT & AMRule problem for OMLC \\ HITS [41] & AA & Multi-label data stream \\ iSOUP-Tree [42] & AA & Regression for classification \\ OML [43] & EMLCs & Enhance label dependencies \\ \hline \hline \end{tabular}
\end{table}
Table 1: Online Multi-Label Classification methods.  
In a real-world network environment, all computer devices can communicate with other devices on the same network. Geographically nearer devices can often transfer information directly, while more remote devices must pass through multiple devices to share data. Furthermore, in general, information transfer between devices is bidirectional. Thus, it could be supposed that there is a network composed of \(m\) computing nodes in which two nodes that can communicate directly with each other are called neighbours. The value of variable \(m\) should be a positive integer. An undirected graph \(\mathbb{G}\) can describe the connection of the entire network, where the vertices represent the computing nodes and the edges indicate the neighbours. The proposed network structure is shown in Figure 1. In a real network, multiple terminal devices can continuously obtain and exchange data with neighbouring devices in real-time. Each terminal device is considered a separate node in our supposed network and obtains local data \(X_{i}\) and \(Y_{i}\). Neighbour nodes can exchange data with each other, thus forming our supposed undirected graph network.  
Each node will continuously obtain streaming data of instances with their corresponding labels, and refer to each instance-label pair as an example. Let \(x_{t}\in\mathbb{R}^{d}\) denote an instance collected at time \(t\) and its corresponding labels by \(y_{t}\in\{1,0\}^{q}\), where \(d\) and \(q\) denote the number of features and labels of the data, respectively. The instances and their corresponding labels accumulated over a while on a node \(i\) are denoted as \(X_{i}\in\mathbb{R}^{n_{i}\times d}\) and \(Y_{i}\in\{0,1\}^{n_{i}\times d}\), respectively. The index number of \(i\) is counting up from 1. Note that each row of the \(X_{i}\) is the transpose of an instance \(x_{t}\), and the same row of its corresponding \(Y_{i}\) is also the transpose of the corresponding labels \(y_{t}\) for the single instance \(x_{t}\). \(n_{i}\) denotes the number of examples accumulated on the node \(i\). The overall instance matrix \(X=\text{col}\left\{X_{1},X_{2},\dots,X_{m}\right\}\), representing the block matrix in the shape of \([X_{1}^{\prime},X_{2}^{\prime},\dots,X_{m}^{\prime}]^{\prime}\), similarly its corresponding label matrix, is \(Y=\text{col}\left\{Y_{1},Y_{2},\dots,Y_{m}\right\}\). \(X\) and \(Y\) composed the overall dataset across the entire network where the instance and the label belong to the same example and should appear at the same position of the matrix.