From 535cfe8da7c6107d8415afd1381d59f2a6b9844f Mon Sep 17 00:00:00 2001 From: Chris Dyer Date: Sun, 24 Jun 2012 15:52:30 -0400 Subject: compute risk / gradient of risk --- training/risk.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 training/risk.h (limited to 'training/risk.h') diff --git a/training/risk.h b/training/risk.h new file mode 100644 index 00000000..00ff60ec --- /dev/null +++ b/training/risk.h @@ -0,0 +1,25 @@ +#ifndef _RISK_H_ +#define _RISK_H_ + +#include +#include "sparse_vector.h" +class EvaluationMetric; + +namespace training { + class CandidateSet; + + class CandidateSetRisk { + explicit CandidateSetRisk(const CandidateSet& cs, const EvaluationMetric& metric) : + cands_(cs), + metric_(metric) {} + // compute the risk (expected loss) of a CandidateSet + // (optional) the gradient of the risk with respect to params + double operator()(const std::vector& params, + SparseVector* g = NULL) const; + private: + const CandidateSet& cands_; + const EvaluationMetric& metric_; + }; +}; + +#endif -- cgit v1.2.3