## 3 Sources of Stochastic Noises
### Clustering  
In this section, we briefly describe the structure of the four main unsupervised machine learning based clustering algorithms that have been applied in long-haul CO-OFDM as BNLEs, i.e., the \(K\)-means, fuzzy-logic \(C\)-means (named here as FL or FLC), and affinity propagation (name here as AP) clustering algorithms. _K-means_: Is the most common clustering algorithm based on an iterative, data-partitioning process, assigning \(n\) observations to exactly one of the \(k\) clusters defined by centroids, where \(k\) is chosen before the algorithm starts [35]. The algorithm proceeds as follows:  
1. Choose k initial cluster centers (centroid). 2. Compute point-to-cluster-centroid distances of all observations to each centroid. 3. Compute the average of the observations in each cluster to obtain \(k\) new centroid locations. 4. Repeat steps 2 through 3 until cluster assignments do not change, or the maximum number of iterations is reached. Figure 6: Blind support vector machines (SVMs) (BNLEs): (**a**) Sato/Godard SVM for CO-OFDM and (**b**) its iteratively minimized by re-weighted least squares (IRWLS) pseudocode [31; 33]; (**c**) Newton-based SVM and (**d**) the algorithm’s steps [29]. _FL_: This belongs to the probabilistic machine learning algorithms, and permits the symbols to fluctuate the data membership degree (MD) while being allocated into many clusters as shown in Figure 7 by minimizing the objective function: \(F_{m}=\sum\limits_{i,j}^{N}\sum\limits_{i=1}^{R}\sum\limits_{j=1}^{L}u_{ij}^{m} \parallel t_{i}-c_{j}\parallel^{2}\). In this objective function, the terms \(m\), \(L\), \(N\), and \(R\), correspond to the \"Fuzzy partition matrix exponent\", clusters, total number of subcarriers and symbols, respectively. The role of the \"Fuzzy partition matrix exponent\" is to adjust the grade of overlapping between clusters. Where \(t_{i}\) is referred to the \(i\)th symbol, \(c_{j}\) is the center of a \(j\)th cluster, and \(\mu_{ij}\) refers to the MD of \(t_{i}\) into \(j\)th cluster. FL is processed in 5 steps: 1. Enter the number of targeted clusters; 2. Initiate the cluster MD, \(\mu_{ij}\); 3. Estimate the center per cluster by \(C_{j}=\sum\limits_{i,j}^{N}(\sum\limits_{i=1}^{R}u_{ij}^{m}X_{i}/\sum\limits_{ i=1}^{R}u_{ij}^{m})\); 4. Update \(\mu_{ij}\) using \(C_{j}=1/\left(\sum\limits_{i,j}^{N}\sum\limits_{k=1}^{L}\parallel t_{i}-c_{j} \parallel/\parallel t_{i}-c_{k}\parallel\right)^{2/m-1}\) and compute \(F_{m}\); 5. Return and perform steps 2-4 until \(F_{m}\) is converged at a desired threshold. _AP_: Every symbol in AP is a potential exemplar by viewing each symbol as a node that recursively transmits real-valued messages (separately for amplitude and phase) along the edges of the NLE network until a good set of exemplars and corresponding clusters emerges [36]. 'Messages' are updated by simple formulas that search for minima of an appropriately chosen energy function. At any symbol in time the magnitude of each message reflects the current affinity that 1 symbol has for choosing another symbol as its exemplar. Let \(x_{1}\) through \(x_{n}\) be a set of complex data (symbol), with no assumptions made about their internal structure, and let \(S\) be a function that quantifies the similarity between any 2 symbols, such that \(S(x_{i},x_{j})\)\(>\)\(S(x_{i},x_{k})\) if \(x_{i}\) is more similar to \(x_{i}\) than to \(x_{k}\). For this example, the negative squared distance of 2 symbols was used i.e., for points \(x_{i}\) and \(x_{k}\),  
\(s(i,\,k)=-\parallel x_{i}-x_{k}\parallel^{2}\). The diagonal of \(S\) (i.e., \(S(i,i)\)) is particularly important, as it represents the input preference, meaning how likely a particular input is to become an exemplar. When this is set to the same value for all inputs, it controls how many classes the algorithm can produce. A value close to the minimum possible similarity produces fewer classes, however, a value close or larger to the maximum possible similarity, produces many classes (initialized to the median similarity of all pairs of inputs).