summaryrefslogtreecommitdiff
path: root/training/entropy.h
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2012-07-03 15:43:20 +0200
committerPatrick Simianer <p@simianer.de>2012-07-03 15:43:20 +0200
commit96bb9719858dd1600d70a3affee42d0e0c5cd862 (patch)
treef762a5f84b1b72aa4cbb84ae87b2697daef7c727 /training/entropy.h
parenta2422421fbbaf20ad5dbe44a7ef84df53e0a3e76 (diff)
parent2153329ff36f50fd8e23e57cb0fae7bfbe207bda (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'training/entropy.h')
-rw-r--r--training/entropy.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/training/entropy.h b/training/entropy.h
new file mode 100644
index 00000000..796589ca
--- /dev/null
+++ b/training/entropy.h
@@ -0,0 +1,22 @@
+#ifndef _CSENTROPY_H_
+#define _CSENTROPY_H_
+
+#include <vector>
+#include "sparse_vector.h"
+
+namespace training {
+ class CandidateSet;
+
+ class CandidateSetEntropy {
+ public:
+ explicit CandidateSetEntropy(const CandidateSet& cs) : cands_(cs) {}
+ // compute the entropy (expected log likelihood) of a CandidateSet
+ // (optional) the gradient of the entropy with respect to params
+ double operator()(const std::vector<double>& params,
+ SparseVector<double>* g = NULL) const;
+ private:
+ const CandidateSet& cands_;
+ };
+};
+
+#endif