## 3 Algorithms
### Algorithm for Offline Add-On Model Construction  
The algorithm used to construct the add-on model in this study contains a total of three parts: (1) inputting the features of all of the production data obtained from the modified product into the basic model to collect the accuracy rates of the basic model with regard to said data, (2) training and analyzing another RBF-DNN with the production data features of the extended product as the input and the accuracy of the analysis results of the basic model as the output to obtain the key features for add-on model construction, and (3) using the key add-on model features identified in the previous part to construct the add-on model. We next introduce these three parts. Our explanation is aided by the data in Table 1.  
In the first part, suppose that the input features of the basic model are \(\{\psi_{1},f_{b2},\ldots,f_{bm}\}\), and the features we can obtain from the production data of the modified product are \(\{\psi_{1},f_{b2},\ldots,f_{bk}\}\); then, we will select the intersection features of the two sets and input them to the basic model for calculation (i.e., the first \(m\) columns of Table 1). Note that the production data collected from the modified product may differ from those used in the basic model. There may be more, an equal amount of, or less data. In the first two cases, the features that the basic model needs are all present, so the basic model can operate normally. In the last case, however, the basic model may lack some features. We thus input the value zero for these input features to ensure that the basic model can operate normally, as shown \begin{table}
\begin{tabular}{c c c c c c c c c c c c c} \hline \hline
**Input Features of** & \(f\)**b\({}_{1}\) & \(f\)**b\({}_{2}\) & \(f\)**b\({}_{3}\) & \(\ldots\) & \(f\)**b\({}_{m}\)** & - & - & - & **Basic** & **Real** & **Label** & **Add on** & **Basic + Add on** & **Judgment** \\
**Features from** & & & & & & & & & & **Condition** & **of the Item** & **Change** & **Judgment** & **(Final Judgment)** \\
**Modified** & \(f\)**c\({}_{1}\)** & - & \(f\)**c\({}_{2}\) & \(\ldots\) & \(f\)**c\({}_{1}\)**-2** & \(f\)**c\({}_{1}\)**-1** & \(f\)**c\({}_{2}\)** & & & & \\
**Products** & & & & & & & & & & & & & & \\ \hline \hline Item 1 & 0.9 & 0 & 0.4 & \(\ldots\) & 1.2 & 2.5 & 1.3 & Good & Good & do not & do not & & Good \\ Item 2 & 0.7 & 0 & 0.6 & \(\ldots\) & 1.1 & 2.9 & 4.1 & Bad & Bad & Bad & change & Good \\ Item 3 & 0.2 & 0 & 1.3 & \(\ldots\) & 0.5 & 2.7 & 3.5 & Good & Bad & change & change & Bad \\ Item 4 & 0.1 & 0 & 1.8 & \(\ldots\) & 0.6 & 2.6 & 2.7 & Bad & Good & change & change & Good \\ \hline \hline \end{tabular}
\end{table} 
Table 1: An example for explaining how add-on models work. in the second column of Table 1. After the basic model completes its calculations, we obtain the results of the basic model for each item of production data from the modified product, as shown in the \"Basic judgment\" column of Table 1. We compare this column with the \"Real condition\" column and define a \"Label change\" column. As modified products may differ significantly from the basic product, and there is no general solution, we ask factories to define this label change themselves. For instance, if the fault detection results of the basic and modified products in Table 1 are similarly either \"good product\" or \"bad product\", then the label change can be defined as \"change\" or \"do not change\". With the first and second items of data in Table 1, for example, the results of the basic model are the same as those of the modified product, so the label is set as \"do not change\". In contrast, with the third and fourth items of data, the results of the basic model are the opposite of those of the modified product, so the label is set as \"change\". For a more complex example, suppose that the fault detection results of the basic product are either \"good product\" or \"bad product--too long\", but the factory adds a \"bad product--too short\" category.