microsoft / mwt-ds

Umbrella repository for projects related to the MWT Decision Service
187 stars 77 forks source link

Add experimentation over different exploration strategies (Experimentation.py) #115

Open sidsen opened 6 years ago

sidsen commented 6 years ago

Currently, the experimentation script uses cb_adf to optimize a CB policy from exploration data. This ignores the cost of exploration and hence reports misleading numbers to the user (or, the user should be advised to use the script to compare the relative performance of parameters, not the absolute numbers). We should move towards using cb_explore_adf, as this reflects what users will see in production, but then the problem becomes deciding which exploration algorithm to use. This can currently be specified as an input parameter, but the script should eventually automate this.

Question: How do we deal with the fact that increasing exploration (e.g. higher epsilon in epsilon greedy) will naturally lead to worse performance. Perhaps we need to specify an allowed degradation budget relative to the best policy trained by cb_adf.