3 Machine Learning Projects For Beginners (Highly visual) | 2021
❤️ Become The AI Epiphany Patreon ❤️ ► https://www.patreon.com/theaiepiphany
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

In this video, I'll recommend you 3 beginner-friendly machine learning projects. It'll probably take you a week to finish each one of these.

You'll learn about:
✔️ beginner-friendly ML project ideas

Note: I mention 3 versions of the YOLO model in the video. What I meant were YOLO models developed by the original author, recently v4 and v5 have been developed but not by the original author.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 
✅ Create new MNIST digits: https://github.com/gordicaleksa/pytorch-gans
✅ PASCAL VOC: https://pjreddie.com/projects/pascal-voc-dataset-mirror/
✅ YOLO v3: https://github.com/ultralytics/yolov3

Note: You can use the PASCAL dataset I linked as it has less than 500 MBs but you can in general just download 50/100/1000 images from some dataset and develop your small image search engine.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 

⌚️ Timetable: 
0:42 Project #1: 50 shades of MNIST
2:22 Confusion matrix matters
3:10 Add new MNIST digits (manually/using GANs)
4:15 Project #2: Toy image search engine
6:04 Project #3: Object Detection Pipeline (YOLO)
7:19 Level up your projects

Credit for the burger image:
https://towardsdatascience.com/find-similar-images-using-autoencoders-315f374029ea
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 
💰 BECOME A PATREON OF THE AI EPIPHANY ❤️ 

If these videos, GitHub projects, and blogs help you,
consider helping me out by supporting me on Patreon! 

The AI Epiphany ► https://www.patreon.com/theaiepiphany
One-time donation: 
https://www.paypal.com/paypalme/theaiepiphany 

Much love! ❤️

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 

💡 The AI Epiphany is a channel dedicated to simplifying the field of AI using creative visualizations and in general, a stronger focus on geometrical and visual intuition, rather than the algebraic and numerical "intuition". 

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 
👋 CONNECT WITH ME ON SOCIAL 
LinkedIn ► https://www.linkedin.com/in/aleksagordic/ 
Twitter ► https://twitter.com/gordic_aleksa 

Instagram ► https://www.instagram.com/aiepiphany/ 
Facebook ► https://www.facebook.com/aiepiphany/ 

👨‍👩‍👧‍👦 JOIN OUR DISCORD COMMUNITY:
Discord ► https://discord.gg/peBrCpheKE

📢 SUBSCRIBE TO MY MONTHLY AI NEWSLETTER:
Substack ► https://aiepiphany.substack.com/

💻 FOLLOW ME ON GITHUB FOR COOL PROJECTS: 
GitHub ► https://github.com/gordicaleksa 

📚 FOLLOW ME ON MEDIUM:
Medium ► https://gordicaleksa.medium.com/
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

