# AI-Driven Pilot Overhead Reduction in 5G mmWaveMassive MIMO Systems
## 2 System Model
### AI-Driven Pilot Placement
#### 2.2.1 Unsupervised K-Clustering ML  
Based on real-time channel conditions, AI and machine learning models can efficiently allocate pilots in time, frequency, and spatial domains. Unsupervised ML empowers systems to autonomously identify patterns and structure within the data, enabling more efficient pilot allocation and reducing overhead while maintaining high SE. Notably, k-clustering divides a dataset into \(k\) clusters based on the resemblance between data points, where \(k\) represents a pre-determined number of clusters designated by the user. The algorithm iteratively enhances an objective function, typically aimed at minimizing the total sum of squared distances from every data point to its designated cluster centroid [16].  
In this system, k-clustering is applied directly to the pilot signals rather than to users, as the study focuses on a single-user mmWave m-MIMO system. The purpose of clustering is to group pilot signals with similar characteristics, thereby reducing redundancy and optimizing the placement of pilots in the time, frequency, or spatial domain. The process involves the following:  
* Feature selection: Input features for clustering include the temporal positions of pilot symbols, their spatial allocation, and inter-pilot spacing. These features reflect the structure of the pilot signals rather than channel metrics or user-specific parameters;* Clustering process: Using k-means clustering, the algorithm partitions the pilot signals into \(k\) clusters. Each cluster represents a group of pilot signals with similar temporal or spatial properties;
* Pilot Allocation: A representative pilot signal is selected for each cluster, which reduces the number of total pilots needed while maintaining sufficient information for channel estimation.  
Given a dataset \(X=\{x_{1},x_{2},\ldots,x_{n}\}\) consisting of \(n\) data points and the desired number of clusters \(k\), cluster centroids \(u_{1},u_{2},\ldots,u_{k}\) are initialized as the initial positions. For each data point \(x_{i}\) the distance from the centroid is calculated:  
\[d(x_{i},u_{j})=\left\|x_{i}-u_{j}\right\|^{2} \tag{8}\]  
Then, each point is assigned to the nearest centroid:  
\[c(x_{i})=argmind(x_{i},u_{j}) \tag{9}\]  
After that, each cluster centroid is updated to be the mean of the data points assigned to it based on the below equation:  
\[u_{j}=\frac{1}{\left|S_{j}\right|}\sum_{x_{i}\in S_{j}}x_{i} \tag{10}\]  
where \(S_{j}\) is the set of data points assigned to cluster \(j\). The step in Equation (10) is repeated and updated until the assignment of the clusters stabilizes, or a convergence criterion is met. In our work, the k-means clustering algorithm minimizes the variance within clusters of pilot signalsrepresented by the following function:  
\[J=\sum_{j=1}^{k}\sum_{p\in C_{i}}\left\|p-u_{j}\right\|^{2} \tag{11}\]  
where \(C_{i}\) represents the \(i\)-th cluster of pilot signals, \(u_{j}\) is the centroid of \(C_{i}\), and \(p\) is the pilot signal parameters such as temporal positions or spacing. This represents the objective function, where \(J\) is the sum of squared distances between data points \(p\) and their corresponding cluster centers \(u_{j}\). After clustering, pilot signals are reassigned as follows:  
\[P_{i}=Representative(C_{i}),\ \forall C_{i} \tag{12}\]  
where \(P_{i}\) is the representative pilot signal for cluster \(C_{i}\). This reassignment ensures that the clustered pilots provide the necessary information for accurate channel estimation while reducing overhead.  
The used algorithm aims to optimize the aforementioned objective function by iteratively adjusting the cluster centroids until reaching convergence. Considering the above equations and the main goal of reducing the pilot overhead of the system, it is possible to apply the k-clustering AI method to cluster pilots to reduce the pilot overhead and study the effect of such reduction on SE and BER.