{'fraction_non_alphanumeric': 0.017094017094017096, 'fraction_numerical': 0.0, 'mean_word_length': 5.596244131455399, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Review of Algorithmic Aspects of Machine Learning By Ankur Moitra

Over the past two decades, machine learning has seen tremendous development in practice. Technological advancement and increased computational resources have enabled several learning algorithms to become quite useful in practice. Although many families of learning algorithms are heuristic in nature, their usefulness cannot be understated. Empirical observations coupled with abundance of new datasets have led to development of novel algorithmic techniques that aim to accomplish a variety of learning tasks efficiently on real-world problems. But what makes these algorithms work on such real-world problems? Clearly, producing correct solutions is one aspect of it. The other aspect is efficiency. While many of these algorithms solve hard problems and cannot be theoretically efficient (under plausible complexity-theoretic assumptions), they seemingly do work on real-world problems. It begets the question: are there conditions under which these algorithms become tractable? Having an answer to this fundamental question sheds light on the power and limitations of these algorithmic techniques. This book focuses on different learning models and problems, and sets out to capture the assumptions that make certain algorithms tractable. The emphasis is on models and algorithmic techniques that make learning an efficient endeavor.