New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support DART - new regularization = dropout trees during learning #809
Comments
This should not be too hard to add by adding a new gradient booster, or extending current gbtree. |
I would suggest:
thoughts? |
I've created a prototype.(not tested yet) |
@marugari It would be great if you can run some benchmarks and see the performance, we can look into bring it back to main repo |
it improves performance slightly. |
This sounds interesting. @marugari Can we also refactored the code a bit? Since I guess most part of dart could reuse the code of GBTree, and only prediction function needs to be replace. Let us consider use inheritance or a common base code, so the code is cleaner and easier to maintain. Then I am happy to take a review and bring it to xgboost main repo |
@tqchen Sure. |
If there is not too much code, we can put two classes both in gbm.cc which should solve the problem |
@tqchen If it is agreeable, I can refact the code.
|
Sounds good. |
How's this? |
great work @marugari. thank you for bringing DART in. |
@marugari This looks good, can you
Thanks for the great effort |
It has been merged. 949d1e3 The tutorial is under construction. |
great:) |
@marugari any updates on english version of guest blogpost? |
looks nice,
|
Can I use MathJax in dmlc.github.io? |
seems not, maybe use images for formula for safety |
Link to the post http://dmlc.ml/xgboost/2016/07/02/support-dropout-on-xgboost.html One last thing, let us PR a copy of tutorial to https://github.com/dmlc/xgboost/tree/master/doc/tutorials so it can benefit users who look into the document for recipes |
I'm fixing formulas. |
param = {'booster': 'dart', File "", line 15, in File "//anaconda/lib/python2.7/site-packages/xgboost/training.py", line 121, in train File "//anaconda/lib/python2.7/site-packages/xgboost/core.py", line 694, in update File "//anaconda/lib/python2.7/site-packages/xgboost/core.py", line 97, in _check_call XGBoostError: unknown booster type: dart Isnt it implemented in XGBoost ? I don't get it |
Last version release does not support DART. Please refer to gbtree.cc(or gbtree-inl.hpp). |
There is nice article about dropout from neural nets, applied to gradient boosting:
http://arxiv.org/pdf/1505.01866.pdf
It is about drop out some trees during learning process and rescale weight of trees because of that...
It can help to accuracy...
Thanx for consideration...
The text was updated successfully, but these errors were encountered: