Grokking artificial intelligence algorithms
Grokking Artificial Intelligence Algorithms uses illustrations, exercises, and jargon-free explanations to teach fundamental AI concepts. All you need is the algebra you remember from high school math class. Explore coding challenges like detecting bank fraud, creating artistic masterpieces, and se...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Shelter Island, New York :
Manning
[2020]
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630903806719 |
Tabla de Contenidos:
- Intro
- Copyright
- contents
- dedication
- preface
- Our obsession with technology and automation
- Ethics, legal matters, and our responsibility
- Intention and impact: Understanding your vision and goals
- Unintended use: Protecting against malicious use
- Unintended bias: Building solutions for everyone
- The law, privacy, and consent: Knowing the importance of core values
- Singularity: Exploring the unknown
- acknowledgments
- about this book
- Who should read this book
- How this book is organized: A roadmap
- About the Code
- liveBook discussion forum
- Other online resources
- about the author
- 1 Intuition of artificial intelligence
- What is artificial intelligence?
- Defining AI
- Understanding that data is core to AI algorithms
- Viewing algorithms as instructions in recipes
- A brief history of artificial intelligence
- Problem types and problem-solving paradigms
- Search problems: Find a path to a solution
- Optimization problems: Find a good solution
- Prediction and classification problems: Learn from patterns in data
- Clustering problems: Identify patterns in data
- Deterministic models: Same result each time it's calculated
- Stochastic/probabilistic models: Potentially different result each time it's calculated
- Intuition of artificial intelligence concepts
- Narrow intelligence: Specific-purpose solutions
- General intelligence: Humanlike solutions
- Super intelligence: The great unknown
- Old AI and new AI
- Search algorithms
- Biology-inspired algorithms
- Machine learning algorithms
- Deep learning algorithms
- Uses for artificial intelligence algorithms
- Agriculture: Optimal plant growth
- Banking: Fraud detection
- Cybersecurity: Attack detection and handling
- Health care: Diagnosis of patients
- Logistics: Routing and optimization
- Telecoms: Optimizing networks.
- Games: Creating AI agents
- Art: Creating masterpieces
- Summary of Intuition of artificial intelligence
- 2 Search fundamentals
- What are planning and searching?
- Cost of computation: The reason for smart algorithms
- Problems applicable to searching algorithms
- Representing state: Creating a framework to represent problem spaces and solutions
- Graphs: Representing search problems and solutions
- Representing a graph as a concrete data structure
- Exercise: Represent a Graph as a Matrix
- Solution: Represent a Graph as a Matrix
- Trees: The concrete structures used to represent search solutions
- Uninformed search: Looking blindly for solutions
- Breadth-first search: Looking wide before looking deep
- Exercise: Determine the path to the solution
- Solution: Determine the path to the solution
- Depth-first search: Looking deep before looking wide
- Exercise: Determine the path to the solution
- Solution: Determine the path to the solution
- Use cases for uninformed search algorithms
- Optional: More about graph categories
- Optional: More ways to represent graphs
- Incidence matrix
- Adjacency list
- Summary of search fundamentals
- 3 Intelligent search
- Defining heuristics: Designing educated guesses
- Thought Experiment: Given the following scenario, what heuristic can you imagine?
- Thought Experiment: Possible solution
- Informed search: Looking for solutions with guidance
- A* search
- Use cases for informed search algorithms
- Adversarial search: Looking for solutions in a changing environment
- A simple adversarial problem
- Min-max search: Simulate actions and choose the best future
- Heuristics
- Exercise: What values would propagate in the following Min-max tree?
- Solution: What values would propagate in the following Min-max tree?.
- Alpha-beta pruning: Optimize by exploring the sensible paths only
- Use cases for adversarial search algorithms
- Summary of Intelligent search
- 4 Evolutionary algorithms
- What is evolution?
- Problems applicable to evolutionary algorithms
- Genetic algorithm: Life cycle
- Encoding the solution spaces
- Binary encoding: Representing possible solutions with zeros and ones
- Exercise: What is a possible encoding for the following problem?
- Solution: What is a possible encoding for the following problem?
- Creating a population of solutions
- Measuring fitness of individuals in a population
- Selecting parents based on their fitness
- Steady state: Replacing a portion of the population each generation
- Generational: Replacing the entire population each generation
- Roulette wheel: Selecting parents and surviving individuals
- Reproducing individuals from parents
- Single-point crossover: Inheriting one part from each parent
- Two-point crossover: Inheriting more parts from each parent
- Uniform crossover: Inheriting many parts from each parent
- Exercise: What outcome would uniform crossover generate for these chromosomes?
- Solution: What outcome would uniform crossover generate for these chromosomes?
- Bit-string mutation for binary encoding
- Flip-bit mutation for binary encoding
- Populating the next generation
- Exploration vs. exploitation
- Stopping conditions
- Configuring the parameters of a genetic algorithm
- Use cases for evolutionary algorithms
- Summary of evolutionary algorithms
- 5 Advanced evolutionary approaches
- Evolutionary algorithm life cycle
- Alternative selection strategies
- Rank selection: Even the playing field
- Tournament selection: Let them fight
- Elitism selection: Choose only the best
- Real-value encoding: Working with real numbers
- Real-value encoding at its core.
- Arithmetic crossover: Reproduce with math
- Boundary mutation
- Arithmetic mutation
- Order encoding: Working with sequences
- Importance of the fitness function
- Order encoding at its core
- Order mutation: Order/permutation encoding
- Tree encoding: Working with hierarchies
- Tree encoding at its core
- Tree crossover: Inheriting portions of a tree
- Change node mutation: Changing the value of a node
- Common types of evolutionary algorithms
- Genetic programming
- Evolutionary programming
- Glossary of evolutionary algorithm terms
- More use cases for evolutionary algorithms
- Summary of advanced evolutionary approaches
- 6 Swarm intelligence: Ants
- What is swarm intelligence?
- Problems applicable to ant colony optimization
- Exercise: Find the shortest path in this carnival configuration by hand
- Solution: Find the shortest path in this carnival configuration by hand
- Representing state: What do paths and ants look like?
- The ant colony optimization algorithm life cycle
- Initialize the pheromone trails
- Set up the population of ants
- Choose the next visit for each ant
- The stochastic nature of ants
- Selecting destination based on a heuristic
- Exercise: Determine the probabilities of visiting the attractions with the following information
- Solution: Determine the probabilities of visiting the attractions with the following information
- Update the pheromone trails
- Updating pheromones due to evaporation
- Updating pheromones based on ant tours
- Exercise: Calculate the pheromone update given the following scenario
- Solution: Calculate the pheromone update given the following scenario
- Update the best solution
- Determine the stopping criteria
- Use cases for ant colony optimization algorithms
- Summary of ant colony optimization
- 7 Swarm intelligence: Particles.
- What is particle swarm optimization?
- Optimization problems: A slightly more technical perspective
- Exercise: How many dimensions will the search space for the following scenario be?
- Solution: How many dimensions will the search space for the following scenario be?
- Problems applicable to particle swarm optimization
- Representing state: What do particles look like?
- Particle swarm optimization life cycle
- Initialize the population of particles
- Calculate the fitness of each particle
- Exercise: What would the fitness be for the following inputs given the drone fitness function?
- Solution: What would the fitness be for the following inputs given the drone fitness function?
- Update the position of each particle
- The components of updating velocity
- Updating velocity
- Position update
- Exercise: Calculate the new velocity and position for particle 1 given the following information about the particles
- Solution: Calculate the new velocity and position for particle 1 given the following information about the particles
- Determine the stopping criteria
- Use cases for particle swarm optimization algorithms
- Summary of particle swarm optimization
- 8 Machine learning
- What is machine learning?
- Problems applicable to machine learning
- Supervised learning
- Unsupervised learning
- Reinforcement learning
- A machine learning workflow
- Collecting and understanding data: Know your context
- Preparing data: Clean and wrangle
- Missing data
- Ambiguous values
- Encoding categorical data
- Exercise: Identify and fix the problem data in this example
- Solution: Identify and fix the problem data in this example
- Testing and training data
- Training a model: Predict with linear regression
- Fitting a line to the data
- Finding the mean of the features
- Finding regression lines with the least-squares method.
- Exercise: Calculate a regression line using the least-squares method.