[PYTHON] [For beginners of artificial intelligence] Machine learning / Deep Learning Programming Learning path and reference books

eeee.010.jpeg

【update】

Introduction

This time, the books I referred to when learning artificial intelligence programming, I will leave a review memo along with the above flow on the path of skill acquisition.

Currently, I am creating a program for horse racing prediction and AI to play games. We hope that this Qiita will be useful for those who want to take a step into the field of artificial intelligence.

I will not explain the program specifically this time, so If you are interested in the artificial intelligence program itself, please refer to the link at the end of this Qiita.

Premise

The book I chose this time is relatively easy to read, I chose the one with the program attached as much as possible. Because implementing a program, running it, understanding it, and repeating it This is because I felt from actual experience that it was a shortcut for acquiring skills (including implementation).

However, the world of "artificial intelligence" is wide and undeveloped. Also, as quoted below, the definition, skill set, and skill level of data scientists are vast.

Skills required to learn machine learning.


・ Business skills
・ Deep understanding of business
·logical thinking
·documentation/presentation
* In many situations, a theoretical explanation is required from data collection.

・ IT skills
・ Wide range of IT knowledge
・ Knowledge about large-scale data processing
・ Deep knowledge about databases
·programming
* Since the range is really wide, we need someone who can make a full stack from infrastructure to logic.

・ Statistical analysis skills
·Math
・ Understanding data analysis methods
・ Data analysis software skills
* Probability / statistics, calculus, matrix, etc. are required.
At first I couldn't understand at all because there were many symbols.

Source: Two weeks after starting machine learning, what it took to start machine learning-Qiita

Continuous effort and repetitive practice will be essential for skill acquisition.

This time, I will describe the path of skill acquisition and reference books focusing on "machine learning, deep learning" among the above "IT skills, statistical analysis skills".

Also, in order to understand machine learning and deep learning, it is essential to actually program. I think it is natural to choose Python as the development language for skill acquisition. This is because Python has a wealth of machine learning and deep learning libraries such as the ones below. Most of them are written in Python even in Git and Qiita. If you also select Python when troubleshooting, you can use the information on the Internet. [List of machine learning libraries]   TensorFlow:https://www.tensorflow.org/   Chainer:http://chainer.org/   Caffe:http://caffe.berkeleyvision.org/   Theano:http://deeplearning.net/software/theano/index.html   Torch:http://torch.ch/   scikit-learn:http://scikit-learn.org/stable/   PyML:http://pyml.sourceforge.net/   Pylearn2:http://deeplearning.net/software/pylearn2/   PyBrain:http://pybrain.org/pages/home

Skill acquisition path / goal / policy

Path and goal

The goal of skill acquisition is "You can program machine learning and deep learning by yourself even if you are elementary." Then, the route to the goal is divided into Step1 to Step4.

qqq.010.jpeg

Knowledge of scraping, statistics, etc. is omitted this time. Both machine learning and deep learning have something in common, but this time they are separated.

policy

Regardless of the theory or background, the main focus is to try it first. I think it is good to acquire skills. However, if you are not familiar with artificial intelligence, we recommend that you first grasp the appearance (after solving the misunderstanding) and then practice it.

Introducing books that can be used as a reference for each step. Although subjective, I chose books that matched my level as much as possible.

Acquire artificial intelligence skills!

Step1. Understand the history of artificial intelligence

First, get a feel for the appearance. The point in this STEP is to resolve the misunderstandings in artificial intelligence. Also, if you are going to ride on the shoulders of giants in the future, I would like to know the achievements of past great men such as Turing test and ELIZA as a courtesy.

That's common sense! I think that those who say that you can skip this step.

Qiita6.004.jpeg

-Does artificial intelligence surpass humans?

b.jpg

It has no programming elements and is a great book for anyone to read. In this book, you can get a soft touch on the history of artificial intelligence and the outline of technology. Even if I look around me, there are still many people who misunderstand artificial intelligence, so Resolving that misunderstanding here will be the first step in the path to skill acquisition.

Step2. Let's touch on artificial intelligence technology in general

In Step2, we will actually touch on practical techniques by referring to programming-based books. Try moving your hands on both the rabbit and the horn. Let's try it first. Then learn. Even if you don't understand the program or theory, it is most important to copy and run the sample program.

For machine learning and deep learning

Qiita6.005.jpeg

--Scraping & Machine Learning with Python Development Techniques Let's Use BeautifulSoup, scikit-learn, TensorFlow

