# UFODMV: Unsupervised Feature Selection for Online Dynamic Multi-Views
## 4 The Proposed UFODMV Method  
This section provides the details of the proposed method. First, we explain the concepts of the dynamic views, the online learning, and the representative features. * _Dynamic multi-views:_ The complete views, which are heterogeneous sets of features, do not exist in advance. The views arrive sequentially and individually and are incrementally processed as they arrive. It is inefficient to wait for all the views to be collected before starting the clustering process as they are not static. * _Online learning:_ A complete set of instances do not exist in advance. They arrive sequentially and are incrementally processed upon their arrival, as shown in Figure 2.
* _Representative feature:_ A feature assigned to a cluster is considered to be representative if it is closer to its cluster's centroid than are all other features assigned to the same cluster. Formally, \(F=\{f_{1},f_{2},\ldots,f_{n}\}\) is the set of features such that \(f_{i}=\{value_{1},value_{2},\ldots,value_{n}\}\). \(C=\{c_{1},c_{2},\ldots,c_{n}\}\) is the set of cluster centroids. Let \(f_{i}\) be a feature vector (i.e., \(f_{i}\subset F\)) in a cluster with the centroid \(c_{i}\in C\). Let \(\Phi\) be a subset of features in a cluster. Let \(R_{i}\) be a representative feature so far (i.e., \(R_{i}\subset F\)) in a cluster with the centroid \(c_{i}\in C\). The feature \(f_{i}\subset\Phi\) is a representative feature in a cluster with centroid \(c_{i}\) if and only if: \[dist(f_{i},c_{i})<dist(\Phi,c_{i})\] Any feature \(f_{i}\) that is not representative is simply considered as _non-representative._  
Figure 3 gives an overview of the proposed UFODMV method. The UFODMV method consists of two parts, namely clustering and feature selection. The chunk can have new instances or new views. If the chunk has new instances only, UFODMV incrementally clusters the new instances with the clusters resulting from the previous chunk. Similarly, when the chunk has a new view (i.e., a set of features), UFODMV incrementally clusters it with the clusters resulting from the previous chunk. With this method, clustering is used for the selection of features as it does not require the data class labels in order to group the data. Specifically, the UFODMV uses hierarchical clustering to merge the clusters, as detailed below. The selected set of representative features is updated at each clustering step. Figure 2: Online learning: The number of features is fixed; the number of instances is dynamic (i.e., increases over time). The steps for selecting a set of representative features from dynamic views in an online environment are:  
1. **Initialising phase (Step A). **For the first chunk of data, UFODMV initialises a cluster by assigning its first feature as a centroid and a member of that cluster (see Algorithm 1 Line 2). Then, UFODMV clusters all remaining features in the chunk, as illustrated in the subsequent clustering phase. Every feature is strictly assigned to one cluster so that there is no overlapping of clusters (i.e., hard clustering). 2. **Clustering phase (Step B). ** For each feature, UFODMV either assigns a feature \(f_{j}\) to a cluster or creates a new cluster with \(f_{j}\) as a centroid and a member of it. To do so, (a) UFODMV finds the closest cluster to \(f_{j}\) by computing the Euclidean distance \(\sqrt{\sum_{i=1}^{n}(f_{j}-c_{i})^{2}}\) between the feature \(f_{j}\) and each cluster centroid; (b) UFODMV decides the inclusion of \(f_{j}\) in the closest cluster by computing the new radius of the closest cluster including the feature \(f_{j}\). If the new radius does not exceed the predefined input threshold \(T\), UFODMV confirms the inclusion of \(f_{j}\) in its closest cluster. Otherwise, UFODMV creates a new cluster with \(f_{j}\) as a centroid and a member of it (see Algorithm 1 Line 5). The radius of a cluster is the sum of the squares of the distances of all its features to the cluster centroid. Formally, cluster radius = \(\sum dist(\epsilon-c_{i})^{2}\).