Algorithm 2.
Dropfeature for Training DNNs
| Input: The input feature subset, ; the feature index set, ϵ; the learning algorithm, . | |
| Output: The updated feature subset and index set, and ϵ′. | |
| 1: | begin |
| 2: | Run on , and compute AUC A by ; |
| 3: | Initialize the current state S = 0; |
| 4: | repeat |
| 5: | Use random walking to update the following three states with equal probabilities; |
| 6: | if state S = 1 then |
| 7: | Remove and add to get and ϵ1; |
| 8: | Run on and compute AUC A1 by ; |
| 9: | else if state S = 2 then |
| 10: | Remove to get and ϵ2; |
| 11: | Run on and compute AUC A2 by ; |
| 12: | else if state S = 3 then |
| 13: | Add to get and ϵ3; |
| 14: | Run on and compute AUC A3 by ; |
| 15: | end if |
| 16: | if (Ai = max {A, A1, A2, A3}) then |
| 17: | Update , ϵ′ = ϵi, A = Ai and search from ; |
| 18: | else if (A = max {A, A1, A2, A3}, and Ai = max {A1, A2, A3}) then |
| 19: | Search from with probability ui and update , ϵ′ = ϵ, and A = A; |
| 20: | or |
| 21: | Search from with probability 1 − ui and update , ϵ′ = ϵi, and A = Ai; |
| 22: | end if |
| 23: | Reinitialize the current state S = 0; |
| 24: | until no significant improvement is achieved in AUC score. |
| 25: | return and ϵ′. |
| 26: | end |