#machinelearning #beginnerprojects #deeplearning
 What's up in this video? I'm going to recommend you three different Highly visual machine learning projects which are going to help you better Understand machine learning and also improve your coding skills So many of you go through Coursera courses and you learn a bunch of machine learning theory but not so many of you go and actually develop a machine learning project and that will a Help you learn machine learning much better because you'll notice certain things you thought in you and you'll realize you actually didn't know them and Secondly it will be really awesome thing to have in your CV and much better than having bunch of random skills and No code to back it up that being said let me recommend you the first project and it's going to be amnest digit Classification now I already hear you say like dude. Don't give me this super mainstream toy project It's the hello world of computer vision basically But I'm going to give you a couple of tips to make this super good beginner friendly machine learning project so the reason I'm recommending this project as the first project is that you'll be focusing on the model on the neural networks and not on the data and Much of the machine learning day-to-day job is about data engineering Analyzing your data and visualizing your data, but in this project You're going to focus on the machine learning model mostly and just tracking its performance via accuracy metrics so The first thing I want you to do is just take some off-the-shelf model like VGG 16 VGG 19 mobile nets explore those off-the-shelf models Which are already pre trained for you and just develop the end-to-end pipeline so load the data I use off-the-shelf model and track the accuracy metric after you've done that Go ahead and try and develop your own neural network from scratch for start using like pure feed-forward neural network and as a third step after you've Developed the feed-forward neural network, and you track the accuracy you're going to do it with convolutional neural network CNN and You're going to again track the accuracy and then you'll have you can compare the three approaches You took so the off-the-shelf model the feed-forward neural network and the CNN's one more thing you're going to do for all of the three approaches here is plot the confusion matrix and the confusion matrix basically tells you where your model is having a really hard time predicting the true label the true digit so say you have like an image of digit one and You figure out that your model is often making mistake Confusing it with number seven and that would make sense right because ones and sevens people tend to write those alike There's a lot of interesting insight you can get just plotting confusion matrix and seeing where your models is having hard time and by doing that you can maybe even augment your data set and maybe put some more like sevens and ones in the data set so that your model will learn how to Discriminate between those two better so once you're done with developing those three approaches Go ahead and maybe Create your own data points that look like amnest digits So just go like use paint or some program and manually Draw a couple of digits and and just check out how your model is Generalizing to those images which the model didn't see during the training Procedure and also you can use maybe GANs. I'll link my repo in the description Which will help you generate new amnest digits and you can see whether your model is Can correctly predict the digit that's in that image finally you can always take your project a step further by developing say web application and Deploying your model there and just letting others maybe use it as a service But that's less of an machine learning arguably more of a like software engineering and also machine learning ML ops popularly known as Anyways, there's just an option you also have on your disposal so the second project that recommends you go ahead and try out is Develop your small image search engine and that might sound frightening But it's actually pretty simple the goal will be to Given your data set of say thousand images to take a single image and find say five or ten images Which are the most similar to your input image? So the the how the project will approximately look like is you're going to Find some data set like image net or MSCoco or some of those popular computer vision Data sets you're gonna extract thousand images out of those and it's a small preprocessing step Maybe and then the smart part of the project is actually finding the code for that input image And for all of the other images in your data set and just finding five or say ten Images which are the most similar to your input image how you'll find the code is just input the image into VGG and from some deep layer, you'll take Feature maps flatten them and that's your code and then how you calculate the distance There's just simple Euclidean distance between those two codes So in these two first projects, you're going to learn how to just consume models that are already there in the deep learning framework Like off-the-shelf models, you're going to learn how to develop some basic neural networks from scratch And you'll also learn how to tweak the existing models like for the image search engine You'll probably have to prune a couple of the last layer like fully connected layer from the image search engine Connected layer from VGG or whatever and just flatten out change the view of those feature maps in order to get the The image code in this third project you're going to leverage Existing models that are not a part of the deep learning framework. You're going to develop an object detection pipeline using this popular object detection model called YOLO and There are three flavors of this model version 1 version 2 and version 3 I encourage you to go ahead and explore read some blocks Maybe even research papers depending on your skill how those work You'll just go ahead and use the model out of the box So you won't be training it for yourself because it takes a lot of time to train your YOLO You're just going to use it as it is and develop some box filtering depending on which classes you want to use Some models are trained on MSCoco. Some are trained on Pascal VOC. So they'll be having different number of classes the Coco version will have 80 classes I think and then Pascal VOC will have 20 classes. So pick the version you want do the filtering and just Figure out which images it expects and voila you built yourself an object detection pipeline The nice thing about YOLO is that it's super fast. It can run real-time So that means 30 FPS or or even higher depending on the flavor of the model you took a simple way to just kind of level up this project would be to Figure out a way to deploy this to some mobile application where you could be using your your mobile camera to be to detect Some certain objects real-time so that's it these three projects will give you a hands-on experience with machine learning And you're going to learn a lot tweaking models playing with the data visualizing Coding it yourself and publishing it to github also feel free to check out our other videos Also, feel free to check out my github I've been developing a lot of deep learning projects recently And I'll be including those in the next video on advanced projects which will help you get even better at deep learning So I hope you found this video useful if you did go ahead and subscribe Also, make sure to click that Bell icon so that you get notified when I upload a new video and finally if you have any other interesting beginner friendly Friendly projects which you think others may find useful go ahead and write them down in the comment section I'd love to know about them. Feel free to ask any questions. I'll make sure to answer all them until next time keep learning
[{"start": 0.0, "end": 3.42, "text": " What's up in this video? I'm going to recommend you three different"}, {"start": 4.26, "end": 7.58, "text": " Highly visual machine learning projects which are going to help you better"}, {"start": 8.18, "end": 11.42, "text": " Understand machine learning and also improve your coding skills"}, {"start": 11.42, "end": 16.86, "text": " So many of you go through Coursera courses and you learn a bunch of machine learning theory"}, {"start": 17.22, "end": 22.66, "text": " but not so many of you go and actually develop a machine learning project and that will a"}, {"start": 23.06, "end": 29.42, "text": " Help you learn machine learning much better because you'll notice certain things you thought in you"}, {"start": 29.42, "end": 32.32, "text": " and you'll realize you actually didn't know them and"}, {"start": 33.02, "end": 40.02, "text": " Secondly it will be really awesome thing to have in your CV and much better than having bunch of random skills and"}, {"start": 40.46, "end": 46.660000000000004, "text": " No code to back it up that being said let me recommend you the first project and it's going to be amnest digit"}, {"start": 46.900000000000006, "end": 52.82000000000001, "text": " Classification now I already hear you say like dude. Don't give me this super mainstream toy project"}, {"start": 52.82000000000001, "end": 55.06, "text": " It's the hello world of computer vision basically"}, {"start": 55.06, "end": 61.78, "text": " But I'm going to give you a couple of tips to make this super good beginner friendly machine learning project"}, {"start": 61.78, "end": 68.22, "text": " so the reason I'm recommending this project as the first project is that you'll be focusing on the model on the neural networks and"}, {"start": 68.34, "end": 70.34, "text": " not on the data and"}, {"start": 70.82000000000001, "end": 74.7, "text": " Much of the machine learning day-to-day job is about data engineering"}, {"start": 75.58, "end": 79.18, "text": " Analyzing your data and visualizing your data, but in this project"}, {"start": 79.18, "end": 85.54, "text": " You're going to focus on the machine learning model mostly and just tracking its performance via"}, {"start": 86.14, "end": 88.14000000000001, "text": " accuracy metrics so"}, {"start": 88.42, "end": 95.42000000000002, "text": " The first thing I want you to do is just take some off-the-shelf model like VGG 16 VGG 19 mobile nets"}, {"start": 96.26, "end": 98.46000000000001, "text": " explore those off-the-shelf models"}, {"start": 98.46000000000001, "end": 104.18, "text": " Which are already pre trained for you and just develop the end-to-end pipeline so load the data"}, {"start": 104.18, "end": 109.82000000000001, "text": " I use off-the-shelf model and track the accuracy metric after you've done that"}, {"start": 110.14, "end": 115.42, "text": " Go ahead and try and develop your own neural network from scratch for start using"}, {"start": 116.18, "end": 118.66000000000001, "text": " like pure feed-forward neural network and"}, {"start": 119.46000000000001, "end": 121.54, "text": " as a third step after you've"}, {"start": 122.30000000000001, "end": 129.5, "text": " Developed the feed-forward neural network, and you track the accuracy you're going to do it with convolutional neural network"}, {"start": 129.94, "end": 131.3, "text": " CNN and"}, {"start": 131.3, "end": 137.58, "text": " You're going to again track the accuracy and then you'll have you can compare the three approaches"}, {"start": 137.58, "end": 142.06, "text": " You took so the off-the-shelf model the feed-forward neural network and the CNN's"}, {"start": 142.46, "end": 146.34, "text": " one more thing you're going to do for all of the three approaches here is"}, {"start": 146.86, "end": 153.38000000000002, "text": " plot the confusion matrix and the confusion matrix basically tells you where your model is having a really hard time"}, {"start": 153.86, "end": 158.68, "text": " predicting the true label the true digit so say you have like an image of"}, {"start": 159.26000000000002, "end": 160.86, "text": " digit one and"}, {"start": 160.86, "end": 164.14000000000001, "text": " You figure out that your model is often making mistake"}, {"start": 164.54000000000002, "end": 171.38000000000002, "text": " Confusing it with number seven and that would make sense right because ones and sevens people tend to write those alike"}, {"start": 171.38000000000002, "end": 177.06, "text": " There's a lot of interesting insight you can get just plotting confusion matrix and seeing where your models is having"}, {"start": 177.74, "end": 180.74, "text": " hard time and by doing that you can maybe even"}, {"start": 181.26000000000002, "end": 188.26000000000002, "text": " augment your data set and maybe put some more like sevens and ones in the data set so that your model will learn how to"}, {"start": 188.26, "end": 192.78, "text": " Discriminate between those two better so once you're done with"}, {"start": 193.62, "end": 195.62, "text": " developing those three approaches"}, {"start": 196.34, "end": 198.5, "text": " Go ahead and maybe"}, {"start": 199.42, "end": 203.14, "text": " Create your own data points that look like amnest digits"}, {"start": 203.29999999999998, "end": 207.98, "text": " So just go like use paint or some program and manually"}, {"start": 208.45999999999998, "end": 212.26, "text": " Draw a couple of digits and and just check out how your model is"}, {"start": 212.78, "end": 216.66, "text": " Generalizing to those images which the model didn't see during the training"}, {"start": 216.66, "end": 222.54, "text": " Procedure and also you can use maybe GANs. I'll link my repo in the description"}, {"start": 222.94, "end": 228.74, "text": " Which will help you generate new amnest digits and you can see whether your model is"}, {"start": 229.42, "end": 235.54, "text": " Can correctly predict the digit that's in that image finally you can always take your project a step further by"}, {"start": 236.34, "end": 238.54, "text": " developing say web application and"}, {"start": 239.54, "end": 244.57999999999998, "text": " Deploying your model there and just letting others maybe use it as a service"}, {"start": 244.58, "end": 252.26000000000002, "text": " But that's less of an machine learning arguably more of a like software engineering and also machine learning"}, {"start": 252.94, "end": 254.94, "text": " ML ops popularly known as"}, {"start": 255.66000000000003, "end": 258.54, "text": " Anyways, there's just an option you also have on your disposal"}, {"start": 259.02000000000004, "end": 263.3, "text": " so the second project that recommends you go ahead and try out is"}, {"start": 264.7, "end": 270.02000000000004, "text": " Develop your small image search engine and that might sound frightening"}, {"start": 270.02000000000004, "end": 272.90000000000003, "text": " But it's actually pretty simple the goal will be to"}, {"start": 272.9, "end": 280.38, "text": " Given your data set of say thousand images to take a single image and find say five or ten images"}, {"start": 280.7, "end": 287.73999999999995, "text": " Which are the most similar to your input image? So the the how the project will approximately look like is you're going to"}, {"start": 288.73999999999995, "end": 294.09999999999997, "text": " Find some data set like image net or MSCoco or some of those popular computer vision"}, {"start": 294.73999999999995, "end": 300.82, "text": " Data sets you're gonna extract thousand images out of those and it's a small preprocessing step"}, {"start": 300.82, "end": 305.7, "text": " Maybe and then the smart part of the project is actually finding the code for that input image"}, {"start": 305.7, "end": 310.62, "text": " And for all of the other images in your data set and just finding five or say ten"}, {"start": 311.38, "end": 318.3, "text": " Images which are the most similar to your input image how you'll find the code is just input the image into VGG and"}, {"start": 318.78, "end": 320.78, "text": " from some deep layer, you'll take"}, {"start": 321.58, "end": 326.78, "text": " Feature maps flatten them and that's your code and then how you calculate the distance"}, {"start": 326.78, "end": 331.34, "text": " There's just simple Euclidean distance between those two codes"}, {"start": 331.34, "end": 339.09999999999997, "text": " So in these two first projects, you're going to learn how to just consume models that are already there in the deep learning framework"}, {"start": 339.65999999999997, "end": 345.41999999999996, "text": " Like off-the-shelf models, you're going to learn how to develop some basic neural networks from scratch"}, {"start": 345.97999999999996, "end": 350.26, "text": " And you'll also learn how to tweak the existing models like for the image search engine"}, {"start": 350.26, "end": 355.9, "text": " You'll probably have to prune a couple of the last layer like fully connected layer from the image search engine"}, {"start": 355.9, "end": 362.7, "text": " Connected layer from VGG or whatever and just flatten out change the view of those feature maps in order to get the"}, {"start": 363.02, "end": 367.34, "text": " The image code in this third project you're going to leverage"}, {"start": 367.85999999999996, "end": 375.9, "text": " Existing models that are not a part of the deep learning framework. You're going to develop an object detection pipeline using this popular"}, {"start": 376.26, "end": 379.17999999999995, "text": " object detection model called YOLO and"}, {"start": 379.46, "end": 384.06, "text": " There are three flavors of this model version 1 version 2 and version 3"}, {"start": 384.06, "end": 387.02, "text": " I encourage you to go ahead and explore read some blocks"}, {"start": 387.54, "end": 391.52, "text": " Maybe even research papers depending on your skill how those work"}, {"start": 391.52, "end": 394.7, "text": " You'll just go ahead and use the model out of the box"}, {"start": 394.7, "end": 399.62, "text": " So you won't be training it for yourself because it takes a lot of time to train your YOLO"}, {"start": 399.78000000000003, "end": 406.06, "text": " You're just going to use it as it is and develop some box filtering depending on which classes you want to use"}, {"start": 406.06, "end": 410.74, "text": " Some models are trained on MSCoco. Some are trained on Pascal VOC. So they'll be having"}, {"start": 410.74, "end": 415.7, "text": " different number of classes the Coco version will have 80 classes I think and then"}, {"start": 416.02, "end": 421.86, "text": " Pascal VOC will have 20 classes. So pick the version you want do the filtering and just"}, {"start": 422.38, "end": 427.94, "text": " Figure out which images it expects and voila you built yourself an object detection pipeline"}, {"start": 427.94, "end": 432.02, "text": " The nice thing about YOLO is that it's super fast. It can run real-time"}, {"start": 432.02, "end": 437.26, "text": " So that means 30 FPS or or even higher depending on the flavor of the model"}, {"start": 437.26, "end": 441.74, "text": " you took a simple way to just kind of level up this project would be to"}, {"start": 442.42, "end": 449.58, "text": " Figure out a way to deploy this to some mobile application where you could be using your your mobile camera to be to detect"}, {"start": 449.58, "end": 456.53999999999996, "text": " Some certain objects real-time so that's it these three projects will give you a hands-on experience with machine learning"}, {"start": 456.53999999999996, "end": 461.21999999999997, "text": " And you're going to learn a lot tweaking models playing with the data visualizing"}, {"start": 461.86, "end": 466.3, "text": " Coding it yourself and publishing it to github also feel free to check out our other videos"}, {"start": 466.3, "end": 467.94, "text": " Also, feel free to check out my github"}, {"start": 467.94, "end": 471.98, "text": " I've been developing a lot of deep learning projects recently"}, {"start": 471.98, "end": 478.38, "text": " And I'll be including those in the next video on advanced projects which will help you get even better at deep learning"}, {"start": 478.38, "end": 482.1, "text": " So I hope you found this video useful if you did go ahead and subscribe"}, {"start": 482.94, "end": 484.94, "text": " Also, make sure to click that"}, {"start": 485.22, "end": 491.34000000000003, "text": " Bell icon so that you get notified when I upload a new video and finally if you have any other interesting beginner friendly"}, {"start": 491.34, "end": 496.85999999999996, "text": " Friendly projects which you think others may find useful go ahead and write them down in the comment section"}, {"start": 496.85999999999996, "end": 502.85999999999996, "text": " I'd love to know about them. Feel free to ask any questions. I'll make sure to answer all them until next time keep"}, {"start": 502.86, "end": 521.86, "text": " learning"}]