Intelligent networks mean different things to different people.
To some, it represents the evolution of the Web into a more responsive and helpful entity that can learn from and react to users. For others, it means the integration of the Web into more aspects of our lives. To me, far from being the first generation of Skynet, where computers dominate a dystopian future, the intelligent Web is about designing and implementing more naturally responsive applications that make our online experience better in some quantifiable way.
Every reader has most likely encountered machine intelligence on many different occasions, and this chapter will highlight some examples so that you can better identify them in the future. This, in turn, will help you understand what’s really going on when you interact with an intelligent application again.
Since you know this book is not about writing entities trying to take over the world, we should probably talk about something else that isn’t found in these pages! First, it’s a back-end book. You won’t learn about beautiful interactive visualizations or platforms on these pages. Moreover, this book will not teach you statistics; But to get the most out of this book, we’ll assume you have a knowledge level of 101 or higher, which means you should have taken a course in statistics at some point in the past.
Nor is this a book about data science.
There are plenty of titles to help data science practitioners, and we hope this book will be helpful to data scientists, but these chapters contain details on how to be a data scientist. See articles by Joel Grus4, Foster Provost, and Tom Fawcett on these topics.
It is also not a detailed book on algorithm design. We usually go through the details of algorithm design, providing more intuition than going into detail. This will allow us to cover more ground, perhaps at the cost of some rigour. Treat each chapter as a breadcrumb clue that leads you to important aspects of the approach and leads you to resources where you can learn more.
While many examples in this book are written in Scikit-Learn (http://scikit-learn.org), this is not a book about Scikit-Learn! This is just the tool we use to demonstrate the methods described in this book. We’re not going to provide an example without an intuitive introduction to why the algorithm works. In some cases, we’ll go further, but you should continue your research outside of this book in many cases.
What is the book about?
First, we will introduce tools that provide an end-to-end view of the intelligent algorithms we see today. Then, we’ll talk about the information gathered about you, the average web user, and how that information can be channeled into a valuable flow of information so that it can be used to predict your behavior — and change those predictions as your behavior changes. This means that we will often deviate from the standard “Algorithms 101” book in favor of giving you an experience with all the important aspects of intelligent algorithms.
We will even discuss (in the appendix) a publish/subscribe technique that allows large amounts of data to be organized during ingestion. While this has no place in a book strictly about data science or algorithms, we believe it has a fundamental place in a book about intelligent networks. That doesn’t mean we ignore data science or algorithms — quite the opposite! We will cover most of the important algorithms used by most of the major players in intelligent algorithms.
Where possible, we cite these examples known in the wild so you can test your knowledge against the behavior of these systems — no doubt impressing your friends!
But we’re getting ahead of ourselves. In this chapter, we will provide several examples of intelligent algorithm applications that you should find immediately. Next, we’ll talk more about what intelligent algorithms can’t do and then provide you with a taxonomy of domains you can use to suspend your newly learned concepts. Finally, we’ll show you some ways to evaluate intelligent algorithms and give you some helpful information you need to know.
What is an intelligent algorithm?
For the purposes of this book, we will call any algorithm that uses data to modify its behavior an intelligent algorithm. Remember, when you interact with an algorithm, you’re just interacting with a different set of rules. Intelligent algorithms differ in that they can change their behavior at run time, often leading to a user experience that many would consider intelligent. Here, you can see an intelligent algorithm responding to events in the environment and making decisions.
The algorithm evolves by taking data from the context in which it operates, possibly including the event itself. It develops in the sense that the decision is no longer the certainty of a given event. Instead, an intelligent algorithm may make different decisions at different points, depending on the data it absorbs.
This book will introduce details intelligent web. But for the concept of the intelligent web, you can also refer this: Intelligent Web