logistic_fit_adam
std.optim.logistic_fit_adam · Level L3Logistic regression trained inside the graph: a Scan of logistic_adam_step over a learning-rate schedule, one step per entry of lr, from zero weights. Returns the weights after the last step. Every step is verified like any other entry, so the trained model is reproducible to the bit on every backend.
Signature
logistic_fit_adam(X: f64[n, d], y: f64[n], lr: f64[s]) → f64[d]
Structure
The function as NOVA stores it: one box per input, operation and output, and arrows that carry values. A double border marks another library function this one runs — called once, or by Scan once per element; select it to open that function.
- input
- operation
- constant
- call
- output
Verification
- Signature proven by NOVA’s shape solver, for every size.
- Agrees with the reference
the same s Adam steps written out, from zero weightsto 80 digits (100-digit arithmetic), on all 40 test cases. - All 137 float64 results inside the running error bound; the closest uses 2% of it.
- Interpreter and NumPy backend return bit-identical results.
- At float32 too: the 40 test cases rounded to float32, and 34 of them inside the running error bound at u = 2⁻²⁴; the closest uses 6% of it. Uncertified, too ill-conditioned at float32 for a finite bound: 6.
- correctly rounded (the float64 nearest the exact value)
- 9%
- bit-equal to the NumPy formula in float64
- 48%
- largest error, in units in the last place
- 1.8e+3
Large ulp counts appear where a result is tiny next to the numbers it is computed from (after cancellation, for example), so one unit in the last place is tiny too; the absolute error is still inside the bound. Results within their own error of zero are not counted.
Identity
sha256:6a468c1de98359904f184f919e91693fb5540e6345cf03deb76e5783af78d759The semantic hash of the graph. It changes when the program changes, and never when only its documentation does.
Control handle
- Symbol
- Ω:std.optim.logistic_fit_adam · Ω:logistic_fit_adam
- Pins
sha256:f292b90cd306b26bf381de04d4df8216dc08ceb78e7ea22062e01c67f137a7e6this graph and the 3 it reaches through calls- Evidence
sha256:2390b5b6b70d461f1628102627a1c05a9cece11c6311f735270a1d9c0846a564the hash of its verification record- Needs
- no capability: a pure function
Through NOVA’s control layer, the symbol launches this function only while the program still matches what it pins: a change to this graph, or to any graph it reaches, needs a migration first.