Topological Data Analysis and Machine Learning Theory