summaryrefslogtreecommitdiff
path: root/training/risk.h
diff options
context:
space:
mode:
authorPatrick Simianer <simianer@cl.uni-heidelberg.de>2012-06-26 14:47:46 +0200
committerPatrick Simianer <simianer@cl.uni-heidelberg.de>2012-06-26 14:47:46 +0200
commit3c03e716a8638163a820dbecf652c772e6d651f2 (patch)
tree255e2aa075b9a4c2a2fb1c077e899afdc5654c19 /training/risk.h
parentd04c516536db996e5fe5b94b8e5dea4ce2e04b4a (diff)
parente1b85b4f02045c62400b9c755883e7fae14557f6 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'training/risk.h')
-rw-r--r--training/risk.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/training/risk.h b/training/risk.h
new file mode 100644
index 00000000..2e8db0fb
--- /dev/null
+++ b/training/risk.h
@@ -0,0 +1,26 @@
+#ifndef _RISK_H_
+#define _RISK_H_
+
+#include <vector>
+#include "sparse_vector.h"
+class EvaluationMetric;
+
+namespace training {
+ class CandidateSet;
+
+ class CandidateSetRisk {
+ public:
+ 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