Setosa publishes interactive visual explanations of math, statistics, and machine learning topics such as PCA, Markov chains, and eigenvectors.
HN commenters repeatedly praise it as excellent and recommend its visualizations, including its ordinary least squares explainer, for learning these concepts.
I thought it was interesting the same technique (convolution) was used in two different applications: photoshop/gimp for image filters and in convolutional neural networks (CNNs). What is the purpose of convolution in CNNs?
the setosa interactive says convolution is "a technique for determining the most important portions of an image"
the hubel and wiesel experiment showed "there is a topographical map in the visual cortex that represents the visual field, where nearby cells process information from nearby visual fields. Moreover, their work determined that neurons in the visual cortex are arranged in a precise architecture. Cells with similar functions are organized into columns, tiny computational machines that relay information to a higher region of the brain, where a visual image is formed"
I'm interested in David Marr's work, about to order Vision: A Computational Investigation into the Human Representation and Processing of Visual Information, his level of analysis approach is interesting. I think he did work on edge detection, which must of been involved some kind of convolution/filter
This setosa interactive is great, and actually references the gimp documentation
http://setosa.io/ev/image-kernels/
An image kernel is a small matrix used to apply effects like the ones you might find in Photoshop or Gimp, such as blurring, sharpening, outlining or embossing. They're also used in machine learning for 'feature extraction', a technique for determining the most…
Eigenvalues and eigenvectors are one of those things that pop up in a million places because they're so useful, but to recognize where they may be useful you need intuition as to what they're doing.
One of my biggest hurdles learning linear algebra was getting that intuition. This "standard way of explaining scientific things" never built that intuition for me, only forced the mechanics of the computation into pencilized muscle memory.
Don't get me wrong, you need that muscle memory in practice. But without the intuition, your muscle memory is always going to be inferior to a couple commands in matlab. Stuff like this visualization builds the intuitive knowledge -- you see, you explore, you wiggle a few things and see what happens when you go in and out of the sweet spot.
Play (and simulation) is an extremely effective way to build intuition, and one I'd love to see more. These guys are doing an awesome job at these kinds of simulations -- their markov chain one was fantastic too http://setosa.io/ev/markov-chains/
Woah, spent way too much time making this:
http://setosa.io/markov/index.html#%7B%22tm%22%3A%5B%5B0%2C0.9%2C0%2C0%2C0%2C0%2C0%2C0.1%2C0%2C0%2C0%2C0%5D%2C%5B0%2C0%2C0.9%2C0%2C0%2C0%2C0.1%2C0%2C0%2C0%2C0%2C0%5D%2C%5B0%2C0%2C0%2C0.9%2C0%2C0.1%2C0%2C0%2C0%2C0%2C0%2C0%5D%2C%5B0.9%2C0%2C0%2C0%2C0.1%2C0%2C0%2C0%2C0%2C0%2C0%2C0%5D%2C%5B0%2C0%2C0%2C0.1%2C0%2C0%2C0%2C0%2C0%2C0%2C0.9%2C0%5D%2C%5B0%2C0%2C0.1%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0.9%5D%2C%5B0%2C0.1%2C0%2C0%2C0%2C0%2C0%2C0%2C0.9%2C0%2C0%2C0%5D%2C%5B0.1%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0.9%2C0%2C0%5D%2C%5B0%2C0%2C0%2C0%2C0%2C1%2C0%2C0%2C0%2C0%2C0%2C0%5D%2C%5B0%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C0%2C0%2C0%2C0%5D%2C%5B0%2C0%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C0%2C0%2C0%5D%2C%5B0%2C0%2C0%2C0%2C1%2C0%2C0%2C0%2C0%2C0%2C0%2C0%5D%5D%7D
I would love someone like gwern [0] to write an analysis of how Mathematics articles on Wikipedia start off being understandable by most and then get lapped into a submicron finish that only reflects an insular subset of folks. These mathematical nuggets sit like hard grains in mud (sorry wikipedia) that only mathematicians can understand.
And in so doing, they slowly bootstrap themselves so far away from any grounding context that it is incredibly difficult for anyone to _learn_ mathematics from reading wikipedia articles.
There are groups doing great things like Setosa [1], nLab [2] and for concepts, Simplicable [3]
[0] https://www.gwern.net/
[1] https://setosa.io/ev/
[2] https://ncatlab.org/nlab/show/HomePage
[3] https://simplicable.com/new/communication
Yes, that's exactly how the author of the article is explaining it (including the picture).
I was just commenting that it was good that, the author took time to explain this.
And those kinds of nuances/counter examples are not always available in explanatory dynamic visualization tools (such as the ones referenced in the comments here [1] ).
To be clear, I am not arguing against dynamic visualizations.
These are very nice, very very helpful, and very time consuming to build and present on a website.
I am just suggesting that showing negative examples is a complimentary, and powerful explanation technique.
[1] http://setosa.io/ev/eigenvectors-and-eigenvalues/
Great visualization (as the rest from http://setosa.io , go have a look)!!
I wonder, though: I learnt OLS as standard math / symbolic logic; but, if kids and students learnt from these visualization, would they be better off, or worse off?
Because, at least for me, it is difficult to reason about this and other visual math examples (whereas there are others that are great as demonstrations, as the integer proof in http://www.catonmat.net/blog/visual-math-friday/ , this one, regarding OLS, confuses me).
It probably depends a lot on each person. Out of curiosity, does this particular example give you insights? Which ones? How?