【update】
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.
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
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.
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.
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.
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.
-Does artificial intelligence surpass humans?
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.
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
--Scraping & Machine Learning with Python Development Techniques Let's Use BeautifulSoup, scikit-learn, TensorFlow
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.
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.
--Python Machine Learning Programming Theory and Practice by Expert Data Scientists
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.
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.
--Implementation deep learning
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.
Understanding the characteristics of convolution layers and pooling layers, network tuning, etc. If you need a practical technique, go to this STEP.
--Deep Learning from scratch-The theory and implementation of deep learning learned in Python
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.
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.
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.
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.
Let's learn Super Nintendo software with TensorFlow! --Qiita
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