Schematic example with two drifting classes and the use of the overlapping sets to track them. In the left panel, two clusters are detected by a sorting algorithm, and assigned to classes \(C^{t_1}_1\)and \(C^{t_1}_2\). Then, an OS is created for each of these classes, i.e. \(OS(C^{t_1}_1)\) and \(OS(C^{t_1}_2)\). In the middle panel, the spike sorting result on the next block is shown, where clusters \(\tilde C^{t_2}_1\) and \(\tilde C^{t_2}_2\) were separated. Since the overlapping sets were perfectly separated between the clusters, the overlapping values will be 1 (see equation \ref{eqn:overlap}), and clusters \(\tilde C^{t_2}_1\) and \(\tilde C^{t_2}_2\) can be easily included to the classes \(C^{t_1}_1\) and \(C^{t_1}_2\), resulting in the tracked classes \(C_1^{t_2}\) and \(C^{t_2}_2\), as shown in the right panel (the arrows represent the drifting direction of each class). In general, the feature space on each block would be different, as it is defined by the sorting algorithm on each block.