There is a particular kind of stuck that hits people about a year into learning machine learning. You can train models, you can read the documentation, you can get respectable numbers, and then you open a paper and the notation for a conditional distribution stops you cold. Or you cannot explain why a variational bound is a bound. Or Bayes rule keeps feeling like a trick rather than a fact.
That stuck is almost always a probability gap, and Joe Blitzstein's STAT 110 is the cleanest way out of it that exists for free. The course is thirty four lectures recorded at Harvard, released openly along with the problem sets, the solutions, a set of strategic practice problems and the textbook Blitzstein wrote with Jessica Hwang. The syllabus covers exactly what you would want: counting and combinatorics, conditional probability, random variables and their distributions, expectation, the standard discrete and continuous families and how they relate to each other, joint distributions, transformations, conditional expectation, inequalities and limit theorems, Markov chains, and a closing look at Markov chain Monte Carlo. What makes it exceptional is Blitzstein's teaching.
He works almost entirely through what he calls story proofs, arguments that establish a result by describing what is actually happening rather than by pushing algebra around. The relationship between the binomial, the Poisson and the exponential stops being three formulas to memorise and becomes one picture you can reconstruct. Conditional expectation, which is where most self taught people quietly give up, is built up so carefully that Adam's law and Eve's law feel obvious by the time they arrive. He is also funny, self aware about which parts are hard, and unusually good at telling you in advance which mistake you are about to make.
The problem sets are the course. I want to be blunt about this because it is where most people fail. Watching thirty four hours of excellent lecture produces the feeling of understanding and very little of the substance. The strategic practice problems come with worked solutions and are designed to build technique in a deliberate order, and if you do them you will come out with real probabilistic fluency.
If you skip them you will come out with the memory of enjoying some videos. The honest limitations. This is not machine learning. There is no code, no dataset, no model, nothing to run.
It teaches probability, and the application to ML is left entirely to you. Some people need that bridge made explicit and will find the abstraction frustrating. The prerequisites are real: single variable calculus is assumed throughout and multivariable shows up in the joint distribution material. Someone whose maths stopped at algebra will struggle and should do a calculus refresher first.
The recordings are from 2013 and the production reflects it, though the content has not aged because probability has not changed. Where it fits alongside other things in this catalogue. Stanford CS109 covers similar ground with more programming and less rigour, and is a reasonable alternative if you want to write code while you learn. Mathematics for Machine Learning from Imperial is more directly targeted at ML but far shallower on probability specifically.
The Deisenroth book is a good reference and a poor teacher. STAT 110 is the deep one, and the pairing I would actually recommend is STAT 110 for understanding and CS109 for application. My four point eight is close to the top of what I give anything. It loses a little for having no programming component and for lecture recordings that are showing their age.
Everything else about it is as good as free education gets.