Тёмный

Neural Networks - How to Create a Classification Network In Matlab 

CodingLikeMad
Подписаться 3,4 тыс.
Просмотров 11 тыс.
50% 1

In this video we introduce how to define and train a classification machine learning model using matlab's neural network toolbox, and discuss network complexity and over training, as well as how to analyze the neural network with KPIs, including the receiver operator (ROC) curve, a confusion matrix, and cross-entropy.
For the example in the video we classify color data from Randall Munroe. His blog post with the full raw data set is available here:
blog.xkcd.com/2010/05/03/colo...
If you want to follow along with the analysis, a short version of the dataset and the example code can be found here:
github.com/codinglikemad/Matl...
My previous video on neural nets in matlab can be found here:
• Neural Networks in Mat...
Music Credits:
The music in the final section of the video is "Ticker" by "Silent Partner".

Наука

Опубликовано:

 

29 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 24   
@re.liable
@re.liable 3 года назад
the audio quality really stood out for me. and it's fully captioned as well! surprised you are not that well-known...
@yc7104
@yc7104 5 лет назад
I like your comment “People on internet are bad people. No offense to those of you who watch my video. I mean other people!” Great video!
@robertpretorius7627
@robertpretorius7627 5 лет назад
Dude this is some next level stuff. Mind blown! :D Well done!
@marianaduarte2499
@marianaduarte2499 3 года назад
TY! Help me a lot to classify locutors for a project!!
@panzer3279
@panzer3279 3 года назад
Nice explanation! In my project, I have to reduce input dimensions using PCA such that 99% of the variance is retained. How can I decide on the number of components for 99% variance? In python, PCA(0.99) takes the required number of components for 99% variance. Can we do the same in MATLAB? Thanks!
@CodingLikeMad
@CodingLikeMad 3 года назад
www.mathworks.com/help/stats/pca.html Take a look at the "percent variability explained" example, it should answer your question with code :) goodluck!
@anissyakirah6203
@anissyakirah6203 3 года назад
hi can you make a video for image segmentation for artificial neural network MLP/BP for satellite images?
@CodingLikeMad
@CodingLikeMad 3 года назад
I think an image segmentation video(pixel classification specifically) would super interesting! Thanks for the suggestion. Not sure when I'll get to it, but I want to learn how to do make those models for sure. Satellite imagery datasets sound like a ton of fun to play with, to be honest. I wonder if there is a public set to play with?
@ahmedbaba3715
@ahmedbaba3715 5 лет назад
Thanks for the explanation ... Please, I want a code of neural networks to check the water quality.
@CodingLikeMad
@CodingLikeMad 5 лет назад
Hi Ahmed, if you wanted to make something like that (and I don't know of an existing neural network for this, although there may be one), you need to consider what your input and output features are. Classification networks are good for true/false questions there (like water quality bad vs. good), but would not be helpful for things like predicting heavy metal levels (a continuous number). For something like that I suggest a regression network. I give an example of such a network here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-l69Ln_Pjb5c.html For a problem like this, I think the three things you need to work out are: 1. What input features would you like to use, and how to express them. For instance, you might include an indicator for what the distance to heavy industry or agriculture is, but how do you work that number out? 2. What would you like to predict? How do you define water quality? 3. What data set do you have that is sufficient to train the network? I would actually start with 3, and look at what is available. To be valuable, I guess that it should have features you can generate WITHOUT a measurement, such as the air quality in the region from a weather station, or the amount of water flow, or whatever else would be helpful (I have no idea), rather than just different aspects of the water quality itself. In any case that is a very interesting project, good luck going forward! :)
@ahmedbaba3715
@ahmedbaba3715 5 лет назад
thank you for replying. For the neural network project that monitors water well or bad. The information input is (PH - Conductivité- Chlorures - Sulfates- Calcium-Magnesium -Fer). The output is 1 for good water. Or 0 for bad water.
@CodingLikeMad
@CodingLikeMad 5 лет назад
Hi Ahmed, a follow up: for this case you need a training set where someone has labeled the data as good or bad. If you have that, then the techniques here can be applied directly, just use 0 and 1 for the color labels(more or less), and expand the input features to be the list you have instead of rgb. Good luck!
@ahmedbaba3715
@ahmedbaba3715 5 лет назад
Thank you very much for your help .... If you have problems I will communicate with you.
@ilariavestale9842
@ilariavestale9842 3 года назад
Hi, thanks for the explanation but there are ways to understand: - how many hidden layers and how many hidden neurons to use? - network type, traning fuction, adption learning fuction, performance fuction and transfer fuction? thank u so much
@CodingLikeMad
@CodingLikeMad 3 года назад
Honestly, you can fill an entire course with answer everything about this properly. I think the most important thing for you to understand is something called "hyperparameter tuning". A standard (and sadly, basically best practice approach) is to write down every variation of each of those, and then systematically try them. Sound primitive? It is. Lots of alternatives are being tried, but I've yet to see one turn out systematically better, despite some papers claiming it does for a specific problem here or there. It's a big part of why ML takes up so much CPU/GPU resources. As an example, I will usually create a network of different depths, and for a CNN make a number of filters per layer, and width of filters per layer, and then run a few hundred variations. Doing it randomly can help find the best possible approximation of the global minimum. I will usually seperatly before and after try things like optimizer and optimizer hyper parameters - sometimes people call this quasi manual approach "grad student decent" because it involves the sort of time only a grad student has. Anyway, "hyperparameter tuning" is what you want to google. I talk about it a bit in a few of my videos, if you want to checkout the other, but I don't have a focused video on it yet.
@ilariavestale9842
@ilariavestale9842 3 года назад
@@CodingLikeMad thank u very much
@ilariavestale9842
@ilariavestale9842 3 года назад
@@CodingLikeMad the matrix that I report in Matlab must be numeric. Should I normalize it or do I carry the values as they are? Does the neural network vary?
@CodingLikeMad
@CodingLikeMad 3 года назад
It is good practice to standardize your input features before using them in a model. This mean making them have 0 mean and standard deviation 1. This is most helpful when your values have vastly different magnitudes, because it keeps gradients well defined.
@belajar7751
@belajar7751 3 года назад
Is it same with backpropagation NN?
@CodingLikeMad
@CodingLikeMad 3 года назад
Both classification and regression NN in matlab use backprop algorithms to my knowledge.
@ezzianehassane1127
@ezzianehassane1127 4 года назад
Thanks Dr for explanation ... Please, I want a code of neural networks to check the diagnostic faults . We have an electrical transformer and it has many faults And every corruption has its own behavior Suppose we choose four types of faults and each type we try 50 times and each time we take the data for that attempt (we have 200 datas). We enter these data (for example, we enter 160 data and leave 40 for testing) Then we train the neural network on these faults (data entered), but we enter the data according to the fault pattern, for example: the first damage: 40 data and the second damage: 40 data, and the third damage: 40 data and the fourth damage: 40 data. After the training process We are experimenting with new data from 40 which the rest we have Then we ask the neural network to identify it and classify it for any type of malfunction (is it a type of first, second, third, or fourth damage) Please answer .
@CodingLikeMad
@CodingLikeMad 4 года назад
Sorry for the delay in response. With only 200 training examples, my suggestion would be to consider not using a neural net. If you do, the layers must be very limited to avoid overtraining. This is observed by having a high accuracy on your train set, and low accuracy on your test set. I suggest considering a decision tree or random forest instead, with limited number of nodes. A cross validation set is critical to prevent over training.
@ezzianehassane1127
@ezzianehassane1127 4 года назад
@@CodingLikeMadplease ; i need to talk you in email
@CodingLikeMad
@CodingLikeMad 4 года назад
@ezziane hassan I've now added a contact email to my about section if you would like. I'm not sure how much help I can give, but I'll try :)
Далее
Neural Network from Scratch | Mathematics & Python Code
32:32
Machine Learning Tutorial: From Beginner to Advanced
31:56
Neural Network using Matlab
27:40
Просмотров 249 тыс.
How to use Neural network (NN) toolbox in MATLAB?
10:38
Essential Tools for Machine Learning - MATLAB Video
35:59
Data prediction by ANN tool box in Matlab
13:49
Просмотров 87 тыс.
Convolutional Neural Network in Matlab
26:11
Просмотров 123 тыс.
Mac Studio из Китая 😈
0:34
Просмотров 153 тыс.
Собери ПК и Получи 10,000₽
1:00
Просмотров 1,7 млн