# A Hierarchical Decision Fusion Diagnosis Method for Rolling Bearings
## 2 Method
### Back Propagation Neural Networks  
The raw vibration signals are decomposed by a wavelet packet with \(n\) layers, producing \(s\) reconstructed signals. Features with the quantity of \(m\) are extracted from each reconstructed signal, forming the feature set \(F=\{F_{1}\), \(F_{2}\),..., \(F_{m}\}\). \(F_{j}\) is normalized to \(X_{j}=\{X_{j1}\), \(X_{j2}\),..., \(X_{js}\}^{\rm T}\), which is the input of the \(j\)th BPNN. The number of output layer nodes is set to \(h\), and the corresponding output is \(D_{j}=\{D_{j1},D_{j2},\)..., \(D_{jh}\}^{\rm T}\). The \(j\)th BPNN consists of an input layer, hidden layer and output layer, as shown in Figure 2.  
In this paper, the training process of the \(j\)th BPNN consists of the following steps:  
Step 1: Initialization.  
The number of neurons in the hidden layer \(l\) is selected empirically. The weight \(\omega_{jik}\) connects the input layer with the hidden layer, and the weight \(\omega_{jik}\) connects the hidden layer with the output layer. Then, the hidden layer threshold \(a_{j}\) and the output layer  
Figure 1: Diagram of wavelet packet decomposition. S: raw signal; A: low-frequency signal; D: high-frequency signal.  
Figure 2: Diagram of Back Propagation Neural Networks (BPNN).  
threshold \(b_{j}\) are initialized. The learning rate and neuronal excitation function are given in advance.  
Step 2: Hidden layer calculation.  
The output \(H_{j}\) of the hidden layer is calculated according to the input vector \(X\), weight \(\omega_{jgk}\) and hidden layer threshold \(a_{j}\).  
\[H_{jk}=f\Bigg{(}\sum\limits_{g=1}^{s}\omega_{jgk}X_{jg}-a_{jk}\Bigg{)},\ k=1,2, \ldots,l;j=1,2,\ldots,m \tag{3}\]  
where \(f\) is the hidden layer excitation function. There are many excitation functions for the hidden layer, and the excitation function used in this paper is:  
\[f(z)=\frac{1}{1+e^{-z}} \tag{4}\]  
Step 3: The output calculation of the output layer.  
The output of the \(j\)th BPNN \(D_{j}\) is calculated by the hidden layer output \(H_{j}\), weight \(\omega_{jki}\) and threshold \(b_{j}\).  
\[D_{ji}=\sum\limits_{k=1}^{l}H_{jk}\omega_{jki}-b_{ji},i=1,2,\ldots,h;j=1,2, \ldots,m \tag{5}\]  
Step 4: Error calculation.  
The network prediction error \(e_{j}\) is calculated based on the network prediction output \(D_{j}\) and the expected output \(Y_{j}\).  
\[e_{ji}=Y_{ji}-D_{ji},i=1,2,\ldots,h \tag{6}\]  
Step 5: Weight update.  
The network connection weights \(\omega_{jgk}\) and \(\omega_{jki}\) are updated by the network prediction error \(e_{j}\).  
\[\omega_{jgk}=\omega_{jgk}+\eta H_{jk}(1-H_{jk})\ X_{jg}\sum\limits_{i=1}^{h} \omega_{jki}e_{ji},g=1,2,\ldots,s;k=1,2,\ldots,l;j=1,2,\ldots,m \tag{7}\]  
\[\omega_{jki}=\omega_{jki}+\eta H_{jk}e_{ji},k=1,2,\ldots,l;i=1,2,\ldots,h;j=1, 2,\ldots,m \tag{8}\]  
where \(\eta\) is the learning ratio.  
Step 6: Threshold update.  
The network node threshold \(a_{j}\) and \(b_{j}\) are updated by the network prediction error \(e_{j}\).  
\[a_{jk}=a_{jk}+\eta H_{jk}(1-H_{jk})\sum\limits_{i=1}^{h}\omega_{jki}e_{ji},k=1,2,\ldots,l;j=1,2,\ldots,m \tag{9}\]  
\[b_{ji}=b_{ji}+e_{ji},i=1,2,\ldots,h;j=1,2,\ldots,m \tag{10}\]  
Step 7: Iteration judgement.  
Determining whether the algorithm iteration ends, and if not, returning to step 2.  
A desired accuracy, \(E_{Exvect}\), is set. \(N\) is the sample number. If \(\frac{1}{N}\sum\limits_{p=1}^{N}{\bf e}_{jp}>E_{Exvect}\), a hidden neuron is added and the process returns to the second step; if \(\sum\limits_{p=1}^{N}{\bf e}_{jp}\leq E_{Exvect}\), the calculation is stopped.