[PYTHON] Beginning of machine learning (recommended teaching materials / information)

Introduction

d7f2b1da-908e-82a9-5e21-ed8799e7ec60.png

What to write

I have summarized my experience of the last six months as a memo of the way of thinking, recommended teaching materials, information, etc. when studying the basics of "machine learning", which is very important in AI technology.

I would be happy if it could be used as a reference for those who are starting to study machine learning.

Way of thinking when studying the basics of machine learning

I think there are various reasons for starting to study machine learning. The world has become very noisy with AI, so there may be some poor clerical staff who are suddenly asked by management to investigate AI. Some people have already decided what they want to do and the application they want to create, and want to use machine learning for that (but have no development experience), and some people are familiar with statistics but are new to programming.

The following description is a record when I (half R & D / half clerical, half staff / half manager) who graduated from an engineering graduate school studied machine learning as a hobby, not directly related to work. ..

――There is some programming experience ――I understand that statistics and mathematics are basic ――Almost the first time about machine learning ――It's an engineering mindset rather than a science system, but I want to understand the principles, algorithms, and background mathematics as it is and feel refreshed.

I will send it in the version.

It would be greatly appreciated if intermediate and advanced machine learning students could feel nostalgic and give advice while watching the progress of this beginner warmly. Because there are no advanced people around me who can feel free to consult. ..

Recommended teaching materials

We recommend that you take the very famous Coursera Machine Learning Lecture. a0a59a1c-bf54-5ccd-3586-248a5c76c307.png

If you take it seriously, it will be completed in 3 months. However, if you have programming experience and are not accustomed to matrix calculation, it may be difficult to do it on schedule.

I downloaded the lesson videos to the Coursera app on my iPad and watched them on the commuter train, while walking, during lunch breaks, taking a bath, and so on.

I also have programming homework, which I did in the middle of the night after my wife and kid went to bed. I did it on weekends if I had time. I had development experience with MATLAB in the past, so Octave worked smoothly. (But I learned a lot from this course just about how to do smart matrix operations.)

Also, since it is the most difficult to continue such MOOCs, we recruited volunteers from the company and held study sessions to report on each other's progress about every other week. However, in reality, I decided to work with one of my seniors who belong to another team, but doing it alone is completely different from doing it with two people. I think it's mentally painful to proceed alone.

After Coursera

If you read Dr. Matsuo's "Does artificial intelligence exceed humans?" , You can understand a wide range of topics surrounding machine learning.

41awNvZKJNL.SX354_BO1,204,203,200.jpg

It's an easy-to-read book, so it's okay to read it before you complete Coursera, but if you read it after Coursera, you'll be able to understand the details. I also notice that there are introductions of algorithms that do not appear in Coursera, and it is fun to notice that there are differences in explanations between Dr. Andrew and Dr. Matsuo.

41QWM8+Tb-L.jpg Data Analytics 3.0 I also enjoyed reading.

Also, once you've completed Coursera's homework, it's an asset that you can use right away. I use this to predict the price of the room I live in, using the contract price of other rooms in the same apartment as teacher data, from various conditions (floor number, area, number of rooms, contract period, etc.) I tried to.

The next book I read