q.jpg

This book goes one step further from the business side of the realm of machine learning and deep learning, and is quite practical.

Text analysis using Markov chains and LSTM, creation of chatbots, Identification of beef bowl by deep learning ... etc. In addition, it covers data collection techniques (scraping and crawling) essential for machine learning and deep learning. The content has become wider and shallower by that amount, but if you repeat the program in this book or arrange it yourself, you will acquire very comprehensive skills.

If you go through this book, Artificial intelligence is a collection of various technologies and methods. You'll find that it's actually artificial intelligence.

The world's "artificial intelligence" (what is said to be) is nothing more than an entity that is said to be "intelligent" as a result of the Turing test.

Step3 (Step4). If you want to dig deeper into machine learning

Once you get a feel for what machine learning is, let's step into the world of machine learning. Personally, I recommend that you touch machine learning before deep learning.

Qiita6.006.jpeg

--Python Machine Learning Programming Theory and Practice by Expert Data Scientists

h.jpg

If you do not have basic knowledge in Step 2, it may be difficult, but I think it's a very good book because it describes the implementation of machine learning in great detail and also describes the theory. At the end, you can also touch on deep learning.

Some people may get rejection because there are many formulas, but if you continue to implement it without worrying about it, there is no problem. The body will remember while doing it. You can read it when you notice it.

If you can understand what is written in this book, you will be able to do machine learning programming yourself.

If you want more theoretical knowledge, you will need to refer to the dissertation or hit another book as described in this book.

Step3. If you want to dig deeper about deep learning

Hot area these days. Once you have acquired some machine learning skills, let's try deep learning. Depending on what you do, deep learning requires considerable machine specs. Since it is necessary to increase the number of layers and increase the number of trials in order to obtain accuracy, I personally recommend procuring a GPU machine and studying in a comfortable environment.

Qiita6.007.jpeg

--Implementation deep learning

j.jpg

This book was very helpful in delving into deep learning from a practical perspective. Not only environment creation and implementation, but also the basic mechanism and basic terms of deep learning (although it is a little rushing), You can learn while practicing reinforcement learning, tips for image identification.

In this book, you can learn about image recognition, which is especially good at deep learning.

Step4. If you want to dig deeper into deep learning

Understanding the characteristics of convolution layers and pooling layers, network tuning, etc. If you need a practical technique, go to this STEP.

Qiita6.008.jpeg

--Deep Learning from scratch-The theory and implementation of deep learning learned in Python

k.jpg

Needless to say, O'Reilly's "Deep Learning from scratch". A perfect book for a deeper understanding of deep learning theory and practice. In addition to recent technological trends, how can recognition accuracy be improved? Why is it expensive? I myself am very much indebted to the detailed explanations.

If you have some skill, this book is enough for deep learning.

If you can understand what is written in this book, you will be able to do deep learning programming yourself.

Useful book list

In addition to the above, here is a list of books that have been helpful in learning machine learning, deep learning, etc. I will omit the detailed explanation, but I hope it will be helpful.

Rough difficulty

It's quite subjective, but I've divided it by the following difficulty levels. Introduction: Almost no prerequisite knowledge. No formula required. No programming required. I Ching: No formula required. All you need is basic knowledge of programming. Fu: Formulas come up a little. If you know the ease, you will understand. Difficult: Formulas come out. There are many explanations of theory. There is quite a response.

List of books

Item number thumbnail title Difficulty category Sample program
1 b.jpg Artificialintelligencesurpasseshumansorisbeyonddeeplearning Super introduction Reading material
2 a.jpg Super-introductiontodatascienceHowtoreallyutilize"statistics"usefulinbusiness Super introduction Reading material
3 c.jpg Newartificialintelligencetextbookproduct/Basicknowledgerequiredforservicedevelopment Easy Machine learning, linear algebra, analysis, statistics
4 d.jpg AnintroductiontodeeplearningwithTensorFlow~Thoroughexplanationofconvolutionalneuralnetworks~ Easy Deep learning
5 e.jpg PracticaldeeplearningwithChainer Usually Deep learning
6 f.jpg IntroductiontoMachineLearningforDataAnalysisArtificialintelligencetechnologythatcanbeoperatedandunderstoodbyPython(Informatics&IDEA) Easy Machine learning, deep learning
7 q.jpg ScrapingwithPython&MachinelearningdevelopmenttechniqueBeautifulSoup,scikit-learn,Let'suseTensorFlow Easy Scraping, crawling, machine learning, deep learning
8 g.jpg AnintroductiontomachinelearningwithPython I Ching Machine learning
9 j.jp Implementationdeeplearning Usually Deep learning
10 h.jpg PythonMachineLearningProgrammingTheoryandPracticebyExpertDataScientists(impresstopgear) Difficult Machine learning, deep learning
11 i.jpg DeeplearningtoexperiencewithPython Somewhat difficult Deep learning, reinforcement learning
12 k.jpg DeepLearningfromscratch-thetheoryandimplementationofdeeplearninglearnedinPython Somewhat difficult Deep learning
13 w.jpg Futurestrengtheninglearning Very difficult Reinforcement learning

