Inside learnWeakRanker():
- It looks like the initialization double r = 0.0 should be be put inside the loop for(int j=0;j<idx.length;j++) which goes through different threshold for a certain feature.
- The update of last[k] = l is useless, as the next iteration k is change to k+1
Inside learn():
- Why the initialization of alpha_t is different than equation (6) in the paper An Efficient Boosting Algorithm for Combining Preferences.
alpha_t = (double) (0.5 * SimpleMath.ln((Z_t+R_t)/(Z_t-R_t))) in the code, whereas alpha_t = (double) (0.5 * SimpleMath.ln((1+R_t)/(1-R_t))) in the paper.
This seems correct but I will await comments from the implementer before changing anything.