Importance Sampling
ฝัง
- เผยแพร่เมื่อ 28 เม.ย. 2024
- The machine learning consultancy: truetheta.io
Calculating expectations is frequent task in Machine Learning. Monte Carlo methods are some of our most effective approaches to this problem, but they can suffer from high variance estimates. Importance Sampling is a clever technique to obtain lower variance estimates.
SOCIAL MEDIA
LinkedIn : / dj-rich-90b91753
Twitter : / duanejrich
Github: github.com/Duane321
Enjoy learning this way? Want me to make more videos? Consider supporting me on Patreon: / mutualinformation
SOURCES
[1] was my primary source. Chapter 17 of [2] and chapter 23 of [3] provided a useful discussion more directed at the use cases of Machine Learning.
-----------------------------
[1] E. Anderson, "Monte Carlo Methods and Importance Sampling", ib.berkeley.edu/labs/slatkin/...
[2] I. Goodfellow, Y. Bengio, and A. Courville, Deep Learning, MIT Press, 2016
[3] K. P. Murphy. Machine Learning: A Probabilistic Perspective, MIT Press, 2012
TIMESTAMP
0:00 Intro
0:16 Monte Carlo Methods
2:29 Monte Carlo Example
3:57 Distribution of Monte Carlo Estimate
6:06 Importance Sampling
9:00 Importance Sampling Example
11:40 When to use Importance Sampling
I think people underestimate how good this channel is. Can't wait for it to blow up! Good job
lol I'm going with the slow and steady strategy
Im still confused.... why haven't you blown up yet?? Your content is levels higher than a lot of stuff in TH-cam!
lol I hear it takes time for the algorithm to like you. I'm not terribly worried. Slow and steady for now
This must be the best explanation of importance sampling available online, or at least on YT. And this channel in general is such a gem. Can't wait for more of your content
Second donation ever! Thank you! And yes more is coming. I'm working on a big fat series, hence no recent vids. But they're coming
The quality of these videos is always phenomenal.
One interesting use of importance sampling is in path tracing (similar to ray tracing) in computer graphics, since path tracing is a Monte-Carlo method for computing the rendering equation. You can use importance sampling to get a better (less noisy) image with the same number of samples by using a sampling distribution which provides more frequent samples where the contribution from the BRDF/BSDF is higher, essentially sampling fewer dim paths which don't contribute to the total lighting of a pixel.
I like how you really go deep on uncommonly shown but very powerful techniques.
hell yea! Trying to make this for people who actually want to use this stuff one day. All these details become important.
Just sending a thanks for the clarity of the graphs. painting the samples the color of the distribution is a great touch
Fantastic video. It's clear that you put a massive amount of effort into your graphical representations and explanations!!
Yea I'm hoping that'll make the difference in the long run
My professor tells nothing about importance sampling, this clip really can help me to understand
Every single word you say it's the absolute minimum for bestly conveying and explaining the full meaning of the formulas. Congratulations, and thank you for being an excellent teacher
Thanks a lot - glad you appreciate the script
This is how you suposed to make an explanation video. Very very clear and concise. Well scripted, well organized, keep up you great work!!
Ha yea the script is the hard part!
This is the best video to understand importance sampling. Thank you❤
Well I was trying to understand variational inference but with no luck. This gem helped to me. To be honest this is the best video on topic and this guy is a brilliant teacher. Please make more of this kind of videos.
Thanks! Variance inference will be covered one day - promise!
great video. i bounced off from a lot of videos just for Importance sampling and this was the best of all.
Man ! I wish you I could learn real time analysis from you !! Superb !!!
thanks for making statistics feel comprehensible for me
Such a beautiful talk! I was searching for an intro on importance sampling. And this is beyond my expectation. Thank you.
thanks for sharing. I'm an undergrad CS student and this was cool
Glad it helped - there's plenty more to come!
Also, if this topic is covered any of your classes.. I would greatly appreciate the favor of sharing this vid with the class :)
This channel is so haunting. It's like no matter what I search, this channel always returns
The best explanation of Importance Sampling I've seen so far. Good job!!
The CLT is one of the wonders of the universe.
I think this is the kind of video that you have to look when you already have more or less idea of what the algorithm does, and then it helps you to summarize and understand better.
I subscribe the channel because of this video, the quality is insane
Thank you Ming ;)
You earned this sub. Fantastic quality! This is also the most intuitive explanation of a concept like this I've ever seen! I sometimes think other channels with similar topics either ramble a bit much or go too fast in parts and I get lost, but this is just the right amount of building the foundation slowly and confidently to arrive at the final idea. Keep going with these videos and you are sure to get algorithmed eventually 👍
Thank you very much! It's a work in progress too. I'm learning the rhythm and what does/doesn't need to be said. Things will get better and I'm sure it'll get recognized.
I second your opinion @Mute. Thanks @Mutual Information for the video.
Among all the videos I've found on youtube about Importance Sampling., this video is so far the best explanation.
That's a win!
Wow - this must have been a lot of work to do. A clear structure, so many details, theoretical knowledge as well as practical tips, astonishing/valuable graphics and super clear audio. Thank you!
You nailed it - it was a lot of work lol. Thanks for noticing :)
Wow that's an awesome explanation. I'm taking a Monte Carlo STATS class right now and this was far more clear then my professor was about what is actually happening here. Great video!
Happy to hear it Eric !
Very professional explanation on every detail of IS!
Somehow you manage to give intuition _and_ technical detail. Fantastic video, like all your other videos! 😎
Amazing visualization and lucid explanation ❤This was the kind of video that bring you joy of understanding, appreciate the beauty of math and people behind the original idea! Bring your favorite wine to watch this!
You're too kind Y Li - thank you!
Thank you so much for this. A topic I considered very complex is now crystal clear thanks to you!
I think the pace of this video is great, but I missed the motivation for this up until the very end. The why should generally come first: "why do I need this explanation?"
This is exceptionally well explained. Just one suggestion, when explaining remove yourself when going down the analytical steps and bring yourself back. Grabs attention instantly.
Smart idea, I'll try that. Seriously, you'll see in the next vid, thanks!
I spent nearly two days to try to working this out and all you did just show me some figures, that's incredible, thanks!
My job is done ;)
Omg, I struggled with these concepts for a while. Thank you so much for the explanation and visualization!
The struggle is over Wendy! Happy it helped :)
Amazing explanation. Top-notch delivery!
That is absurdly well-explained. Very high quality in the every aspect of the video!
Thank you - more good stuff coming!
Awesome! Keep it up, man! Your dedication is level is touching the 7th sky!
Thank you. Great video.
Thank you very much for the great intuition on this technique ! I am using it to understand the SMC algorithm, where Importance Sampling is a key ingredient.
Excellent, glad it helps
Like many others, I’m surprised you’re not bigger than you are! I’ve been binging your videos and they’re all very high quality. Liked and subbed 😊
Loved the vid. Thanks a lot, and appreciate the effort that went into making this. Keep up the good work, and hoping for this channel to grow big.
Thank you - glad you like it!
That was actually a very nice way of presenting Importance Sampling. Thank you!
Glad you liked it and thanks for watching ;)
Nice video, thank you !
The last condition for "When is Important Sampling used" is a sufficient condition for the use of IS rather than a necessary condition in my opinion.
In Reinforcement Learning we try to evaluate values (the f(x)) for a target policy (the p(x)) using a sampling policy (the q(x)). It is used because using p is not sample efficient as it only can be used with recently sampled data. Using q allows us to make use of the all data sampled since the beginning of the training. But we are not at all choosing q to be high where |pf| is.
!! It's wild you mentioned that. I actually made this vid as a pre-req to my RL sequence. Yes! The IS case I mentioned here is not the full story. I tried to allude to that a bit in the intro :)
Excellent video! I find myself lost in graduate statistic books, since they often explain concepts like this based on a lot of other statistical concepts, that I do not always have a good understanding for. It certainly helped to broaden the perspective a bit. It is easy to find excellent recourses on the most common and hyped methods, but not important but often overlooked topics like this. Thanks!
Thank you that's a big point of the channel. All the basic topics get covered at a high quality level, but there's clearly a real appetite for a few steps beyond it.
Nice video! Thank you for the succinct explanation for a first understanding !
impressive teaching skills, this was an amazing lesson
Outstanding as always. Really a standout in this space. Thanks!
Thanks Tyler, the appreciation goes a long way
An absolute phenomenon 💪💪💪
Beautiful explanation.
Fantastic video! I'm giving an internal lit review on quasi-adiabatic path integrals and this really helped me get some perspective on the core of the method! Super clear lecture and great use of visuals! Thank you so much!
Excellent, glad it helped!
I stumbled upon your kelly criterion video some time ago and liked it. Now, properly looking at your channel, I'm blown away.
Really high quality explanations (props to the usage of manim as well) of hard to understand ideas 👏👏👏
Oh yea, the quality is improving. Took me a long time but I think I'm getting the essentials. I'm also not using Manim.. maybe I should but I've always wanted to build something bespoke for this.
OMG, YOU SAVE MY excessive thoughts about how to handle the theoretical side in the practical side (in Particle filter - based SLAM algorithms for probabilistic mobile robotics systems) .
Many thanks.
excellent! Glad I could help
high quality, excellent tutorial, thx
Fantastic explanation , thank you
Exceptional explanation! Thank's a ton!
Very useful, the intuition, visualizations and math have a nice combined flow!
Thanks Samson - glad you liked it. Come back anytime ;)
Excellent job. Thank you!
Absolutely great video. Keep making this kind of content please. It is very helpful!
Great channel! Lucky I found this. I like the quality of the presentation and the LaTeX math displayed. Well done sir!
I'm for the people who think Latex looks beautiful
Thank you. It's very clear.
Amazing video, thank you for this.
Great intuitive recap of jensens inequality,!
Fantastic explanation, thanks !
excellent as always.
A good explanation. Thanks.
Excellent work, thanks!
great to see you again
I have no idea why your video has such a low view...
This deserves millions
lol thank you, we'll see! millions is a very very high bar for technical stuff. I'm happy with a lot less
this is a great video. thank you!
Great video. Really liked the visualizations.
Thanking me dollars - thank you very much!
Well done! And thank you.
Wonderful animations!
Well explained!
Those topics are widely used in computer graphics but they are explained in such a convoluted way. For example I only understood what "unbiased" means with your explanation. You do have a tallent to explain things!
Thank you RexDex!
I tip my hat, thank you for this
Thank you
One of the best explanation so far i have seen....If you can show how we can code it in python that would be helpfull......Thanks...
god these videos are invaluable
Super clear!
I think what I like the most about your videos is the reference book by your right, always showing up :)
Do you have a complete list of your recommended/favorite books?
lol you noticed! Yea these textbooks are essential :)
I think one day I'll put together a list of my favorites. I can tell you a few of them here: Machine Learning: A Probabilistic Perspective is definitely my number 1. There's actually a new edition available for pre-order on Kevin Murphy's site. Second would be The Elements of Statistical Learning, a classic. Then Deep Learning by Bengio et al. And, just because I'm reading it right now, I really love Reinforcement Learning by Sutton and Barto. It does a great job creating a unifying framework on a wide and rapidly evolving field.
Great video! If I would like to add anything it would be maybe 2-3 questions in the end of the presented material to see if you did grasp the key points in the video (with answers in the description)! Thank you
That's.. a good idea. OK I think I'll give that a shot in future video.. I need some ways to build interaction with the audience. Thanks!
That's a great video which helps me alot! Could you please also introduce a little bit about Resampled Importance Sampling (RIS)? Thank you so much
Wow this is great!
Amazing video!
excellent explanation
You said: “The dimension of x is high ... This integral is impossible to calculate exactly ... A small set of samples have an outsize impact on the average.” This describes my doctoral dissertation problem in polymer chemistry. I wanted to determine average thermodynamic properties of a desirable variable like the end to end distance or radius of gyration (average distance of molecular units from center of mass) of a very long polymer molecule of, say, several thousand units. In thermodynamics this is the integral of [the end-to-end distance times exp(-U/kt)d(tau)] where U is energy, t is temperature, and k is Boltzmann’s constant, divided by the integral of (exp-U/kt)d(tau), also called the partition function. Tau is the volume element of the phase space for the molecule and represents all possible geometric conformations or shapes of the molecule. The conformation of the polymer is completely defined geometrically by listing the dihedral angles about successive backbone atoms from one end to the other (ignoring side chains for simplicity). Given such a list, you can generate all of the molecule’s coordinates in three dimensions, from which you can then calculate the energy of the molecule, U, using any number of standard chemical functions. Each of the dihedral angles can vary continuously from 0 to 2pi. The multi-dimensional “phase space” defined by tau is unwieldy because tiny changes in any dihedral angle can bring distant atoms together in energetically unpredictable ways and there is no analytical solution to the integral. In the 1950s Monte Carlo methods were used to generate coordinates for a single polymer molecule by using a random number generator to create a list of dihedral angles and then calculating (a) the end-to-end distance of the polymer whose angles corresponded to the list and (b) its energy. In a single computer “experiment” researchers could generate thousands of polymers and calculate the average end-to-end distance using the exponential function as the weighting function. In principle, this worked, but in practice, polymers with very high energies due to atomic overlaps and therefore very low weights dominated the outputs so the averages converged too slowly to be useful. In the 1960s Moti Lal, a chemist at Unilever Labs in the UK, became aware of Metropolis’s seminal paper from 1953 in the Journal of Chemical Physics that laid out the statistical ideas of importance sampling and applied them to the polymer problem. However, the available computing power (IBM 360/50) confined his polymers to 30 monomer units on a 2-dimensional spatial lattice. As a graduate student at NYU 1968 I had access to a Control Data Corp. CDC 6600 supercomputer at the Courant Institute and used the Metropolis-Lal method to generate more realistic polymers in 3 dimensions with free rotation about their backbone bonds (i.e., not restricted to an artificial lattice). Just as you pointed out, samples generated with this method tended to represent more “important” regions of polymer conformation space so it took fewer samples to get stable averages. This allowed me to also generate the numerical distributions of end-to-end distances of polymers of several hundred units and with sufficient accuracy to determine which of a number of theoretical analytic functions best described those distributions.
Great video ❤
Thank you.
Awesome visualizations!
Thank you Sarah!
Very informative channel
Thanks that was super helpful!!!
Mission accomplished!
brilliant!
Hey, I'm blown away by your visulizations, what do you make them in? BTW your vid on prob. distributions helped me in my stats class :D thanks!
Happy to help!
Like your channel A LOT, explanation are really clear and animations are really cool. A bit sad that you don't explain the maths sometimes
Vids take a lot longer than I'd like.. stuff gets cut out to save time :(
very nice lecture!thanks,i am just about to give a presentation about sampling and that covers the IS, very great and inspiring video👍
Nice, glad it helped :)
awesome!
no discuss about qquality of this video, very incredible!
Thank you!
Somehow I am able to follow this.
It will be awesome if you'll make some videos about energy based model. Really!
So many topics!!
Thanks a lot
Thanks!
It’s awesome that I always learned something new when I rewatch your video. Keep the great work!
You're too kind Taotao! and that learning won't stop :) Working on a new shipment as we speak my man