## 2 Fundamental Principles
### Principles of Hyper-Parameter Optimization Convolutional Neural Network  
The hyperparameters of a convolutional neural network consist of the number of layers, the width of each layer, the size of the convolutional kernel, the step-size of the convolutional layers, the use of inflation convolution to expand the field of perception, the inflation rate of the null convolution, the dropout-layer rounding rate, the type of pooling layer, the type of activation function, the number of fully connected layer neurons, the learning rate, the type of optimization, and other parameters. These hyperparameter optimization challenges typically involve non-convex, noisy and other complex characteristics, and the optimal set of hyperparameters cannot be obtained by the conventional gradient descent method, and it is very time-consuming to find an accuracy-optimal model by traversing all hyperparameters. A random search is more efficient than traversal method, but it still requires a multitude of samples for multiple iterations. The black-box function is constructed, and the optimal function value is iterated through its posterior probability. The principle of the Bayesian optimization CNN network is to use the hyperparameters of CNN and the loss function value of the CNN testing dataset corresponding to the hyperparameters as data to build a probabilistic surrogate model, and calculate the optimized hyperparameters through the acquisition function. When the Bayesian optimization was completed, a neural network model with high accuracy and strong generalization ability was obtained. The Bayesian optimization was performed, as follows:  
The variable \(f(x)\) is the mapping from the hyperparameter \(x\) to the model function, where \(x\in X,X\subseteq R^{d},X\) is the hyperparameter of the \(n\) dimensional system, and the goal of hyperparameter optimization was to find the optimal value of the model function within the hyperparameter set and record the \(n\)-dimensional system hyperparameters \(x^{*}\), corresponding to the optimal value. Consider the maximum value:  
\[x^{*}=\arg\max f(x), \tag{1}\]  
where \(f(x)\) is a black-box function. For instance, the known data are \(Data_{1:t}=(x_{i},y_{i})\), \(i=1,2,\cdots,t\), where \(y_{i}\) is the accuracy under the test set of the model trained by hyperparameter \(x_{i}\), and the current evaluated data are denoted as \(Data\). This could estimate the optimal value of the black-box function in a small known small data set. In the following sections, the probabilistic surrogate model was adopted to fit the black-box function. Aside from that, the optimal value of the black-box function was iterated by the acquisition function in accordance with the known \(Data\). A probabilistic surrogate model was employed to fit the objective function of the black-box function. Moreover, the resulting testing dataset \(y\) was regarded as a random observation of the black-box function, and then \(y=f(x)+\varepsilon\), where the noise \(\varepsilon\) satisfied the Gaussian (normal) distribution \(p(\varepsilon)=N(0,\sigma_{\varepsilon}^{2})\). Starting from the prior of the black-box function, the probabilistic surrogate model optimized the black-box function model by continuously heightening the data information. The more data information obtained, the higher the fitting degree of the black-box function became [30]. Therefore, Gaussian processes were the paramount choice for model proxies. Apart from that, each subset ofthe Gaussian model exhibited a normal distribution. Assuming that the expectation of the objective function model was zero, the probability distribution of the new observation \((x_{t+1},y_{t+1})\) given the known data, was, as follows:  
\[[y_{t}+1]\sim N(0,\left[ \begin{array}{cc}\mathrm{K}+\sigma_{\varepsilon}^{2}I& k\\ k^{T}&k(x_{t+1},x_{t+1})\end{array} \right]), \tag{2}\]  
where: \(k:x*x\) is the covariance function, \(k=[k(x_{1},x_{t+1}),\cdots,k(x_{t},x_{t+1})]^{\mathrm{T}}\), and \(\mathrm{K}\) in Equation (2) was, as follows:  
\[\mathrm{K}=\left[