blob: 2e8db0fbb1c40078a82f8abee0a3142b794dc089 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
|