3#ifndef cMHN_COMMON_SCORE_H
4#define cMHN_COMMON_SCORE_H
47 return mPointwiseScore(pDE, pThetaE);
52 return mPointwiseDSDP(pDE, pThetaE);
61 std::function<
T(
T,
T)> mPointwiseScore;
62 std::function<
T(
T,
T)> mPointwiseDSDP;
92 [this](
T const &pDE,
T const &pThetaE)
99 return (pDE + eps) * log((pDE + eps) / (pThetaE + eps));
101 [
this](
T const &pDE,
T const &pThetaE)
108 return -(pDE + eps) / (pThetaE + eps);
110 "dynamic sKL divergence")
154 [this](
T const &pDE,
T const &pThetaE)
156 return (pDE + mEpsilon) *
157 log((pDE + mEpsilon) / (pThetaE + mEpsilon));
159 [
this](
T const &pDE,
T const &pThetaE)
161 return -(pDE + mEpsilon) / (pThetaE + mEpsilon);
163 "static sKL divergence")
205 [](
T const &pDE,
T const &pThetaE)
207 return pDE * log(pDE / pThetaE);
209 [](
T const &pDE,
T const &pThetaE)
211 return -pDE / pThetaE;
Class storing a KL Score, specializes the Score class.
Definition score.hpp:195
KLScore(KLScore &&)=default
KLScore(KLScore const &)=default
KLScore & operator=(KLScore const &) &=default
KLScore & operator=(KLScore &&) &=default
KLScore()
Definition score.hpp:203
Class storing all relevant information for a score.
Definition score.hpp:28
auto pointwiseScore(T const &pDE, T const &pThetaE) const
Definition score.hpp:45
Score(Score const &)=default
Score(auto const &pointwiseScore, auto const &pointwiseDSDP, auto const &name)
Definition score.hpp:37
Score & operator=(Score const &) &=default
auto name() const
Definition score.hpp:55
Score & operator=(Score &&) &=default
auto pointwiseDSDP(T const &pDE, T const &pThetaE) const
Definition score.hpp:50
Class storing a static sKL-Divergence Score, specializes the Score class.
Definition score.hpp:144
sKLScore(T const &epsilon)
Definition score.hpp:152
sKLScore & operator=(sKLScore const &) &=default
sKLScore(sKLScore &&)=default
auto const epsilon() const
Definition score.hpp:173
sKLScore & operator=(sKLScore &&) &=default
sKLScore(sKLScore const &)=default
auto & epsilon()
Definition score.hpp:168
Class storing a dynamic sKL-Divergence Score, specializes the Score class.
Definition score.hpp:82
sKLdynScore & operator=(sKLdynScore &&) &=default
sKLdynScore(sKLdynScore const &)=default
sKLdynScore(sKLdynScore &&)=default
auto const delta() const
Definition score.hpp:120
sKLdynScore & operator=(sKLdynScore const &) &=default
auto & delta()
Definition score.hpp:115
sKLdynScore(T const &delta)
Definition score.hpp:90
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition calculate_pTheta.hpp:20
static constexpr auto unit()
Definition unit.hpp:13
static constexpr auto zero()
Definition zero.hpp:12