mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-07-04 18:52:51 +00:00
improved dhrg::logistic
This commit is contained in:
parent
fd1be4beb8
commit
bb22d363c8
@ -40,10 +40,13 @@ bool dhrg_animate(int sym, int uni);
|
|||||||
/* for logistic regression */
|
/* for logistic regression */
|
||||||
struct logistic {
|
struct logistic {
|
||||||
ld R, T;
|
ld R, T;
|
||||||
ld yes(ld d) { return 1/(1 + exp((d-R) / 2 / T)); }
|
ld yes1(ld d) { return 1/(1 + exp(d)); }
|
||||||
ld no(ld d) { return 1/(1 + exp(-(d-R) / 2 / T)); }
|
ld no1(ld d) { return 1/(1 + exp(-d)); }
|
||||||
ld lyes(ld d) { return log(yes(d)); }
|
ld nor(ld d) { return (d-R) / 2 / T; }
|
||||||
ld lno(ld d) { return log(no(d)); }
|
ld yes(ld d) { return yes1(nor(d)); }
|
||||||
|
ld no(ld d) { return no1(nor(d)); }
|
||||||
|
ld lyes(ld d) { d = nor(d); return d > 200 ? -d : log(yes1(d)); }
|
||||||
|
ld lno(ld d) { d = nor(d); return d < -200 ? d : log(no1(d)); }
|
||||||
logistic() {}
|
logistic() {}
|
||||||
logistic(ld _R, ld _T) : R(_R), T(_T) {}
|
logistic(ld _R, ld _T) : R(_R), T(_T) {}
|
||||||
void setRT(ld _R, ld _T) { R = _R; T = _T; }
|
void setRT(ld _R, ld _T) { R = _R; T = _T; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user