Input: mappingNum, enhanceNum, mapFunction, enhanceFunction, thresholdRMSE, thresholdPrunNum, N, K |
mappingNum ← number of neurons in mapping layer |
enhanceNum ← number of neurons in mapping layer |
mapFunction ← mapping layer activation function |
enhanceFunction ← enhanced layer activation function |
thresholdRMSE ← threshold of RMSE in incremental learning |
thresholdPrunNum ← threshold of the number of pruning |
N ← number of neurons in reservoir pool in ESN |
K ← logarithms of neurons pruning the reservoir pool |
| Output: network prediction output after each pruning optimization |
| Algorithm: |
(1) | for i in mappingNum: |
(2) | for j in enhanceNum: |
(3) | enter data into the mapping layer and initialize it and get the matrix ; |
(4) | initialize the ESN of the reinforced layer, collect the calculation result matrix H; |
(5) | each ESN is pruned and optimized, and the RMSE after optimization is calculated and record the number of pruning C; |
(6) | if RMSE < thresholdRMSE or C < thresholdPrunNum: |
(7) | Add unpruned ESN units into the reinforced layer for further pruning; |
(8) | else: |
(9) | Calculation of the same mapping layer different enhancement layer ESN pruning optimized performance index; |
(10) | end |
(11) | end |
(12) | the optimized parameters and predicted output are calculated. |