61kYbes17OL.SX352_BO1,204,203,200.jpg Next, I bought it at BookLab Tokyo ["Introduction to Machine Learning for Data Scientist Training Reader"](https://www.amazon.co.jp/dp/4774176311?tag=lucas29liao-22&camp=243&creative=1615&linkCode=as1&creativeASIN=4774176311&adid = 074K7FBHYHQA1N64ECFW &) was read.

I was caught in free coffee and bought it with a momentum, remembering that this book was recommended in some article, but looking back, it was the best book to read immediately after reading Coursera. The explanations of various algorithms are fairly simple in the book, so I think it took time to understand even if you read it without any knowledge. However, when I read it after receiving Coursera, I knew the basics, so I was able to concentrate on applied information.

In addition, sample code actually written in R or Python will also appear in this book. Writing code in scratch for Coursera's homework was helpful in understanding the algorithm, but it's easier to use an existing library if you're going to use machine learning easily. This book also describes how to use various libraries, so it was very easy to use when proceeding with the learning setup after Coursera.

Machine learning with Python

To proceed with the next learning, I decided to use Python.

People like "I'm reluctant to program and I skipped my homework and watched only the video" may be quick to use GUI tools, but if I'm comfortable with programming, I think Python or R is better. I will. I have some programming experience, so I chose Python, a general-purpose scripting language. If you do not have much programming experience, R, which specializes in statistical calculations, may be easier to use.

In order to study machine learning with Python, it is common to use various libraries such as scikit-learn, Numpy, Scipy, and matplotlib. I studied these basics here.

First of all 51Y8KNTSc1L.SX389_BO1,204,203,200.jpg Introduction to data analysis using Python And

51YzbphP0JL.SX390_BO1,204,203,200.jpg Python Machine Learning Programming I read.

The former book has many pages devoted to data formatting. During actual development, most of the programming work is spent preparing data, such as loading, cleaning, transforming, and relocating it. Thankfully, the standard library of pandas and Python introduced here can be combined for advanced and flexible data manipulation.

The latter book was helpful with a wealth of code examples using scikit-learn. I was able to come across algorithms that were not introduced in other books, and I was able to feel the depth of machine learning even at the elementary stage.

I read these books during the New Year holidays. I was traveling to Australia and Bangkok, but I took some time to digest it at night and did not dare to read the details carefully. Rather, I wanted to understand the whole picture of development and the range of knowledge required. I read it at a pace of about 100p a day, taking notes wherever I was interested.

Then I said I would redo Coursera's homework in Python. I referred to the article following Coursera Machine Learning Challenges in Python: ex1.

I used Jupyter Notebook as a learning environment. Impressed by the ease of use. ..

First half summary

These days, I feel that it is too dangerous to be danced to this trend without a proper technical understanding in a situation where cats and scoops are called AI.

Over the last six months, I have understood the basic algorithms of machine learning one by one, and have experienced touching libraries using sample data and data at hand to construct predictions.As a result, I am not working in the IT industry, and I am not working in the IT industry. Even in the absence of R & D experts who are familiar with AI, I was able to proceed with learning and evaluate the sloppyness of many sloppy articles about AI.

It is expected that future demand for data scientists (let's call it) will increase in the short term but decrease in the long term, but it is inevitable that the automation of work that people do not have to do will progress, and IoT I don't think the trend of / BigData / AI is wrong. Studying machine learning, from big principles to details, can be helpful when doing business in any industry.

Next time preview

Machine Learning in Python: Will follow Practical Edition

Recommended Posts

Beginning of machine learning (recommended teaching materials / information)
2020 Recommended 20 selections of introductory machine learning books
[Recommended tagging for machine learning # 2] Extension of scraping script
[Recommended tagging for machine learning # 2.5] Modification of scraping script
Basics of Machine Learning (Notes)
Importance of machine learning datasets
Beginning with Python machine learning
Japanese translation of public teaching materials for Deep learning nanodegree
[Recommended tagging for machine learning # 1] Scraping of Hatena blog articles
Significance of machine learning and mini-batch learning
Web teaching materials for learning Python
Machine learning ③ Summary of decision tree
Enjoy Coursera / Machine Learning materials twice
Machine learning meeting information for HRTech
[Recommended tagging for machine learning # 4] Machine learning script ...?
Summary of recommended APIs for artificial intelligence, machine learning, and AI
Machine learning algorithm (generalization of linear regression)
Learning notes from the beginning of Python 1
Machine learning
Machine learning algorithm (implementation of multi-class classification)
[Machine learning] List of frequently used packages
Learning notes from the beginning of Python 2
Judgment of igneous rock by machine learning ②
Machine learning memo of a fledgling engineer Part 1
Classification of guitar images by machine learning Part 1
Recommended study order for machine learning / deep learning beginners
Machine learning of sports-Analysis of J-League as an example-②
Python & Machine Learning Study Memo ⑤: Classification of irises
Numerai Tournament-Fusion of Traditional Quants and Machine Learning-
Python & Machine Learning Study Memo ②: Introduction of Library
Full disclosure of methods used in machine learning
List of links that machine learning beginners are learning
Overview of machine learning techniques learned from scikit-learn
About the development contents of machine learning (Example)
Summary of evaluation functions used in machine learning
Classify machine learning related information by topic model
Analysis of shared space usage by machine learning
[Translation] scikit-learn 0.18 Tutorial Introduction of machine learning by scikit-learn
Machine learning memo of a fledgling engineer Part 2
Reasonable price estimation of Mercari by machine learning
Classification of guitar images by machine learning Part 2
Get a glimpse of machine learning in Python
Try using Jupyter Notebook of Azure Machine Learning
Arrangement of self-mentioned things related to machine learning
Causal reasoning using machine learning (organization of causal reasoning methods)
Learning roadmap and recommended books taught by alumni of the Department of Information Systems ~ No.2 ~
[Memo] Machine learning
Machine learning classification
Machine Learning sample
Key points of "Machine learning with Azure ML Studio"
Learn collaborative filtering along with Coursera Machine Learning materials
About data preprocessing of systems that use machine learning
Impressions of taking the Udacity Machine Learning Engineer Nano-degree
Installation of TensorFlow, a machine learning library from Google
About testing in the implementation of machine learning models
Predict the gender of Twitter users with machine learning
Summary of the basic flow of machine learning with Python
Record of the first machine learning challenge with Keras
14 e-mail newsletters useful for gathering information on machine learning
[High School Information Department Information I / Information II] Summary of teaching materials for teacher training by python
I considered the machine learning method and its implementation language from the tag information of Qiita