GROKKING ALGORITHMS: Simple and Effective Methods to Grokking Deep Learning and Machine Learning
By Eric Schmidt
()
About this ebook
In the past decade, artificial intelligence has been making waves. From self-driving cars to Siri to Alexa, artificial intelligence is everywhere. But what exactly is it?
The term "artificial intelligence" was coined in 1956 by John McCarthy, a computer scientist at Dartmouth College. His work was based on the idea that comput
Eric Schmidt
Eric Schmidt served as Google CEO and chairman from 2001 until 2011, Google executive chairman from 2011 to 2015, and Alphabet executive chairman from 2015 to 2018.
Read more from Eric Schmidt
Trillion Dollar Coach: The Leadership Playbook of Silicon Valley's Bill Campbell Rating: 4 out of 5 stars4/5GROKKING ALGORITHMS: Advanced Methods to Learn and Use Grokking Algorithms and Data Structures for Programming Rating: 0 out of 5 stars0 ratingsThe Startup Game: Inside the Partnership between Venture Capitalists and Entrepreneurs Rating: 4 out of 5 stars4/5Bet on Yourself: Recognize, Own, and Implement Breakthrough Opportunities Rating: 0 out of 5 stars0 ratingsCODING INTERVIEW: Simple and Effective Methods to Cracking the Coding Interview Rating: 0 out of 5 stars0 ratingsThe New Digital Age: Transforming Nations, Businesses, and Our Lives Rating: 3 out of 5 stars3/5GROKKING ALGORITHMS: Tips and Tricks of Grokking Functional Programming Rating: 0 out of 5 stars0 ratingsCODING INTERVIEW: 50+ Tips and Tricks to Better Performance in Your Coding Interview Rating: 0 out of 5 stars0 ratingsGROKKING ALGORITHMS: A Comprehensive Beginner's Guide to Learn the Realms of Grokking Algorithms from A-Z Rating: 0 out of 5 stars0 ratingsCODING INTERVIEW: Advanced Methods to Learn and Excel in Coding Interview Rating: 0 out of 5 stars0 ratingsARDUINO PROGRAMMING FOR BEGINNERS: Tips and Tricks for the Efficient Use of Arduino Programming Rating: 0 out of 5 stars0 ratingsUX: Advanced Method and Actionable Solutions UX for Product Design Success Rating: 0 out of 5 stars0 ratingsUX: Simple and Effective Methods for Designing UX Great Products Using UX Programming Theories Rating: 0 out of 5 stars0 ratingsUX: A Comprehensive Beginner's Guide to Learn the UX Realms of UX Programming Rating: 0 out of 5 stars0 ratingsARDUINO PROGRAMMING FOR BEGINNERS: Advanced Methods to Learn and Understand Arduino Hardware and Software Rating: 0 out of 5 stars0 ratingsARDUINO PROGRAMMING FOR BEGINNERS: Simple and Effective Methods to Learn Arduino Programming Efficiently Rating: 0 out of 5 stars0 ratingsUX: Tips And Tricks for Planning and Analyzing Data in UX Projects Rating: 0 out of 5 stars0 ratings
Related to GROKKING ALGORITHMS
Related ebooks
Artificial Intelligence: Machine Learning, Deep Learning, and Automation Processes Rating: 4 out of 5 stars4/5Machine Learning: Adaptive Behaviour Through Experience: Thinking Machines Rating: 4 out of 5 stars4/5Python Machine Learning Illustrated Guide For Beginners & Intermediates: The Future Is Here! Rating: 5 out of 5 stars5/5Advanced Deep Learning with Python: Design and implement advanced next-generation AI solutions using TensorFlow and PyTorch Rating: 0 out of 5 stars0 ratingsIntroduction to Artificial Intelligence Rating: 0 out of 5 stars0 ratingsGrokking Artificial Intelligence Algorithms Rating: 0 out of 5 stars0 ratingsArtificial Intelligence Interview Questions Rating: 5 out of 5 stars5/5Python Machine Learning: Introduction to Machine Learning with Python Rating: 0 out of 5 stars0 ratingsNatural Computing with Python: Learn to implement genetic and evolutionary algorithms to solve problems in a pythonic way Rating: 0 out of 5 stars0 ratingsArtificial Intelligence: Data Analytics and Innovation for Beginners Rating: 5 out of 5 stars5/5GROKKING ALGORITHMS: A Comprehensive Beginner's Guide to Learn the Realms of Grokking Algorithms from A-Z Rating: 0 out of 5 stars0 ratingsDancing with Qubits: How quantum computing works and how it can change the world Rating: 5 out of 5 stars5/5Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers Rating: 2 out of 5 stars2/5Essential Algorithms: A Practical Approach to Computer Algorithms Rating: 5 out of 5 stars5/5CODING INTERVIEW: Advanced Methods to Learn and Excel in Coding Interview Rating: 0 out of 5 stars0 ratingsArtificial Intelligence: A Guide for Thinking Humans Rating: 4 out of 5 stars4/5Software Architect Rating: 0 out of 5 stars0 ratingsIntroduction to Algorithms & Data Structures 2: A solid foundation for the real world of machine learning and data analytics Rating: 0 out of 5 stars0 ratingsArtificial Intelligence Programming with Python: From Zero to Hero Rating: 0 out of 5 stars0 ratingsIntroduction to Generative AI Rating: 4 out of 5 stars4/5
Programming For You
Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5Excel 101: A Beginner's & Intermediate's Guide for Mastering the Quintessence of Microsoft Excel (2010-2019 & 365) in no time! Rating: 0 out of 5 stars0 ratingsLinux: Learn in 24 Hours Rating: 5 out of 5 stars5/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Python QuickStart Guide: The Simplified Beginner's Guide to Python Programming Using Hands-On Projects and Real-World Applications Rating: 0 out of 5 stars0 ratingsHTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5JavaScript All-in-One For Dummies Rating: 5 out of 5 stars5/5Python: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5Python: Learn Python in 24 Hours Rating: 4 out of 5 stars4/5Learn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 5 out of 5 stars5/5Microsoft Azure For Dummies Rating: 0 out of 5 stars0 ratingsPYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Unreal Engine from Zero to Proficiency (Foundations): Unreal Engine from Zero to Proficiency, #1 Rating: 3 out of 5 stars3/5C++ Learn in 24 Hours Rating: 0 out of 5 stars0 ratingsC# Programming from Zero to Proficiency (Beginner): C# from Zero to Proficiency, #2 Rating: 0 out of 5 stars0 ratings
Reviews for GROKKING ALGORITHMS
0 ratings0 reviews
Book preview
GROKKING ALGORITHMS - Eric Schmidt
Introduction
In the past decade, artificial intelligence has been making waves. From self-driving cars to Siri to Alexa, artificial intelligence is everywhere. But what exactly is it?
The term artificial intelligence
was coined in 1956 by John McCarthy, a computer scientist at Dartmouth College. His work was based on the idea that computers could be made to exhibit intelligent behavior if they were programmed correctly.
Since then, many people have taken up the mantle of creating intelligent machines—from engineers and computer scientists like Alan Turing and John von Neumann to psychologists like B. F. Skinner and Ivan Pavlov. And today, dozens of different types of artificial intelligence algorithms are being used by companies worldwide: deep learning algorithms, machine learning algorithms… even genetic algorithms!
There are a lot of algorithms out there. Some of them are old, and some of them are new. But if you're reading this book, chances are you've heard something about machine learning, maybe even deep learning.
The world of computer science is a vast and fascinating place. It's also constantly changing, with new techniques emerging every day to help us understand data and make better decisions about how we use it.
One of these techniques is called deep learning. Deep learning allows computers to learn from huge amounts of data, and it's been used to help computers recognize images, understand language, and even drive cars.
This book will teach you all about the Grokking algorithms behind machine learning and deep learning: what they are, how they work, and where they come from. We'll start with the basics of what an algorithm is in general—what it does, how it works—and then move into more specific details about what makes these particular algorithms so powerful.
Grokking Algorithms is a deep dive into the world of machine learning and artificial intelligence. You'll learn what makes these systems tick and how they work.
Chapter 1
Introduction to Deep Learning
Deep learning is one of the most powerful and important tools in artificial intelligence. Its potential lies in automating mundane, time-consuming tasks, freeing up valuable time for more important tasks. That said, it can also be fun, and when you simulate human intelligence, you can learn an awful lot about what it means to be human. It won’t be easy to learn, but it is rewarding.
Why This Book?
Do you want to learn about deep learning? Are you interested in artificial intelligence but don't know where to start? Grokking Deep Learning is an excellent choice for anyone who wants to learn about both topics.
Deep learning is a new and powerful tool for the incremental automation of intelligence. In other words, it's a way to program computers to do what they do best: learn from examples and make predictions based on those examples.
Deep learning can generally be described as an approach to machine learning that uses multiple layers of artificial neural networks (ANNs) to process information. A typical ANN consists of several layers (hence deep
), each containing thousands or millions of processing units called neurons connected in complex patterns. These multilayered networks are trained by feeding them many examples and adjusting their connections until the network reliably produces the correct answer for new inputs it hasn't seen before—a technique known as backpropagation training.
Deep learning is a new and powerful tool for the incremental automation of intelligence. In other words, it's a way to program computers to do what they do best: learn from examples and make predictions based on those examples. Deep learning can generally be described as an approach to machine learning that uses multiple layers of artificial neural networks (ANNs) to process information. A typical ANN consists of several layers (hence deep
), each containing thousands or millions of processing
units called neurons connected in complex patterns. These multilayered networks are trained by feeding them many examples and adjusting their connections until the network reliably produces the correct answer for new inputs it hasn't seen before—a technique known as backpropagation training. Deep learning is machine learning (ML), but not all forms of ML are deep learning. For example, decision trees and linear regression models, which can be very accurate predictors, aren't part of the deep learning family. While predictive accuracy and ease of use are essential measures, deep learning solves complex problems in which data comes from multiple sources (such as images, text, and audio) or when there's a large amount of data available to train on. Deep learning models can also be used to learn new features during training. For example, researchers have used neural networks to learn
how to recognize cats based only on examples of cat photos.
Deep learning differs from other forms of AI in that it doesn't require much human intervention to tell the computer system what to do or how to perform a task. In addition, it's different from most other types of machine learning because it relies on multiple layers of computing units called neurons that are connected in complex patterns. These multilayered networks are trained by feeding them many examples and adjusting their connections until the network reliably produces the correct answer for new inputs it hasn't seen.
Skilled labor jobs require a long-term investment in education and training (i.e., college degrees). Examples include doctors, lawyers, accountants, and financial analysts. These roles involve higher levels of analysis and problem solving than others; they require a deep understanding of some discipline or field to solve problems. The current trend in these roles is towards deeper specialization within existing disciplines - even as technologies develop new ways of solving problems once considered too difficult for automation (e.g., automated legal discovery).
It is often suggested that deep learning has the potential to automate skilled labor - a trend that will have implications for employment, education, and productivity. However, this claim is not always supported by evidence. For example, while deep learning can automate tasks like image classification (e.g., recognizing objects in pictures), it cannot replace human judgment or decision-making.
This is because humans can make decisions based on multiple factors, while machine learning systems can only learn one thing simultaneously. So, for instance, if you want to build a system that identifies cats in images (i.e., what we call an image classifier), the dataset must contain images of cats labeled as such - not just any picture with felines in it.
In other words, while deep learning has the potential to reduce the need for skilled labor in some fields, it is not clear that this will be an overall trend. Indeed, as automation and artificial intelligence become more common in our lives (from self-driving cars to personal robots), humans may need even more education to adapt quickly enough.
Deep learning is a creative process. You'll learn a lot about being human by trying to simulate intelligence and creativity. You'll learn a lot about being intelligent in making computers think as humans do and vice versa. This process involves both connectionism and symbolic reasoning. And you'll learn how to program complex systems in Python, which will teach you about programming anything in any language—and maybe even about learning languages in general!
You'll also need to know a bit about mathematics and programming, but you can pick up those skills along the way. First, you'll get your hands dirty by implementing real deep learning algorithms in Python—and then you'll turn them loose on real data problems!
Is This Hard to Learn?
If you've ever learned a new programming language or technology, then you know that it's not just about memorizing syntax and functions. Instead, it understands how and why those things work together to solve problems.
Can you learn deep learning in a week? Probably not. Will it take months? Maybe, if you're starting from scratch. But if you have some background in machine learning and are curious about what deep learning can add to your repertoire of tools, then I think the time investment is worth it!
This is simple: Deep learning has numerous applications for improving products across many industries (from natural language processing to image recognition). So, if there's one skill set that every data scientist should be familiar with right now, it's deep learning.
Developing a good intuition for how to solve problems with deep learning can take time. There are many different ways to approach the same problem, and it takes time to learn about all of the tools and techniques available in deep learning. Perhaps most importantly, it takes time to learn about your data - what features might be important and which ones can be ignored? What kinds of preprocessing steps should you take? How should you partition your training/test sets? These questions are important when building a deep learning model and can be hard to answer. So, my advice is this: If you're starting with no experience in machine learning or deep learning, it might not be the best idea to jump into deep learning without first understanding how traditional machine learning algorithms work. But if you have some background knowledge about these topics (for example, linear regression), then you should go for it!
How Long before You Can Have Some Fun?
You can get started with deep learning (DL) with a simple model and dataset, but there are some important considerations to remember.
Start small: The first step is often the hardest—how do I get started? If you find yourself wondering this question, don't worry! You can take many paths depending on the type of data or problem you want to solve. When starting, it may be helpful to start with a very simple model that doesn't require much training time or computational power. This will allow for quick experimentation without having too many other variables getting in the way of understanding how everything works together under the hood.
Add complexity gradually: As your skills grow and knowledge expands over time, it's easy for things like more advanced algorithms or complex datasets to feel intimidating at first glance! However, suppose one keeps working at it consistently. In that case, all sorts of things become possible eventually--even really cool stuff like using machine learning algorithms as part of your daily life (for example, by using apps like Google Maps).
Chapter 2
How Do Machines Learn?
Machine learning is one of the most exciting fields in computer science. Artificial intelligence allows computers to learn from data without being explicitly programmed. Machine learning algorithms can be grouped into two distinct categories: supervised and unsupervised. This chapter will look at standard machine learning techniques—from deep learning to parametric vs. nonparametric methods—and how each works.
What Is Deep Learning?
Deep learning comes under machine learning, and machine