[PYTHON] Basics of Machine Learning (Notes)

Types of artificial intelligence

It depends on how artificial intelligence (AI) is defined, but according to "What AI can and cannot do" [^ 1]

"Technology that allows computers to perform intelligent work"

It seems that. Computers can only act as calculators by themselves, but intellectual work cannot be done by calculations alone. Today, only weak AI (artificial intelligence that is good at a specific task) is made, and the center of research is also weak AI. However, as seen in AlphaGo and the University of Tokyo Robo, AI that exceeds human ability is beginning to appear, and although it is imperfect, it attracts people. In addition, AI is emerging in advertising and political activities, and it is becoming impossible to avoid it in daily life, such as displaying fake videos and personalized advertisements. If a strong AI is completed, when the computer can speak, express, and do various things by itself, it will overcome the singularity and the game "Detroit: Become Human" It may become a reality that AI attacks humans by ignoring human intentions or running away like the movie "I, Robot" (although it is extreme). It is also said to be a 2045 problem. At present, AI is just an algorithm, so in that sense, I think it is unlikely that it will exceed the singularity.

The story is derailed, but there are four main types of artificial intelligence.

The above three are collectively called machine learning. To put it simply, machine learning is an algorithm that automatically learns conditional branching. Predictive models are not created by humans, but are automatically generated. Still, the values of certain parameters must be determined by humans. Such parameters are called __hyperparameters __. Also, as a subset of machine learning, there is __deep learning __.

Although it is generally regarded as "AI = deep learning", AI is not limited to deep learning. The reason for its attention is that deep learning mimics nerve cell neurons and is closer to the structure of the human brain. However, when recognizing objects and characters, there is a big difference between human recognition and computer recognition. In that sense, it would be impossible to compose the human brain.

By the way, AlphaGo uses Deep Reinforcement Learning, which is a combination of deep learning and reinforcement learning.

Now, let's take a quick look at some techniques for each of machine learning.

Supervised learning

Supervised learning is a technology that learns a model based on teacher data (input data + correct answer label) and predicts and classifies unknown data. For example, is it an image that a teacher teaches a student how to solve an example, and then the student who learns the solution solves an exercise? The goal is to increase the correct answer rate for the student. However, if you teach too much, you will develop strange habits and will not think for yourself, and as a result you will not be able to solve simple problems that you have solved before. This condition is called overfitting. Overfitting is, so to speak, overfitting the training data. In other words, the image is that students can only solve the problem as taught, and they cannot solve it immediately by changing the wording and numerical values of the problem sentences. Therefore, it is necessary to create a model that minimizes the error while adjusting the parameters so as not to cause overfitting. There are two types of supervised learning: regression and classification problems. Let's first look at regression.

(Following the outline of supervised learning ...)

[^ 1]: Koji Fujimoto and Kazutomo Shibahara "What AI can and cannot do" Nihon Hyoronsha, 2019

Recommended Posts

Basics of Machine Learning (Notes)
Supervised learning 1 Basics of supervised learning (classification)
Importance of machine learning datasets
Machine learning
Significance of machine learning and mini-batch learning
Machine learning ③ Summary of decision tree
Machine learning algorithm (generalization of linear regression)
Python learning notes
Notes on PyQ machine learning python grammar
[Learning memo] Basics of class by python
Introduction to Python Basics of Machine Learning (Unsupervised Learning / Principal Component Analysis)
Learning notes from the beginning of Python 1
Notes on running Azure Machine Learning locally
2020 Recommended 20 selections of introductory machine learning books
Basics of Python ①
Basics of python ①
Machine learning algorithm (implementation of multi-class classification)
Personal notes and links about machine learning ① (Machine learning)
Unsupervised learning 1 Basics
[Memo] Machine learning
Machine learning classification
[Machine learning] List of frequently used packages
Learning notes from the beginning of Python 2
python learning notes
Judgment of igneous rock by machine learning ②
Machine Learning sample
Python learning memo for machine learning by Chainer Chapter 13 Basics of neural networks
Machine learning memo of a fledgling engineer Part 1
Classification of guitar images by machine learning Part 1
Beginning of machine learning (recommended teaching materials / information)
Basics of Supervised Learning Part 1-Simple Regression- (Note)
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
Notes on machine learning (updated from time to time)
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
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
Basics of Supervised Learning Part 3-Multiple Regression (Implementation)-(Notes)-
Arrangement of self-mentioned things related to machine learning
Causal reasoning using machine learning (organization of causal reasoning methods)
Machine learning tutorial summary
About machine learning overfitting
Python: Unsupervised Learning: Basics
Machine learning ⑤ AdaBoost Summary
Machine Learning: Supervised --AdaBoost
Machine learning logistic regression
Basics of Python scraping basics
Device mapper learning notes
Deep learning 1 Practice of deep learning
Machine learning support vector machine
Studying Machine Learning ~ matplotlib ~