[PYTHON] Recommended study order for machine learning / deep learning beginners

Who is the target of this article

Purpose of writing an article

The terms AI and deep learning have been around for a long time, but I have the impression that few people really understand the meaning and speak. I think it is extremely dangerous to have a discussion about "what AI can do" as in Japan today.

I think the reason why there is such a techie discussion about AI is that you don't really understand the mathematical basics of machine learning.

As long as you understand the basic theory, you should be able to easily predict what AI can do and how it will progress in the future.

Target audience & knowledge that should be available to learn machine learning, etc.

This article is for everyone who often hears about AI but doesn't really understand it.

Machine learning, especially deep learning, can be fully understood with knowledge of high school mathematics. However, I think it's better to understand the differentiation.

In addition, I think you should have some programming knowledge. For the books and video materials that I will introduce, the basic method of studying iron plates is to learn machine learning while moving your hands by programming.

So, to summarize the knowledge level covered in this article, it means that "you should be able to read programming without assuming mathematical knowledge."

How to study

Outline of study method

As a method of studying machine learning, we strongly recommend studying from deep learning. There is a feeling that deep learning is treated like the last boss of machine learning in the world, but in terms of ease of understanding, that is not the case.

Certainly, with the advent of deep learning, the current AI boom has taken place. However, among the many machine learning algorithms, the neural network that is the basis of deep learning can be said to be very simple.

Deep learning was revolutionary

  1. Increase (deep) the number of neural network calculations (I dare to say it vaguely lol),
  2. With just a little "ingenuity" in addition to the neural network It was possible to produce explosive accuracy.

A little "ingenuity" of 2 is important in deep learning, but the method of this "ingenuity" is different between (1) multidimensional data such as image recognition and (2) time series data such as natural language processing. I will.

If you can understand so far, you can say that you understand the basics of deep learning.

It is enough to study deep learning before studying machine learning in general. First of all, if you can understand deep learning with a feeling of last boss, you can think that "machine learning is easy" lol Besides, the study of machine learning after that is mainly to understand each algorithm and try to actually use it, so it may not be necessary unless you are an engineer.

The following are the presentation materials for deep learning that I have presented at study sessions. We hope that you will deepen your understanding by watching it along with the books and videos that we will introduce in the future.

DeepLearning_Ueno.jpg

Let's go!

Book & video study order

Study that I want people who are not engineers to do

The first thing to read is

-[Deep Learning from scratch-Theory and implementation of deep learning learned with Python](https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%] E3% 82% 89% E4% BD% 9C% E3% 82% 8BDeep-Learning-% E2% 80% 95Python% E3% 81% A7% E5% AD% A6% E3% 81% B6% E3% 83% 87 % E3% 82% A3% E3% 83% BC% E3% 83% 97% E3% 83% A9% E3% 83% BC% E3% 83% 8B% E3% 83% B3% E3% 82% B0% E3 % 81% AE% E7% 90% 86% E8% AB% 96% E3% 81% A8% E5% AE% 9F% E8% A3% 85-% E6% 96% 8E% E8% 97% A4-% E5 % BA% B7% E6% AF% 85 / dp / 4873117585 / ref = sr_1_1? __mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & crid = 3KK1Y2AGRRRY3 & keywords = deep + learning & qid = 1575984944 & sprefix = deep + lea% 2Caps% 2C393 & sr = 8-1) is.

I think this is a must read for anyone who wants to understand deep learning even a little. The evaluation is also extremely high. The stance is to study while writing Python code, but I think it's enough if you can understand the meaning. This is a very easy-to-understand description of deep learning in image recognition.

You can understand the outline of neural networks, which is the basis of deep learning, and the technology called "convolution", which is a device for image recognition.

If you just want to get a rough idea of the basics of AI, I think it's enough to finish reading this article here. You can master the basics of deep learning with just one book.

After reading this book, or at the same time, Udemy's

-Machine learning with Python: Introduction to identification learned with scikit-learn

Please take a look at ** half ** (laughs).

The instructor will actually explain while moving the programming, so even if you are not a person who understands engineering in earnest, you can understand the outline.

This video explains exactly what "machine learning is", so I think you can get an overview of machine learning by watching this video while reading the above book.

And the point that I think this video is good as a supplementary material for the above book is that it properly explains the "Basics of Neural Networks" technology called "Perceptron". The explanation of the basic concept of "loss function" that appears at the same time is also excellent.

If you understand this area properly, you can understand deep learning almost perfectly.

Next, I recommend the same author as the above book and the same series.

-[Deep Learning from scratch ❷ ― Natural language processing](https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82% 89% E4% BD% 9C% E3% 82% 8BDeep-Learning-% E2% 80% 95% E8% 87% AA% E7% 84% B6% E8% A8% 80% E8% AA% 9E% E5% 87 % A6% E7% 90% 86% E7% B7% A8-% E6% 96% 8E% E8% 97% A4-% E5% BA% B7% E6% AF% 85 / dp / 4873118360 / ref = sr_1_2? __ mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & crid = 3KK1Y2AGRRRY3 & keywords = deep + learning & qid = 1575984944 & sprefix = deep + lea% 2Caps% 2C393 & sr = 8-2)

is. It describes the technology for AI to learn human language (or natural language in a difficult way). If you're curious about how Google Translate and Alexa are getting smarter, take a quick look.

It is no exaggeration to say that most of the AI discussions in the world can be understood by understanding the contents of the above two books, Image Recognition and Natural Language Processing. You can also see who is saying something techy on Twitter and news with a doy face lol

