I am not a ml pro :) but I can tell you that in my experience it's much easier to work with the code than to try and understand the math right away.
I'm not very good at math, which surprisingly hasn't affected my learning ability. It has made it harder to understand the papers that are posted though, they are full of equations that I have to figure out how to translate to code before I understand them.
I'm teaching myself machine learning so I can use it in my projects by implementing the Apis, which are sometime well documented, if they aren't then the next best thing has been examples in the libs and failing that, the tests. If you're trying to learn ml so you can write your own ml libs then learning the math first is probably the most important, and then translating it to code after you grok the flow.
Also I've found that teaching helps solidify concepts, if you want to explain what you have learned already it might help you grok other parts of the system.
This has helped me learn a lot about ml. As far as finding data, personally I find it much more fun to find the data, and it's really fun to find relations between data and using that to make smarter tools.
Also if you want to practice together I have an open repo with code I am working on, it's a sentiment analyzer that gives you sentiment score on the security now podcasts all 15 years :D I got that part working, but now when I get time I'm learning how to use more ml tools to create links between data and also to get better sentiment data, I'd love to use it to find out what the podcast thinks of different technologies, and also provide a way to get summaries of the mass of data available by connecting the opinions of security researchers (with publicly posted data) and tying them together.
If you too have code that you want to share maybe we can help each other when the other gets stuck? Anyways, it'd probably be pretty one sided at first, as I'm not a super strong math guy yet and you can already code :D