I would like to introduce the books I used for more than half a year and how to study, which I had no knowledge of machine learning as of April 2020. I hope it will be helpful for beginners in machine learning. The goal of the article is to understand what to do for those who want to focus on application over theory.
1. Self-introduction 2. Study flow 3. Introduction of books 4. Summary
April 2020 ・ Faculty of Information Systems 3rd year ・ Since it is a place close to theory, I did some math in the lecture. Mathematics necessary for machine learning, such as linearity, calculus, and statistics, is in a state of being lightly exposed. ・ Python is almost self-taught and can be written for the time being It has nothing to do with machine learning libraries such as numpy and scikit-learn. ・ I can't speak English
It starts from this state. My motivation for machine learning is "I want to play with image generation". I chose the book with the idea of how to quickly perform practical tasks. (G test is a bonus)
The general flow was as follows.
The essence of machine learning ↓ Deep learning with Python and Keras ↓ Deep learning G test that you can understand clearly
First, I learned the basics of machine learning and how to handle numpy with the essence of machine learning. As I will introduce later, this book also explains the mathematics necessary for machine learning, so it is recommended that beginners in this field can buy it for the time being.
Next, I used Keras to actually cover the basics and applications of deep learning. The second book is also a good book, but I felt that it should be inserted in between because it is a little difficult for beginners of deep learning (≠ beginners of machine learning).
G-test was selected as a subject for organizing the knowledge gained by writing code with reference to articles such as qiita. It is often useful to study because you will be asked a wider range of knowledge than you can imagine (law, national policy, etc.). The G-test itself is relatively easy to pass (three books actually mentioned + one lap of the mock exam), so if you intend to specialize in this field, you can take it for the time being. If you study to pass this test, you will naturally gain important knowledge, so it may be a good idea to touch the G test book first.
After I was able to write some practical code by deep learning with Python and Keras (after progressing to about 6 chapters), I found an article that seems to be interesting on qiita, and almost completed copy/with some arrangements I wrote code to do a simple task. I think one of the things to keep in mind when programming is to maintain motivation. The example in the book is not interesting, so even in the example of image classification, if you create your own data set and play with it, you will be able to proceed with learning with high motivation.
Personally, after suppressing the whole of machine learning with the essence of machine learning, I think that you can freely choose a book according to what you want to do. If you want to focus on theory, you should read a book that implements neural networks, and if you want to use deep learning, you should read a manual of frameworks such as keras, tensorflow, and pytorch. At that time, if you feel strict, you may want to insert another book in between.
First of all, I highly recommend this book. Especially beginners (inexperienced in python, not confident in linear algebra and calculus) should read this.
Python is explained carefully from the installation, and mathematics is explained carefully from the contents of high 2 calculus and vector. After solidifying the basics of python and mathematics, I will explain numerical calculation and graph drawing using python using actual code, and will handle numpy and matplotlib firmly.
In the part of mathematical optimization / machine learning algorithms, you can get an essential understanding because the algorithms are explained using mathematical formulas instead of introducing only the code. It's easy to read because it doesn't feel as rigid as a math treatise.
If you are confident in python or math, you can skip the first half. If you do your best, you can read this book in less than two weeks.
I think that you can learn sample code and mathematical formulas efficiently not only by following them but also by actually moving your hands.
A book by François Chollet, author of the deep learning framework Keras. I think the 2017 book is a bit old as a book in the field of machine learning that is evolving year by year, but it's probably not a better introduction to practice. Please note that TensorFlow 1.3 is used as the back end of Keras, so if you have the latest 2.x installed, you have to create a separate environment. (I don't know if it's old)
The goal of this book is to be able to write code that uses Keras to perform practical tasks. Therefore, the explanation of the theoretical aspect of deep learning is thin. If you want to know about that, I recommend reading the tensorflow manual and deep learning starting from 0. I just wanted to play with machine learning, so I read this book, which focuses on implementation.
After giving an overview of deep learning, we will build a deep learning model that performs basic tasks such as image classification and time series analysis, with a brief explanation of neural networks and machine learning. In the second half, we will deal with the construction of more complicated models and image generation models as applications.
First of all, I would like to mention the many techniques introduced as the reason why I recommend this book. There are numerous ideas to improve the accuracy of the prediction. It's easy for anyone to do, so I think it's useful in practice. Another reason I recommend it is that it contains the opinions of the Keras author. At the beginning of this book is a discussion of why AI is, and at the end is a discussion of the possibilities and limitations of deep learning. It is ideal for identifying the essence of AI, which is often featured on TV so that you can do anything. I've read several new books that have similar discussions, and I feel that the opinions in this book are the most relevant.
The content of this book is published on the author's own github, so those who can speak English can easily look at the content there. The Keras documentation also contains the author's opinion at the end of this book.
I bought it for studying the G test. Get an overview of the AI field. Since it is for G-test, there are few mathematical expressions. I think it is sufficient as a supplement to the words and algorithms that did not appear in the above two books. I chose this because it was published in March 2020 and was newer than the official text. I think it was the correct answer in terms of getting the latest information.
As the title suggests, we will implement a neural network. The commentary is polite, but I retired because it didn't suit my purpose. As a level, I think you should read it after the essence of machine learning.
The theory development is easy to understand, but I felt something was wrong with the notation of mathematical formulas. There are many unique notations, so I think it's a good idea to read this book after thoroughly studying mathematics in another book.
There are many interesting articles that will help you stay motivated. Most of the articles on practical topics are written in keras or pytorch, so once you have some knowledge, it is a good idea to actually move your hands when you have time.
It's a little far from beginners, but it's also a good idea to read cutting-edge treatises. You can see the latest trends, and if you publish the code on github, you can try it out. Of course, it's written in English, so people like me need to be careful ...
My favorite introductory book is the essence of machine learning, but I think there are tons of python + machine learning books, so it's a good idea to go to a large bookstore and find one that suits you. When you find a book, move your hand and write the code. I think it's good to refer to articles on the Internet after gaining some knowledge, but I think that beginners should still systematically study with books. Thank you for reading this far.