Comments (2)
There are mainly two hyper-parameters that can be tuned, which is all in the src/objective/rank_objective.hpp files. They are:
double _eta : this denotes how much regularization is posed to the position bias.
size_t _position_bins : this denotes the maximum positions taken into account.
If you want to re-implement the result of our table, you can change the regularization term back to 0, by modifying
double _eta = 1.0 / (1 + 0.5);
in the src/objective/rank_objective.hpp (Line 418) to
double _eta = 1.0 / (1 + 0);
Sorry I haven't implemented these hyperparameter tuning into the config file. Will consider adding them later.
For the second question, actually in our algorithm, estimating position bias cost relatively minor time compared to training lgb. Also the calculation of position bias will not influence the parallelization of lightgbm (you can check the code). Thus, I don't think there is a big difference of directly using our code on the large dataset with first estimating position bias then tuning lgb. Actually, our experiment is conducted on a relatively big dataset (12G) and the efficiency is equal to the original lightgbm version without debiasing.
from unbiased_lambdamart.
THX.
from unbiased_lambdamart.
Related Issues (12)
- Jupyter notebook example HOT 4
- AppleClang not supported -- Setup on Mac. HOT 3
- Want to use PythonAPI to train and predict. HOT 2
- Why is sigma = 2? HOT 2
- Question about `position_bins`
- Question about reading "XXX.train" file
- segmentation fault HOT 3
- Unbiased_lambdamart ndcg is low than original lambdamart HOT 3
- Add LICENSE.md to project root HOT 1
- Reccommend using a submodule+fork for Unbias_LightGBM HOT 7
- Broken Link in README.md HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unbiased_lambdamart.