-
-
Notifications
You must be signed in to change notification settings - Fork 132
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
[Doc] Introduction for FSRS v4 #351
Comments
I have updated the wiki page about the formula of FSRS v4: https://github.com/open-spaced-repetition/fsrs4anki/wiki/Free-Spaced-Repetition-Scheduler#fsrs-v4 |
Some suggestions: The part about S0 doesn't mention that these parameters are estimated differently than the rest, which is probably worth mentioning. I don't think "mean reversion" is the right term, but I'm also not sure what to call it. It's not really a moving average either, not a usual one, at least. @user1823, do you have suggestions how to re-write the part about difficulty? Replace "The retrievability of t days since the last review" with "The retrievability after t days since the last review". Replace "The new stability after recall" with "The new stability after a successful review (the user pressed "Hard", "Good" or "Easy")". Replace the 4 points about Sinc: "Sinc denotes the increase in stability.
|
And this is for another page. Use this to make a table. Feature name How does it work? When should I use it? Postpone Increases the intervals of cards that are due today based on current R, requested R, and interval length in a way that minimizes damage to long-term learning. When you are dealing with a large number of reviews after taking a break from Anki. Advance Decreases the intervals of cards that are due today based on current R, requested R, and interval length in a way that minimizes damage to long-term learning. When you want to review your material ahead of time, for example, before a test. Free Days After the optimal interval is calculated, it is slightly adjusted to change the due date. If you don't want to study on some days of the week, for example, Sundays. Disperse Siblings Siblings are cards generated from the same note. Their intervals are adjusted to spread them further apart from each other. Always. This feature increases the spacing effect; disabling it will only decrease the efficiency of spaced repetition. Load Balancing After the optimal interval is calculated, it is adjusted by a random amount to make the distribution of reviews over time more uniform. Always. This feature makes your workload (reviews per day) more consistent. |
I have added them in the readme of FSRS4Anki Helper. https://github.com/open-spaced-repetition/fsrs4anki-helper#overview |
Nice. I suggest adding Memrise as well. Check the article that I linked in that comment to ensure that my code is consistent with what the article describes. |
Updated. |
Display the total number of parameters of the LSTM. Also, it's hard to tell which calibration graph is related to which model, you should annotate them. |
Also, it crashes due to a lack of RAM again. Decrease |
To set n_hidden=8 or n_hidden=4 would be helpful.
I updated the code and set titles for calibration graphs. |
Because the official implementation of LSTM is coded by C instead of python. |
Assuming all goes well, I aim to officially launch v4 this week. Besides, I'm considering on creating an open-source dataset. Do you have any advice? |
I don't really have any advice right now, other than a reminder to run v4 on all collections submitted via Google forms to get good average parameters that will be given to users with <1000 reviews. |
This comment was marked as resolved.
This comment was marked as resolved.
Change the titles will also change the links, which have been used by many other people. |
In https://supermemo.guru/wiki/Stabilization, Woz has used SInc. And |
I got it. But, link rot is a problem with every website. So, it makes sense to rename the titles if we are making them easier to understand. This would help most of the users who will come to the Wiki in the future. The only affected ones would be those who come to specific pages of the Wiki using specific links. In fact, even those users would simply be redirected to the home page of the wiki (I just tested this) and then can easily navigate to the specific page they want to visit. |
@L-M-Sherlock would you mind updating the benchmark file so that the code for FSRS in that file matches the code of the latest version of FSRS? And add MAE. |
I'm fixing a bug. I will update the benchmark tonight. |
These changes have been integrated into benchmark.ipynb: https://github.com/open-spaced-repetition/fsrs4anki/blob/benchmark/benchmark.ipynb |
This comment was marked as resolved.
This comment was marked as resolved.
It is only documented for the scheduler. Here is the related code: fsrs4anki/fsrs4anki_scheduler.js Lines 228 to 241 in d5e15d1
|
I recommend merging that page into this section. Also, I recommend writing " |
This comment was marked as resolved.
This comment was marked as resolved.
I drafted up a wiki page for the benchmark: https://github.com/open-spaced-repetition/fsrs4anki/wiki/The-Benchmark |
Also, while this is not the right issue for this, I suggest that in the final Rust version of the optimizer that will be used in Anki, this should be addressed: #351 (comment) |
I need to run the benchmark for this modification. |
Could you help me write an explanation? |
"Mature cards are defined as cards with an interval of 21 days or longer." |
Let me create a PR |
I find out a problem during the benchmark testing. Sometime w[11] will be negative. For example, if the original w[11] < 1, the new w[11] will < 0. |
Why is it a problem? |
In v3, some weights are negative. In v4, we try to keep all weights postive, right? |
Ah, that. Then I suggest testing whether this change affects RMSE and running statistical significance tests. If this change decreases RMSE, let's accept that one parameter can be negative. If it makes no difference, let's keep the current formula. |
Done in 30 minutes.
The improvement in RMSE(bins) is less than 0.5% |
Does this mean that using exp to w[11] and also not allowing negative values resulted in a smaller RMSE (though not significantly small)? If so, it makes sense to use exp. |
Sherlock should run the statistical significance test to answer this. |
I didn't clip w[11] in the test. And p = 0.96. It's not statistically significant. |
Well, forget about it then. Let's keep the current formula. |
@L-M-Sherlock I believe this is misleading |
I wrote this a long time back: #191 (comment) |
@L-M-Sherlock I think it's best to just remove that line (see above) about the interval modifier entirely. |
I wrote a simple Python code to check new posts on r/Anki for mentions of FSRS (or to check posts on any subreddit for any string of text). It will check the subreddit every 5 minutes and make a sound alert and display a pop-up notification if the title or the text of the posts contain the string @L-M-Sherlock, you might be interested. This can help with responding to questions about FSRS quickly; I made it so that I won't have to manually check r/Anki for FSRS-related posts. The only downside is that if you turn your PC off, go to sleep, and then turn it back on, you will have to manually check posts that have been posted while you were asleep. Also, it's inconvenient that you can't copy the link from the notification, so I added a print() statement too. |
The link on wiki still leads to the old benchmark: https://github.com/open-spaced-repetition/fsrs4anki/wiki/The-Benchmark Perhaps it's time to update it so that it leads to the new benchmark repo? |
This issue hasn't been closed: If you think the issue has been solved, I will update the wiki page. |
I don't really have much to add to that issue. If the metrics are consistent among benchmarks of SM-15 and SM-17, then I think that's it. |
Huge interval for new cards seems to be a common question. Recent post: https://www.reddit.com/r/Anki/comments/16kufs4/huge_interval_for_new_cards_fsrs/ So, we should probably add this to the FAQs. In the answer, we can mention:
@Expertium, when you come across a question that is already answered on our FAQ page, I recommend you to guide the user to our FAQ page instead of retyping the answer. Reason: We want more and more people to know about our FAQ page. Secondly, if you think that the info on the FAQ page is lacking, you can suggest improvements. This way, the FAQ page will eventually contain answers to most of the queries users can have, reducing the number of support requests. |
Not exactly. I noticed that a lot of people don't read the FAQ in the first place, so while improving FAQ and adding more questions is good, I don't think that it will reduce the number of support requests; rather, it will make it more helpful to those few users who do read it. |
Btw Sherlock, the script that I shared above (last week) works well, I've been using it for a few days to respond to reddit posts on r/Anki. |
Thanks for your tireless replies. By the way, is there anything we need to add to our documentation? If not, I will close this issue. |
I don't think we need to add anything right now, but I wouldn't close this issue just yet, because we will likely have to redo the guide once FSRS is integrated into Anki. Btw, can you give me any estimate on when a new Anki version with FSRS will be released? |
I recommend opening a new issue for the document of FSRS Anki integration, because it would require a huge modification and discussion. For the timing of release, I have not idea. I have completed most of work in the FSRS part. Dae has some other tasks of Anki before the next version. For the wording of the helper add-on, you can open a new issue in the add-on repo. It's hard for me to track development tasks scattered around hundreds of comments. |
Originally posted by @Expertium in #342 (comment)
The text was updated successfully, but these errors were encountered: