{"id":4281,"date":"2021-01-10T18:00:11","date_gmt":"2021-01-10T18:00:11","guid":{"rendered":"https:\/\/www.aiproblog.com\/index.php\/2021\/01\/10\/3-books-on-optimization-for-machine-learning\/"},"modified":"2021-01-10T18:00:11","modified_gmt":"2021-01-10T18:00:11","slug":"3-books-on-optimization-for-machine-learning","status":"publish","type":"post","link":"https:\/\/www.aiproblog.com\/index.php\/2021\/01\/10\/3-books-on-optimization-for-machine-learning\/","title":{"rendered":"3 Books on Optimization for Machine Learning"},"content":{"rendered":"<p>Author: Jason Brownlee<\/p>\n<div>\n<p><strong>Optimization<\/strong> is a field of mathematics concerned with finding a good or best solution among many candidates.<\/p>\n<p>It is an important foundational topic required in machine learning as most machine learning algorithms are fit on historical data using an optimization algorithm. Additionally, broader problems, such as model selection and hyperparameter tuning, can also be framed as an optimization problem.<\/p>\n<p>Although having some background in optimization is critical for machine learning practitioners, it can be a daunting topic given that it is often described using highly mathematical language.<\/p>\n<p>In this post, you will discover top books on optimization that will be helpful to machine learning practitioners.<\/p>\n<p>Let&rsquo;s get started.<\/p>\n<div id=\"attachment_11617\" style=\"width: 809px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" aria-describedby=\"caption-attachment-11617\" loading=\"lazy\" class=\"size-full wp-image-11617\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2021\/01\/Books-on-Optimization-for-Machine-Learning.jpg\" alt=\"Books on Optimization for Machine Learning\" width=\"799\" height=\"533\" srcset=\"http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2021\/01\/Books-on-Optimization-for-Machine-Learning.jpg 799w, http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2021\/01\/Books-on-Optimization-for-Machine-Learning-300x200.jpg 300w, http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2021\/01\/Books-on-Optimization-for-Machine-Learning-768x512.jpg 768w\" sizes=\"(max-width: 799px) 100vw, 799px\"><\/p>\n<p id=\"caption-attachment-11617\" class=\"wp-caption-text\">Books on Optimization for Machine Learning<br \/>Photo by <a href=\"https:\/\/www.flickr.com\/photos\/aspidoscelis\/13997046712\/\">Patrick Alexander<\/a>, some rights reserved.<\/p>\n<\/div>\n<h2>Overview<\/h2>\n<p>The field of optimization is enormous as it touches many other fields of study.<\/p>\n<p>As such, there are hundreds of books on the topic, and most are textbooks filed with math and proofs. This is fair enough given that it is a highly mathematical subject.<\/p>\n<p>Nevertheless, there are books that provide a more approachable description of optimization algorithms.<\/p>\n<p>Not all optimization algorithms are relevant to machine learning; instead, it is useful to focus on a small subset of algorithms.<\/p>\n<p>Frankly, it is hard to group <a href=\"https:\/\/en.wikipedia.org\/wiki\/Mathematical_optimization\">optimization<\/a> algorithms as there are many concerns. Nevertheless, it is important to have some idea of the optimization that underlies simpler algorithms, such as linear regression and logistic regression (e.g. convex optimization, least squares, newton methods, etc.), and neural networks (first-order methods, gradient descent, etc.).<\/p>\n<p>These are foundational optimization algorithms covered in most optimization textbooks.<\/p>\n<p>Not all optimization problems in machine learning are well behaved, such as optimization used in AutoML and hyperparameter tuning. Therefore, knowledge of stochastic optimization algorithms is required (simulated annealing, genetic algorithms, particle swarm, etc.). Although these are optimization algorithms, they are also a type of learning algorithm referred to as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Bio-inspired_computing\">biologically inspired computation<\/a> or <a href=\"https:\/\/en.wikipedia.org\/wiki\/Computational_intelligence\">computational intelligence<\/a>.<\/p>\n<p>Therefore, we will take a look at both books that cover classical optimization algorithms as well as books on alternate optimization algorithms.<\/p>\n<p>In fact, the first book we will look at covers both types of algorithms, and much more.<\/p>\n<h2><a href=\"https:\/\/amzn.to\/3jq8tJU\">Algorithms for Optimization<\/a><\/h2>\n<p>This book was written by <a href=\"https:\/\/mykel.kochenderfer.com\/\">Mykel Kochenderfer<\/a> and <a href=\"http:\/\/timallanwheeler.com\/\">Tim Wheeler<\/a> and was published in 2019.<\/p>\n<div id=\"attachment_11614\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/amzn.to\/3jq8tJU\"><img decoding=\"async\" aria-describedby=\"caption-attachment-11614\" loading=\"lazy\" class=\"size-full wp-image-11614\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2020\/09\/Algorithms-for-Optimization.jpg\" alt=\"Algorithms for Optimization\" width=\"300\" height=\"339\" srcset=\"http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2020\/09\/Algorithms-for-Optimization.jpg 300w, http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2020\/09\/Algorithms-for-Optimization-265x300.jpg 265w\" sizes=\"(max-width: 300px) 100vw, 300px\"><\/a><\/p>\n<p id=\"caption-attachment-11614\" class=\"wp-caption-text\">Algorithms for Optimization<\/p>\n<\/div>\n<p>This book might be one of the very few textbooks that I&rsquo;ve seen that broadly covers the field of optimization techniques relevant to modern machine learning.<\/p>\n<blockquote>\n<p>This book provides a broad introduction to optimization with a focus on practical algorithms for the design of engineering systems. We cover a wide variety of optimization topics, introducing the underlying mathematical problem formulations and the algorithms for solving them. Figures, examples, and exercises are provided to convey the intuition behind the various approaches.<\/p>\n<\/blockquote>\n<p>&mdash; Page xiiix, <a href=\"https:\/\/amzn.to\/3jq8tJU\">Algorithms for Optimization<\/a>, 2019.<\/p>\n<p>Importantly the algorithms range from univariate methods (bisection, line search, etc.) to first-order methods (gradient descent), second-order methods (Newton&rsquo;s method), direct methods (pattern search), stochastic methods (simulated annealing), and population methods (genetic algorithms, particle swarm), and so much more.<\/p>\n<p>It includes both technical descriptions of algorithms with references and worked examples of algorithms in Julia. It&rsquo;s a shame the examples are not in Python as this would make the book near perfect in my eyes.<\/p>\n<p>The complete table of contents for the book is listed below.<\/p>\n<ul>\n<li>Chapter 01: Introduction<\/li>\n<li>Chapter 02: Derivatives and Gradients<\/li>\n<li>Chapter 03: Bracketing<\/li>\n<li>Chapter 04: Local Descent<\/li>\n<li>Chapter 05: First-Order Methods<\/li>\n<li>Chapter 06: Second-Order Methods<\/li>\n<li>Chapter 07: Direct Methods<\/li>\n<li>Chapter 08: Stochastic Methods<\/li>\n<li>Chapter 09: Population Methods<\/li>\n<li>Chapter 10: Constraints<\/li>\n<li>Chapter 11: Linear Constrained Optimization<\/li>\n<li>Chapter 12: Multiobjective Optimization<\/li>\n<li>Chapter 13: Sampling Plans<\/li>\n<li>Chapter 14: Surrogate Models<\/li>\n<li>Chapter 15: Probabilistic Surrogate Models<\/li>\n<li>Chapter 16: Surrogate Optimization<\/li>\n<li>Chapter 17: Optimization under Uncertainty<\/li>\n<li>Chapter 18: Uncertainty Propagation<\/li>\n<li>Chapter 19: Discrete Optimization<\/li>\n<li>Chapter 20: Expression Optimization<\/li>\n<li>Chapter 21: Multidisciplinary Optimization<\/li>\n<\/ul>\n<p>I like this book a lot; it is full of valuable practical advice. I highly recommend it!<\/p>\n<h3>Learn More:<\/h3>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/3jq8tJU\">Algorithms for Optimization<\/a>, 2019.<\/li>\n<\/ul>\n<h2><a href=\"https:\/\/amzn.to\/3lCRqX9\">Numerical Optimization<\/a><\/h2>\n<p>This book was written by <a href=\"https:\/\/en.wikipedia.org\/wiki\/Jorge_Nocedal\">Jorge Nocedal<\/a> and <a href=\"http:\/\/pages.cs.wisc.edu\/~swright\/\">Stephen Wright<\/a> and was published in 2006.<\/p>\n<div id=\"attachment_11615\" style=\"width: 316px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/amzn.to\/3lCRqX9\"><img decoding=\"async\" aria-describedby=\"caption-attachment-11615\" loading=\"lazy\" class=\"size-full wp-image-11615\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2020\/09\/Numerical-Optimization.jpeg\" alt=\"Numerical Optimization\" width=\"306\" height=\"422\" srcset=\"http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2020\/09\/Numerical-Optimization.jpeg 306w, http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2020\/09\/Numerical-Optimization-218x300.jpeg 218w\" sizes=\"(max-width: 306px) 100vw, 306px\"><\/a><\/p>\n<p id=\"caption-attachment-11615\" class=\"wp-caption-text\">Numerical Optimization<\/p>\n<\/div>\n<p>This book is focused on the math and theory of the optimization algorithms presented and does cover many of the foundational techniques used by common machine learning algorithms. It may be a little too heavy for the average practitioner.<\/p>\n<p>The book is intended as a textbook for graduate students in mathematical subjects.<\/p>\n<blockquote>\n<p>We intend that this book will be used in graduate-level courses in optimization, as offered in engineering, operations research, computer science, and mathematics departments.<\/p>\n<\/blockquote>\n<p>&mdash; Page xviii, <a href=\"https:\/\/amzn.to\/3lCRqX9\">Numerical Optimization<\/a>, 2006.<\/p>\n<p>Even though it is highly mathematical, the descriptions of the algorithms are precise and may provide a useful alternative description to complement the other books listed.<\/p>\n<p>The complete table of contents for the book is listed below.<\/p>\n<ul>\n<li>Chapter 01: Introduction<\/li>\n<li>Chapter 02: Fundamentals of Unconstrained Optimization<\/li>\n<li>Chapter 03: Line Search Methods<\/li>\n<li>Chapter 04: Trust-Region Methods<\/li>\n<li>Chapter 05: Conjugate Gradient Methods<\/li>\n<li>Chapter 06: Quasi-Newton Methods<\/li>\n<li>Chapter 07: Large-Scale Unconstrained Optimization<\/li>\n<li>Chapter 08: Calculating Derivatives<\/li>\n<li>Chapter 09: Derivative-Free Optimization<\/li>\n<li>Chapter 10: Least-Squares Problems<\/li>\n<li>Chapter 11: Nonlinear Equations<\/li>\n<li>Chapter 12: Theory of Constrained Optimization<\/li>\n<li>Chapter 13: Linear Programming: The Simplex Method<\/li>\n<li>Chapter 14: Linear Programming: Interior-Point Methods<\/li>\n<li>Chapter 15: Fundamentals of Algorithms for Nonlinear Constrained Optimization<\/li>\n<li>Chapter 16: Quadratic Programming<\/li>\n<li>Chapter 17: Penalty and Augmented Lagrangian Methods<\/li>\n<li>Chapter 18: Sequential Quadratic Programming<\/li>\n<li>Chapter 19: Interior-Point Methods for Nonlinear Programming<\/li>\n<\/ul>\n<p>It&rsquo;s a solid textbook on optimization.<\/p>\n<h3>Learn More:<\/h3>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/3lCRqX9\">Numerical Optimization<\/a>, 2006.<\/li>\n<\/ul>\n<p>If you do prefer the theoretical approach to the subject, another widely used mathematical book on optimization is &ldquo;<a href=\"https:\/\/amzn.to\/34ThBCO\">Convex Optimization<\/a>&rdquo; written by <a href=\"https:\/\/web.stanford.edu\/~boyd\/\">Stephen Boyd<\/a> and <a href=\"http:\/\/www.seas.ucla.edu\/~vandenbe\/\">Lieven Vandenberghe<\/a> and published in 2004.<\/p>\n<h2><a href=\"https:\/\/amzn.to\/2YQZGJ3\">Computational Intelligence: An Introduction<\/a><\/h2>\n<p>This book was written by <a href=\"https:\/\/engel.pages.cs.sun.ac.za\/\">Andries Engelbrecht<\/a> and published in 2007.<\/p>\n<div id=\"attachment_11616\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/amzn.to\/2YQZGJ3\"><img decoding=\"async\" aria-describedby=\"caption-attachment-11616\" loading=\"lazy\" class=\"size-full wp-image-11616\" src=\"https:\/\/machinelearningmastery.com\/wp-content\/uploads\/2020\/09\/Computational-Intelligence-An-Introduction.jpg\" alt=\"Computational Intelligence: An Introduction\" width=\"300\" height=\"448\" srcset=\"http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2020\/09\/Computational-Intelligence-An-Introduction.jpg 300w, http:\/\/3qeqpr26caki16dnhd19sv6by6v.wpengine.netdna-cdn.com\/wp-content\/uploads\/2020\/09\/Computational-Intelligence-An-Introduction-201x300.jpg 201w\" sizes=\"(max-width: 300px) 100vw, 300px\"><\/a><\/p>\n<p id=\"caption-attachment-11616\" class=\"wp-caption-text\">Computational Intelligence: An Introduction<\/p>\n<\/div>\n<p>This book provides an excellent overview of the field of nature-inspired optimization algorithms, also referred to as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Computational_intelligence\">computational intelligence<\/a>. This includes fields such as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Evolutionary_computation\">evolutionary computation<\/a> and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Swarm_intelligence\">swarm intelligence<\/a>.<\/p>\n<p>This book is far less mathematical than the previous textbooks and is more focused on the metaphor of the inspired system and how to configure and use the specific algorithms with lots of pseudocode explanations.<\/p>\n<blockquote>\n<p>While the material is introductory in nature, it does not shy away from details, and does present the mathematical foundations to the interested reader. The intention of the book is not to provide thorough attention to all computational intelligence paradigms and algorithms, but to give an overview of the most popular and frequently used models.<\/p>\n<\/blockquote>\n<p>&mdash; Page xxix, <a href=\"https:\/\/amzn.to\/2YQZGJ3\">Computational Intelligence: An Introduction<\/a>, 2007.<\/p>\n<p>Algorithms like genetic algorithms, genetic programming, evolutionary strategies, differential evolution, and particle swarm optimization are useful to know for machine learning model hyperparameter tuning and perhaps even model selection. They also form the core of many modern AutoML systems.<\/p>\n<p>The complete table of contents for the book is listed below.<\/p>\n<ul>\n<li>Part I Introduction\n<ul>\n<li>Chapter 01: Introduction to Computational Intelligence<\/li>\n<\/ul>\n<\/li>\n<li>Part II Artificial Neural Networks\n<ul>\n<li>Chapter 02: The Artificial Neuron<\/li>\n<li>Chapter 03: Supervised Learning Neural Networks<\/li>\n<li>Chapter 04: Unsupervised Learning Neural Networks<\/li>\n<li>Chapter 05: Radial Basis Function Networks<\/li>\n<li>Chapter 06: Reinforcement Learning<\/li>\n<li>Chapter 07: Performance Issues (Supervised Learning)<\/li>\n<\/ul>\n<\/li>\n<li>Part III Evolutionary Computation\n<ul>\n<li>Chapter 08: Introduction to Evolutionary Computation<\/li>\n<li>Chapter 09: Genetic Algorithms<\/li>\n<li>Chapter 10: Genetic Programming<\/li>\n<li>Chapter 11: Evolutionary Programming<\/li>\n<li>Chapter 12: Evolution Strategies<\/li>\n<li>Chapter 13: Differential Evolution<\/li>\n<li>Chapter 14: Cultural Algorithms<\/li>\n<li>Chapter 15: Coevolution<\/li>\n<\/ul>\n<\/li>\n<li>Part IV Computational Swarm Intelligence\n<ul>\n<li>Chapter 16: Particle Swarm Optimization<\/li>\n<li>Chapter 17: Ant Algorithms<\/li>\n<\/ul>\n<\/li>\n<li>Part V Artificial Immune Systems\n<ul>\n<li>Chapter 18: Natural Immune System<\/li>\n<li>Chapter 19: Artificial Immune Models<\/li>\n<\/ul>\n<\/li>\n<li>Part VI Fuzzy Systems\n<ul>\n<li>Chapter 20: Fuzzy Sets<\/li>\n<li>Chapter 21: Fuzzy Logic and Reasoning<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>I&rsquo;m a fan of this book and recommend it.<\/p>\n<h3>Learn More:<\/h3>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/2YQZGJ3\">Computational Intelligence: An Introduction<\/a>, 2007.<\/li>\n<\/ul>\n<h2>Summary<\/h2>\n<p>In this post, you discovered books on optimization algorithms that are helpful to know for applied machine learning.<\/p>\n<p><strong>Did I miss a good book on optimization?<\/strong><br \/>\nLet me know in the comments below.<\/p>\n<p><strong>Have you read any of the books listed?<\/strong><br \/>\nLet me know what you think of it in the comments.<\/p>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/machinelearningmastery.com\/books-on-optimization-for-machine-learning\/\">3 Books on Optimization for Machine Learning<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/machinelearningmastery.com\/\">Machine Learning Mastery<\/a>.<\/p>\n<\/div>\n<p><a href=\"https:\/\/machinelearningmastery.com\/books-on-optimization-for-machine-learning\/\">Go to Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author: Jason Brownlee Optimization is a field of mathematics concerned with finding a good or best solution among many candidates. It is an important foundational [&hellip;] <span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/www.aiproblog.com\/index.php\/2021\/01\/10\/3-books-on-optimization-for-machine-learning\/\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":4282,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[24],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/4281"}],"collection":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=4281"}],"version-history":[{"count":0,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/4281\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media\/4282"}],"wp:attachment":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=4281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=4281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=4281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}