Adaptive training mode#67
Draft
Sulroy wants to merge 8 commits into
Draft
Conversation
…key is sometimes released before the first one. This allows to time inputs
…stency independant of each other in the score calculation. mistakes are tracked trough the amount of chars since last mistake on that metric. That allows us to have continuous mistake tracking rather than discrete, as the EMA works way better with continuous variables.
Author
|
Speed, consistency and accuracy are now completely independent. you can tune the parameters to focus more on a certain aspect. If you have questions you can either open an issue on my fork or comment on this draft's thread. |
made sure combined weight is never infinite as it would cause weightedPickIndex to always pick the first infinite weight
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This is only an early proposal of an idea I had from Monkeytype's weakspot funbox and kopachef's fork of Monkeytype.
I'm using an exponential moving average (EMA) to adapt generated phrases to my current weaknesses. The score of each n-gram depends on typing speed, number of mistakes, and consistency*.
All of the parameters are user facing, with explanations on what they do in the tooltips, which is important in my eyes as I believe every user has different needs.
You can test it here. I recommend using only 1 repetition and many combinations for the EMA mode, and lower the required accuracy as the algorithm will drill your mistakes automatically.
I'm making this pull request to see if people are interested in that, and if so I will work on making a proper feature, not just a personal prototype.
*currently has no effect on bigrams, as I use the normalized variance of inter-key intervals between each character of the n-gram, but while typing this message I just thought of using some sort of ratio between the intervals and the typing speed