# Trade-Off Analysis of Hardware Architectures for Channel-Quality Classification Models
## 3 Preliminaries
General Neural Networks are defined as a directed graph, which is a pair \(G=(V,E)\) consisting of a finite set \(V\) of nodes and a finite set \(E\subseteq V\times V\) of edges. An edge \(e=(u,v)\in E\) is said to be directed from vertex \(u\) to vertex \(v\). Let \(G=(V,E)\) be a directed graph, and \(u\in V\) be a vertex; the vertices of set \(pred(u)=v\in V|(v,u)\in E\) are called predecessors of vertex \(u\), and vertices of set \(succ(u)=v\in V|(u,v)\in E\) are called successors of vertex \(u\). An artificial neural network is a directed graph \(G=(U,C)\) whose vertices \(u\in U\) are called neurons or units and whose edges \(c\in C\) are called connections; set \(U\) of vertices is divided into set \(U_{in}\) of input neurons, set \(U_{out}\) of output neurons, and \(U_{hidden}\) set of hidden neurons (Equation (2)):  
\[U=U_{in}\cup U_{out}\cup U_{hidden} \tag{2}\]  
Two large groups of artificial neural networks are distinguished according to their structure, which can be understood as a graph: (i) the first one is when the graph is acyclic (no loops). This type of network is called a feed-forward network, when information can only be transmitted in one direction; (ii) the second is defined when the graph is cyclical, called a recurrent network. This configuration presents feedback and depends on input and output values from previous steps. The computation of the neural networks is divided into input and work phases: the input phase consists of reading input values of the network and initializing weights in a random range with a small value. In contrast, the work phase computes the output. Logistic Regression is a statistical model that uses a logistic function to model a dichotomous variable (binary). Logistic Regression determines a boundary between classes and determines class probabilities, depending on the distance from the edge [41]. The input values \(X_{i}\), where i = 1, 2,..., m, are combined linearly using weights \(\beta_{j}\) (also called coefficients), where j = 0, 1, 2,..., m, (see Equation (3)) to predict output \(Y\) (see Equation (3)):  
\[ \begin{split} X=\beta_{0}+\beta_{1}X_{1}+\beta_{2}X_{2}+...+\beta _{m}X_{m}\\ Y(X)=\frac{1}{1+e^{-X}}\end{split}  \tag{3}\]  
Time complexity of Logistic Regression during training is calculated using \(n\) number of training examples and \(d\) number of dimensions, such that \(O(n\cdot d)\), whereas space complexity is calculated using \(d\) number of dimensions (\(O(d)\)). Support Vector Machine belongs to the supervised learning algorithms that can be used for classification and regression problems. It is based on the idea of mapping data points from low dimensions to high dimensions using kernel functions [42], such as Linear, Polynomial, RBF, and Sigmoid, shown in Equation (4):  
\[ \begin{split} f(x)=x_{i}^{t}x_{j}\\ f(x)=(\gamma x_{i}^{t}x_{j}+r)^{t}\\ f(x)=exp(-\gamma||x-x^{\prime}||^{2})\\ f(x)=tanh(\gamma x_{i}^{t}x_{j}+r)\end{split}  \tag{4}\]  
The coefficient \(\gamma\) is a conditional hyperparameter when the kernel is set to polynomial, RBF, or sigmoid; \(r\) is a conditional hyperparameter of polynomial and sigmoid kernels; \(d\) is a hyperparameter that represents the degree of the polynomial kernel function. The complexity of SVM during the training phase scales between \(O(n_{features}\cdot n_{samples}^{2})\) and \(O(n_{features}\cdot n_{samples}^{3})\).