Linear Regression, including on-device learning #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Linear regression is a core component of many useful ML tasks. Here is a first attempt at an embedded-optimized implementation, using gradient descent with support for L1+L2 regularization (often called ElasticNet).
Got some assistance from Claude with this code, though it took some heavy-handed guidance and frequent whipping with the core C code. It however did super well in exposing this as a MicroPython module (I gave an existing module as reference), and was very useful in creating some quick but realistic tests.