Here's what I think I understand so far, feel free to correct me if I'm wrong:
* Most ML solutions come from published papers, and even ones that are years old are still effective and relevant. You're going to be tweaking other people's designs and that's fine.
* Effectiveness of ML seems to come from two things: Network design improvements (some combination of brute forcing, guessing, understanding math, and implementing papers) and from better data (if you have access to more data sets, you can do better things).
* Before you start with the ML part, you need to first be able to do "Exploratory Data Analysis". Which really just means to learn matplotlib, which means you'll need to know how to use pandas, which means you'll need to learn how to use numpy. You want to be able to understand your data, find outliers, graph some examples, etc.
* There's a few different types of ML, but the ones that seem to solve problems are "reinforcement learning", "supervised learning", and "unsupervised learning". The supervised learning is the most common one to get started with, and it seems to work well if you have a big set of "X should produce Y" type of data. Unsupervised learning is similar but you don't have Y and you're looking to find groupings of your data instead of matching to specific labels. Reinforcement learning seems most useful for things like game AI, where you have some state and you have various moves you can do to try and increase your score (OpenAI Gym is really fun for this).
* It is actually unreasonably effective. There are "pre-trained models" that offer a starting point for networks that have already seen huge data sets. You can "transfer" that learning and then train on top of it. It's amazing how little effort is required to start classifying images.
* Keras backed by TensorFlow seems to have the best support all around, and the code is pretty easy to read. TensorFlow is a little like OpenGL where it has its own rules and state, and you should do some examples to see how it works, but it's very low level. Keras is like any other high level python library and it does almost all of the TF interaction for you.
* If you're doing it on your machine, use conda, because it manages all the python stuff for you. If you want the fastest way to get started online without your own GPU, use Kaggle. It has a maximum runtime of about 9 hours but that's plenty to get started.