-
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use results from benchmark experiment as initial values of S0 #23
Comments
I prefer a conservative set of initial values of S0. It's more about new users. |
Yes, that's why I think that we should the change the value for When a user presses |
By the way, I noticed an outlier in the data collected by Expertium (revlog number 22). It has a S0 of 21.92 days for After setting its count to 0, I got 1.04 as weighted mean of S0 for So, I suggest using Also, if you are wondering, here are the S0 for all the first ratings weighted by ln(capped count) after setting the count of revlog 22 to 0.
|
It's a little too long. I think it should not be longer than 7 days. |
So, let's use the following formula to calculate S0 for
Using this formula, S0 for Edit: |
Look, we can keep arguing about which set of initial S0 is better, and we can keep coming up with clever arguments, but why not just test it? @L-M-Sherlock run the most recent verison of the optimizer with both sets (current and this one) and run the usual statistical significance test. |
The problem is that the S0 for collections with large number of reviews wouldn't be affected much (if at all). The only effect of this change would be on small collections. So, if you want to test this, test it only on the smaller collections. |
My concern with setting a high initial stability for the "easy" rating is that users might avoid using it. They could pick "good" instead, making the "easy" situations even rarer and potentially increasing its stability value further. This can create a negative cycle. Ideally, the user shouldn't rate the card based on the displayed interval. But we can't prevent the user doing that. |
I have definitely done this myself, especially when I had an exam deadline, but also when the initial easy interval was longer than I liked it. Also, there was a time when I used the pass/fail two-button system. This reminds me that Anki has, in fact, a setting to turn on/off the next intervals display (default: on). Perhaps it should be mentioned in the Wiki/FAQ: DraftGrading your answerThe grade should be chosen based only on how easy it was to answer the card, not how long you want to wait until you see it again. For example, if you habitually avoid the easy button because it shows long intervals, you can end up in a negative cycle: You'd be making the "easy" situations even rarer and easy grade's intervals longer and longer. This means you should ignore the intervals shown above the answer buttons and instead focus on how well you recall the information. To help you, you can hide the intervals in the Anki preferences: If you still want to see a deck sooner rather than later, for example because you have an exam coming up, you can use the Advance function of the Helper add-on. Advance is the preferable method because it doesn't skew the grading history of the cards. |
I completely agree. But, 6.8 days is not too large in my opinion. So, I think that we can consider it for the initial S0 for @Expertium, if you are willing to test the effect of this change, I can push the change in my fork of the repository and then tell you how to use it in Colab. If you want, you can also do it on your own. But, keep in mind that the most noticeable effect would be on the smaller collections. So, while calculating the statistical significance, it would be wiser to include only the smaller collections. |
The new initial values of S0 has been generated and recorded here: https://github.com/open-spaced-repetition/fsrs-benchmark#median-weights |
Nice. Tell that to Dae so that he can update the initial parameters in the beta. |
Originally posted by @user1823 in #16 (comment)
Originally posted by @Expertium in #16 (comment)
Originally posted by @user1823 in #16 (comment)
Originally posted by @Expertium in #16 (comment)
The text was updated successfully, but these errors were encountered: