# Support Vector Machine-Based Transmit Antenna Allocation for Multiuser Communication Systems
## 3 SVM-Based Antenna Allocation
### Task 2: Designing Learning Systems  
From Task 1, we obtain the real-value matrix \(\mathbf{T}\in\mathbb{R}^{D\times N_{t}U}\) as the training set and the corresponding class label vector \(\mathbf{c}=[c_{1},\cdots,c_{D}]^{T}\). Using the labeled training dataset (training data), i.e., \(\mathbf{T}\) and \(\mathbf{c}\), we build a learning system, and specifically, a trained multiclass classifier whose input is an estimated channel gain vector and whose output is the index of the antenna allocation scheme. Since \(L>2\) in our antenna allocation system, we employ \(L\)-class classification algorithms, such as the multiclass \(k\)-NN and SVM algorithms. For the simple description of the multiclass classification algorithms, we denote the \(i\)th row vector of \(\mathbf{T}\) by \(\mathbf{t}_{i}\in\mathbb{R}^{1\times N_{t}U}\).  
We now introduce the fundamental mechanism of a binary SVM classifier and then explain how to perform multiclass classification based on the binary SVM classifier. With a binary SVM, the data are separated into two half-spaces with a hyperplane \(f(\mathbf{t})\), which is given by  
\[f(\mathbf{t})=\mathbf{w}\mathbf{t}^{T}+\beta=0, \tag{8}\]  
where \(\mathbf{t}\in\mathbb{R}^{1\times N_{t}U}\) is a feature vector, \(\mathbf{w}\in\mathbb{R}^{1\times N_{t}U}\) is a weight vector, and \(\beta\in\mathbb{R}\) is a biasing variable. Here, the linear kernel function, denoted by \(K(\mathbf{t}_{i},\mathbf{t}_{j})=\mathbf{t}_{i}^{T}\mathbf{t}_{j}\), is employed, but generally, various types of kernel functions can also be adopted. This will be discussed later in this section. A classification rule induced by \(f(\mathbf{t})\) for the new observation \(\mathbf{t}_{\text{new}}\) is  
\[\text{sign}\left(\mathbf{w}\mathbf{t}_{\text{new}}^{T}+\beta\right). \tag{9}\]  
The training data samples that are nearest to the decision boundary are called support vectors, where the distance is given by \(\frac{1}{\|\mathbf{w}\|_{2}}\). Thus, in order to separate the data as much as possible, the margin that is given by \(\frac{2}{\|\mathbf{w}\|_{2}}\) needs to be maximized. This optimization problem is equivalent to minimizing \(\|\mathbf{w}\|_{2}\). Since the training data may be not totally separable (that is the case for our antenna allocation system), the optimization problem is formulated by introducing slack variable \(\xi_{i}\geq 0,\forall i=\{1,2,\cdots,N_{t}U\}\) as  
\[\underset{\mathbf{w},\beta}{\text{minimize}} \frac{1}{2}\|\mathbf{w}\|_{2}^{2}+C\sum_{i=1}^{N_{t}U}\xi_{i}\] (10) subject to \[\xi_{i}\geq 0,c_{i}\left(\mathbf{w}\mathbf{t}_{i}^{T}+\beta \right)\geq 1-\xi_{i}\quad\forall i,\]  
and  
\[K(\mathbf{t}_{i},\mathbf{t}_{j})=e^{\frac{-|\mathbf{t}_{i}-\mathbf{t}_{j}|^{2}} {2\sigma^{2}}}, \tag{12}\]  
respectively, where \(p\geq 2\) is the polynomial power and \(\sigma^{2}\) is the variance. We can do this because the optimization process of SVM allows us to simply modify the kernel function \(K(\mathbf{t}_{i},\mathbf{t}_{j})\) by replacing the linear kernel function with other kernel functions, without changing the overall optimization algorithm.  
In order to perform multiclassification using the binary SVM method that was originally designed for binary classification [56], we can either employ the one-vs-all (OVA) strategy with \(L\) binary SVM learners or the one-vs-one (OVO) strategy with \(\frac{L(L-1)}{2}\) binary SVM learners [57]. Compared to the OVO strategy, the OVA strategy has a lower computational complexity because fewer binary SVM learners are required. The selection of the proper multiclassification strategy and kernel function will be discussed in detail based on numerical results in the next subsection.