Click here until yesterday
You will become an engineer in 100 days --Day 76 --Programming --About machine learning
You will become an engineer in 100 days-Day 70-Programming-About scraping
You will become an engineer in 100 days --Day 66 --Programming --About natural language processing
You will become an engineer in 100 days --Day 63 --Programming --Probability 1
You will become an engineer in 100 days-Day 59-Programming-Algorithms
You will become an engineer in 100 days --- Day 53 --Git --About Git
You will become an engineer in 100 days --Day 42 --Cloud --About cloud services
You will become an engineer in 100 days --Day 36 --Database --About the database
You will be an engineer in 100 days-Day 24-Python-Basics of Python language 1
You will become an engineer in 100 days --Day 18 --Javascript --JavaScript basics 1
You will become an engineer in 100 days --Day 14 --CSS --CSS Basics 1
You will become an engineer in 100 days --Day 6 --HTML --HTML basics 1
This time is a continuation of the story about machine learning. I would like to touch on deep learning.
I will explain what you can do with machine learning for the first time, but what you can do with machine learning There are basically three.
・ Regression ・ Classification ・ Clustering
Roughly speaking, it becomes prediction
, but the part of what to predict
changes.
・ Regression: Predict numerical values ・ Classification: Predict categories ・ Clustering: Make it feel good
In machine learning, there is a learning model that predicts something.
One of these learning models is called a neural network
.
It is a mathematical model that aims to express the characteristics of neurons found in brain function. It has a brain-like structure.
The structure is divided into an input layer, an intermediate layer (hidden layer), and an output layer.
For example, suppose you want to predict gender, male or female. It becomes a model for classifying categorical values, and gives numerical values of explanatory variables to the input layer. After calculating nicely in the middle layer, as a result in the output layer It spits out numerical values such as 0.XX for men and 0.YY for women.
Basically, it will be judged by the size of the numerical value The category with the highest number is the predicted value.
If this is the mechanism of neural network (NN)
and becomes deep neural network (DNN)
There are two or more hidden layers.
Learning using deep neural network
isdeep learning (DL)
Deep learning
is a form included in machine learning.
As shown in the figure above, it has a shape that imitates the brain structure, but in each unit part
Numerical calculation is performed using a function called activation function
.
Receives numbers from the previous layer and passes them to the next layer. The functions used at that time are as follows.
Step function
: Returns 0 or 1 at any threshold
Sigmoid function
Returns a continuous value from 0 to 1
Relu function
: Returns the value when it is greater than or equal to 0, and returns 0 when it is less than 0.
We will perform multi-layered calculations by specifying an activation function that feels like this.
High-dimensional expression is possible by increasing the number of hidden layers Processing of learning data It is said that a certain degree of accuracy can be achieved without specifying the features in detail.
With a normal model, you can calculate which item contributed, etc. There is a point that it is difficult to understand in deep learning.
In addition, it requires a large amount of calculation compared to other models and consumes a large amount of calculation resources. Therefore, a lot of computational resources are required when using long data.
** Convolutional Neural Network (CNN) **
With a neural network suitable for capturing features such as images
We have introduced a convolution layer
and a pooling layer
into traditional networks.
A convolution
is a mathematical operation that applies one function to another in some way.
Pooling
is to extract one numerical value from numerical data.
This CNN
has demonstrated high performance in image analysis.
In recent years, he has achieved almost human-level performance in object recognition tasks. Their error rates continue to decline year by year, with current image classification tasks. We have a record with an error rate of less than 3%.
This is even more than human performance for the same task Since it is a low number, it exceeds human accuracy.
Because there is a possibility of drawing out performance that exceeds human accuracy in this way It is a translation that is drawing attention.
When non-engineers suddenly try to understand deep learning I think the hurdles are quite high.
Especially when it comes to implementation.
First of all, understand the rough mechanism and the meaning of the words If you can do that, I think you should move on.
For the time being, let's suppress words related to deep learning.
16 days until you become an engineer
Otsu py's HP: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython
Recommended Posts