diff options
author | Chris Dyer <cdyer@cab.ark.cs.cmu.edu> | 2012-06-24 15:52:30 -0400 |
---|---|---|
committer | Chris Dyer <cdyer@cab.ark.cs.cmu.edu> | 2012-06-24 15:52:30 -0400 |
commit | 535cfe8da7c6107d8415afd1381d59f2a6b9844f (patch) | |
tree | 7c45e2bef640adbe2e9e835d62c6a0d110d7cabf /training/risk.h | |
parent | 6a2bbfa9b28f8be2189744beb89a975bc3da128f (diff) |
compute risk / gradient of risk
Diffstat (limited to 'training/risk.h')
-rw-r--r-- | training/risk.h | 25 |
1 files changed, 25 insertions, 0 deletions
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 <vector> +#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<double>& params, + SparseVector<double>* g = NULL) const; + private: + const CandidateSet& cands_; + const EvaluationMetric& metric_; + }; +}; + +#endif |