Understanding Machine LearningThe subject of this book is automated learning, or, as we will more often call it, Machine Learning (ML). That is, we wish to program computers so that they can "learn" from input available to them. Roughly speaking, learning is the process of converting experience into expertise or knowledge. The input to a learning algorithm is training data, representing experience, and the output is some expertise, which usually takes the form of another computer program that can perform some task. Seeking a formal-mathematical understanding of this concept, we'll have to be more explicit about what we mean by each of the involved terms: What is the training data our programs will access? How can the process of learning be automated? How can we evaluate the success of such a process (namely, the quality of the output of a learning program)? ...
Generic Data Structures and Algorithms in GoAdvance your understanding of generic data structures and algorithms and their applications using Go and the effective use of concurrency. You are invited on a journey that aims to improve your programming and problem-solving skills. This book takes you to the next step by showing how to get your programs to work efficiently as well as correctly.
As you explore many data structures and the algorithms and applications associated with them, you'll focus on the trade-offs between speed and storage and the benefits of deploying concurrency when appropriate. This book will demonstrate the huge increases in application performance that are possible. The presentation of classic data structures and techniques of algorithm design (greedy, divide and conquer, branch-and-bound to name a few) provides an essential foundation and toolkit for problem solving. But this book goes further by presenting heuristic algorithms and their implementations for solving computationally intractable combinator ...
Agile Visualization with PharoUse the Pharo interactive development environment to significantly reduce the cost of creating interactive visualizations. This book shows how Pharo leverages visualization development against traditional frameworks and toolkits.
Agile Visualization with Pharo focuses on the Roassal visualization engine and first presents the basic and necessary tools to visualize data, including an introduction to the Pharo programming language. Once you've grasped the basics, you'll learn all about the development environment offered by Roassal. The book provides numerous ready-to-use examples. You'll work on several applications, including visualizing the training phase of reinforcement learning (a powerful machine learning algorithm) and generating software visualizations from GitHub. ...
Secret Key CryptographySecret Key Cryptography gives you a toolbox of cryptographic techniques and Secret Key methods. The book's simple, non-technical language is easy to understand and accessible for any reader, even without the advanced mathematics normally required for cryptography. You'll learn how to create and solve ciphers, as well as how to measure their strength. As you go, you'll explore both historic ciphers and groundbreaking new approaches - including a never-before-seen way to implement the uncrackable One-Time Pad algorithm.
Whoever you are, this book is for you! History buffs will love seeing the evolution of sophisticated cryptographic methods, hobbyists will get a gentle introduction to cryptography, and engineers and computer scientists will learn the principles of constructing secure ciphers. Even professional cryptographers will find a range of new methods and concepts never published before.
From the Roman empire's Caesar cipher to the WWII Enigma machine, secret messages have in ...