Published "Introduction to Machine Learning with Web Optimization"
Last November, I published a book titled "Introduction to Machine Learning with Web Optimization" from O'Reilly Japan. I'm very grateful that it has been featured on several blogs.
It's been a little while since the publication, but I'd like to introduce the book and share some behind-the-scenes stories while it's still relatively new.
What is this book about?
In short, it's a book that says Web Engineers / Web Marketers are actually in the perfect positions to start learning machine learning!
I normally work as a frontend engineer for websites, but I feel there is little contact with machine learning in my daily work. "Web engineering" covers a broad area so it's hard to generalize, but basically, the main interest lies in creating the intended user interaction using HTML / CSS / JavaScript / backend languages (Python, Ruby, Go, etc.). As long as there is an intended design, the machine learning-like awareness of wanting to "find some regularity from data" rarely arises. Of course, image recognition or recommendation engines can be the core of web services, but it's not very common for such technologies to be developed under the label of typical "web development."
In this book, taking the stance that "web development is actually an excellent subject for introducing machine learning," I introduce machine learning techniques for improving user experience, including Bayesian A/B testing and bandit algorithms. To help marketers and engineers involved in website and web service development catch a glimpse of the machine learning world through the shortest path, I introduce various machine learning problems and solutions centered on the theme of "optimizing the interaction between websites and users." I hope you will realize how much machine learning can be applied to the ordinary task of getting users to use a website. If you are in the web industry and thinking, "I'm interested in machine learning, but I don't really have the chance to use it at work...", please pick up this book.
Why did I write it?
I'd like to briefly outline how I came to write this book. It was during my university days when I stepped into the world of programming and web development. Inspired by the movie The Social Network, I started making web applications. After a while, I acquired some skills to build web apps, but I knew nothing about machine learning or statistics. Even if I overheard senior lab members talking about Support Vector Machine libraries, I couldn't imagine any connection between that and building web services.
Around that time, significantly improving revenue became an urgent task at a startup where I worked part-time. Without the resources to build a killer app, we decided to try A/B testing the design of our existing services first. Initially, I was skeptical, thinking that the profits from such changes would be minimal. However, my expectations were betrayed in a good way. When we started, we were producing tons of design ideas that dramatically improved our numbers. This was my encounter with A/B testing. Trying many ideas and running the PDCA cycle at high speed was my primary creed back then.
However, as time went on, our ideas to test gradually dried up. At that time, my routine was to brainstorm in the morning, implement the idea in the afternoon, set up the experiment in the evening, and go home. Despite my efforts, remarkable improvements became scarce, and I felt stress building up. My biggest anxiety was not knowing whether the design decisions I was making almost daily were truly appropriate. I became tormented by thoughts like, "Maybe the numbers just went up by chance yesterday," or "Maybe it would have been better not to change the design."
It was then that I began learning statistics out of necessity, to make decisions rationally and confidently based on numbers rather than courage and intuition. Furthermore, driven by the desire to "get results as quickly as possible = grow the service quickly" and "test many ideas simultaneously," I researched and encountered topics like experimental design, machine learning, and optimization. Before I knew it, I was deeply engrossed in these topics, wrote my master's thesis on this theme, and eventually my doctoral dissertation too. List of papers I wrote around this time
After finishing my doctoral dissertation, I realized that the path I had learned might be quite unique. The individual topics were by no means novel, but the line connecting them was unusual. While thinking about websites that evolve based on human sensibilities, I realized that topics generally considered separate are actually quite close. I wanted to deliver this excitement to many people, and I wanted to arrange and publish the content of my doctoral dissertation as a technical book. Following some wonderful connections, this led to the publication. This book was born out of the desire to allow creators who want to "grow web services quickly through user testing" to learn machine learning in the fastest way possible.
What is covered and what is not
Technical keywords include Bayesian inference, bandit algorithms, Bayesian optimization, and metaheuristics. It summarizes the specific algorithms and implementations by viewing the high-speed PDCA cycle of web services through user testing from the perspectives of Bayesian inference and metaheuristics. If you are interested in these keywords, please take a look at the Table of Contents. Also, you can read the Preface and the beginning of Chapter 2 for free on the O'Reilly website.
Although the title includes "Machine Learning", there is almost no mention of deep learning, which has become synonymous with recent machine learning and AI. Therefore, I do not recommend it to those who want to learn deep learning. However, the logistic regression that appears in this book leads to perceptrons, neural networks, and deep learning, so it might be slightly useful for those who have already learned deep learning to view it from a different angle. As a bridge between Bayesian inference—the central topic of this book—and deep learning, you might also want to read "Bayesian Deep Learning" (Kodansha).
Trivia
Finally, I'll introduce some little topics related to this book.
What is the animal on the cover?
It's a sea slug. Apparently, it's a species called Hermaea bifida. I had imagined sea slugs as having colorful horns like this, but it turned out looking about 100 times stronger.
Is there an electronic version?
Yes. You can purchase it at the Ebook Store on the O'Reilly website.
Where is the sample code?
The sample code is published on Google Colaboratory. Links to the sample code for each chapter can be found under "Related Files" on the O'Reilly website.
Illustrations in the book
Loose illustrations appear here and there in the book. I drew these on an iPad using an app called Paper. It has a feature that nicely straightens lines even if you draw them freehand, which was very useful.

Conclusion
Please purchase the physical book or Ebook from the O'Reilly website.
When you read this book, please send your thoughts and reviews on Amazon, Twitter, etc. It gives me a great deal of motivation! Thank you very much in advance.
