chainer.functions.bernoulli_nll¶
-
chainer.functions.
bernoulli_nll
(x, y, reduce='sum')[source]¶ Computes the negative log-likelihood of a Bernoulli distribution.
This function calculates the negative log-likelihood of a Bernoulli distribution.
−logB(x;p)=−∑i{xilog(pi)+(1−xi)log(1−pi)},where p=σ(y), σ(⋅) is a sigmoid function, and B(x;p) is a Bernoulli distribution.
The output is a variable whose value depends on the value of the option
reduce
. If it is'no'
, it holds the elementwise loss values. If it is'sum'
or'mean'
, loss values are summed up or averaged respectively.Note
As this function uses a sigmoid function, you can pass a result of fully-connected layer (that means
Linear
) to this function directly.- Parameters
x (
Variable
ornumpy.ndarray
orcupy.ndarray
) – Input variable.y (
Variable
ornumpy.ndarray
orcupy.ndarray
) – A variable representing the parameter of Bernoulli distribution.reduce (str) – Reduction option. Its value must be either
'sum'
,'mean'
or'no'
. Otherwise,ValueError
is raised.
- Returns
A variable representing the negative log-likelihood. If
reduce
is'no'
, the output variable holds array whose shape is same as one of (hence both of) input variables. If it is'sum'
or'mean'
, the output variable holds a scalar value.- Return type