For those who want to understand basic technology as an engineer

From here on, it's for engineers. Let's move a little and get an overview of each machine learning algorithm.

-[Machine learning starting with Python-features learned with scicit-learn Basics of engineering and machine learning](https://www.amazon.co.jp/Python%E3%81%A7%E3%81%AF%E3% 81% 98% E3% 82% 81% E3% 82% 8B% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92-% E2% 80% 95scikit-learn% E3 % 81% A7% E5% AD% A6% E3% 81% B6% E7% 89% B9% E5% BE% B4% E9% 87% 8F% E3% 82% A8% E3% 83% B3% E3% 82 % B8% E3% 83% 8B% E3% 82% A2% E3% 83% AA% E3% 83% B3% E3% 82% B0% E3% 81% A8% E6% A9% 9F% E6% A2% B0 % E5% AD% A6% E7% BF% 92% E3% 81% AE% E5% 9F% BA% E7% A4% 8E-Andreas-C-Muller / dp / 4873117984 / ref = sr_1_1? __mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & keywords =% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92 & qid = 1575988094 & sr = 8 -1)

There is a part that overlaps with the previous video "Machine learning with Python: Introduction to identification learned with scikit-learn". Conversely, if you look at this book and the video above, you can understand the whole picture of machine learning.

Furthermore, if you start using Google's machine learning library called TensorFlow with the following teaching materials, I think that the basics as a machine learning engineer have been roughly suppressed. The top is image recognition and the bottom is time series data processing.

-[Experience in 4 days! ] Deep learning experience course learned with TensorFlow, Keras, Python 3](https://www.udemy.com/course/tensorflow/) -[Learn with TensorFlow / Keras] Introduction to Time Series Data Processing (RNN / LSTM, Word2Vec)

After that, according to your personal taste, for example, -Practical machine learning course for application developers -Natural language processing and chatbot: AI-based sentence generation and conversation engine development

You should proceed to learning a little practical content such as.

Summary

The above is my personal recommended study order. My stance is that "I don't want to understand the mathematical foundations at all, and I don't want to understand programming at all", I will never understand AI. However, I wanted to convey that if you understand a little about math and programming and are willing to understand it properly, it will not be difficult at all.

I hope this article will help those who are trying to understand AI and deep learning.

Recommended Posts

Recommended study order for machine learning / deep learning beginners
<For beginners> python library <For machine learning>
[Recommended tagging for machine learning # 4] Machine learning script ...?
Machine learning beginners take Coursera's Deep learning course
First Steps for Machine Learning (AI) Beginners
[Deep learning] Nogizaka face detection ~ For beginners ~
How to study for the Deep Learning Association G test (for beginners) [2020 version]
[For beginners] Introduction to vectorization in machine learning
[For beginners of artificial intelligence] Machine learning / Deep Learning Programming Learning path and reference books
[Recommended tagging for machine learning # 2] Extension of scraping script
[Recommended tagging for machine learning # 2.5] Modification of scraping script
Study method for learning machine learning from scratch (March 2020 version)
Everything for beginners to be able to do machine learning
Data set for machine learning
Japanese preprocessing for machine learning
Learning flow for Python beginners
Machine learning beginners tried RBM
Linux distribution recommended for beginners
Machine Learning Study Resource Notepad
Deep learning for compound formation?
[Recommended tagging for machine learning # 1] Scraping of Hatena blog articles
Build a PyData environment for a machine learning study session (January 2017)
Machine learning summary by Python beginners
Machine learning beginners try linear regression
Organize machine learning and deep learning platforms
Machine learning meeting information for HRTech
Thoroughly study Deep Learning [DW Day 0]
[AI] Deep Learning for Image Denoising
[Python machine learning] Recommendation of using Spyder for beginners (as of August 2020)
Machine Learning with docker (42) Programming PyTorch for Deep Learning By Ian Pointer
Summary of recommended APIs for artificial intelligence, machine learning, and AI
Python & Machine Learning Study Memo: Environment Preparation
[Explanation for beginners] TensorFlow tutorial Deep MNIST
[Python] Minutes of study meeting for beginners (7/15)
Amplify images for machine learning with python
I installed Python 3.5.1 to study machine learning
[Python] [Machine learning] Beginners without any knowledge try machine learning for the time being
An introduction to OpenCV for machine learning
Why Python is chosen for machine learning
Make your own PC for deep learning
[Example of Python improvement] What is the recommended learning site for Python beginners?
How to study deep learning G test
2020 Recommended 20 selections of introductory machine learning books
"Usable" one-hot Encoding method for machine learning
Machine learning
[Shakyo] Encounter with Python for machine learning
[Python] Web application design for machine learning
Support Vector Machine (for beginners) -Code Edition-
There are many machine learning books, but which one should I buy? Recommended by level! !! <For beginners>
An introduction to Python for machine learning
Python & Machine Learning Study Memo ③: Neural Network
Deep Learning
About data expansion processing for deep learning
Python & Machine Learning Study Memo ④: Machine Learning by Backpropagation
Creating a development environment for machine learning
Python & Machine Learning Study Memo ⑥: Number Recognition
[For beginners] After all, what is written in Deep Learning made from scratch?
A memorandum of method often used in machine learning using scikit-learn (for beginners)
An introduction to machine learning for bot developers
[Python / Machine Learning] Why Deep Learning # 1 Perceptron Neural Network
Study machine learning and computer science. Resource list