Customize weight-updating within factor levels in case of numerical calibration. The functions described here serve as inputs for ipf.
Usage
computeLinear(curValue, target, x, w, boundLinear = 10)
computeLinearG1_old(curValue, target, x, w, boundLinear = 10)
computeLinearG1(curValue, target, x, w, boundLinear = 10)
computeFrac(curValue, target, x, w)
Details
computeFrac
provides the "standard" IPU updating scheme given as
$$f = target/curValue$$
which means that each weight inside the level will be multtiplied by the same
factor when doing the actual update step (w := f*w
). computeLinear
on the
other hand calculates f
as
fi = a · xi + b
where a
and b
are chosen, so f satisfies the following two equations.
∑ fi wi
xi = target
∑ fi
wi = ∑ wi
computeLinearG1
calculates f
in the same way as computeLinear
, but if
f_i*w_i<1
f_i
will be set to 1/w_i
.