## 3 Algorithms
### Algorithm for Offline Basic Model Construction
For activation of the fully connected layers, considering the fact that these layers explore the nonlinear relationships between the RBF layer outputs and the results, we adopted the tangent sigmoid function below rather than other commonly used functions such as Relu or Leaky Relu:  
\[O_{j}=tanh(w_{ij}l_{i})+b_{j}, \tag{2}\]  
where \(O_{j}\) represents the output of node \(j\) of a layer; \(tanh(\bullet)\) denotes the tangent sigmoid function; \(l_{i}\) is the output value of node \(i\) of the previous layer; \(w_{ij}\) is the weight between node \(i\) of the previous layer and node \(j\) of the current layer; and \(b_{j}\) is the bias of node \(j\) of the current layer. We let the number of neurons in the output layer equal the number of categories defined by the fault detection system. As this modeling processing is a classification problem, we selected SoftMax as the activation function. Finally, for RBF-DNN training, we chose the classic back-propagation algorithm. As back-propagation is a commonly used algorithm, we do not discuss it in detail here. We next discuss how the key input features are obtained using the trained RBF-DNN. Many studies [4; 15] have pointed out that when an RBF neuron is placed before a neural network in training, the RBF neuron acts like a switch. For instance, if an input feature uses three RBFs with low, middle, and high centers to perform probability conversions, and it is known that the input feature will have no impact on the output result when it has a higher value, then the highest RBF of the three will adjust its standard deviation to become extremely small or extremely large so that higher values will be converted to zero or fixed probabilities no matter what, as shown in Figure 7. In other words, we need only check whether the RBF neuron output value of each input feature remains at zero or a fixed value to know whether this input feature is useful. If the value of an RBF neuron output fluctuates more widely, this input feature has a greater impact on the output results. Figure 5: The structure of the proposed RBF-DNN. Figure 6: Examples to explain how the RBF layers work. (**a**) An example for the input layer value is 0.8. (**b**), An example for the input layer value is 0.1. Figure 7: How to use the RBF function to map input values that do not affect the output to 0. (**a**) Using the RBF\({}_{\rm c}\) with its standard deviation extremely large. (**b**) Using the RBF\({}_{\rm a}\) with its standard deviation extremely small. The approach that we designed begins with \(\alpha\) RBF-DNNs with different initial weights. Note that multiple RBF-DNNs must be trained because researchers have demonstrated that the important input features that an RBF-DNN selects each time vary with the initial parameters of each network. For this reason, it is necessary to create multiple initial models and then compile the statistics of the results generated by the models before more reasonable results can be produced. After training \(\alpha\) RBF-DNNs, we first calculate the standard deviations of the \(q\) RBF output values within each RBF-DNN for each input feature. Note that there will be \(q\times\alpha\) standard deviations for each feature. Then, we calculate the summation of all standard deviations of each feature, rank the values of this summation, and use this to understand the importance ranking of each feature. End users can use this ranked list to select appropriate features based on their needs. For example, suppose that the factory's computer hardware can only run an AI model with three real-time inputs. In that case, the factory can select the top three from the ranked list to use as key features. On the other hand, if the factory computer has no restrictions, the list is helpful in selecting the features which improve the accuracy of the basic model with the minimum modeling costs. After using the above method to identify the key features of the basic model, we use these key features to construct the basic model.