From 3044d6d1c6d428e8d06c255e3a2d739bcd187679 Mon Sep 17 00:00:00 2001 From: Chris Dyer Date: Fri, 29 Jun 2012 18:45:26 -0700 Subject: add option for entropy optimization --- training/entropy.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 training/entropy.h (limited to 'training/entropy.h') 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 +#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& params, + SparseVector* g = NULL) const; + private: + const CandidateSet& cands_; + }; +}; + +#endif -- cgit v1.2.3