From d2f252f87a74cbb0bf9c2efef03402bcc289235b Mon Sep 17 00:00:00 2001 From: tqchen Date: Mon, 9 Feb 2015 20:35:30 -0800 Subject: [PATCH] ok --- rabit-learn/README.md | 2 ++ rabit-learn/linear/Makefile | 2 -- rabit-learn/linear/README.md | 25 +++++++++++++++++++++++++ rabit-learn/solver/lbfgs.h | 15 ++++++++++++--- 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/rabit-learn/README.md b/rabit-learn/README.md index 7c3082c41..f320627d1 100644 --- a/rabit-learn/README.md +++ b/rabit-learn/README.md @@ -8,6 +8,8 @@ It also contain links to the Machine Learning packages that uses rabit. Toolkits ==== * [KMeans Clustering](kmeans) +* [Linear and Logistic Regression](liner) + * [XGBoost: eXtreme Gradient Boosting](https://github.com/tqchen/xgboost/tree/master/multi-node) - xgboost is a very fast boosted tree(also known as GBDT) library, that can run more than 10 times faster than existing packages diff --git a/rabit-learn/linear/Makefile b/rabit-learn/linear/Makefile index e69dfe66d..c77b8cbd5 100644 --- a/rabit-learn/linear/Makefile +++ b/rabit-learn/linear/Makefile @@ -11,5 +11,3 @@ CFLAGS+=-fopenmp linear.o: linear.cc ../../src/*.h linear.h ../solver/*.h # dependenies here linear.rabit: linear.o lib - - diff --git a/rabit-learn/linear/README.md b/rabit-learn/linear/README.md index 01bc4dc0f..d96d1c2bf 100644 --- a/rabit-learn/linear/README.md +++ b/rabit-learn/linear/README.md @@ -2,3 +2,28 @@ Linear and Logistic Regression ==== * input format: LibSVM * Example: [run-linear.sh](run-linear.sh) + +Parameters +=== +All the parameters can be set by param=value + +#### Important Parameters +* reg_L1 [default = 0] + - l1 regularization co-efficient +* reg_L2 [default = 1] + - l2 regularization co-efficient +* lbfgs_stop_tol [default = 1e-5] + - relative tolerance level of loss reduction with respect to initial loss +* max_lbfgs_iter [default = 500] + - maximum number of lbfgs iterations + +### Optimization Related parameters +* min_lbfgs_iter [default = 5] + - minimum number of lbfgs iterations +* max_linesearch_iter [default = 100] + - maximum number of iterations in linesearch +* linesearch_c1 [default = 1e-4] + - c1 co-efficient in backoff linesearch +* linesarch_backoff [default = 0.5] + - backoff ratio in linesearch + \ No newline at end of file diff --git a/rabit-learn/solver/lbfgs.h b/rabit-learn/solver/lbfgs.h index 2f3b4ea3a..1f3e3ddd6 100644 --- a/rabit-learn/solver/lbfgs.h +++ b/rabit-learn/solver/lbfgs.h @@ -57,12 +57,12 @@ class LBFGSSolver { LBFGSSolver(void) { // set default values reg_L1 = 0.0f; - max_linesearch_iter = 1000; + max_linesearch_iter = 100; linesearch_backoff = 0.5f; linesearch_c1 = 1e-4; min_lbfgs_iter = 5; - max_lbfgs_iter = 1000; - lbfgs_stop_tol = 3e-6f; + max_lbfgs_iter = 500; + lbfgs_stop_tol = 1e-5f; silent = 0; } virtual ~LBFGSSolver(void) {} @@ -90,6 +90,15 @@ class LBFGSSolver { if (!strcmp("max_linesearch_iter", name)) { max_linesearch_iter = atoi(val); } + if (!strcmp("max_lbfgs_iter", name)) { + max_lbfgs_iter = atoi(val); + } + if (!strcmp("min_lbfgs_iter", name)) { + min_lbfgs_iter = atoi(val); + } + if (!strcmp("linesearch_c1", name)) { + linesearch_c1 = static_cast(atof(val)); + } } /*! * \brief set objective function to optimize