There are people saying here that is not worth it. I tend to agree but for different reasons. Flashcards with spaced repetition can help you learn mathy concepts, as Michael Niesel and others have shown.
As high_derivative notes, to make the process worthwhile, you need to make the notes yourself in order to internalize chunks that are worthwhile to you. That means your own definitions that you are failing to remember, the questions you need to answer, the problem sets you want to review, etc.
You can only internalize with a method like flashcards w/ spaced repetition once you understand the argument, need, and narrative.
In a more recent article Michael Nielsen and his co-author Andy Matuschak have adjusted their thinking somewhat: https://numinous.productions/ttft/
“One of us has previously asserted (Michael Nielsen, Augmenting Long-Term Memory (2018)) that in spaced-repetition memory systems, users need to make their own cards. The reasoning is informal: users often report dissatisfaction and poor results when working with cards made by others. The reason seems to be that making the cards is itself an important act of understanding, and helps with committing material to memory. When users work with cards made by others, they lose those benefits.
Quantum Country violates this principle, since users are not making the cards. This violation was a major concern when we began working on Quantum Country. However, preliminary user feedback suggests it has worked out adequately. A possible explanation is that, as noted above, making good cards is a difficult skill to master, and so what users lose by not making their own cards is made up by using what are likely to be much higher-quality cards than they could have made on their own. In future, it’s worth digging deeper into this issue, both to understand it beyond informal models, and to explore ways of getting the benefits of active card making.”
Thank you for this. I just want to emphasize that you still need to understand the reasoning and ideas behind ideas. First rule of supermemo still applies: Do not learn if you do not understand.
I'd recommend these cards if they were higher quality than the ones I make if the person using the cards already read a textbook on the topics.
This is not a good idea and definitely not worth the money.
If you want to pass a quiz-style interview (I interview for a FAANG ML research lab), you are much likely better served writing down the concepts yourself in a concise way. If you never wrote them down somewhere, you are not forced to actually digest the content. Cards you didn't write yourself will fool yourself into believing you understand something if you can repeat the words.
Agree and disagree. Memorizing these will do very little. On the other hand having an aggregate list of topics that you should know that you use to point you in the direction of further learning could be useful. Like a table of contents for a book you have to put together yourself. Not useful on it's own, but is a good indicator of where you should be going.
It's worth noting that machine learning / data science interview questions have much higher variance in the types/complexity of questions than traditional CTCI-esque interviews. None of the popular interview resources have had questions close to what I've encountered in real life over the years, although the flashcards here do a better job on the ML side (but are not helpful for the Leetcode-esque questions that will get asked).
This is encouraging exactly what I dislike about the current ML-in-industry space, namely the fetishism surrounding being able to describe the rote steps of an algorithm and all this "X from scratch" stuff. It's good to know "this algorithm is used for binary classification" but there are so many subtleties to how the data is reckoned with through these algorithms and how that particular representation of the problem maps onto your current business task.
For instance, I'm doing a project that involves binary classification but I already know that linear SVMs would be a terrible idea because the hinge loss only focuses on two data points and essentially ignores all the rest. Logistic regression is much more appropriate for my needs because it is directly optimizing the estimates of probability of belonging to one class or the other, by virtue of that literally being the definition of the objective function. This, though, doesn't really sink in without significant practical experience, and definitely wouldn't stick if it was recited to you from the front of a lecture hall or one of a couple hundred flash cards.
On the job experience about which ML algorithm is more useful for a task is certainly helpful.
But, knowing how to implement "X from scratch" gives you far more useful information about how and why a particular algorithm is suitable for a certain task. We should encourage people to reimplement algorithms from scratch (for fun, not production usage) so that they understand how the sausage is made.
Also, SVMs support a whole lot of different loss functions. I suspect that a properly tuned SVM will do better than a properly tuned logistic regression.
> "VMs would be a terrible idea because the hinge loss only focuses on two data points and essentially ignores all the rest"
Not true, In my experience fitted SVMs have thousands of support vectors. The hinge loss is supposed to be less sensitive to outliers.
In general, I think SVMs are a 'terrible idea' because you can often get better fits at much faster run times with gradient boosting or you have to spend a lot of time getting the kernel just right.
I'm eschewing kernels entirely and just sticking to linear models for reasons around interpretability (need to convert the model's coefficients+intercept to an explicit Boolean statement). But you're right that kernel methods are more flexible (maybe too flexible).
I purchased them in 2019 as I was refreshing my general ML knowledge as I was getting deeper outside my particular ML specialty at work. Loaded them into Anki. Wasn't really a fan, but definitely one of those "$12 isn't worth complaining about it and getting a refund from someone who seems earnest" type of situations.
Notably they're not traditional flashcards where I can be given one side, answer the question or repeat the concept, and then check the other side for the answer. Everything is on one side.
Second, lots of different subjects which may generally be good for overall knowledge, but lots of random things I found more specific to data science than ML, which I didn't expect because they're called Machine Learning Flashcards. I do realize data science is kind of a proto ML though.
Third, I found them hard to read with all the colors, some of which didn't scan as well as I would have liked.
To be completely fair, I'm probably not the target audience, but I felt like I was marketed to as if I were.
Bought this yesterday after seeing this post trending. You echo my sentiment perfectly. I was particularly disappointed at the flashcards being one sided. Not seeking refund for the same reason as you.
IMO flashcards are more useful if you build them yourself and try to recall the context around it, not just what's in the flashcard. Doesn't have to be flashy, though flashiness may help with retention.
Thanks for sharing your experience. These don't sound like what I would call "flash cards" if they only have material on one side. And I'm not sure the point of loading them into Anki.
Well, I assumed they were because they're literally called "Machine Learning Flashcards" and, being what I assumed we're flashcards, I loaded them into Anki, which is for help memorizing concepts.
We recently launched precisely this - a note-taking app that lets people add questions/identify salient terms for review as flashcards, and ML that applies those questions to auto-generate fill-in-the-blank for any written material.
Thank you, this is very close to what I was hoping for. I tested it out, and if I were in a position to pay for the premium features, I would highly consider it. However, the biggest stopgap for me is that my daily driver phone is a Samsung Note8, which of course means that I'm unable to use NoteFuel for the kind of spur-of-the-moment note-taking that would allow me to transition from Evernote (or else simply add it to my routine).
I would love to hear from you guys when an Android app is available.
One way you could use flash cards to teach a subject is by defining each concept on its own flash card. You start from low-level concepts or primitives as they're called in programming languages and use those to define more high level concepts.
It's exactly how you create a program. You define functions using other, more lower-level, functions. The only problem with this approach is that it's tedious to create the cards. It might also be tedious for someone going through the cards.
As high_derivative notes, to make the process worthwhile, you need to make the notes yourself in order to internalize chunks that are worthwhile to you. That means your own definitions that you are failing to remember, the questions you need to answer, the problem sets you want to review, etc.
You can only internalize with a method like flashcards w/ spaced repetition once you understand the argument, need, and narrative.