in conclusion

I'm still an inexperienced person, but this field is very exciting to learn new. We will continue to acquire skills.

The reason I decided to write this Qiita was It's an interesting field, so I wanted even beginners of artificial intelligence to learn with interest without being frustrated.

(Repeat) I hope this Qiita will be useful for those who are going to take a step into the field of artificial intelligence.

Remarks

Let's learn Super Nintendo software with TensorFlow! --Qiita puyo.jpeg

Click here for other Mario videos learned with tensorflow https://www.youtube.com/watch?v=T4dO1GKPx4Y

If you are interested, we will deliver technical information such as AI at the link below. [facebook] https://www.facebook.com/groups/1871981099685132/ [Twitter] https://twitter.com/gauss_club

Recommended Posts

[For beginners of artificial intelligence] Machine learning / Deep Learning Programming Learning path and reference books
Summary of recommended APIs for artificial intelligence, machine learning, and AI
Artificial intelligence, machine learning, deep learning to implement and understand
[Summary of books and online courses used for programming and data science learning]
Recommended study order for machine learning / deep learning beginners
School service (free / paid) where you can learn programming language Python and artificial intelligence technology (machine learning / deep learning)
Significance of machine learning and mini-batch learning
<For beginners> python library <For machine learning>
Organize machine learning and deep learning platforms
Learning history of programming transcendence beginners
Reputation of Python books and reference books
[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
Machine learning beginners take Coursera's Deep learning course
First Steps for Machine Learning (AI) Beginners
Meaning of deep learning models and parameters
[Must read for beginners !?] Glossary of terms that stumbles when learning programming
2020 Recommended 20 selections of introductory machine learning books
[Deep learning] Nogizaka face detection ~ For beginners ~
Summary of mathematical scope and learning resources required for machine learning and data science
A memorandum of method often used in machine learning using scikit-learn (for beginners)
Numerai Tournament-Fusion of Traditional Quants and Machine Learning-
A memorandum of studying and implementing deep learning
List of links that machine learning beginners are learning
Parallel learning of deep learning by Keras and Kubernetes
Implementation of Deep Learning model for image recognition
[For beginners] Introduction to vectorization in machine learning
Overview and useful features of scikit-learn that can also be used for deep learning
[For beginners of deep learning] Implementation of simple binary classification by full coupling using Keras
[Recommended tagging for machine learning # 2] Extension of scraping script
[Recommended tagging for machine learning # 2.5] Modification of scraping script
Python learning memo for machine learning by Chainer Chapters 1 and 2
Techniques for understanding the basis of deep learning decisions
Preparing to start "Python machine learning programming" (for macOS)
DNN (Deep Learning) Library: Comparison of chainer and TensorFlow (1)
Collection and automation of erotic images using deep learning
DEEP PROBABILISTIC PROGRAMMING --- "Deep Learning + Bayes" Library --- Introduction of Edward
Everything for beginners to be able to do machine learning
[For beginners] Django Frequently used commands and reference collection
Deep learning 1 Practice of deep learning
[Deep Learning from scratch] Implementation of Momentum method and AdaGrad method
Japanese translation of public teaching materials for Deep learning nanodegree
[Recommended tagging for machine learning # 1] Scraping of Hatena blog articles
Examination of Forecasting Method Using Deep Learning and Wavelet Transform-Part 2-
Performance verification of data preprocessing for machine learning (numerical data) (Part 2)
[For beginners] Re: Genetic algorithm starting from zero [Artificial intelligence]
Pandas basics for beginners ④ Handling of date and time items
A beginner's summary of Python machine learning is super concise.
[For beginners] A word summary of popular programming languages (2018 version)
Performance verification of data preprocessing for machine learning (numerical data) (Part 1)