1 #ifndef STAN_MATH_REV_SCAL_FUN_BINARY_LOG_LOSS_HPP
2 #define STAN_MATH_REV_SCAL_FUN_BINARY_LOG_LOSS_HPP
13 class binary_log_loss_1_vari :
public op_v_vari {
15 explicit binary_log_loss_1_vari(vari* avi) :
16 op_v_vari(-std::
log(avi->val_), avi) {
19 avi_->adj_ -= adj_ / avi_->val_;
23 class binary_log_loss_0_vari :
public op_v_vari {
25 explicit binary_log_loss_0_vari(vari* avi) :
26 op_v_vari(-stan::math::
log1p(-avi->val_), avi) {
29 avi_->adj_ += adj_ / (1.0 - avi_->val_);
70 return var(
new binary_log_loss_0_vari(y_hat.
vi_));
72 return var(
new binary_log_loss_1_vari(y_hat.
vi_));
fvar< T > binary_log_loss(const int y, const fvar< T > &y_hat)
fvar< T > log(const fvar< T > &x)
Independent (input) and dependent (output) variables for gradients.
vari * vi_
Pointer to the implementation of this variable.
fvar< T > log1p(const fvar< T > &x)