Commit Graph
11768 Commits
Author SHA1 Message Date
Ryan Curtin 51e0a9c836 Regularization gets subtracted, not added. Thanks to Sumedh for pointing this
out.
2013-11-25 05:59:11 +00:00
Ryan Curtin 6818f76717 Implement FurthestPointDistance() for cover trees. 2013-11-22 18:49:34 +00:00
Ryan Curtin 61e3aa2663 Test BinarySpaceTree::FurthestPointDistance(). 2013-11-22 17:02:09 +00:00
Ryan Curtin be55f84d95 Add FurthestPointDistance() function. 2013-11-22 17:01:59 +00:00
Ryan Curtin c19d9896ec Update history file incrementally, because doing this all at once at release
time is difficult.
2013-11-21 18:40:14 +00:00
Ryan Curtin 8b4363b5cc Test constructor that takes an instantiated optimizer. 2013-11-21 18:34:50 +00:00
Ryan Curtin 5b85eb566d Add a constructor that allows passing an instantiated optimizer. 2013-11-21 18:34:37 +00:00
Ryan Curtin ac9630f129 Add function to get predictors and responses. 2013-11-21 18:28:01 +00:00
Ryan Curtin f72372a24a Add function to get the function that is being optimized. 2013-11-21 18:27:40 +00:00
Ryan Curtin 027850970b Goodbye, slightly misleading documentation. 2013-11-21 17:58:59 +00:00
Ryan Curtin 1293e2f857 Add tests for actual LogisticRegression object. 2013-11-21 16:57:21 +00:00
Ryan Curtin 871cd988da Refactor LogisticRegression class. LearnModel() can be private, and we can
const-ize a lot of the parameters and functions.  Also restore functionality to
Predict(), ComputeError(), and ComputeAccuracy().  This does not ever make a
copy of the predictors matrix and doesn't add a column for the intercept, which
is faster.
2013-11-21 15:40:40 +00:00
Ryan Curtin 2965c9f84e Don't hold lambda in LogisticRegression because it isn't necessary. Also make
predictors and responses const because we don't need to modify them.
2013-11-21 14:23:02 +00:00
Ryan Curtin fbbee5a8c1 Make predictors and responses const. 2013-11-20 16:44:30 +00:00
Ryan Curtin 2701b42569 Make predictors and responses const. 2013-11-20 16:42:09 +00:00
Ryan Curtin 78933d62dd Refactor tests so that they do not give the extra column of ones for the
intercept term.
2013-11-20 16:37:50 +00:00
Ryan Curtin ae19acebf1 Refactor functions so that they do not expect the extra column of ones for the
intercept term.
2013-11-20 16:37:31 +00:00
Ryan Curtin cfdfb2fe6d Don't print "Iteration X of 0."; just "Iteration X". 2013-11-18 20:24:34 +00:00
Ryan Curtin 7aa2f49ea9 Remove memory leak (#310). Thanks to bianjiang for pointing this out. 2013-11-18 18:47:02 +00:00
Ryan Curtin 62108e0e49 And this is why I hate maintaining documentation for things that I don't
control; it goes out of date really quickly and people get confused...
2013-11-16 17:06:36 +00:00
Ryan Curtin 766a29b3e2 Add a test for the separable Gradient() function. 2013-11-15 18:22:39 +00:00
Ryan Curtin 18beafc912 Add test for regularization in Gradient(). 2013-11-15 18:07:41 +00:00
Ryan Curtin 7267140017 No need to multiply by responses[i] or (1 - responses[i]) because those
quantities will always be 1.
2013-11-14 18:12:57 +00:00
Ryan Curtin 7451edc8e0 Test Gradient() in the separable case. 2013-11-14 16:31:48 +00:00
Ryan Curtin 496c18ac52 Update Gradient() for the separable case. 2013-11-14 16:31:41 +00:00
Ryan Curtin 0c17bc6b9b Test regularization for separable Evaluate(). 2013-11-14 16:11:03 +00:00
Ryan Curtin 1793f728e3 Add test for Evaluate(parameters, i) for SGD and related optimizers. 2013-11-14 16:07:22 +00:00
Ryan Curtin c2be6f0c34 Revamp Evaluate(parameters, i) for SGD and related optimizers. NumFunctions()
also needed to be fixed.
2013-11-14 16:07:09 +00:00
Ryan Curtin 432dc71e59 Break Predict() instead of the whole build. 2013-11-13 20:36:11 +00:00
Ryan Curtin 8c33f24ece Remove getSigmoid() and add class documentation. 2013-11-13 18:28:07 +00:00
Ryan Curtin 0a9b7984bb Add some comments. 2013-11-13 18:26:56 +00:00
Ryan Curtin bbecac185e Make Gradient() const and add comments. 2013-11-13 18:21:52 +00:00
Ryan Curtin 3686feb4fd Add correct implementation of Gradient() function. 2013-11-13 18:20:38 +00:00
Ryan Curtin 555fb65bb4 Add test for Gradient(). 2013-11-13 18:20:27 +00:00
Ryan Curtin 03a801a9ee Add test for regularization of objective function. 2013-11-13 18:10:51 +00:00
Ryan Curtin 65c6ceaf0d Add a randomized test for the logistic regression likelihood function that is
not just comprised of simple examples.
2013-11-13 18:02:30 +00:00
Ryan Curtin 6c90b28b6f Oh yeah, this is necessary... 2013-11-13 16:58:25 +00:00
Ryan Curtin 5aece4e4c0 Add test for LogisticRegressionFunction::Evaluate(). 2013-11-13 16:42:51 +00:00
Ryan Curtin c40a059e77 Refactor Evaluate() function so that it works alright, and eliminate unnecessary
parameters to the function.  Move LogisticRegressionFunction implementation into
a .cpp file because it is not templatized (for now).
2013-11-13 16:42:29 +00:00
Ryan Curtin 91ce8b07ea LogisticFunction is incorrect; it's actually the objective function for logistic
regression, which is not the logistic function.  Also remove unnecessary
overloads in LogisticRegressionFunction.
2013-11-11 17:33:28 +00:00
Ryan Curtin 05bc80f9c0 Rename LogisticRegressionFunction to LogisticFunction. 2013-11-11 17:14:30 +00:00
Ryan Curtin b8d28419fd Add some comments and fix a little bit of formatting. 2013-11-08 19:23:49 +00:00
Ryan Curtin 76fa71bc39 Initial commit of logistic regression by Sumedh Ghaisas (#305). 2013-11-08 18:52:11 +00:00
Ryan Curtin f9045e635f Add logistic regression directory. 2013-11-08 18:50:31 +00:00
Ryan Curtin e3e80d97cb Add tests for estimation with the existing model as the initial point. 2013-11-06 03:32:40 +00:00
Ryan Curtin c4cace4ed8 Allow GMMs to be trained using the existing model as a starting point. This
could probably all use some serious refactoring now.
2013-11-06 03:32:23 +00:00
Ryan Curtin 187d49a7d9 Add Epanechnikov kernel for kernel PCA. 2013-10-31 19:41:43 +00:00
Marcus Edel 94714ed0bb Check the matrix dimension before dropping unnecessary rows. 2013-10-23 11:09:28 +00:00
Ryan Curtin b1326d1830 Move DTBStat into a separate file. 2013-10-08 19:56:26 +00:00
Ryan Curtin 7c79c1a07d Widen tolerances slightly. 2013-10-07 17:29:43 +00:00