Deep Learning Full Course 2026 | Deep Learning Tutorial for Beginners | Deep Learning | Simplilearn

Simplilearn · Beginner ·🧬 Deep Learning ·10mo ago

Key Takeaways

This video provides a full course on deep learning for beginners, covering topics such as neural networks and machine learning

Full Transcript

[music] Hey there. Have you ever wondered how Instagram knows which filters you love? Or how Netflix always seems to suggest the perfect movie? That's all thanks to the deep learning. Deep learning helps computers recognize patterns, make predictions, and even understand things like images, text, and speech. It's everywhere today and industries from e-commerce to healthcare are using it to build smarter systems. And guess what? The demand for deep learning experts is skyrocketing. Don't worry if it sounds complicated. We are here to break down it for you step by step. Whether you're just starting or looking to level up, this video is designed to make deep learning easy and fun. We'll begin by explaining what deep learning is and clear up the differences between machine learning, deep learning, and artificial intelligence. Then we will dive into neural networks and walk through a hands-on tutorial using Python and TensorFlow. We will cover some math basics, explore RNNs and CNN's, and show you how to use hugging face. Plus, we will get you ready for deep learning interview questions. By the end, you will be all set to dive into the world of deep learning. Let's >> a lot of examples of machine learning. So, let's see if we can give a little bit more of a concrete definition. What is machine learning? Machine learning is the science of making computers learn and act like humans by feeding data and information without being explicitly programmed. We see nice little diagram where we have our ordinary system, your computer. Nowadays, you can even run a lot of this stuff on a cell phone because cell phones have advanced so much. And then with artificial intelligence and machine learning, it now takes the data and it learns from what happened before. And then it predicts what's going to come next. And then really the biggest part right now in machine learning that's going on is it improves on that. How do we find a new solution? So we go from descriptive where it's learning about stuff and understanding how it fits together to predicting what it's going to do to post scripting coming up with a new solution. And when we're working on machine learning, there's a number of different diagrams that people have posted for what steps to go through. A lot of it might be very domain specific. So if you're working on photo identification versus language versus medical or physics, some of these are switched around a little bit or new things are put in. They're very specific to the domain. This is kind of a very general diagram. First, you want to define your objective. Very important to know what it is you're wanting to predict. Then you're going to be collecting the data. So once you've defined an objective, you need to collect the data that matches. You spend a lot of time in data science collecting data and the next step preparing the data. You got to make sure that your data is clean going in. There's the old saying, bad data in, bad answer out or bad data out. And then once you've gone through and we've cleaned all this stuff coming in, then you're going to select the algorithm. Which algorithm are you going to use? You're going to train that algorithm. In this case, I think we're going to be working with SVM, the support vector machine. Then you have to test the model. Does this model work? Is this a valid model for what we're doing? And then once you've tested it, you want to run your prediction. You want to run your prediction or your choice or whatever output it's going to come up with. And then once everything is set and you've done lots of testing, then you want to go ahead and deploy the model. And remember I said domain specific. This is very general as far as the scope of doing something. A lot of models you get halfway through and you realize that your data is missing something and you have to go collect new data because you've run a test in here someplace along the line. You're saying, "Hey, I'm not really getting the answers I need." So there's a lot of things that are domain specific that become part of this model. This is a very general model, but it's a very good model to start with. And we do have some basic divisions of what machine learning does. That's important to know. For instance, do you want to predict a category? Well, if you're categorizing thing, that's classification. For instance, whether the stock price will increase or decrease. So in other words, I'm looking for a yes no answer. Is it going up or is it going down? And in that case, we'd actually say, is it going up? True. If it's not going up, it's false, meaning it's going down. This way is a yes, no. 01. Do you want to predict a quantity? That's regression. So remember, we just did classification. Now we're looking at regression. These are the two major divisions in what data is doing. For instance, predicting the age of a person based on the height, weight, health, and other factors. So based on these different factors, you might guess how old a person is. And then there are a lot of domainspecific things like do you want to detect an anomaly? That's anomaly detection. This is actually very popular right now. For instance, you want to detect money withdrawal anomalies. You want to know when someone's making a withdrawal that might not be their own account. We've actually brought this up because this is really big right now. If you're predicting the stock whether to buy stock or not, you want to be able to know if what's going on in the stock market is an anomaly. Use a different prediction model because something else is going on. You got to pull out new information in there. Or is this just the norm? I'm going to get my normal return on my money invested. So being able to detect anomalies is very big in data science these days. Another question that comes up which is on what we call untrained data is do you want to discover structure in unexplored data and that's called clustering. For instance finding groups of customers with similar behavior given a large database of customer data containing their demographics and past buying records. And in this case, we might notice that anybody who's wearing certain set of shoes goes shopping at certain stores or whatever it is, they're going to make certain purchases. By having that information, it helps us to market or group people together. So then we can now explore that group and find out what it is we want to market to them if you're in the marketing world. And that might also work in just about any arena. You might want to group people together whether they're uh based on their different areas and investments and financial background whether you're going to give them a loan or not before you even start looking at whether they're valid customer for the bank. You might want to look at all these different areas and group them together based on unknown data. So you're not you don't know what the data is going to tell you, but you want to cluster people together that come together. Let's take a quick detour for quiz time. Oh, my favorite. So, we're going to have a couple questions here under our quiz time and um we'll be posting the answers in these part two of this tutorial. So, let's go ahead and take a look at these quiz times questions and hopefully you'll get them all right and it'll get you thinking about how to process data and what's going on. Can you tell what's happening in the following cases? Of course, you're sitting there with your cup of coffee and you have your checkbox and your pen trying to figure out what's your next step in your data science analysis. So the first one is grouping documents into different categories based on the topic and content of each document. Very big these days. You know, you have legal documents, you have uh maybe it's a sports group documents, maybe you're analyzing newspaper postings, but certainly having that automated is a huge thing in today's world. B, identifying handwritten digits in images correctly. So we want to know whether uh they're writing an A or capital A B C what are they writing out in their hand digit their handwriting. C behavior of a website indicating that the site is not working as designed. D predicting salary of an individual based on his or her years of experience the way HR hiring uh setup there. So stay tuned for part two. We'll go ahead and answer these questions when we get to the part two of this tutorial. or you can just simply write at the bottom and send a note to simply learn and they'll follow up with you on it. Back to our regular content. Now these last few bring us into the next topic which is another way of dividing our types of machine learning and that is with supervised unsupervised and reinforcement learning. Supervised learning is a method used to enable machines to classify, predict objects, problems or situations based on labeled data fed to the machine. And in here you see we have a jumble of data with circles, triangles and squares and we label them. We have what's a circle, what's a triangle, what's a square and we have our model training and it trains it. So we know the answer. Very important when you're doing supervised learning, you already know the answer to a lot of your information coming in. you have a huge group of data coming in and then you have a new data coming in. So we've trained our model. The model now knows the difference between a circle, a square, a triangle. And now that we've trained it, we can send in in this case a square and a circle goes in and it predicts that the top one's a square and the next one's a circle. And you can see that this is uh being able to predict whether someone's going to default on a loan because I was talking about banks earlier. Supervised learning on stock market, whether you're going to make money or not, that's always important. And uh if you are looking to make a fortune in the stock market, keep in mind it is very difficult to get all the data correct on the stock market. It is very uh it fluctuates in ways you really hard to predict. So it's quite a roller coaster ride. If you're running machine learning on the stock market, you start realizing you really have to dig for new data. So we have supervised learning and if you have supervised we need unsupervised learning. In unsupervised learning, machine learning model finds the hidden pattern in an unlabeled data. So in this case, instead of telling it what the circle is or what a triangle is and what a square is, it goes in there, looks at them, and says for whatever reason, it groups them together. Maybe it'll group it by the number of corners. And it notices that a number of them all have three corners, a number of them all have four corners, and a number of them all have no corners. And it's able to filter those through and group them together. We talked about that earlier with looking at a group of people who are out shopping. We want to group them together to find out what they have in common. And of course, once you understand what people have in common, maybe you have one of them who's a customer at your store, or you have five of them are customer at your store, and they have a lot in common with five others who are not customers at your store. How do you market to those five who aren't customers at your store yet? They fit the demographs of who's going to shop there, and you'd like them to shop at your store, not the one next door. Of course, this is a simplified version. And you can see very easily the difference between a triangle and a circle which is might not be so easy in marketing. Reinforcement learning. Reinforcement learning is an important type of machine learning where an agent learns how to behave in an environment by performing actions and seeing the result. And we have here where the in this case a baby. It's actually great that they used an infant for this slide because the reinforcement learning is very much in its infant stages. But it's also probably the biggest machine learning demand out there right now or in the future. It's going to be coming up over the next few years is reinforcement learning and how to make that work for us. And you can see here where we have our action and the action in this one. It goes into the fire. Hopefully the baby didn't it's just a little candle, not a giant fire pit like it looks like here. When the baby comes out and the new state is the baby is sad and crying because they got burned on the fire. And then maybe they take another action. The baby's called the agent because it's the one taking the actions. And in this case, they didn't go into the fire. They went a different direction. And now the baby's happy and laughing and playing. Reinforcement learning is very easy to understand because that's how as humans, that's one of the ways we learn. We learn whether it is, you know, you burn yourself on the stove, don't do that anymore. Don't touch the stove. In the big picture, being able to have machine learning program or an AI be able to do this is huge because now we're starting to learn how to learn. That's a big jump in the world of computer and machine learning. And we're going to go back and just kind of go back over supervised versus unsupervised learning. Understanding this is huge because this is going to come up in any project you're working on. We have in supervised learning, we have labeled data. We have direct feedback. So someone's already gone in there and said, "Yes, that's a triangle. No, that's not a triangle." And then you predicted outcome. So you have a nice prediction. this is this this new set of data is coming in and we know what it's going to be. And then with unsupervised trading, it's not labeled. So, we really don't know what it is. There's no feedback. So, we're not telling it whether it's right or wrong. We're not telling it whether it's a triangle or a square. We're not telling it to go left or right. All we do is we're finding hidden structure in the data, grouping the data together to find out what connects to each other. And then you can use these together. So imagine you have an image and you're not sure what you're looking for. So you go in and you have the unstructured data, find all these things that are connected together and then somebody looks at those and labels them. Now you can take that labeled data and program something to predict what's in the picture. So you can see how they go back and forth and you can start connecting all these different tools together to make a bigger picture. There are many interesting machine learning algorithms. Let's have a look at a few of them. Hopefully this gave you a little flavor of what's out there and these are some of the most important ones that are currently being used. We'll take a look at linear regression, decision tree, and the support vector machine. Let's start with a closer look at linear regression. Linear regression is perhaps one of the most well-known and well understood algorithms in statistics and machine learning. Linear regression is a linear model. For example, a model that assumes a linear relationship between the input variables x and the single output variable y. And you'll see this if you remember from your algebra classes, y = mx + c. Imagine we are predicting distance traveled y from speed x. Our linear regression model representation for this problem would be y = m * x + c or distance = m * speed + c where m is the coefficient and c is the y intercept. And we're going to look at two different variations of this. First, we're going to start with time is constant. And you can see we have a bicyclist. He's got his safety gear on. Thank goodness. Speed equals 10 meters/s. And so over a certain amount of time, his distance equals 36 km. We have a second bicyclist who's going twice the speed or 20 m/s. And you can guess if he's going twice the speed and time is a constant, then he's going to go twice the distance. And that's easy to compute. 36 * 2, you get 72 kilometers. And so if you had the question of how fast would somebody going three times that speed or 30 m/s is, you can easily compute the distance in our head. We can do that without needing a computer, but we want to do this from more complicated data. So, it's kind of nice to compare the two. But let's just take a look at that and what that looks like in a graph. So, in a linear regression model, we have our distance to the speed and we have our m equals the ve slope of the line. And we'll notice that the line has a plus slope. And as the speed increases, distance also increases. Hence, the variables have a positive relationship. And so your speed of the person which equals y= mx plus c distance traveled in a fixed interval of time. And we could very easily compute either following the line or just knowing it's 3 * 10 m/s that this is roughly 102 km distance that this third bicyclist has traveled. One of the key definitions on here is positive relationship. So the slope of the line is positive. As distance increase, so does speed increase. Let's take a look at our second example where we put distance is a constant. So we have speed equals 10 m/s. They have a certain distance to go and it takes him 100 seconds to travel that distance. And we have our second bicyclist who's still doing 20 m/s. Since he's going twice the speed, we can guess he'll cover the distance in about half the time, 50 seconds. And of course, you could probably guess on the third one, 100 divided by 30 since he's going three times the speed. You can easily guess that this is 33.333 seconds time. We put that into a linear regression model or a graph. If the distance is assumed to be constant, let's see the relationship between speed and time. And as time goes up, the amount of speed to go that same distance goes down. So now your m equals a minus v slope of the line. As the speed increases, time decreases. Hence, the variable has a negative relationship. Again, there's our definition. positive relationship and negative relationship dependent on the slope of the line and with a simple formula like this um and even a significant amount of data. Let's uh see what the mathematical implementation of linear regression and we'll take this data. So suppose we have this data set where we have xyx= 1 2 3 4 5 standard series and the y value is 3 22 43. When we take that and we go ahead and plot these points on a graph, you can see there's kind of a nice scattering and you could probably eyeball a line through the middle of it. But we're going to calculate that exact line for linear regression. And the first thing we do is we come up here and we have the mean of Xi. And remember mean is basically the average. So we added five plus 4 plus 3 plus 2 plus 1 and divide by five. And that simply comes out as three. And then we'll do the same for y. We'll go ahead and add up all those numbers and divide by five. And we end up with a mean value of y of i equals 2.8 where the x i references it's an average or means value. And the yi also equals a means value of y. And when we plot that, you'll see that we can put in the y= 2.8 and the x= 3 in there on our graph. We kind of gave it a little different color so you could sort it out with the dash lines on it. And it's important to note that when we do the linear regression, the linear regression model should go through that dot. Now, let's find our regression equation to find the best fit line. Remember, we go ahead and take our y= mx plus c. So, we're looking for m and c. So, to find this equation for our data, we need to find our slope of m and our coefficient of c. And we have y = mx + c where m equals the sum of x - x average * y - y average or y means and x means over the sum of x - x means squared. That's how we get the slope of the value of the line. And we can easily do that by creating some columns here. We have xy. Computers are really good about iterating through data. And so we can easily compute this and fill in a graph of data. And in our graph you can easily see that if we have our x value of 1 and if you remember the x i or the means value is 3. 1 - 3 equals a -2 and 2 - 3 = a -1 so on and so forth. And we can easily fill in the column of x - x i y - yi. And then from those we can compute x - x i^ 2 and x - x i * y - yi. And you can guess it that the next step is to go ahead and sum the different columns for the answers we need. So we get a total of 10 for our x - x i^2 and a total of two for x - x i * y - yi. And we plug those in, we get 2/10, which equals2. So now we know the slope of our line equals2. So we can calculate the value of c. That'd be the next step is we need to know where it crosses the y ais. And if you remember, I mentioned earlier that the linear regression line has to pass through the means value, the one that we showed earlier. We can just flip back up there to that graph. [snorts] And you can see right here, there's our means value, which is 3, x= 3, and y= 2.8. And since we know that value, we can simply plug that into our formula. y = 2x + c. So we plug that in, we get 2.8 8 =2 * 3 + c. And you can just solve for c. So now we know that our coefficient equals 2.2. And once we have all that, we can go ahead and plot our regression line. y =2 * x + 2.2. And then from this equation, we can compute new values. So let's predict the values of y using x= 1 2 3 4 5 and plot the points. Remember the 1 2 3 4 5 was our original x values. So now we're going to see what y thinks they are, not what they actually are. And we plug those in, we get y of designated with y of p. You can see that x= 1= 2.4, x= 2= 2.6, and so on and so on. So we have our y predicted values of what we think it's going to be when we plug those numbers in. And when we plot the predicted values along with the actual values, we can see the difference. And [snorts] this is one of the things that's very important with linear regression in any of these models is to understand the error. And so we can calculate the error on all of our different values. And you can see over here we plotted um x and y and y predict. And we draw a little line so you can sort of see what the error looks like there between the different points. So our goal is to reduce this error. We want to minimize that error value on our linear regression model. Minimizing the distance. There are lots of ways to minimize the distance between the line and the data points like sum of squared errors, sum of absolute errors, root mean square error, etc. We keep moving this line through the data points to make sure the best fit line has the least squared distance between the data points and the regression line. So to recap with a very simple linear regression model, we first figure out the formula of our line through the middle and then we slowly adjust the line to minimize the error. Keep in mind this is a very simple formula. The math gets even though the math is very much the same, it gets much more complex as we add in different dimensions. So this is only two dimensions. Y = MX + C. But you can take that out to X, Z, Y, J, Q, all the different features in there and they can plot a linear regression model on all of those using the different formulas to minimize the error. Let's go ahead and take a look at decision trees. A very different way to solve problems in the linear regression model. Decision tree is a treeshaped algorithm used to determine a course of action. Each branch of a tree represents a possible decision, occurrence, or reaction. We have data which tells us if it is a good day to play golf. And if we were to open this data up in a general spreadsheet, you can see we have the outlook whether it's rainy, overcast, sunny, temperature, hot, mild, cool, humidity, windy, and did I like to play golf that day? Yes or no. So, we're taking a census. And certainly, I wouldn't want a computer telling me when I should go play golf or not. But you could imagine if you got up in the night before, you're trying to plan your day and it comes up and says, "Tomorrow would be a good day for golf for you in the morning and not a good day in the afternoon or something like that." This becomes very beneficial. And we see this in a lot of applications coming out now where it gives you suggestions and lets you know what what would uh fit the match for you for the next day or the next purchase or the next uh whatever you know next mail out in this case is tomorrow a good day for playing golf based on the weather coming in. And so we come up and let's uh determine if you should play golf when the day is sunny and windy. So we found out the forecast tomorrow is going to be sunny and windy. And suppose we draw our tree like this. We're going to have our humidity and then we have our normal, which is if it's if you have a normal humidity, you're going to go play golf. And if the humidity is really high, then we look at the outlook. And if the outlook is sunny, overcast, or rainy, it's going to change what you choose to do. So, if you know that it's a very high humidity and it's sunny, you're probably not going to play golf cuz you're going to be out there miserable fighting off the mosquitoes that are out joining you to play golf with you. Maybe if it's rainy, you probably don't want to play in the rain. But if it's slightly overcast and you get just the right shadow, that's a good day to play golf and be outside out on the green. Now, in this example, you can probably make your own tree pretty easily. It's a very simple set of data going in. But the question is, how do you know what to split? Where do you split your data? What if this is much more complicated data where it's not something that you would particularly understand like studying cancer? They take about 36 measurements of the cancerous cells and then each one of those measurements represents how bulbous it is, how extended it is, how sharp the edges are. Something that as a human we would have no understanding of. So how do we decide how to split that data up and is that the right decision tree? But so that's a question that's going to come up. Is this the right decision tree? For that we should calculate entropy and information gain. Two important vocabulary words there are the entropy and the information gain. Entropy. Entropy is a measure of randomness or impurity in the data set. Entropy should be low. So we want the chaos to be as low as possible. We don't want to look at it and be confused by the images or what's going on there with mixed data. And the information gain, it is a measure of decrease in entropy after the data set is split. Also known as entropy reduction. information gain should be high. So we want our information that we get out of the split to be as high as possible. Let's take a look at entropy from the mathematical side. In this case, we're going to denote entropy as I of P of and N where P is the probability that you're going to play a game of golf and N is the probability where you're not going to play the game of golf. Now, you don't really have to memorize these formulas. There's a few of them out there depending on what you're working with. But it's important to note that this is where this formula is coming from. So when you see it, you're not lost when you're running your programming, unless you're building your own decision tree code in the back. And we simply have a log squar of p + n minus n / p + n * the log squar of n of p + n. But let's break that down and see what actually looks like when we're computing that from the computer script side. Entropy of a target class of the data set is the whole entropy. So we have entropy play golf. And we look at this. If we go back to the data, you can simply count how many yeses and no in our complete data set for playing golf days. In our complete set, we find we have 5 days we did play golf and 9 days we did not play golf. And so our I equals, if you had those together, 9 + 5 is 14. And so our I equals 5 over 14 and 9 over 14. That's our PNN values that we plug into that formula. And you can go 5 over 14als.36. 9 over 14= 64. And when you do the whole equation, you get the minus.36 log<unk>^2 of.36 -.64 log<unk> of 64. And we get a set value. We get 94. So we now have a full entropy value for the whole set of data that we're working with. And we want to make that entropy go down. And just like we calculated the entropy out for the whole set, we can also calculate entropy for playing golf and the outlook. Is it going to be overcast or rainy or sunny? And so we look at the entropy. We have P of sunny time E of three of two. And that just comes out how many sunny days yes and how many sunny days no over the total which is five. Don't forget to put the we'll divide that five out later on. equals P overcast = 4 comma 0 plus rainy = 2a 3 and then when you do the whole setup we have 5 over4 remember I said there was a total of five 5 over 14 * the i of 3 of 2 + 4 over 14 * the 4 0 and 514 over i of 23 and so we can now compute the entropy of just the part that has to do with the forecast and we get 693 similar We can calculate the entropy of other predictors like temperature, humidity, and wind. And so we look at the gain outlook. How much are we going to gain from this entropy play golf minus entropy play golf outlook? And we can take the original 0.94 for the whole set minus the entropy of just the rainy day and temperature and we end up with a gain of.247. So this is our information gain. Remember we define entropy and we define information gain. The higher the information gain, the lower the entropy, the better. The information gain of the other three attributes can be calculated in the same way. So we have our gain for temperature equals 0.029. We have our gain for humidity equals.152. And our gain for a windy day equals 0048. And if you do a quick comparison, you'll see the 247 is the greatest gain of information. So that's the split we want. Now let's build the decision tree. So, we have the outlook. Is it going to be sunny, overcast, or rainy? That's our first split because that gives us the most information gain. And we can continue to go down the tree using the different information gains with the largest information. We can continue down the nodes of the tree where we choose the attribute with the largest information gain as the root node and then continue to split each subnode with the largest information gain that we can compute. And although it's a little bit of a tongue twister to say all that, you can see that it's a very easy to view visual model. We have our outlook. We split it three different directions. If the outlook is overcast, we're going to play. And then we can split those further down if we want. So if the over outlook is sunny, but then it's also windy. If it's uh windy, we're not going to play. If it's uh not windy, we'll play. So, we can easily build a nice decision tree to guess what we would like to do tomorrow and give us a nice recommendation for the day. So, we want to know if it's a good day to play golf when it's sunny and windy. Remember the original question that came out, tomorrow's weather report is sunny and windy. You can see by going down the tree, we go outlook sunny, outlook windy. We're not going to play golf tomorrow. So, our little smartwatch pops up and says, I'm sorry, tomorrow's not a good day for golf. It's going to be sunny and windy. And if you're a huge golf fan, you might go, "Uhoh, it's not a good day to play golf." We can go in and watch a golf game at home. So, we'll sit in front of the TV instead of being out playing golf in the wind. Now that we looked at our decision tree, let's look at the third one of our algorithms we're investigating. Support vector machine. Support vector machine is a widely used classification algorithm. The idea of support vector machine is simple. The algorithm creates a separation line which divides the classes in the best possible manner. For example, dog or cat, disease or no disease. Suppose we have a labeled sample data which tells height and weight of males and females. A new data point arrives and we want to know whether it's going to be a male or a female. So we start by drawing a line. We draw decision lines. But if we consider decision line one, then we will classify the individual as a male. And if we consider decision line two, then it'll be a female. So you can see this person kind of lies in the middle of the two groups. So it's a little confusing trying to figure out which line they should be under. We need to know which line divides the classes correctly. But how the goal is to choose a hyper plane and that is one of the key words they use when we talk about support vector machines. Choose a hyper plane with the greatest possible margin between the decision line and the nearest point within the training set. So you can see here we have our support vector. We have the two nearest points to it and we draw a line between those two points. And the distance margin is the distance between the hyper plane and the nearest data point from either set. So we actually have a value and it should be equal distant between the two points that we're comparing it to. When we draw the hyperplanes, we observe that line one has a maximum distance. So we observe that line one has a maximum distance margin. So we'll classify the new data point correctly. And our result on this one is going to be that the new data point is MEL. One of the reasons we call it a hyper plane versus a line is that a lot of times we're not looking at just weight and height. We might be looking at 36 different features or dimensions. And so when we cut it with a hyper plane, it's more of a three-dimensional cut in the data, multi-dimensional that cuts the data a certain way. And each plane continues to cut it down until we get the best fit or match. Let's understand this with the help of an example. Problem statement. You always start with a problem statement when you're going to put some code together. We're going to do some coding now. Classifying muffin and cupcake recipes using support vector machines. So the cupcake versus the muffin. Let's have a look at our data set. And we have the different recipes here. We have a muffin recipe that has so much flour. I'm not sure what measurement 55 is in, but it has 55, maybe it's ounces, [laughter] but uh has a certain amount of flour, certain amount of milk, sugar, butter, egg, baking powder, vanilla, and salt. And so based on these measurements, we want to guess whether we're making a muffin or a cupcake. And you can see in this one, we don't have just two features. We don't just have height and weight as we did before between the male and female. In here, we have a number of features. In fact, in this we're looking at eight different features to guess whether it's a muffin or a cupcake. What's the difference between a muffin and a cupcake? Turns out muffins have more flour while cupcakes have more butter and sugar. So basically the cupcakes a little bit more of a dessert where the muffin's a little bit more of a fancy bread. But how do we do that in Python? How do we code that to go through recipes and figure out what the recipe is? And I really just want to say cupcakes versus muffins like some big professional wrestling thing. Before we start in our cupcakes versus muffins, we are going to be working in Python. There's many versions of Python, many different editors. That is one of the strengths and weaknesses of Python is it just has so much stuff attached to it. It's one of the more popular data science programming packages you can use. In this case, we're going to go ahead and use Anaconda and Jupyter Notebook. The Anaconda Navigator has all kinds of fun tools. Once you're into the Anaconda Navigator, you can change environments. I actually have a number of environments on here. We'll be using Python 36 environment. So, this is in Python version 36. Although, it doesn't matter too much which version you use. I usually try to stay with the 3x because they're current unless you have a project that's very specifically in version 2x 27 I think is usually what most people use in the version two. And then once we're in our um Jupiter notebook editor, I can go up and create a new file and we'll just jump in here. In this case, we're doing SVM muffin versus cupcake. And then let's start with our packages for data analysis. And we almost always use a couple there's a few very standard packages we use. We use import oops import numpy that's for number python. They usually denote it as np that's very comma that's very common. And then we're going to import pandas as pd. And numpy deals with number arrays. There's a lot of cool things you can do with the numpy uh setup as far as multiplying all the values in an array in a numpy array, data array. Pandas, I can't remember if we're using it actually in this data set. I think we do as an import. It makes a nice data frame. And the difference between a data frame and a numpy array is that a data frame is more like your Excel spreadsheet. You have columns, you have indexes. So you have different ways of referencing it easily viewing it. And there's additional features you can run on a data frame. And pandas kind of sits on numpy. So they you need them both in there. And then finally, we're working with the support vector machine. So from sklearn, we're going to use the sklearn model. Import SVM support vector machine. And then as a data scientist, you should always try to visualize your data. Some data obviously is too complicated or doesn't make any sense to the human. But if it's possible, it's good to take a second look at it so that you can actually see what you're doing. Now, for that, we're going to use two packages. We're going to import mapplot library.pipplot as plt. Again, very common. And we're going to import seabor as sns. And we'll go ahead and set the font scale in the SNS right in our import line. That's what this U semicolon followed by a line of data. We're going to set the SNS. And these are great because the the seabour sits on top of map plot library just like pandas sits on numpy. So it adds a lot more features and uses and control. We're obviously not going to get into mattplot library and seabour. It' be its own tutorial. We're really just focusing on the SVM, the support vector machine from sklearn. And since we're in Jupiter notebook, uh we have to add a special line in here for our mattplot library. And that's your percentage sign or amber sign mattplot library in line. Now, if you're doing this in just a straight code project, a lot of times I use like Notepad++ and I'll run it from there. You don't have to have that line in there because it'll just pop up as its own window on your computer depending on how your computer's set up because we're running this in the Jupyter notebook as a browser setup. This tells it to display all of our graphics right below on the page. So that's what that line is for. I remember the first time I ran this, I didn't know that and I had to go look that up years ago. It's quite a headache. So mapplot library inline is just because we're running this on the web setup and we can go ahead and run this. make sure all our modules are in. They're all imported, which is great. If you don't have them import, you'll need to go ahead and pip. Use the pip or however you do it. There's a lot of other install packages out there, although pip is the most common. And you have to make sure these are all installed on your Python setup. The next step, of course, is we got to look at the data. You can't run a model for predicting data if you don't have actual data. So, to do that, let me go ahead and open this up and take a look. And we have our uh cupcakes versus muffins. and it's a CSV file or CSV meaning that it's commaepparated variable and it's going to open it up in a nice uh spreadsheet for me. And you can see up here we have the type we have muffin muffin muffin cupcake cupcake cupcake and then it's broken up into flour, milk, sugar, butter, egg, baking powder, vanilla and salt. So we can do is we can go ahead and look at this data also in our Python. Let us create a variable recipes equals we're going to use our pandas module read CSV remember is a commaepparated variable and the file name happened to be cupcakes versus muffins. Oops, I got double brackets there. Do it this way. There we go. cupcakes versus muffins. Because the program I loaded or the the place I saved this particular Python program is in the same folder, we can get by with just the file name. But remember, if you're storing it in a different location, you have to also put down the full path on there. And then because we're in pandas, we're going to go ahead and you can actually in line you can do this, but let me do the full print. You can just type in recipes.head head in the Jupyter notebook. But if you're running in code in a different script, you'd need to go ahead and type out the whole print recipes. And Pandanda's nose is that's going to do the first five lines of data. And if we flip back on over to the spreadsheet where we opened up our CSV file, uh you can see where it starts on line two. This one calls it zero. And then 2 3 4 5 6 is going to match. Go and close that out because we don't need that anymore. And it always starts at zero. And these are it automatically indexes it since we didn't tell it to use an index in here. So that's the index number for the left hand side. And it automatically took the top row as labels. So pandas using it to read a CSV is just really slick and fast. One of the reasons we love our pandas, not just because they're cute and cuddly teddy bears. And let's go ahead and plot our data. And I'm not going to plot all of it. I'm just going to plot the uh sugar and flour. Now, obviously, you can see where they get really complicated if we have tons of different features. And so, you'll break them up and maybe look at just two of them at a time to see how they connect. And to plot them, we're going to go ahead and use Seabor. So, that's our SNS. And the command for that is SNS.LM plot. And then the two different variables I'm going to plot is flour and sugar. Data equals recipes. The hue equals type. And this is a lot of fun because it knows that this is pandas coming in. So this is one of the powerful things about pandas mixed with seabour and doing graphing. And then we're going to use a pallet set one. There's a lot of different sets in there. You can go look them up for seabour. or do a regular fit regular equals false. So, we're not really trying to fit anything. And it's a scatter KWS. A lot of these settings you can look up in Seabor. Half of these you could probably leave off when you run them. Somebody played with this and found out that these were the best settings for doing a Seabor plot. And let's go ahead and run that. And because it does it in line, it just puts it right on the page. And you can see right here that just based on sugar and flour alone, there's a definite split. And we use these models because you can actually look at it and say, "Hey, if I drew a line right between the middle of the blue dots and the red dots, we'd be able to do an SVM and and a hyper plane right there in the middle." Then the next step is to format or pre-process our data. And we're going to break that up into two parts. We need a type label. And remember, we're going to decide whether it's a muffin or a cupcake. Well, a computer doesn't know muffin or cupcake. It knows zero and one. So, what we're going to do is we're going to create a type label. And from this we'll create a numpy array np where and this is where we can do some logic. We take our recipes from our panda and wherever type equals muffin it's going to be zero. And then if it doesn't equal muffin which is cupcakes it's going to be one. So we create our type label. This is the answer. So when we're doing our training model remember we have to have a a training data. This is what we're going to train it with is that it's zero or one. it's a muffin or it's not. And then we're going to create our recipe features. And if you remember correctly from right up here, the first column is type. So we really don't need the type column because that's our muffin or cupcake. And in pandas, we can easily sort that out. We take our value recipes. That's a pandas function built into pandas. values converting them to values. So it's just the column titles going across the top and we don't want the first one. So what we do is since it always starts at zero, we want one colon till the end. And then we want to go ahead and make this a list. And this converts it to a list of strings. And then we can go ahead and just take a look and see what we're looking at for the features. Make sure it looks right. Me go ahead and run that. And I forgot the S on recipes. So, we'll go ahead and add the S in there and then run that. And we can see we have flour, milk, sugar, butter, egg, baking powder, vanilla, and salt. And that matches what we have up here where we printed out everything but the type. So, we have our features and we have our label. Now, the recipe features is just the titles of the columns. We actually need the ingredients. And at this point, we have a couple options. One, we could run it over all the ingredients. And when you're doing this, usually you do, but for our example, we want to limit it so you can easily see what's going on because if we did all the ingredients, we have, you know, that's what, um, seven, eight different hyperplanes that would be built into it. We only want to look at one so you can see what the SVM is doing. And so we'll take our recipes and we'll do just flour and sugar. Again, you can replace that with your recipe features and do all of them, but we're going to do just flour and sugar. And we're going to convert that to values. We don't need to make a list out of it because it's not string values. These are actual values on there. And we can go ahead and just print ingredients. And you can see what that looks like. Uh, and so we have just the nan of flour and sugar, just the two sets of plots. And just for fun, let's go ahead and take this over here and take our recipe features. And so if we decided to use all the recipe features, you'll see that it makes a nice column of different data. So it just strips out all the labels and everything. We just have just the values. But because we want to be able to view this easily in a plot later on, we'll go ahead and take that and just do flour and sugar. And we'll run that. And you'll see it's just the two columns. So the next step is to go ahead and fit our model. We'll go ahead and just call it model. And it's a SVM. We're using a package called SVC. In this case, we're going to go ahead and set the kernel equals linear. So, it's using a specific setup on there. And if we go to the reference on their website for the SVM, you'll see that there's about there's eight of them here. Three of them are for regression. Three are for classification. The SVC, support vector classification, is probably one of the most commonly used. And then there's also one for detecting outliers and another one that has to do with something a little bit more specific on the model. But SBC and SVR are the two most commonly used standing for support vector classifier and support vector regression. Remember regression is an actual value, a float value or whatever you're trying to work on. And SBC is a classifier. So it's a yes, no, true, false. But for this we want to know 01 muffin cupcake. We go ahead and create our model. And once we have our model created, we're going to do model.fit. And this is very common, especially in the sklearn. All their models are followed with the fit command. And what we put into the fit, what we're training with it is we're putting in the ingredients, which in this case we limited to just flour and sugar, and the type label. Is it a muffin or cupcake? Now, in more complicated data science series, you'd want to split into, we won't get into that today, where you split it into training data and test data. And they even do something where they split it into thirds, where a third is used for where you switch between which one's training and test. There's all kinds of things go into that. It gets very complicated when you get to the higher end. Not overly complicated, just an extra step, which we're not going to do today because this is a very simple set of data. And let's go ahead and run this. And now we have our model fit. And uh I got an error here. So let me fix that real quick. It's capital SPC. It turns out I did it lowerase. Support vector classifier. There we go. Let's go ahead and run that. And you'll see it comes up with all this information that it prints out automatically. These are the defaults of the model. You notice that we changed the kernel to linear. And there's our kernel linear on the printout. And there's other different settings you can mess with. We're going to just leave that alone for right now. For this, we don't really need to mess with any of those. So, next we're going to dig a little bit into our newly trained model. And we're going to do this so we can show you on a graph. And let's go ahead and get the separating. and we're going to say uh we're going to use a W for our variable on here and we're going to do model coefficient_0. So what the heck is that? Again, we're digging into the model. So we've already got a prediction and a train. This is a math behind it that we're looking at right now. And so the w is going to represent two different coefficients. And if you remember, we had y = mx + c. So these coefficients are connected to that but in two-dimensional it's a plane. We don't want to spend too much time on this because you can get lost in the confusion of the math. So if you're a math wiz this is great. You can go through here and you'll see that we have a equals minus w of 0 over w of 1. Remember there's two different values there. And that's basically the slope that we're generating. And then we're going to build an xx. What is xx? We're going to set it up to a numpy array. There's our np line space. So we're creating a line of values between 30 and 60. So it just creates a set of numbers for x. And then if you remember correctly, we have our formula y equals the slope * x plus the intercept. Well, to make this work, we can do this as y equals the slope times each value in that array. That's the neat thing about numpy. So, when I do a * xx, which is a whole numpy array of values, it multiplies a across all of them. And then it takes those same values and we subtract the model intercept. That's your uh we had mx plus c. So, that'd be the c from the formula yals mx plus c. And that's where all these numbers come from. A little bit confusing because it's digging out of these different arrays. And then we want to do is we're going to take this and we're going to go ahead and plot it. So plot the parallels to separating hyper plane that pass through the support vectors. And so we're going to create B equals a model support vectors. Pulling our support vectors out there. Here's our y, which we now know is a set of data. We have uh we're going to create y down = a * xx + b1 - a * b 0. And then model support vector b is going to be set that to a new value, the minus1 setup. And y up = a * xx + b1 - a * b 0. And we can go ahead and just run this to load these variables up. If you wanted to know understand a little bit more what's going on, you can see if we print y, let me just run that. You can see it's an array. This is a line. It's going to have in this case between 30 and 60. So there's going to be 30 variables in here. And the same thing with y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y up, y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y down and we'll we'll plot those in just a minute on a graph so you can see what those look like. Just go ahead and delete that out of here and run that. So, it loads up the variables. Nice clean slate. I'm just going to copy this from before. Remember this? Our SNS, our Seabor plot, LM plot, flower, sugar. And I'll just go and run that real quick so you can see what remember what that looks like. It's just a straight graph on there. And then one of the neat things is because Seabor sits on top of pipplot, we can do the piplot for the line going through. And that is simply plt.plot And that's our xx and y are two corresponding values xy. And then somebody played with this to figure out that the line width equals 2 and the color black would look nice. So let's go ahead and run this whole thing with the pie plot on there. And you can see when we do this, it's just doing flour and sugar on here. Corresponding line between the sugar and the flour and the muffin versus cupcake. Um, and then we generated the support vectors, the y down and y up. So let's take a look and see what that looks like. So we'll do our plot. And again, this is all against xx or our x value, but this time we have y down. And let's do something a little fun with this. We can put in a k dash dash. That just tells it to make it a dotted line. And if we're going to do the down one, we also want to do the up one. So here's our y up. And when we run that, it adds both sets of line. And so here's our support. And this is what you expect. You expect these two lines to go through the nearest data point. So the dash lines go through the nearest muffin and the nearest cupcake when it's plotting it. And then your SVM goes right down the middle. So it gives it a nice split in our data. And you can see how easy it is to see based just on sugar and flour which one's a muffin or a cupcake. Let's go ahead and create a function to predict muffin or cupcake. I've got my uh recipes. I pulled off the um internet and I want to see the difference between a muffin or a cupcake. And so we need a function to push that through. And uh we create a function with deaf. And let's call it muffin or cupcake. And remember, we're just doing flour and sugar today. We're not doing all the ingredients. And that actually is a pretty good split. You really don't need all the ingredients to know it's flour and sugar. And let's go ahead and do an if else statement. So if model predict is of flour and sugar equals zero. So we take our model and we do run a predict. It's very common in sklearn where you have a predict. You put the data in and it's going to return a value. In this case if it equals zero then print you're looking at a muffin recipe. Else if it's not zero that means it's one and you're looking at a cupcake recipe. That's pretty straightforward for function or def for definition. Def is how you do that in Python. And of course, if you're going to create a function, you should run something in it. And so, let's run a cupcake. And we're going to send it values 50 and 20. A muffin or a cupcake. I don't know what it is. And let's run this and just see what it gives us. It [snorts] says, "Oh, it's a muffin. You're looking at a muffin recipe." So, it very easily predicts whether we're looking at a muffin or a cupcake recipe. Let's plot this. There we go. Plot this on the graph so we can see what that actually looks like. And I'm just going to copy and paste it from below where we're plotting all the points in there. So, this is nothing different than we did before. If I run it, you'll see it has all the points and the lines on there. And what we want to do is we want to add another point. And we'll do pltot. And if you remember correctly, we did for our test we did 50 and 20. And then somebody went in here and decided we'll do YO for yellow or it's kind of a orangeish yellow color. It's going to come up. Marker size nine. Those are settings you can play with. Somebody else played with them to come up with the right setup so it looks good. And you can see there it is graphed. Um clearly a muffin. In this case in cupcakes versus muffins, the muffin has won. And if you'd like to do your own muffin cupcake contender series, you certainly can send a note down below and the team at SimplyLearn will send you over the data they use for the muffin and cupcake. And that's true of any of the data. We didn't actually run a plot on it earlier. We had men versus women. You can also request that information to run it on your data setup. So you can test that out. So to go back over our setup, we went ahead for our support vector machine code. We did a predict 40 parts flour, 20 parts sugar. I think it was different than the one we did whether it's a muffin or a cupcake. Hence, we have built a classifier using SPM which is able to classify if a recipe is of a cupcake or a muffin. >> LLMs. If you ever wondered how machine learning can now understand and generate humanlike text, you are in the right place. From chat boards like chat jeepy to AI assistant that powers search engines, LLMs are transforming how we interact with technology. One of the most exciting advancement in this space is Google's Gemini or OpenAI charging large language model designed to push the boundaries of what AI can achieve. In this video, we will explore what LLMs are, how they work, and why models like Geminy are critical for the future of AI. Google Gemini is part of a new wave of AI models that are smarter, faster, and more efficient. It is designed to understand context better, offer more accurate responses, and integrate deeply into service like Google search and Google Assistant, providing more humanlike interactions. So, we will break down the science behind LLMs, including their massive training data set, transformer architecture, and how models like Gemini use deep learning innovation to change industries. Plus, we will compare Google Gemini to other popular LMS such as OpenAI chat GBT models, showing how each of these technologies is used to power chat bots, virtual assistants, and other AIdriven application. By end of this video, you will have a clear understanding of how large language models like Gemini work, their key features, and what they mean for their future AI. Don't forget to like, subscribe, and hit the bell icon to never miss any update from Simply Learn. What are the large language models? Large language models like charge GPD4 generative pre-trained transformer 4 o and Google gemini are sophisticated AI system designed to comprehend and generate humanlike text. These models are built using deep learning techniques and are trained on vast data set collected from the internet. They leverage self attention mechanism to analyze relationship between words or tokens allowing them to capture context and produce coherent relevant responses. LLMs have significant application including powering virtual assistant, chatboards, content creation, language translation and supporting research and decision making. Their ability to generate fluent and contextually appropriate text has advanced natural language processing and improved human computer interaction. So now let's see what are large language model used for. Large language models are utilized in scenarios with limited or no domain specific data available for training. These scenarios include both few short and zero short training approaches which rely on the model's strong inductive bias and its capability to derive meaningful representation from a small amount of data or even no data at all. So now let's see how are large language model train language models typically undergo pre-training on a board all encompassing data set that shares statical similarities with the data set specific to the target task. The objective of pre-training is to enable the model to require highlevel feature that can later be applied during the finetuning phase for a specific task. So there are some training processes of LLM which involves several steps. The first one is text prep-processing. The textual data is transformed into a numerical representation that the LLM model can effectively process. This conversion may be involve techniques like tokenization, encoding and creating input sequences. The second one is random parameter initialization. The model's parameter are initialized randomly before the training process begins. The third one is input numerical data. The numerical representation of the text data is fed into the model of processing. The model's architecture typically based on transformers allows it to capture the conceptual relationship between the words or tokens in the next. The fourth one is loss function calculation. A loss function calculation measure the discrepancy between the model's prediction and the actual next word or token in a syntax. The LLM model aims to minimize this loss during training. The fifth one is parameter optimization. The model's parameter are registered through optimization technique. This involves calculating gradient and updating the parameters accordingly gradually improving the model's performance. The last one is iterative training. The training process is repeated over multiple iteration or epochs until the model's output achieve a satisfactory level of accuracy on that given task or data set. By following this training process, large language model learn to capture linguistic patterns, understand context and generate coherent responses enabling them to excel at various language related task. The next topic is how do large language models work. So large language models leverage deep neural network to generate output based on patterns learned from the training data. Typically a large language model adopts a transformer architecture which enables the model to identify relationship between words in a sentence irrespective of their position in the sequence. In contrast to RNNs that rely on recurrence to capture token relationship transformer neural network employ self attention as their primary mechanism. Self attention calculates attention scores that determine the importance of each token with respect to the other token in the text sequence facilitating the modeling of intricate relationship within the data. Next let's see application of large language models. Large language models have a wide range of application across various domains. So here are some notable application. The first one is natural language processing, NLP. Large language models are used to improve natural language understanding tasks such as sentiment analysis, named entity recognition, text classification, and language modeling. The second one is chatbot and virtual assistant. Large language models power conversational agents, chatbots, and virtual assistant providing more interactive and humanlike user interaction. The third one is machine translation. LA language models have been used for automatic language translation enabling text translation between different languages with improved accuracy. The fourth one is sentiment analysis. LLMs can analyze and classify the sentiment or emotion expressed in a piece of text which is valuable for market research, brand monitoring and social media analysis. The fifth one is content recommendation. These models can be employed to provide personalized content recommendations enhancing user experience and engagement on platforms such as news website or streaming services. So these application highlight the potential impact of large language models in various domains for improving language understanding automation. >> Welcome to deep learning tutorial. My name is Richard Kersner with the SimplyLearn team. That's www.simplearn.com. Get certified get ahead. What's in it for you? We're going to go over applications of deep learning. What is deep learning? Why is deep learning important? What are neural networks? The activation function in our neural network. The cost function that comes in for processing our neural networks. How do neural networks work? Deep learning platforms. And then we'll do introduction to TensorFlow and a use case implementation using TensorFlow. So you can see how it works and get some hands-on. So start off with the applications of deep learning. Deep learning helps us make predictions about the rain, earthquakes, tsunamis, etc. allowing us to take the required precautions. With deep learning, machines can comprehend speech and provide the required output. Deep learning enables a machine to recognize people and objects in the images fed to it. And with deep learning, advertisers can leverage data to perform realtime bidding and targeted display advertising. And these are just a small sample of the myriad of different uses for deep learning today. So what is deep learning? Deep learning is a sub field of machine learning that deals with algorithms inspired by the structure and function of the brain. And we look at this we have uh the larger category which is artificial intelligence very generic comprehensive um ideal. And in there we have machine learning and then a subcategory of machine learning is deep learning. So when we talk about artificial intelligence, this is the ability of a machine to imitate intelligent human behavior. So when we look at something, can it solve a problem the way humans do? Can we take it to that next level? So it's just not repeating some kind of uh simple output that we've programmed it to do. Can it actually start imitating human intelligence? And we look at machine learning. We have the application of AI that allows a system to automatically learn and improve from experience. So machine learning the most basic machine learning is your linear regression model. You put a bunch of dots on the graph and you draw a line through them and you have a guess of what X and Y are. Based on uh where what X is, you can guess what Y is. And finally we have our deep learning application of machine learning that uses complex algorithms and deep neural net to train a model. Why is deep learning important? It works with unstructured data. Machine learning works only with large sets of structured and semistructured data. While deep learning can work with both structured and unstructured data handles complex operations. Deep learning algorithms can perform complex operations easily while machine learning algorithms cannot. Feature extraction. Machine learning algorithms use labeled sample data to extract patterns while deep learning accepts large volumes of data as input. analyze the input to extract features out of an object. Achieve best performance. Performance of machine learning algorithms decreases as the amount of data increases. So to maintain the performance of the model, we need deep learning. And this is always a challenge of when do you go from machine learning doing linear regression or other regression models to deep learning neural networks. it really centers around both uh the complexity as it becomes more and more complex or the problem becomes harder to solve along with the amount of data. So both of those play a huge part in deciding which would best serve your purposes to predict what your data is going to do and try to predict the outcome. So what are neural networks? With deep learning, a machine can be trained to identify various shapes. So here we have a square coming in. You can see we've broken it up into the pixels and we want the label to come out square. And if we turn the square slightly sideways, it's still a square. And we want it to still say it's a square. With deep learning, a machine can be trained to identify various shapes or the different patterns of those shapes as they be in this case being rotated. But how is the machine able to do this? So we'll look at a nice grid 28x 28 784 pixels. And we look at that grid. We can look at each one of those pixels as inputs. So a neural network is a system modeled on the human brain. And so we have all our inputs kind of like your eyeball coming in there. It has the sensors in the back, your different input sensors which are your cones and rods. So each one of those is an input coming in with information and it goes into a neuron and then you sends out a pulse. [snorts] So the data is fed as an input to the neuron. The neuron processes the information provided as an input. The information is transferred over weighted channels and this is very central to our neural network. Each one of those pulses coming in gets a different weight and the output is the final value predicted by the artificial neuron. In this image, we're only looking at one neuron. So remember, we're looking talk about a lot of neurons working together and we'll look at how those fit together in just a moment. When we look at one neuron, so let's just take a look at that one neuron. Let's dig a little deeper so we can get some concepts in here so we can understand the neural network. So what exactly happens within a neuron? We have an activation function. So within each neuron the following operations are performed. The product of each input and the weight of the channel it's passed over is found. Sum of the weighted products is computed. This is called the weighted sum. And a bias unique to the neuron is added to the weighted sum. And you can always look at that as if you have an xy graph where's your yin intercept. You know the old uh uklidian geometry x or y equals uh 3x + 5. That's your plus five. is that bias is where does that come in? And this is a little bit more complicated because it's not like 3x. It's more like 3x1 5x2 6x7. And usually you're dealing with float numbers. So it's not even it doesn't even look like that. It looks like 0.001 * x13 * x2 and so on. So the numbers get a little confusing, but the concept is very straightforward. We're going to multiply the weight times the value coming in and we're going to add that all together plus the bias. And the final sum is then subjected to the particular function known as the activation function. And the most simplest one is if it's greater than zero, it's one. If it's less than zero, it's zero. They usually use a lot of different there's a lot of other functions that are more reliable than that one. But that one gives you the most basic understanding of what you're looking at. 0 or one coming out. In most cases, you actually have a value coming out. And in some cases, we use like a tangent wave. So that there can be a value between zero and one, but it might be um it tends to shoot right up to one rather quickly. But you know, those are things you can fine-tune in your neural network as you start getting to the solution. Let's keep into the generals here and let's see what's the next step. We're going to look at the cost function. And this is so important in understanding how the current neural networks that we're working with are able to learn things. So we end up with a cost value. The cost value is the difference between the neural net's predicted output and the actual output from a set of labeled training data. The least cost value is obtained by making adjustments to the weights and biases iteratively throughout the training process. And when you think about this, we're not just sending one set of numbers through. We're sending all kinds of data in here. So you might have a 100 samples or a thousand samples and each one of those samples comes in and then we look at the cost for that and we want to get that cost the minimal the average minimal among all the different samples. So we want a general answer on there. You can see here we denote the predicted output with a little half triangle over it and then the actual output is just a straight y on this. Let's learn how neural networks work. Let's dig in a little deeper in how we program them. How do neural networks work exactly? In this, we're jumping from a single node into a larger picture. So, our neural network will be trained to identify shapes. And we'll start with the square again, 28x 28 or 784 pixels. And this is kind of a one of the standard images we work with a lot of times. Our shapes are images of 28x 28 pixels. Each pixel is fed as an input to the neurons in the first layer. So, here we have our input layer. Each one of those, we might flatten that out. That's the most easiest way to process that, but not the only way to process. So, we flatten it out so it's just one long array. And then we have hidden layers that improve the accuracy of the output. And you can see here, we're not looking at just one neuron. We actually have a row, two hidden layers. And each layer is a row of neurons. And data is passed on from layer to layer over weighted channels. Each one of those inputs is then weighted to each of the next neurons in the next layer in the hidden layer. Each neuron in the first hidden layer takes a subset of the inputs and processes it. Let's look into what happens within the neurons. So here we have step one and we can see in here where we have x1 * weight 1 x2 * weight 2 plus b1. That's that top neuron up there. And then we have the next neuron down which is step two. And then in step two they denote the um with the Greek symbol fi and fi is the activation function based on step one. So it might be um if it's close to zero it's zero. If it's close to one it's one and it might be a value in between. It's very common depending on what activation function you use. The results of the activation function determine which neurons will be activated in the following layer. So you can see here we have B1 that's we looked at with X1 and weighted one X2 and weighted two. And then you would compute B2 the same way and B3 the same way and B4 and B5 and so on. So each neuron has an input from all the input layers go into each of the hidden layer neuron the first hidden layer. The result of the activation function determines which neurons will be activated in the following layer and then that activation number goes off to the next layer. So we see here B11, B12, B13 and B14 and the weights coming in from B1. So let's say B1 fires and it goes into B11. Usually you would see the weights going all the way down. So B2 would have their weights going into B1 and B2 would then go into B11. B1, B2, B3 and B4 and B5 would then go into B11 and they would have their weights depending on what came out. It might just be zero. So there's nothing coming through or it might be a value between zero and one and so forth for B12, B13, B14, and B15. And then we take those and they'll have weights attached to each one of those coming out and they go into the final layer. In this case, we have a neuron that represents a square, a neuron that represents a circle, and a neuron that represents a triangle. And just as before, the information reaching this layer is processed after which a single neuron in the output layer gets activated. But our input was a square. What went wrong here? Remember, we started with a square. What do we have coming out? It said a circle. Well, that's going to be a problem because we don't want it to tell us that squares are circles. Well, our network needs to be trained first. How do we train a network? The predicted output is compared against the actual output by calculating the cost function. Remember our cost function at the end. We take whatever we said it was going to be and what it actually is and we just subtract those two. And the most common way used to generate the cost function is as follows is we're going to take the actual value minus the predicted value where you have y and then you have y with the half triangle over it is the predicted and then y is the actual value. We subtract them. We square that value and then we divide it by two. So it's usually how they generate the cost function. The cost functions determines the error in prediction and reports it back to the neural network. So we're going to do some back propagation. That's what this is called back propagation. We're going back through the network the other way and we're sending that error back the other way. The weights are adjusted in order to reduce error. The network is trained with the new weights. And you can see here we have C= 1/2 Y - Y predicted or Y actual - Y predicted squared. Once again, the cost is determined and back propagation is continued until the cost cannot be reduced any further. Now, keep in mind, you know, if we have one picture of a square and it goes through, we actually do just a little training. We don't change it all to match that first one. Otherwise, you'll have a what they call a bias. So, each of those data goes back with our back propagation. And we'll send hundreds of samples on there until we can get that cost as a whole down as low as we can get. So that our average cost is very low without it being biased towards one specific figure. And you can see here we have our input layer, hidden layer and our setup on here. Similarly, once we've trained it for our square, the network must also be trained to identify circles and triangles too. So we need sets of all of these. We need lots of squares, lots of circles, and lots of triangles. The weights are this further adjusted in order to predict the three shapes with the highest accuracy. We can now rely on our neural network to predict the input shapes. And you can see we have a triangle coming in here and it goes through. Here's our circle going through and it's going to light up the circle and so on for the square. So before we dive into some hands-on, let's take a look at some deep learning platforms. The primary programming language, we're going to look at four of these platforms and we're going to start with Torch. The primary programming language is Lua with an implementation in C2. Torch's Python implementation is called PyTorch. And this is interesting because Python has become one of the leads in data analysis. So you'll almost always see a PyTorch or any one of these will have a Python equivalent and that's slowly spreading throughout the languages. So I'm sure there's within torch it's also probably got a Java setup and definitely has a C because it's primary implementation is in C. And so we have KAS. KAS is a Python framework for deep learning and USP is reusability of code for the CPU and GPU processing. We have TensorFlow. TensorFlow is deep learning platform by Google. It was developed in C++ and has its implementation in Python. And just a quick highlight, KAS and TensorFlow have slowly been working together. So there's a lot of things that you can actually put KAS on top of TensorFlow and access TensorFlow. Although there are still some tools in TensorFlow that that KAS doesn't fully access but it is a great interface for doing that. And then there's the DL4J is the first deep learning library written for Java and Scala. It is integrated with Hadoop and Apache Spark. And you remember Apache Spark is written in Scala. That's one of the reasons the DL4J came about is so that it would run on the Spark platform. So let's take an introduction to TensorFlow. Google's TensorFlow is currently the most popular deep learning library in the world. It has really once they open sourced it, it was just amazing how much it spread in use and how many tools are linked into TensorFlow. Tensors are vectors or matrices of n dimensions. And you can see here we have dimension five. We have a dimension 4x5 or 5x4 as the case is five rows by four columns. Here's one where it's 3x3x3. And so this is kind of nice cuz when you're processing pictures, there's certain things you want to do where you want the pixels to be next to each other. That's very important. Uh same thing if you're processing say a movie, you might want a 3x3 grid coming in where you have the the layers of the frames coming in to be processed. So you can see how having different dimensions is really helpful in analyzing certain data structures. And this is what's so great about tensors is you can of course flatten them out like we did earlier or you can process them based on their location. In TensorFlow all computations performed involve tensors. So everything going through is always looked at as tensors as a matrix or matrices of n dimension. TensorFlow architecture is as follows. Pre-processing data build a model. Train and estimate the model. And what we'll do is we'll go ahead and dig into use case implementation with TensorFlow. To do that, I'm actually going to go into uh in this case I'll be using the Anaconda Navigator. And you can use either Jupyter Lab or Jupyter Notebook. Most people are very familiar with Jupyter Notebook. It's very commonly web-based. The Jupyter Lab is the next version of Jupyter Notebook, and it just lets you have multiple tabs open when you're working on it. And if you're using Anaconda, you'll go under environments and you want to make sure that you have your TensorFlow installed. And you can simply uh we'll do this uh I have it installed. Uh but you could do all. We'll do all. You can do a search under all for Tensor. And you can see all the different tensors. It's actually installed in here. Version 1.13.1. If it wasn't, you could check the box and then run the install on there and it'd bring it right in. But we'll go and start up our Jupyter Lab, which is going to open up. In this case, I use Google Chrome. And in our Jupyter lab or Jupyter notebook, if you're in the notebook, you'll only have one tab and you won't have the added options like there's a folder and different things you can do in the uh lab that you can't do in the notebook. But everything we're going to do, you can easily do in the notebook. And you'll start up a new project. Deep learning is what I'm going to call this. And if you're not familiar, you can definitely we have some tutorials out on the use of Jupyter Notebook and how to run it and set it up and things like that. The most basic is we put our code in here. It has a nice display and a nice interface. Especially for data science, I can display all kinds of things on this page. And then you can just run this page right here. There's no code in it. So, it's not going to show any uh thing until I put some code in there. And of course, you can cut your cells and things like that. So, the first thing we want to do is we want to import our tools. Now, if you haven't remember, you got to install TensorFlow. And we'll also use pandas. Pandas is a nice database setup. And that again is underneath your environment. And you can see here your um whatever you're working on my simply learn setup where I've installed TensorFlow and pandas in here. And I'll simply go up here and run this. You're not going to see anything. So we've just imported those into our notebook that we're working on. So those are now available to us. And it helps to have some data to work with. And we have here I'm going to create a path and a test path. And um we'll go ahead and let's just highlight this whole path. And you can always post a note either down below in the YouTube video or you can post a note on simplearn.com and ask for this path if you're not quite picking it up, but it is over here at the um ucied edu on their setup and it's in their archive. So it's archive.ic.uci.edu/ml for machine learning/machine-arning-databases/ adult. That's quite a mouthful. And in this case, we have adult data and adult test. But let's go and just take a look at that. Let me just paste that right in there to our browser window. And here's our adult data. And if I click on there, it's going to come down as a download. I'm going to go ahead and open it as a text to my notepad. Um, and the guys in the back were kind enough to look up to find out what the actual columns were in this uh coming across. So, let me go and take that to pull that information. And it doesn't matter whether I put it before below because these are just variables. Uh, but we can see here that we have age, work class, final WGT. I'm guessing that's final. We'll look that up in just a second. See what that matches. In fact, let's pull that up and just put them next to each other so we can kind of see what we got here. So, we have age. We have our working class state gov. Maybe final wage 77516. Education of bachelors. Education number 13. Marital never married. admin, clerical, relationship, not in family, so on and so on. So it goes all the way across here. And so we've pulled out this information, native country, label, etc. We'll go ahead and run this. And so now we've loaded all our different uh paths. And this path, by the way, this is the same columns on here. So I don't need to create a separate columns on the adult test. And once we've run this, we've set those variables. Let's go ahead and pull that data in. And to do that, we'll use pandas. and we'll create a df train, a df test. Uh, each one's going to have our pd for pandas read csv. It'll have our path we put in there, our path test. The first one went ahead and skipped initial space true names columns. There's our columns in there. Index column equals false. There's no index column. Um, on the second one, if we [snorts] went back into here and we open up adult test, let me just go ahead and open that up. Pad, you'll see there's an actual row up here. where we want to skip a 1x3 cross validator uh with all the same data in it. So we're looking at the same data in there and here we're going to go ahead and bring in our data and then once you bring it in it's always nice to see what kind of shape your data is in. And of course when we talk about shape we're talking about how many rows and columns not whether it's been lifting weights. We can see here we have each one has 15 columns and that goes with our columns right here. If we counted them there's going to be 15. And the first data set has 32,561 rows where the second one has 16,281 rows. And it's also good to see just how the data came in. So we'll use the um pandas uh dypes. We'll run that. And you can see here where age came in as an integer integer 64. Uh working class as an object uh which makes sense. Uh and then we have our FNL WGT the education as objects or well this is an integer integer object so on all the way down and if we flash back to the data we look at the last column it's less than or equal to 50k and if we scroll down enough we'll see it's also greater than or equal to 50k. So we'd like to kind of give that its own special setup on that label. So on that feature, we're going to set the label equal to um if it's less than or equal to 50k, it's going to be zero. And if it's greater than or equal to 50k, it's going to be one. Uh so it's one or the other. That's always a easy easy thing to read. And then we can take this and we can go dft train.l equals label item for item and dfra label. And this just loops through all the labels. There's a lot of ways we can do this. Pandas, this might be actually kind of a slower way. there's a way to do just that setup and do the logic within the um setup instead of doing a loop. Uh but for this this thing, it'll work fine. We're not dealing with a lot of data. You know, it's a large data set, but it's not that big of a data set as data goes. And we also want to do it for our test data. Um I didn't really mention that we created two. We're looking at two different data sets. One, we're going to train the data and then we're going to take it and run the test data to see if it works. So, we have our two different data sets and we didn't catch it off the bat. If if you were pulling up this, you're going to pull up one the um this is the training set. And if we go back in here and open up the test set, let me just go back and do that. Adult test. One of the thing that we didn't notice that you want to pull up is at the end there's a period. So, we're pre-processing our data. We want to make sure that we include that period in every line on the second setup. So, I go back to my Jupyter notebook. I've got to have a label t which is less than or equal to 50k period or greater than equal to 50k period for one. Otherwise, it's doing the exact same thing. We're going to change uh the df train label and the df test label to zero or one. We'll just run that. We'll go ahead and print uh the df train label value counts and the df test label value counts. This is always a good idea because we want to know is there any weird stuff going on there? if there's null values, stuff like that, this will turn up on that setup. And we can see here we have uh zeros, how many zeros, how many ones, and so on on there. Just a quick view of the data that we're going through. And if we go back up here, go ahead and print the uh train dypes again, and we run that, you can actually run it up there, and it give you the new answer cuz it's loaded this information. Uh we now see it's an integer. And if you go back up here, it was an object. So that makes life a little easier as far as what we're doing with this. Now, at this point, we're going to look at the data. And we can see we have a lot of numbers and we have a lot of categories in here. Uh so categories would be United States male never married versus seven. And we can also see that when we looked at this we have our integers we have our objects working class. So the next thing we want to do on there is we want to go ahead and take that uh where we have integers and the objects and we want to bring that down here. We want to create those categories in a way that the computer can see them. And we'll start with our uh continuous features like age. We can see age integer. FNL WGT is an integer. Capital gain is an integer. Educational number. There's our educational number as an integer and so on. Uh so if we're going to have these as continuous features where they're an integer, we also need to make a list of the categorical features we want to work with such as working class, education, marital, occupation, relationship, race, sex, and native country. And again, these are all objects. Uh, so that makes sense. And when we flip back over to the data, we can see here we're actually looking at United States. If we continue down, see if I can find another one. A lot of United States on this particular one. I was getting worried there for a second that we only had United States and it was a very biased uh census, which it probably is for wherever it came from. And of course, bachelors, associate, vocational, some college. Uh, so you can see this is more categorical versus an actual number. Uh so now we have our uh categorical and we have our continuous features and this is just the list of these. So let's go ahead and run that and load that list in there so we can now start manipulating our data with it. Now we get our first line of TensorFlow code which is exciting and we're going to create a variable continuous features. And what we're doing in here is we're going to go into TF uh feature columns. So we have the feature columns. We're going to set those up. numeric columns K for K in continual features. So this is going to go in here and says each one of these is a continual feature and we're going to feed that into the feature column. Not very exciting on the output uh cuz we're just creating this variable here letting it know what columns are what. Then we're going to create a uh relationship uh setup. So we have continuous features and then we have a relationship and again we're doing TF but in this case we use feature column. Uh so just like this one we're telling it feature column and now we do categorical column with vocabulary list. Uh so it's one of the things we can do with TensorFlow and we're going to feed it one we have uh relationship and so we're just drilling down to the relationship column and these are the options they had. So this is going to be the vocabulary attached to this column and we'll go ahead and run that. So we load up our relationship and then we're going to do one more uh way of loading. Uh, and this one we're going to do categorical features. And so in categorical features, we're going to do TF feature column. There's our um command we've already seen before. And it's going to be categorical column with hashbucket. We're going to create buckets. Uh, in this case uh for K and categorical features. So it's going to create a bucket for each one of these uh categorical features. And the bucket size is 1,000. So, we're looking at uh and we've actually kind of repeated something because relationship is also in the bucket setup on there, but we wanted to show you three major ways of loading in your different features. One is our features that we know where it's going to be a number. Uh so, our continuous features then we can set it as a relationship. Uh in this case, we actually created a vocabulary, husband, not family. Very clear vocabulary on there. And then we also are loading just general categories into buckets. You can set different bucket settings in here. We went ahead and just went with a thousand. So pretty much everything since there's not a huge number of categories, each one gets their own kind of bucket set up in there. And as far as the initial setup, we need to go ahead and create a model. And so this is where it starts to come together. We've um as far as the preset, we have our TF, we have an estimator. We're going to do linear classifier on the estimator in classes equals two. So we know there's only two classes we're looking at. We have ongoing train feature columns. And then we have our different we have categorical features plus continuous features. Uh so this basically creates our model what data is going in. And we'll go ahead and run this. And you can see here that it gives us a little information uh that we had our TensorFlow using default config. You can change a lot of defaults you can change as far as a model directory uh random seed saving summary checkpoints. There's all kinds of things you can go in here and set up. Rewrite options keep checkpoint mix etc. At this point, the model hasn't done anything. All we've done is create the model. Uh so let's just do a real quick rehash of what we've done so far. What we started off with is we grabbed some data. In this case, uh adult and adult test. We have a a training data set and a test data set. Uh we set the columns up. We took a very short brief exploration of the data and its shape. Um, as far as what we're working with, we changed our label around a little bit so that the label makes a little bit more sense of 01 instead of um, for the machine it's easier to spit out a zero or one. We can look up here. We double check to make sure we how many zeros and ones we have. Double check our data. Make sure it's integer 64. Nothing weird's going on. And then we looked at three different ways that we can kind of label the data as far as the way we're going to read it. Uh, we have our continuous features and a categorical features. Here's our relationship which is one of them. When we went ahead and created our model, we did not put the uh relationship in here. Uh which you can do. You can actually maybe take it out of um categorical and then have its own on here instead of having categorical features and continuous features and so on. Uh so we've created our setup for our model. The next thing we need to do is we need to go ahead and create a function letting it know how to read the data into our model. How are we going to train it? And let's go ahead and create two variables. Uh the first one is going to be features. This is just all the features that are in there. And then the second one is going to be our label. And this is basically um we're looking at all the different information we can put into it. And then is that person based on that information going to make less than or greater than 50k? That's what that comes down to. Now the next part uh the definition we're going to create has a lot in it and we're going to feed this definition into our model training. Uh so there's a lot of stuff that goes on here. First we'll call it get input in function. Def get input function. We have our data set number of epics equals none in batch equals 128 shuffle equals true. So we're running this and it's going to return a TF estimator inputs pandas input function. And in this case it's going to be x equals our pd dataf frame k data set k values for k and features. Y is PD series data set label values. Batch size equals inbatch. Number of epics equals number of epics. Shuffle equals shuffle. So [snorts] in here we're passing in uh the number of epics. We're not too worried about we're going to just go once through the data. There's a lot of data in there. We don't need to rerun it. Epics is how many times do you cover all the data and then how many groups of data do you pull in and batch at a time. So we're only going to look at 128 do the reverse propagation like we talked about. uh and then it'll go to the next batch and the next batch and the next batch and it shuffles them. So shuffle means that we're randomly picking where they're coming from. Uh and like again we're only doing we're not too worried about the number of epics for this particular model depending on how much data you have and depending on what you're running depends on how many epics you need to run and there's a lot of rules on how many epics you need to run. One of them is if your uh training data and your testing data because you'll check your testing data against your training data. If your testing data starts having a better results in your training data, that means you're no longer fitting towards the data, but you're fitting to the answer. Uh, so it's kind of these little weird things you start to on here. And TensorFlow is really cool because it actually checks a lot of that for you. Uh, but we're just going to set number of epics equal to zero. And then we have our data set going in. So we're creating our uh, get function. How do we get the data into training our model? And we'll go ahead and run that. So now we have our data function. And now it knows where the data is coming from. Uh so we need to go ahead and train it. And that's simply we take our model we created way up here. That's where we take the model there. We've told it what columns it's going to pull in. So it knows what columns it's looking at. Know what the definition where it's going to get the information from. So now we want to go ahead and train it. And here's our input function equals in this case get input function. And here we tell it that our data set is a df train. number of epics equals none, which is already automatically set up there. In batch equals 128, which is what we have up here. Shuffle equals false. And we're going to do 1,000 steps. So, we're actually going to go through 128 batches, but we're going to do that a thousand times. And we'll go ahead and run this. And I just ran an update, so it's going to be give me some warnings because of that update. And then we're back here, and it's still going. To construct pipelines, use TF data module. Not a big problem. We let it go ahead and run all the way through one here and it takes it just a moment. There we go. There's our thousand coming out. As you can see here, here's uh checkpoints for 10,00 ongoing training, 101 global steps. And this is just all the reverse propagation going on. That's what we're doing here. Uh one of the things we didn't cover is we do it in small increments. So it's not all done like one error goes all the way back. You'd only do a part of that error and each one sends back a little piece. since slowly adjust your different weights going all the way back. And then if you're going to train your model, we want to know how it did. So we're going to do model evaluate and our input function equals remember our input function up here that we created way up here. We're going to take this input function and instead of the data set that's coming in, we put in the data set here for training. Where's our training? Input train. There we go. df train. Uh now we're going to go ahead and evaluate. And here it is. Uh get input function test. So we're going to test the data out. Number of epics one. We don't need to rerun it more than once. Per batch 128. Uh so on shuffle and steps a thousand. So we're going to go ahead and evaluate this. Let's just see how good our test data did. Uh how good our model was programmed on our training data and how it evaluates on the test. And we can see it going on down here where it's got the evaluating graph was finalized. Let me just highlight that ongoing model checkpoint. TensorFlow running local init evaluate 100 out of a thousand and so on. And once it gets to the end, we get a nice uh output here. We have an accuracy in this case of.79 with a baseline of 76. So now we've created a model. Uh let's go ahead and tweak it a little bit. So we have our accuracy up here. What we're going to do is we're going to look at age. And let's just go ahead and create a new uh square value for age. And the reason we want to look into the square value of age is we know that if you really look through the data, you'll find that as a young person, the age keeps increasing. As you get close to retirement, it begins to decrease. Uh so we square the value of age. And that's very data specific. When we're looking at data, you'll find that any kind of data that has that kind of like uptick and down tick by squaring it or square rooting it, you can get some very different results. And so we're going to go and square our age. And this is kind of um it's interesting because at this point, even at the beginning of this, we're focused on deep learning and on TensorFlow. But before I would begin even looking at any of this, I would have probably run some kind of heat map or some kind of evaluation in R or sklearn in Python to find out the correlation between different features to see just how well they correlate to each other. And there certainly are some wonderful tools for that because sometimes you can just mark off some features and other features you bring in. But for the deep learning, we can see how we can just dump it all in there and let it uh sort it out itself. And we're going to just write a quick little function here to take the square variable. In this case, we have dft dft. This is our training and your test variable and the variable age coming in. And we just want to go ahead and create a new under dft. And the new is going to be the variable name whatever we put in there which will be age. Uh so let's load this. Here's our functions now loaded. And certainly we could have just done that as a line of code. Uh but you start to get the feeling that when you build these u functions you might use that. You can now use this function if you had a number of different features that had this kind of quality to them. And we have our DF train new. So we're going to create a new training and a new test. And it's going to equal the square variable DF train or DF test. And the variable name is age. Let's just go ahead and run that. And so now we have our new or DF train new and DF test new. And just like we did before, let's just double check the shape of our data and make sure it all matches. And when we look at the um output here, really what's important is that each one of these has 16 features in it. We want to make sure we're not getting something weird on there. And our training set has 32,561 rows in it. And this one has just over 16,000 in there. And everything's pretty much the same except that in our continuous features new, we now have the new column we put in there. So we need to change that. And we have our continuous features new down here, which we're going to load up with our TF feature column numerical. This should all look familiar because we just did this. And so we're going to load that up with the new being the new value in there. And let's go ahead and run that. And we'll create a model. We'll call it model one. And this is the same that we did before except now we have our continuous features new in here. Uh so here's our new model in this case model one instead of model. And we're going to build that model right there. Now we haven't trained it. All we've done is told it where to get the data and how to get the data and what features are coming in. We haven't actually told it everything on the features coming in because we still need to also build our f our um get input function. So where's the input coming from? So, we built the model with the features in it. And now we need to go ahead and create our get input function. This is the same as before, but you'll see um we now have it with the data set coming in is going to be the same data set up here. And so, if we scroll a little bit to the right, we should see the new. And there it is. Sure enough, there's our new on the right. And so, let's go ahead and run that. Now, we've defined our model. We defined where the information is coming from. And again, you can go back and review the first part because this is identical that we did before except now we have new as the column for the age. And we'll go ahead and do our model one. And let's go ahead and train it. There's our input function. Get input function that we defined up here. DF train is going to be the same. And everything else is going to be the same. Let's go ahead and run that. And it should go through here and run the tensor info coming in. And it's going to go through uh in this case what we have steps 1,00 shuffling. So it's going to go randomly 128 per batch. Uh and then the epics is automatic. We're not worried about that today. So now we have a trained TensorFlow model. And with our new model, just like we did before, we want to go ahead and evaluate it. Uh so it's the same setup we had before with our same get input function with our DF test new in here coming in. So there's our new data coming in. And this is really common when you're doing these models. You make little tiny tweaks to see if you can improve it. One of the best articles I read recently was you build your model to fail. You want a running model so that you actually have something to compare against and then you continually tweak it till you get a better accuracy. Now I don't expect the accuracy necessarily to get better on this uh because of the way we partition the data. But we can see here we now have an accuracy of.76 which is a little bit over the baseline and it's about what I would have expected it to be kind of the same. The reason is because we split the data at the 50 the people making over 50k and those making less. And so the age factor shouldn't be a huge factor. It would be if we were looking at more discrete buckets like 40 to 50, 50 to 60, 60 to 70 when we create buckets. But in this, I didn't really expect it to go up that much. In fact, we could probably run it a dozen times, which would be very bad data science. And we see we actually had a slightly better one up here, but our baseline accuracy was 76. And we come down here, we still see uh uh here's our accuracy baseline 763. That didn't really change. And you know, the accuracy didn't really go up that much. I could hit the run button a few times. I would probably upbeat the one above. It's not a big change, but that's all right. This is how we learn. This is how we go through and figure out what's going to work with our data and what's not. What's going to improve the quality of our data so we have a better prediction and what's not. And we can now go ahead and utilize this model. This is where it gets exciting when you're actually working with somebody or with your clients and you come in, you say, "Okay, here's my predictions. We're going to take a create a list and we're going to use model one and we're going to predict and our input function is get input function df test new." Again, this probably doesn't make too big of a difference, but we'll go ahead and stick with the new data we created. Number of epics one batch 128. So, all this should look pretty familiar, but we're running the prediction. So, we're going to load all our predictions into the predictions. And let's go ahead and run that. And you'll see it go through the TensorFlow setup. And so it's running done running local ops. And then let's just go ahead and print the df test new i location zero. So row zero. And we're going to look at the predictions also for the same location zero. Let's go ahead and run that. And we can see here that we have age 25 workass private. Um it has all the information coming in for that individual. And then it comes down here and we go ahead and get our um prediction. And in this particular instance, there's our label zero. Uh, and then we come down here and we see takes a little bit for the setup to look up, but there's our array, which also returns a zero. And it has information for us on there. Probabilities, logistics on here. So, you can see there's all kinds of additional information you can pull from this. And likewise, we could do it for position three. Let me go and run that. And what's kind of nice about this is you can now see here's label one, and here's our logistics output. And again, have to kind of hunt for it a little bit in this particular setup, but here's the output array, and there's our one. and they match label one one. So we predicted for the very first one uh location zero that it's going to be a zero on the label is going to make under 50,000 and the individual in two working class uh private whatever setup on here capital gain capital loss etc came up as one meaning they're going to make over 50,000. So, we covered a lot. I mean, this is the basics. And you can see as you dig deeper, when you look at some of this code, let me just go back up here. We're way back up here at the very top. A little too far, overshot. As you start working in here, we have uh one, defining your features. And at this point, we didn't show this, but I would probably use either Python or R to show a relationship correlation because they have some really easy packages in there to pull that up. So, you can see what features are really connected and how they're connected. Uh and then we showed you different features like we have ones that are u integers and then we have ones like sex that are objects you're zero or one you're male or female you're uh same thing with race probably have just a maybe 16 different races listed there ethnicities things like that native country again that's you don't have like infinite number of native countries you just have a handful so we look at this we have our features we looked at that we have our continuous features like age which is a number or in this case an integer and education number, how many years and so on along with your race, your sex, your relationship, which are just very abbreviated uh categorical data. Uh so we looked at that, we went in there and we showed you how to um where was it? Here we go. We go back up here. Uh so we create our model. The model has knows what categories are coming in. That's really important. And this is probably the one of the more complicated parts of this is our input function. And this input function is so important. So I want to just rehash the input function for that reason. Uh this lets us know how we're pulling the data. It lets us know um if we're going to go through all the data 20 times um or we're going to let the or we're just going to let TensorFlow itself keep going until the training model reaches a point. That point is based on uh what they call bias. You can become biased on your training data. And so when it hits a certain point where it becomes overly biased to just that data, then it doesn't really work really good in the outside world, you start losing when you keep it generic, but as close as possible to the right answer. Uh so generic answers for a huge amount of data. And then we have our batch size. Are we going to shuffle it, which we did? And then also our estimator inputs. Uh so you have your estimator function here. And then of course where the actual data is coming from. So you can see all this is in that get input function. That's where a lot of the work comes in putting this together. And then we train our model. Um, that's pretty straightforward. Once you have your input function and all your setup, training the model is quick. And then we go ahead and evaluate. And then we can go ahead and create a predict. And then, you know, look at our predictions and how they work on individuals. Uh, so it's pretty it gives you a whole roundabout setup on here and how this is set up and how it's working. Certainly, there are um a lot more things you can do with TensorFlow. This is the basic TensorFlow and it's always developing. So it's exciting. This is going to be one of the most exciting fields right now because it is really in an infant stage and just exploding in the market. >> This tutorial is about object detection. We will walk you through a tensorflow code using which we will do object detection in images. We will tell you what are the libraries that are required a little bit about the cocoa data set and then we will show you the implementation code itself. A demo of the code. All right. So let's get started. So what is the TensorFlow object detection API? This is an open-source framework which is actually provided by the TensorFlow team and there are trained models available and the sample code is also available which we can use in order to easily detect objects in images and videos. This is pretty robust and can detect objects fairly quickly. And this is very easy for people to use as well. People with very less or no knowledge of machine learning or deep learning can also with a little bit of Python programming knowledge can actually use this API this library to build object detection applications. This is a list of libraries that are required and they have been shown in the code as well. The exact purpose of each of this library why it is required is out of the scope of this tutorial. But we will see in the code as we walk through some of these libraries how and why they are used. The KCO data set KCO stands for common objects in context. So this data set consists of 300,000 images of uh 90 most commonly found objects like chairs and tables and so on and so forth. So this model has been trained or in fact a set of models have been trained on this data set and this is pretty good to detect the most common objects in the images and videos. So with that let's get into the code. All right. So the first part is to import all these libraries and this we have shown you in uh the slides as well. Again a large part of this will be for doing some helper functions and maybe for visualizing the images and so on and so forth. So that's the reason they are required. As I said the exact details of each and every library probably is out of scope but these are needed. So as a first step maybe you just go ahead and include these libraries and run the code and maybe at later point we can discuss what each of these libraries does. Now this will work with TensorFlow version higher than 1.4. So if you are having TensorFlow version below 1.4 you may have to upgrade to a higher version. So let me go ahead and execute this cell. And u we also need this line of code to make sure that once we run this object detection the labeled images are displayed within this uh notebook. And many of you by now must be familiar with this and we will import a few utility libraries and you will see that we will be using some of these for visualization purpose. So once the objects are detected, we need to display the information what that object is and then what percentage of confidence the model has. So all these details that's the utility functions that stored here and then the next part is to prepare the model. As I mentioned we will be using an existing trained model. The TensorFlow team has actually provided these models. The one that we will be using is SSD with the mobile net, but you can actually use any one of the ones that are listed in this URL. Let me just quickly take you through this URL. These are a bunch of models, trained models that are readily available for anybody to use. It is open source. And let me scroll down. The only thing is that if there are some of them where the accuracy is much higher but they take longer and there are some where the accuracy is not so high and they are much faster. So they are faster but the accuracy may not be that very high. So you can play around with some of these and we in this particular exercise or in this particular tutorial we are using this SSD model which is SSD mobile net version one. So that's the model that we'll be using. So in this cell we are primarily creating a bunch of variables with the various for example the name of the model the path and so on and so forth. So that we will be using these names in the next step which is to download this model and install it locally. These are also referred to as frozen models. So once they are trained and then you kind of extract or uh you you freeze the model. So that's the reason they are called frozen model so that others can just use this without any further training. So this is where we download and extract our model locally. So this will take a little while. Let me see if I can wait or maybe pause the video and come back once it is done. Might take a little while. Let's see if it uh completes. I have a pretty high-speed network but even then it takes some time. So that's good. But this part is over. So now let us see this part and yes both are done. So once that is done we need to load some label mapping. Basically what this will do is your model as you may be aware by now if you do some classification. The model will actually not give any output as a text. It will give some numbers. So if there are five classes it will say okay this belongs to class one or two or three or five and so on the numbers. Now each of these will obviously the numbers will not make any sense to the outside world. So we need to do some small mapping. So in this case let's say one may be a chair, two may be a table, three may be a balloon and so on. So that kind of number to text mapping we need to do and that is what is being done in this particular cell. And then we have a helper code which will load the image and convert it into a numpy array. So that the number array is what gets processed and used by the model to do the detection part of it. So that is what this uh method is all about. So we will be that later on we will be calling that function. And next is preparation for detection. So here we are basically telling where the images are stored and how many images or what is the naming convention or format of the images. Now if you want you can modify this code. For example, currently I have test images as my folder. So let me go and show this to you. So this is under my object detection folder. I have another subfolder where I'm storing my images which is text images. Now you can rename this folder and give some other name and then in your code you can probably give that particular name for the subfolder. Similarly the format of these files. What is the name and format of this files? Here it is in a very simple format which is the names of the files are like beach one, beach 2, beach 3 and so on. So I have taken beach as the theme. So I have images which are related to beaches. So this is beach one, beach two and then beach three. I have a few others but we will use these three for our demo. And so that's what I'm saying here. The name of the images will be beach something.jpeg which is uh JPEG format. And in this curly braces basically we will will be filled with either 1 2 or three based on in this particular for loop. Okay. So that is what this is doing. All right. So the next step is to run inference on these images in a loop. And what we are basically doing here is um getting these images one by one and then running through the model to find out what are the objects that can be detected. And then against each of the object a box will be drawn and it will be labeled with the name and the percentage of accuracy or confidence that the model detects these objects. Okay, so that is u the function here and so let me just run that piece of code and here is basically where we are calling this function. So we are loading this images and then we are calling this function for each image and then we are displaying this using the mattplot lab library. So let's uh run this. It will take one image at a time and then detect the images. Now the beauty is that the same format of the code can be used for doing object detection in a video. So we have another video for doing object detection in a video. So most of the code out there will be reused from here and the only thing is that instead of reading the images from the local storage, we read the frames from the video and there is a neat little video reader that is available and it will be shown in the other video and frame by frame we read the video and then pass on to this function and it will act as if each of these frames is an image and then it will do the same object detection on the entire video. So that's in a separate video. Just uh look out for that. And actually the information about that is uh provided uh in the cards the I symbol. So that's the the video object detection in video that's the separate uh tutorial. All right. So now that we have all the pieces together, this the last cell is where the whole action takes place. So let's uh run this and see how it looks. So it will take probably a little while and there are about three images. Let's see what it detects. There we go. So good. So the first one it has detected a person and that two with 97% accuracy which is uh I think pretty good. Okay. And then the next image it detects umbrella and chair. There are few other objects but it's not able to detect. It has detected umbrella with 63% accuracy or confidence rather and the chair with 58%. Again, not bad. Then let's see the next image. So here these are actually balloons, hot air balloons, but the model thinks it is a kite, which is uh probably not that bad. It sees there's something in the sky and therefore probably it thinks it is a kite and it detects that with 65% uh confidence. Okay, so that was pretty much all I wanted to show you in this particular tutorial about uh object detection in images. >> Simply learn welcomes you to machine learning versus deep learning versus artificial intelligence. some of the most exciting technologies evolving in today's world. My name is Richard Kersner and I'll be hosting this talk for SimplyLearn. Before we start covering the basics of these three topics and how they connect and how they are different, let's just look at a few examples so we get an understanding of what's going on. Here's an example of artificial intelligence in today's world. Amazon Echo. Uh Amazon Echo is a wonderful tool. We can go in there and you can say, "Hey Alexa, what's the temperature in Chicago?" And the Amazon Echo then translates that into zeros and ones and something the computer understands. Then it comes in and processes that information to identify what you're asking and what you need and where to get that information. And then it comes back and says the current temperature in Chicago is 6 degrees Fahrenheit or whatever it is at the moment. Uh so this is a wonderful example of artificial intelligence that we're using right now today and where that's at as far as a commercial deployment. Machine learning a machine learning example out there is Google. You're on your Google search engine. It comes up. You spend a lot of time on the first link you come into and you read the page and uh Google looks at that and says, "Okay, he spent five minutes on this. Let's give it a thumbs up." And then you go to the second page and the third page. you just kind of skip over them and glance at them for a couple seconds and Google says, "Ah, I wasn't interested in those pages. Let's give them a thumbs down." Uh, so this is a good example of machine learning as it starts guessing what you like and what you don't like. So it gives you more information along what you're going to read and actually use. And then we have an example of deep learning. Uh, in this example, we have a black and white image. It comes into, in this case, a neural network. Some people like to call it a magic box because you really it's hard to follow all that's going on in there. There's all these different weights and connections and nodes and then it comes out and colors the beach ball, the people, the background. What's going on in here is a black and white image goes into this neural network and before it's ever gone in the neural network has looked at all these different pictures on the web or wherever it pulls the data from and it's already itemized them and kind of separated them that uh we have some that look like beach balls, we have some that look like people and it programs that so that when the black and white image comes in it goes, okay, that piece right there resembles this and all these other photos. uh and the neural network is able to identify that and then color the beach ball with the colors uh that you see on there. So it gives it a this is really wonderful because they did a wonderful job coloring this picture and that's the full setup is where the deep learning example comes in and they usually center around neural networks. So we looked at a few examples. What's in it for you? First we're going to talk about human versus artificial intelligence. This is very important because this is our marker. We as humans are amazing and so we want to understand how artificial intelligence compares and what it does that it can accelerate above humans and how it can integrate with the human experience. What is machine learning and deep learning all about? Are they really all that different? We'll have a few more examples in here and then we'll talk a little bit about types of AI and machine learning and comparing machine learning and deep learning and finally a glimpse into the future. human versus artificial intelligence. Humans are amazing. Let's just face it. We're amazing creatures. We're all over the planet. We're exploring every nich and nook. We've gone to the moon. Uh we've gone into outer space. We're just amazing creatures. We're able to use the available information to make decisions, to communicate with other people, identify patterns and data, remember what people have said, adapt to new situations. So let's take a look at this. So, so you can get a picture. You're a human being, so you know what it's like to be human. Let's take a look at artificial intelligence versus the human. Artificial intelligence develops computer systems that can accomplish tasks that require human intelligence. So we're looking at this. One of the things that computers can do is they can provide more accurate results. This is very important. Recently I did a project on cancer where it's identifying markers and as a human being you look at that and you might be uh looking at all the different images and the data that comes off of them and say I like this person so I want to give them a very good um outlook and the next person you might not like. So you want to give them a bad outlook. Well with artificial intelligence you're going to get a consistent prediction of what's going to come out. Interacts with humans using their natural language. We've seen that as probably the biggest development feature right now that's in the commercial market that everybody gets to use as we saw with the example of Alexa. They learn from their mistakes and adapt to new environments. So we see this slowly coming in more and more and they learn from the data and automate repetitive learning. Repetitive learning has a lot to do with the neural networks. You have to program thousands upon thousands of pictures in there and it's all automated. So, as today's computers evolve, it's very quick and easy and affordable to do this. What is machine learning and deep learning all about? Imagine this. Say you had some time to waste. Not that any of us really have a lot of time anymore to just waste in today's world. And you're sitting by the road and you have a whole lot of and a whole lot of time passes by. Here's a few hours and suddenly you wonder how many cars, buses, trucks, and so on passed by in the six hours. Now, chances are you're not going to sit by the road for six hours and count buses, cars, and trucks unless you're working for the city and you're trying to do city planning and you want to know, hey, do we need to add a new truck route? Maybe we need a bicycle length. We have a lot of bicyclists here. That kind of thing. So, maybe city planning would be great for this. Machine learning. Well, the way machine learning works is we have labeled data with features. Okay? So, you have a truck or a car, a motorcycle, a bus or a bicycle. And each one of those are labeled. It comes in and based on those labels and comparing those features, it gives you an answer. It's a bicycle, it's a truck, it's a motorcycle. Let's look a little bit more in depth on this. In the model here, it actually the features we're looking at would be like the tires. someone sits there and figures out what a tire looks like. Takes a lot of work if you try to try to figure the difference between a car tire, a bicycle tire, a motorcycle tire. Uh so in the machine learning field, this could take a long time if you're going to do each individual aspect of a car and try to get a result on there. And that's what they did do. That was a very This is still used on smaller amounts of data where you figure out what those features are and then you label them. Deep learning. So with deep learning, one of our solutions is to take a very large unlabeled data set and we put that into a training model using artificial neural networks and then that goes into the neural network itself and we create a neural network. And you'll see um the arrows are actually kind of backward, but uh which actually is a nice point because when we train the neural network, we put the bicycle in and then it comes back and says if it said truck, it comes back and says, well, you need to change that to bicycle. And then it changes all those weights going backward. They call it back propagation and let it know it's a bicycle. And that's how it learns. Once you've trained the neural network, you then put the new data in. And they call this testing the model. So you need to have some data you've kept off to the side where you know the answer to and you take that and you provide the required output and you say okay is this is this neural network working correctly. Did it identify a bike as a bike, a truck as a truck, a motorcycle as a motorcycle. Let's just take a little closer look at that determining what objects are present in the data. So how does deep learning do this? And here we have the image of the bike. It's 28x 28 pixels. That's a lot of information there. Um, could you imagine trying to guess that this is a bicycle image by looking at each one of those pixels and trying to figure out what's around it? Uh, and we actually do that as human beings. It's pretty amazing. We know what a bicycle is. And even though it comes in as all this information and what this looks like is the image comes in, it converts it into a bunch of different nodes. In this case, there's a lot more than what they show here. And it goes through these different layers and outcomes and says, "Okay, this is a bicycle." A lot of times they call this the magic black box. Why? Because as we watch it go across here, all these weights and all the math behind this and it's not it's a little complicated on the math side. You really don't need to know that when you're programming or doing working with the deep learning, but it's like magic. You you don't know you really can't figure out what's going to come out by looking what's in each one of those dots and each one of those lines are firing and what's going in between them. So we like to call it the magic box. Uh so that's where deep learning comes in. And in the end it comes up and you have this whole neural network comes up and it says okay we fire all these different pixels and we connects all these different dots and gives them different weights and it says okay this is a bicycle and that's how we determine what the object is present in the data with deep learning machine learning. We're going to take a step into machine learning here and you'll see how these fit together in a minute. The system is able to make predictions or take decisions based on past data. That's very important for machine learning is that we're looking at stuff and based on what's been there before, we're creating a decision on there. We're creating something out of there. We're coloring a beach ball. We're telling you what the weather is in Chicago. What's nice about machine learning is a very powerful processing capability. It's quick and accurate outcomes, so you get results right away. Once you program the system, the results are very fast and the decisions and predictions are better. They're more accurate. They're consistent. You can analyze very large amounts of data. Some of these data things that they're analyzing now are pabytes and terabytes of data. It would take hundreds of people hundreds of years to go through some of this data and do the same thing that the machine learning can do in a very short period of time. And it's inexpensive compared to hiring hundreds of people. So it becomes a very affordable way to move into the future is to apply the machine learning to whatever businesses you're working on. And deep learning systems think and learn like humans using artificial neural networks. Again, it's like a magic box. Performance improves with more data. So the more data that deep learning gets, the more it gives you better results. It's scalability. So you can scale it up, you can scale it down, you can increase what you're looking at. Currently, you know, we're limited by the amount of computer processing power as to how big that can get, but that envelope continually gets pushed every day on what it can do. Problem solved in an end toend method. So, instead of having to break it apart and you have the first piece coming in and you identify tires and the second piece is identifying uh labeling handlebars and then you bring that together that if it has handlebars and tires, it's a bicycle. And if it has something that looks like a large square, it's probably a truck. The neural networks does this all in one network. You don't really know what's going on in all those weights and all those little bubbles. Uh but it does it pretty much in one package. That's why the neural network systems are so big nowadays and coming into their own. Best features are selected by the system and it this is important. They kind of put it it's on a bullet on the side here. It's a subset of machine learning. [snorts] This is important when we talk about deep learning. It is a form of machine learning. There's lots of other forms of machine learning, data analysis, but this is the newest and biggest thing that they apply to a lot of different packages. And they use all the other machine learning tools available to work with it. And it's very fast to test. Um, you put in your information, you then have your group of uh test and then you held some aside, you see how does it do. So it's very quick to test it and see what's going on with your deep learning and your neural network. Are they really all that different? AI versus machine learning versus deep learning concepts of AI. So we have concepts of AI. You'll see natural language processing. Uh machine learning an approach to create artificial intelligence. So it's one of the subsets of artificial intelligence. Knowledge representation, automated reasoning, computer vision, robotics, machine learning versus AI versus deep learning or AI and machine learning and deep learning. So when we look at this, we have AI with machine learning and deep learning. And so we're going to put them all together. We find out that AI is the big picture. We have a collection of books. It goes through some deep learning. The digital data is analyzed. text mining comes through the particular book you're looking for or maybe it's a genre books is identified and in this case uh we have a robot that goes and gives a book to the patron I have yet to be at a library that has a robot bring me a book but that will be cool when it happens. Uh as we look at some of the pieces here this information goes into uh there as far as this example the translation of the handwritten printed data to digital form. That's pretty hard to do. That's pretty hard to go in there and translate hundreds and hundreds of books and understand what they're trying to say if you've never read them. So in this case, we use the deep learning because you can already use examples where they've already classified a lot of books and then they can compare those texts and say, "Oh, okay. This is a book on automotive repair. This is a book on robotic building." The digital data is in analyzed. Then we have more text mining using machine learning. So maybe we'd use a different program to do a basic classify u what you're looking for and say oh you're looking for auto repair and computers. So you're looking for automated cars. Once it's identified then of course it brings you the book. So here's a nice summation of what we were just talking about. AI with machine learning and deep learning. Deep learning is a subset of machine learning which is a subset of artificial intelligence. So you can look at artificial intelligence as the big picture. How does this compare to the human experience in either uh doing the same thing as a human we do or it does it better than us? And machine learning which has a lot of tools uh is something that learns from data past experiences. It's programmed. It's uh comes in there and it says hey we already had these five things happen. The sixth one should be about the same. And then uh then there's a lot of tools in machine learning but deep learning then is a very specific tool in machine learning. It's the artificial neural network which handles large amounts of data and is able to take huge pools of experiences, pictures and ideas and bring them together. Real life examples, artificial intelligence, news generation, very common nowadays is it goes through there and finds the news articles or generates the news based upon the news feeds or the uh backend coming in and says, "Okay, let's give you the actual news based on this." There's all the different things. Amazon Echo, they have a number of different Prime Music on there. Of course, there's also the Google Command and there's also Cortana. There's tons of smart home devices now where we can ask it to turn the TV on or play music for us. That's all artificial intelligence from front to back. You're having a human experience with these computers and these objects that are connected to the processing. Machine learning uh spam detection very common machine learning doesn't really have the human interaction part. So this is the part where it goes and says okay that's a spam that's not a spam and it puts it in your spam folder. Search engine result refining. Uh another example of of machine learning whereas it looks at your different results and it go and it uh is able to categorize them as far as this had the most hits, this is the least viewed, this has five stars. Um you know however they want to weight it. Uh allam good examples of machine learning. And then the deep learning uh deep learning another example is as you have like a exit sign in this case is translating it into French sort I hope I said that right. Um neural network has been programmed with all these different words and images and so it's able to look at the exit in the middle and it goes okay we want to know what that is in French and it's able to push that out in French and learn how to do that. And then we have chat bots. Um, I remember when Microsoft first had their little paperclip. Um, boy, that was like a long time ago that came up and you would type in there and chat with it. These are growing. You know, it's nice to just be able to ask a question and it comes up and gives you the answer. And instead of it being where you're just doing a search on certain words, it's now able to start linking those words together and form a sentence in that chat box. Types of AI and machine learning. types of artificial intelligence. This and the next few slides are really important. So, one of the types of artificial intelligence is reactive machines. Systems that only react. They don't form memories. They don't have past experiences. They have something that happens to them and they react to it. My washing machine is one of those. If I put a ton of clothes in it and they had all clumped on one side, it automatically adds a weight to resitter it. So that my washing machine is actually a reactive machine working with whatever the load is and keeps it nice and so when it spins it doesn't go thumping against the side. Limited memory. Another form of artificial intelligence systems look into the past information is added over a period of time and information is short-lived. When we're talking about this and you look at like a neural network that's been programmed to identify cars, it doesn't remember all those pictures. It has no memory as far as the hundreds of pictures you process through it. All it has is this is the pattern I use to identify cars as the final output for that neural network we looked at. So when they talk about limited memory, this is what they're talking about. They're talking about I've created this based on all these things, but I'm not going to remember any one specifically. Theory of mind systems being able to understand human emotions and how they affect decision-m to adjust their behaviors according to their human understanding. This is important because this is our pagemark. This is how we know whether it is an artificial intelligence or not. Is it interacting with humans in a way that we can understand? Uh without that interaction is just an object. Uh so we talk about theory of mind, we really understand how it interfaces. That whole if you're in web development, user experience would be the term I would put in there. So theory of mind would be user experience. How's the whole UI connected together? And one of the final things is as we get into artificial intelligence is systems being aware of themselves, understanding their internal states and predicting other people's feelings and act appropriately. So as artificial intelligence continues to progress, uh we see ones are trying to understand well what makes people happy? How would they increase our happiness? Uh how would they keep themselves from breaking down if something's broken inside? They have that self-awareness to be able to fix it. And just based on all that information, predicting which action would work the best, what would help people. Uh if I know that you're having a cup of coffee first thing in the morning is what makes you happy as a robot, I might make you a cup of coffee every morning at the same time uh to help your life and help you grow. That'd be the self-awareness is being [clears throat] able to know all those different things. Types of machine learning. And like I said on the last slide, this is very important. This is very important. If you decide to go in and get certified in machine learning or know more about it, these are the three primary types of machine learning. The first one is supervised learning. Systems are able to predict future outcome based on past data. Requires both an input and an output to be given to the model for it to be trained. So in this case, we're looking at anything where you have 100 images of a bicycle and those 100 images, you know, are bicycle. So it's they're preset. Someone already looked at all 100 images and said these are pictures of bicycles. And so the computer learns from those and then it's given another picture and maybe the next picture is a bicycle and it says, "Oh, that resembles all these other bicycles, so it's a bicycle." And the next one's a car. And it says, "It's not a bicycle." That would be supervised learning because we had to train it. We had to supervise it. Unsupervised learning. systems are able to identify hidden patterns from the input data provided by making the data more readable and organized. The patterns, similarities, or anomalies become more evident. Uh you'll heard the term cluster. How do you cluster things together? Some of these things go together, some of these don't. This is unsupervised where it can look at an image and start pulling the different pieces of the image out because they aren't the same. The human, all the parts of the human are not the same as a fuzzy tree behind them. is slightly out of focus, which is not the same as the beach ball. It's unsupervised because we never told it what a beach ball was. We never told it what the human was, and we never told it that those were trees. All we told it was, "Hey, separate this picture by things that don't match and things that do match and come together." And finally, there's reinforcement learning. Systems are given no training. It learns on the basis of the reward punishment it received for performing its last action. It helps increase the efficiency of a tool function or a program. Reinforced learning or reinforcement learning is kind of you give it a yes or no. Yes, you gave me the right response. No, you didn't. And then it looks at that and says, "Oh, okay. So based on this data coming in, uh, what I gave you was a wrong response. So next time I'll give you a different one." Comparing machine learning and deep learning. So remember that deep learning is a subcategory of machine learning. So it's one of the many tools. And so they we're grouping a ton of machine learning tools all together. Linear regression, K means clustering. There's all kinds of cool tools out there you can use in machine learning. Enables machines to take decisions to make decisions on their own based on past data. Enables machines to make decisions with the help of artificial neural networks. So it's doing the same thing, but we're using an artificial neural network as opposed to one of the more traditional machine learning tools. needs only a small amount of training data. This is very important when you're talking about machine learning. They're usually not talking about huge amounts of data. We're talking about maybe your spreadsheet from your business and your totals for the end of the year. When you're talking about neural networks, usually need a large amount of data to train the data. So, there's a lot of training involved. If you have under 500 points of data, that's probably not going to go into machine learning. Or maybe you have like the case of one of the things 500 points of data and 30 different fields. It starts getting really confusing there in artificial intelligence or machine learning and the deep learning aspect really shines when you get to that larger data that's really complex. Works well on a low-end systems. So a lot of the machine learning tools out there you can run on your laptop no problem and do the calculations there. where with the machine learning usually needs a higherend system to work. It takes a lot more processing power to build those neural networks and to train them. It goes through a lot of data. We're talking about the general machine learning tools. Most features need to be identified in advanced and manually coded. So there's a lot of human work on here. The machine learns the features from the data it is provided. So again, it's like a magic box. You don't have to know what a tire is. It figures it out for you. The problem is divided into parts and solved individually and then combined. So machine learning you usually have all these different tools and use different tools for different parts. And the problem is solved in an end toend manner. So you only have one neural network or two neural networks that is bringing the data in and putting it out. It's not going through a lot of different processes to get there. And remember you can put machine learning and deep learning together. So you don't always have just the deep learning solving the problem. we might have is solving one piece of the puzzle. With regular machine learning and most of machine learning tools out there, they they take longer to test and understand how they work. And with the deep learning, it's pretty quick. Once you build that neural network, you test it and you know. So, we're dealing with very crisp rules, limited resources. You have to really explain how the decision was made when you use most machine learning tools. But when you use the deep learning tool inside the machine learning tools, the system takes care of it based on its own logic and reasoning. And again, it's like a magic black box. You really don't know how it came up with the answer. You just know it came up with the right answer. A glimpse into the future. So, a quick glimpse into the future. Artificial intelligence using it to detecting crimes before they happen. Humanoid AI helpers, which we already have a lot of. There'll be more and more. Maybe it'll actually be androids. That'd be cool to have an android that comes and gets stuff out of my fridge for me. Machine learning, increasing efficiency in health care, that's really big in all the forms of machine learning. Better marketing techniques. Any of these things, if we get into the sciences, it's just off the scale. Machine learning and artificial intelligence go everywhere. And then the subcategory deep learning, increased personalization. So, what's really nice about the deep learning is it's going to start now catering to you. That'll be one of the things we see more and more of. And we'll have more of a hyper intelligent personal assistant. I'm excited about that. What we have learned so far, we covered artificial intelligence. In this case, the uh AI versus the human. We did a lot of that. So, we have a page marker of human interaction. We discussed machine learning and all their different parts. And then we discussed the deep learning aspect. We went into uh AI and machine learning and deep learning how they're all subcategories of each other. Very important to remember that uh artificial intelligence is a big picture. Machine learning is a category in artificial intelligence and then deep learning is a tool in machine learning. We talked of all the aspects in the machine learning and deep learning and how they compare. And we took a quick glimpse into the future and all the different uh I'm sure you can come up with many more examples of where it's coming out in our future. but we looked at a few of them so you have some ideas of where this is going and all the different wonderful opportunities are going to come out with it. Welcome to today's lesson. My name is Richard Kersner. I'm with the SimplyLearn team. Today we want to discuss the very basics of a neural network and what that is. So what's in it for you today? What is deep learning? What is artificial neural network? How does neural network work? Advantages of a neural network. Applications of a neural network and the future of neural networks. Let's start with a brief history of the artificial intelligence. Hello, I am the human brain. This one's seeking enlightenment and has sat and meditated. I am the most complex organ in the human body and I help you to think, understand, and make decisions. And the secret behind all my power is a neuron. I'll get back to that in some time. Ever since the 1950s, scientists have been trying to mimic the functioning of a neuron and use it to build smarter robots. After a lot of trial and error, humans finally designed a computer that can recognize human speech. It was only after 2000 that humans were able to give birth to deep learning that was able to see and distinguish between different images and videos. So looking at that, let's dive into what is deep learning. Now your first thought might be it's the opposite of shallow learning. No, deep learning I liken to a magic box. And let's go in there and just take a look as to why it's kind of a magic box. So what exactly is deep learning? These are the images of dogs. Deep learning is a machine learning technique that teaches computers to do what comes naturally to humans. Learn by example. The robot gets trained with photos as example. Now, this is very different than hardwiring a computer program so that it recognizes something. It actually learns. And that's where it's a magic box because you don't really control how it learns. You control the aspects that go in. The computer comes back and says, "Wait, I know what you are looks at the photograph of the dog and it's able to identify that it saw in the images and says you are a dog woof woof. So that's an example of deep learning. You'll notice we didn't go in we'll go into the actually how it works behind the scenes for a neural network. But there's a bit of filling of magic and that's where the term deep learning comes in and that's also the term where I like to call it a magic box. You put these things in here into the program and it starts running the deep learning and you have to understand those settings but you don't have to follow the exactly what's going on in the deep learning model. That brings us to the question, how does deep learning do it? Remember the neuron? Scientists managed to build an artificial form of it that powers any deep learning based machine. So let's talk about artificial neural networks. What is an artificial neural network? To understand how an artificial neuron works, we need to understand how the real one works. First, we have a dendrite input to the neuron. And you can see these little hairs that come in and they receive information. Then we have the cell body information processing happens here. So it takes all these different dendrite and information coming in from the different dendrites and it looks at that information and then you have your axon which is the output to the neuron. So there goes your axon and you see it goes all the way out and at the very end it flanges out and each one of those little flanges connects to the dendrite or the hairs on the next one. Now let's see what an artificial neural network looks like. So an artificial neural network we have an input layer. So that could be an array of data. Each one of those white dots and the yellow bar would represent say a pixel in a picture. Then you have the lines that connected to the hidden layers which are your weights and they add all those up on the hidden layers and each one of those dots kind of like a cell does something with all the inputs and then it puts an output into the next hidden layer and so on into the output layer. So information processing happens here. Input to the neuron, output to the neuron. So you can see how they are similar. We have an input which is our yellow bar coming in and then you liken each of the hidden layers to being a neuron and it passes it to the next one and so on and then you have an output to the next neuron or an output to the real world. A neural network is a system of hardware and/or software pattern after the operation of neurons in the human brain. Neural networks also called artificial neural networks is a way of achieving deep learning. How does artificial neural networks work? Let us find out how does an artificial neural network work. Hey Siri, what is the time now? It's 12:30 in the morning. Thanks. Let's find out how she recognizes speech. Here is a neural network and the different layers on it. So we have our input layer, our hidden layers, and the output layer. This is the sentence that needs to be recognized by the network. What is the time? So when it comes in, each one comes in as a pattern of sound. So what is the time? First, let's consider the word what. and you have wh a t and you can see each one of those in the sound bar probably looks a little different than that just a representation comes in as a different pattern. Now we will split the soundwave for the letter W into smaller segments. So we split off W and then we take W and we analyze just W. As the amplitude is varying in the soundwave for W, we collect the values at different intervals and form an array. So we have 0.5 1.5 1.7 1.9 that might be the different amplitudes coming in and we feed the array of amplitudes to the input layer. So each one of those goes into its own box on the input layer. Random weights are assigned to each interconnection between input and hidden layer. So remember all those little lines I said those are special weights. Now we're going to start by doing it randomly. We always start with random because if you start with some kind of preset identical pattern like if you set them all to three take forever to train it and you're less likely to get a good result where random works really well in this. The weights are multiplied with the inputs and a bias is added to form the transfer function. So we make a sum of all the weights times a value. So you take 0.5 which is your x coming in and we're going to multiply that by w1 w2 w3 so on. And then we get to the next level we're going to add those together coming in what's coming in. So we add the weight times x and there's always a bias added in. If you ever build your own neural network, don't forget to add the bias in otherwise tends to not work quite as well. You need that extra layer in there to help it. Weights are assigned to the interconnection between the hidden layers. The output of the transfer function is fed as an input to the activation function. So the output from one hidden layer becomes the input to the next hidden layer. Acoustic model contains the statistical representation of each distinct sound that makes a word. And so we start building these acoustical models and as these layers separate them out they'll start learning what the different models are for the different letters. Lexicon contains the data for different pronunciations of every word. So we have the lexicon at the end where we end up with the ABC D and it identifies the different letters in there. Now the term acoustic model and the term lexicon are specific to this domain. The domain of understanding speech. Certainly when you're doing photographs and other things, you'll have different labels on here, but the process is going to be the same. And finally, we get our output later. Following the same process for every word and letter, the neural network recognizes the sentence you said. What is the time? So, it identifies a wh and then identifies that that's one word. What is the time? And so on. It's 12:30. That way, Siri can look up the time and read it back to you. So, let's look at the advantages of an artificial neural network. So gentlemen, could you tell me the advantages of an artificial neural network? It's amazing how many times I've been in that situation where I have to explain to the people making the decisions in the company. It's amazing how many times I've been in that space where I have to explain to the owner of the company what the artificial intelligence and the neural network actually do. What are the advantages of an artificial neural network and what it can do for them and how it works. So an artificial neural network outputs aren't limited entirely by inputs and results given to them initially by an expert system. This ability comes in handy for robotics and pattern recognition systems. Artificial neural networks have the potential for high fault tolerance. Artificial neural networks are capable of debugging or diagnosing a network on their own. Very common use these days is to go through all the log files and sort them out. Thousands of log files if you're in working as an admin. Nonlinear systems have the capability of finding shortcuts to reach computational expensive solutions. So we see this in banking where by hand they have an Excel spreadsheet and then they start building codes around that Excel spreadsheet and over 20 years they might build a repertoire of all these functions and the neural network comes up with the same answers done in days, weeks or even a month for a huge bank. So let's take a look a little bit more cuz I mentioned a couple applications of artificial intelligence there. But let's dig deeper into the applications of artificial intelligence. Let's look at some of the real life. This is stuff [snorts] going on right now in our world. And we're in such an exciting time with the neural networks and the machine learning and the artificial intelligence development. So let's take a little look at some of the current applications going on in real life. And you can use your imagination to dig for some new ones that we don't have listed here because it's so limitless the amount of applications that are being worked on right now or being implemented. Handwriting recognition neural network is used to convert handwritten characters into digital characters that the system can recognize. Stock exchange prediction. If you've ever worked with stock exchange, which I have, it is so fickled to track. I mean, it is really hard to understand. There are many factors that affect the stock market. neural network can examine a lot of factors and predict the prices on a daily basis helping the stock brokers. So right now it's still at intraphase where it helps them and they really have to look closely at it. When you realize that we generate over 3 terabytes a day just from the stock exchange here in the United States that's a lot of data to dig through and you have to sort it out before you even start focusing on even one stock. Traveling salesman problem. It refers to finding the optimal path to travel between all cities in an area. Neural network helps solve the problem providing higher revenue at a minimal cost. Logistics is huge. Just the logistics that we talk about salesman traveling from town to town. Logistics are used by Amazon. Amazon loves to ship their packages and they have empty space on their trucks. So, they'll pre-ship packages and fill that empty space on who they think will buy it. Saves them a lot of time and people are a lot happier because they get it tomorrow instead of having to wait 3 weeks. Image compression. Idea behind data compression neural network is to store, encrypt and recreate the actual image again. So we can optimize our compression and data. Images are the biggest one, but it's using all kinds of data. Wonderful application to save hard drive and to optimize being able to read it back out again. Those are just a few. And like I said, use your mind to dig deeper. And let's take it even further. We're going to go a step further here and let's look at the future of deep learning. And here we are. That's not me. Thank goodness. Wonderful person there reading her crystal ball. I'll tell you what I see in the future. More personalized choices for users and customers all over the world. I certainly like that when I go in there and whatever online ordering system starts referring stuff to me. Local company here where I live that uses this where you can take a picture and it starts looking for what you want based on your picture. So if you see a couch you like starts looking for furniture like that or clothing. I think it's mainly clothing. Hyper intelligent virtual assistants will make life easier. If you played with Google Assistant or Siri or any of those, you can see how they're slowly evolving and they're just now getting over that hump where a virtual assistant can do all kinds of things, even pre-write your email response for you. New forms of algorithm for learning methods would be discovered. There's always something rolling out and they've had some really cool research in this area. Again, this stuff is such a we're just in the infant stage of artificial intelligence and neural networks and actually applying them to the real world. Wonderful time to jump in. Neural networks will be a lot faster in the future. Neural network tools will be embedded in every design surface. We already see that that you can buy a little mini neural network that plugs into a really cheap processing board or into your laptop. So the hardware is starting to come out that goes right in there where you can dump it on there and that makes it also faster. So because it's on the hardware instead of the software side, neural networks will be used in the field of medicine, agriculture, physics, discoveries, just everything you can imagine. We see this today where it's going from a PhD student in medicine trying to understand tea cells and understand the statistic analysis of that to cure people to help keep them healthy to help find out how we heal to something that anybody can go access and process the data on. They're working on shared data systems. This concept of it being used in these different fields and these different domains is huge. The world's wide open for anybody jumping out there to start exploring them and start learning neural networks. What's in it for you? Well, today we're going to cover what is a neural network, what can neural networks do, how does a neural network work, types of neural networks, and then we're going to jump into a use case to classify between the photos of dogs and cats. And we'll do that on the KAS with the TensorFlow in the back. But it's a Python script. So that's always my favorite part is when we dive into the actual script. So what is a neural network? So hi guys, I heard you want to know what a neural network is. Here we have uh looks like you just went shopping at a red tag cell. My robots back. So as a matter of fact, you have been using neural network on a daily basis. In today's world, it's just amazing how much we use our new technology. We're not even aware of it. when you ask your mobile assistant to perform a search for you, you know, like saying uh you're Google or Siri or whoever you use, Amazon Web, self-driving cars. So, that's the newest thing coming out. They're just now trying to make those legal in different states in the US and around the world. Even in the UK, they now have a self-driving cars going up and down the street. It's pretty amazing. These are all neural network driven. Computer games use it. So, a lot of computer games are driven by neural networks in the back end as part of the game system and how it adjusts to the players. And it's also used in processing the map images on your phone. So every time you do a navigation someplace and it opens it up, they now use neural networks to help you find the quickest way to get there. Neural network. A neural network is a system or hardware that is designed to operate like a human brain. In today's development, this is so important to understand because we don't have anything else to compare it to. I'm sure someday in the future the computer will redefine or the neural network or the AI artificial intelligence will redefine what these mean. But as far as we can today's world in today's commercial development, we have to compare it to what humans do. So as we want to compare and how it operates to a human brain and how it solves problems like a human does. What can a neural network do? And really we're just going to dive in deeper to we just covered and look at other examples. So what can a neural network do? Well, let's list out the things neural networks can do for you. Translate text. Boy, we got Google Translate and Microsoft has their own translate. They have some really cool. They actually have an earpiece. It's supposed to start translating as you talk. What a cool technology. What a cool time to live. Identify faces. Can you imagine all the uses for facial identification? In the case of our uh sample or our code that we're going to look at later, we'll be identifying dogs and cats. So, not quite as detailed as understanding whose face belongs to who. I I'm waiting for the Google glasses to come out so I can see who's who and identify faces as I'm walking around. Have a little name tag over them. Not out there yet, but boy, we are close. We can identify the faces and they have all kinds of technologies to bring that information back to us. Recognize speech goes along with the translate text. So now as you're talking into your assistant, it can use that to do commands, turn lights on, all kinds of things you can do with recognizing speech. Read handwritten text. They're starting to translate all these old text documents that they've had in storage instead of doing it individually where somebody's going through each text by themsel in a room. You can picture like an old Raiders of the Lost Arc theme where he's in the back, you know, archaeologist studying the text. Now, it's fed into a computer. They take a picture. They even use neural networks to take a scroll that is so messed up that they can't undo the scroll and they X-ray it. And then they use that X-ray to translate the text off of it without ever opening the scroll. I mean, just way cool stuff they're starting to do with all this. And of course, control robots. What would be a neural network without bringing in the robots? And we have our own favorite robot in the middle who goes to our red tag cell and goes shopping for us. So, you know, these are just a few of the wonderful things that neural networks are being applied to. It's such an infant stage technology. What a wonderful time to jump in. And there are a lot of other things it goes into. I mean, we could spend just forever talking about all the different applications from business to whatever you can even imagine. They're now applying neural networks to help us understand. So, now that we talked a little bit about all the cool things you can do with a neural network, let's dive in and say how does a neural network work. So, now we've come far enough to understand how neural network works. Let's go ahead and walk through this in a nice graphical representation. They usually describe a neural network as having different layers. And you'll see that we've identified a green layer, an orange layer, and a red layer. The green layer is the input. So you have your data coming in. It picks up the input signals and passes them to the next layer. The next layer does all kinds of calculations and feature extraction. It's called the hidden layer. A lot of times there's more than one hidden layer. We're only showing one in this uh picture, but we'll show you how it looks like in a more detail in a little bit. And then finally, we have an output layer. This layer delivers the final result. So the only two things we see is the input layer and the output layer. Now let's make use of this neural network and see how it works. Wonder how traffic cameras identify vehicles registration plate on the road to detect speeding vehicles and those breaking the law. They got me going through a red light the other day. Well last month. That's like the horrible thing. They send you this picture of you and all your information cuz they pulled it up off of your license plate and your picture. I shouldn't have gone through the red light. So here we are and we have an image of a car and you can see the license plates on there. So let's consider the image of this vehicle and find out what's on the number plate. The picture itself is 28x 28 pixels and the image is fed as an input to identify the registration plate. Each neuron has a number called activation that represents the grayscale value of the corresponding pixel range. And we range it from 0 to one. One for a white pixel and zero for a black pixel. And you can see down here we have an example where one of the pixels is registered as like 082, meaning it's probably pretty dark. Each neuron is lit up when its activation is close to one. So as we get closer to black on white, we can really start seeing the details in there. And you can see again the pixel shows us one up there. It's like part of the car. And so it lights up. So pixels in the form of arrays are fed to the input layer. And so we see here the pixel of a car image fed as an input. And you're going to see that the input layer which is green is one dimension while our image is two dimension. Now when we look at our setup that we're programming in Python, it has a cool feature that automatically does the work for us. If you're working with an older neural network pattern package, you then convert each one of those rows so it's all one array. So you'd have like row one and then just tack row two onto the end. You can almost feed the image directly into some of these neural networks. The key is though is that if you're using a 28 by 28 and you get a picture of this 30 by 30, shrink the 30 by 30 down to fit the 28 by 28. So you can't increase the number of input in this case green dots. It's very important to remember when you work on neural networks. And let's name the inputs x1, x2, x3 respectively. So each one of those represents one of the pixels coming in. And the input layer passes it to the hidden layer. And you can see here we now have two hidden layers in this image in the orange. And each one of those pixels connects to each one of those hidden layers. And the interconnections are assigned weights at random. So they get these random weights that come through. If X1 lights up, then it's going to be X1 times this weight going into the hidden layer. And we sum those weights. The weights are multiplied with the input signal and a bias is added to all of them. So as you can see here we have X1 comes in and it actually goes to all the different hidden layer nodes or in this case uh whatever you want to call them network setup the orange dots and so you take the value of X1 you multiply it by the weight for the next hidden layer. So X1 goes to hidden layer one X1 goes to hidden layer two X1 goes hidden layer 1 node two hidden layer one node three and so on. And the bias a lot of times they just put the bias in as like another green dot or another orange dot and they give the bias a value one and then all the weights go in from the bias into the next node. So the bias can change. We always just remember that you need to have that bias in there. There's things that can be done with it. Generally most of packages out there control that for you so you don't have to worry about figuring out what the bias is. But if you ever dive deep into neural networks, you got to remember there's a bias or the answer won't come out correctly. The weighted sum of the input is fed as an input to the activation function to decide which nodes to fire. And for feature extraction, as a signal flows within the hidden layers, the weighted sum of inputs is calculated and is fed to the activation function in each layer to decide which nodes to fire. So here's our feature extraction of the number plate. And you can see these are still hidden nodes in the middle. And this becomes important. We're going to take a little detour here and look at the activation function. So, we're going to dive just a little bit into the math so you can start to understand where some of the games go on when you're playing with neural networks in your programming. So, let's look at the different activation functions before we move ahead. Here's our friendly red tag shopping robot. And so, one is a sigmoid function. And the sigmoid function which is 1 / 1 + e to the minus x takes the x value and you can see where it generates almost a zero and almost a one with a very small area in the middle where it crosses over and we can use that value to feed into another function. So if it's really uncertain it might have a 0.1 or 2 or 3 but for the most part it's going to be really close to one and really close to this case zero zero to one the threshold function. So if you don't want to worry about the uncertainty in the middle, you just say, "Oh, if x is greater than or equal to zero, if not, then x is zero." So it's either zero or one. Really straightforward. There's no in between in the middle. And then you have the what they call the reel relu function. And you can see here where it puts out the value, but then it says, well, if it's over one, it's going to be one. And if it's less than zero, it's zero. So it kind of just deadends it on those two ends, but allows all the values in the middle. And again, this like the sigmoid function allows that information to go to the next level. So it might be important to know if it's a 0.1 or a minus.1. The next hidden layer might pick that up and say, "Oh, this piece of information is uncertain or this value has a very low certainty to it." And then the hyperbolic tangent function. And you can see here it's a 1 - e -2x over 1 + e - 2x. And it's very much along the same theme, a little bit different in here in that it goes between minus one and one. So you'll see some of these it goes 0 to one, but this one goes minus one to one. And if it's less than zero, it's, you know, it doesn't fire and if it's over zero, it fires. And it also still puts out a value. So you still have a value you can get off of that just like you can with the sigmoid function and the relu function. Very similar in use. And I believe the originally it used to be everything was done in the sigmoid function. That was the most uh commonly used. And now they just kind of use more the reloo function. The reason is one it processes faster because you already have the value and you don't have to add another compute the 1 / 1 + e the minus x for each hidden node and the data coming off works pretty good as far as putting it into the next level if you want to know just how close it is to zero. How close is it not to functioning? You know is it minus.1 minus.2 usually they're float values you get like minus point minus.00138 or something. So, you know, important information, but the relu is most commonly used these days as far as the setup we're using. But you'll also see the sigmoid function very commonly used also. Now that you know what an activation function is, let's get back to the neural network. So, finally, the model would predict the outcome of applying a suitable activation function to the output layer. So, we go in here, we look at this, we have the optical character recognition, OCR, is used on the images to convert it into a text in order to identify what's written on the plate. And as it comes out, you'll see the red node. And the red node might actually represent just the letter A. So there's usually a lot of outputs when you're doing text identification. We're not going to show that on here, but you might have it even in the order. It might be what order the license plates in. So you might have ABCDE E FG, you know, all the alphabet plus the numbers. And you might have the 1 2 3 4 5 6 7 8 9 10 places. So it's a very large array that comes out. It's not a small amount of, you know, we show three dots coming in, eight hidden layer nodes, you know, two sets of four. We just show one red coming out. A lot of times this is uh, you know, 28* 28. If you did 30 * 30, that's you know, 900 nodes. So 28 is a little bit less than that uh just on the input. And so you can imagine the hidden layer is just as big. Each hidden layer is just as big if not bigger. Then the output is going to be there's so many digits. You know, it's a lot. There's it's a huge amount of input and output. But we're only showing you just, you know, it' be hard to show in one picture. And so it comes up and this is what it finally gets out in the output as it identifies a number on the plate. And in this case, we have 08-d3858. Error in the output is back propagated through the network and weights are adjusted to minimize the error rate. This is calculated by a cost function. When we're training our data, this is what's used and we'll look at that in the code and we do the data training. So, we have stuff we know the answer to and then we put the information through and it says yes, that was correct or no, because remember we randomly set all the weights to begin with. And if it's wrong, we take that error. How far off are you? You know, are you off by is it if it was like minus one, you're just a little bit off. If it's like minus 300 was your output, remember when we're looking at those different options, you know, hyperbolic or whatever, and we're looking at the reel, the could doesn't have an limit on top or bottom. it actually just generates a number. So if it's way off, you have to adjust those weights a lot. But if it's pretty close, you might adjust the weights just a little bit. And you keep adjusting the weights until they fit all the different training models you put in. So you might have 500 training models and those weights will adjust using the back propagation. It sends the error backward. The output is compared with the original result and multiple iterations are done to get the maximum accuracy. So, not only does it look at each one, but it goes through it and just keeps cycling through these the data making small changes in the network until it gets the right answers. With every iteration, the weights at every interconnection are adjusted based on the error. We're not going to dive into that math because it is a differential equation and it gets a little complicated, but I will talk a little bit about some of the different options they have when we look at the code. So, we've explored a neural network. Let's look at the different types of artificial neural networks. And this is like the biggest area growing is how these all come together. Let's see the different types of neural network. And again, we're comparing this to human learning. So here's a human brain. I feel sorry for that poor guy. So we have a feed for forward neural network. Simplest form of a they call it a ann a neural network. Data travels only in one direction input to output. This is what we just looked at. So as the data comes in, all the weights are added. It goes to the hidden layer. All the weights are added. It goes to the next hidden layer. All the weights are added and it goes to the output. The only time you use the reverse propagation is to train it. So when you actually use it, it's very fast. When you're training it, it takes a while because it has to iterate through all your training data. And you start getting into big data because you can train these with a huge amount of data. The more data you put in, the better trained they get. The applications vision and speech recognition actually they're pretty much everything we talked about a lot of almost all of them use this form of neural network at some level radio basis function neural network this model classifies a data point based on its distance from a center point. What that means is that you might not have training data. So you want to group things together and you create central points and it looks for all the things you know some of these things are just like the other. If you've ever watched the Sesame Street as a kid, that dates me. So, it brings things together and this is a great way if you don't have the right training model, you can start finding things that are connected you might not have noticed before. Applications power restoration systems. They try to figure out what's connected and then based on that they can fix the problem. If you have a huge power system, and self-organizing neural network vectors of random dimensions are input to discrete map comprised of neurons. So they basically find a way to draw they call them they say dimensions or vectors or planes because they actually chop the data in one dimension, two dimension, three dimension, four, five, six. They keep adding dimensions and finding ways to separate the data and connect different data pieces together. Applications used to recognize patterns in data like in medical analysis. The hidden layer saves its output to be used for future prediction. Recurrent neural networks. So the hidden layers remember its output from last time and that becomes part of its new input. You might use that especially in robotics or flying a drone. You want to know what your last change was and how fast it was going to help predict what your next change you need to make is to get to where the drone wants to go. Applications text to speech conversation model. So, you know, I talked about drones, but you know, just identifying on Lexus or Google Assistant or any of these, they're starting to add in I'd like to play a song on my Pandora, and I'd like it to be at volume 90%. So, you now can add different things in there, and it connects them together. The input features are taken in batches like a filter. This allows a network to remember an image in parts. Convolution neural network. today's world in photo identification and taking apart photos and trying to you know have you ever seen that on Google where you have five people together this is the kind of thing separates all those people so then it can do a face recognition on each person applications used in signal and image processing in this case I use facial images or Google picture images as one of the options modular neural network it has a collection of different neural networks working together to get the output so wow we just went through all these different types of neural networks. And the final one is to put multiple neural networks together. I mentioned that a little bit when we separated people in a larger photo and individuals in the photo and then do the facial recognition on each person. So one network is used to separate them and the next network is then used to figure out who they are and do the facial recognition. Applications still undergoing research. This is the cutting edge. You hear the term pipeline and there's actual in Python code and in almost all the different neural network setups out there they now have a pipeline feature usually and it just means you take the data from one neural network and maybe another neural network or you put it into the next neural network and then you take three or four other neural networks and feed them into another one. So how we connect the neural networks is really just cutting edge and it's so experimental. I mean it's almost creative in its nature. There's not really a science to it because each specific domain has different things it's looking at. So if you're in the banking domain, it's going to be different than the medical domain, then the automatic car domain. And suddenly figuring out how those all fit together is just a lot of fun and really cool. So we have our types of artificial neural network. We have our feed forward neural network. We have a radial basis function neural network. We have our Cohen self-organizing neural network, recurrent neural network, convolution neural network, and modular neural network where it brings them all together. And u know the colors on the brain do not match what your brain actually does. But they do bring it out that most of these were developed by understanding how humans learn. And as we understand more and more of how humans learn, we can build something in the computer industry to mimic that, to reflect that. And that's how these were developed. So exciting part, use case problem statement. So this is where we jump in. This is my favorite part. Let's use the system to identify between a cat and a dog. If you remember correctly, I said we're going to do some Python code. And you can see over here, my hair is kind of sticking up over the computer. Cup of coffee on one side and a little bit of old school. A pencil and a pen on the other side. Yeah, most people now take notes. I love the stickies on the computer. That's great. That's That is my computer. I have sticky notes on my computer in different colors. So, not too far from uh today's programmer. So, the problem is is we want to classify photos of cats and dogs using a neural network. And you can see over here we have quite a variety of dogs in the pictures and cats. And you know, just sorting out it is a cat is pretty amazing. And why would anybody want to even know the difference between a cat and a dog? Okay, you know why? Well, I have a cat door. It'd be kind of fun that instead of it identifying, instead of having like a little collar with a magnet on it, which is what my cat has, the door would be able to see, oh, that's the cat. That's our cat coming in. Oh, that's the dog. We have a dog, too. That's a dog I want to let in. Maybe I don't want to let this other animal in cuz it's a raccoon. So, you can see where you could take this one step further and actually apply this. You could actually start a little startup company idea, a self-identifying door. So, this use case will be implemented on Python. I am actually in Python 3.6. It's always nice to tell people the version of Python because that does affect sometimes which modules you load and everything. And we're going to start by importing the required packages. I told you we're going to do this in Kass. So we're going to import from KAS models sequential from the Kass layers conversion 2D or COV2D max pooling 2D flatten and dense. And we'll talk about what each one of these do in just a second. But before we do that, let's talk a little bit about the environment we're going to work in. And uh you know, in fact, let me go ahead and open a uh the website KASS's website so we can learn a little bit more about KASS. So here we are on the KAS website, and it's uh ke.io. That's the official website for KAS. And the first thing you'll notice is that Kurass runs on top of either TensorFlow, CNTK, and I think it's pronounced Thano or Theo. What's important on here is that TensorFlow and the same is true for all these, but TensorFlow is probably one of the most widely used currently packages out there with the KAS. And of course, you know, tomorrow this is all going to change. It's all going to disappear and they'll have something new out there. So, make sure when you're learning this code that you understand what's going on and also know the code. I mean, look, when you look at the code, it's not as complicated once you understand what's going on. The code itself is pretty straightforward. And the reason we like KAS and the reason that people are jumping on it right now, it's such a big deal is if we come down here, let me just scroll down a little bit. They talk about user friendliness, modularity, easy extensibility, work with Python. Python's a big one because a lot of people in data science now use Python, although you can actually access Kass other ways. Is if we continue down here is layers. And this is where it gets really cool. When we're working with KAS, you just add layers on. Remember those hidden layers we were talking about? And we talked about the releuation. You can see right here. Let me just up that a little bit in size. There we go. That's big. I can add in an eelu layer. And then I can add in a softmax layer in the next instance. We didn't talk about softmax. So you can do each layer separate. Now if I'm working in some of the other kits I use, I take that and I have one setup and then I feed the output into the next one. This one I can just add hidden layer after hidden layer with the different information in it which makes it very powerful and very fast to spin up and try different setups and see how they work with the data you're working on. And we'll dig a little bit deeper in here. And a lot of this is very much the same. So when we get to that part, I'll point that out to you also. Now just a quick side note, I'm using Anaconda with Python in it. And I went ahead and created my own package and I called it the KAS Python 36 because I'm in Python 3.6. Anaconda is cool that way. You can create different environments really easily. If you're doing a lot of different experimenting with these different packages, probably want to create your own environment in there. And the first thing, as you can see right here, there's a lot of dependencies. A lot of these you should recognize by now if you've done any of these videos. If not, kudos for you for jumping in today. Pip, install, numpy, sci, the scikitlearn, pillow, and h5py are both needed for the tensorflow and then putting the kas on there. And then you'll see here uh and pip is just a standard installer that you use with Python. You'll see here that we did pip install TensorFlow since we're going to do KAS on top of TensorFlow. And then pip install and I went ahead and used the GitHub. So git plus Git. And you'll see here github.com. This is one of their releases, one of the most current release on there that goes on top of TensorFlow. And you can look up these instructions pretty much anywhere. This is for doing it on Anaconda. Certainly you'd want to install these if you're doing it in Iuntu server setup. you you'd want to get I don't think you need the H5P py and I abuntu but you do need the rest in there because they are dependencies in there and it's pretty straightforward and that's actually in some of the instructions they have on their website so you don't have to necessarily go through this just remember their website on there and then when I'm under my uh Anaconda Navigator which I like you'll see where I have environments and on the bottom I created a new environment and I called it KAS Python 36 just to separate everything you can see I have Python 3.5 and Python 36 used to have a bunch of other ones, but it kind of cleaned house recently. And of course, once I go in here, I can launch my Jupyter notebook, making sure I'm using the right environment that I just set up. This, of course, opens up my um in this case, I'm using uh Google Chrome. And in here, I could go and just create a new document in here. And this is all in your um browser window when you use the Anaconda. Do you have to use Anaconda and Jupyter Notebook? No. You can use any kind of Python editor, whatever setup you're comfortable with and whatever you're doing in there. So, let's go ahead and go in here and paste the code in. And we're importing a number of different settings in here. We have import sequential. That's under the models because that's the model we're going to use as far as our neural network. And then we have layers and we have conversion 2D, max pooling 2D, flatten dense. And you can actually just kind of guess at what these do. We're talking we're working in a 2D photograph. And if you remember correctly, I talked about how the actual input layer is a single array. It's not in two dimensions. It's one dimension. All these do is these are tools to help flatten the image. So, it takes a two-dimensional image and then it creates its own proper setup. You don't have to worry about any of that. You don't have to do anything special with the photograph. You let the car do it. And we're going to run this. And you'll see right here they have some stuff that is going to be depreciated and changed because that's what it does. Everything's being changed as we go. You don't have to worry about that too much. If you have warnings, if you run it a second time, the warning will disappear. And this has just imported these packages for us to use. Jupiter's nice about this that you can do each thing step by step. And I'll go ahead and also zoom in there. Little control plus. That's one of the nice things about being in a browser environment. So, here we are back. Another sip of coffee. If you're familiar with my other videos, you notice I'm always sipping coffee. I always have a in my case latte next to me, an espresso. So the next step is to go ahead and initialize. We're going to call it the CNN or classifier neural network. And the reason we call it a classifier is because it's going to classify it between two things. It's going to be cat or dog. So when you're doing classification, you're picking specific objects. You're specific. It's a true or false. Yes. No. It is something or it's not. So first thing we're going to create our classifier and it's going to equal sequential. So their sequential setup is the classifier. That's the actual model we're using. That's the neural network. So we call it a classifier. And uh the next step is to add in our convolution. And let me just do a uh let me shrink that down in size so you can see the whole line. And let's talk a little bit about what's going on here. I have my classifier and I add something. What am I adding? Well, I'm adding my first layer. This first layer we're adding in is probably the one that takes the most work to make sure you have it set correct. And the reason I say that is this is your actual input. And we're going to jump here to the part that says input shape equals 64x 64x3. What does that mean? Well, that means that our pictures coming in. And there's these pictures. Remember we had like the picture of the car was 128x 128 pixels. Well, this one is 64x 64 pixels. And each pixel has three values. That's where these numbers come from. And it is so important that this matches. I mentioned a little bit that if you have like a larger picture, you have to reformat it to fit this shape. If it comes in as something larger, there's no input notes. There's no input neural network there that will handle that extra space. So, you have to reshape your data to fit in here. Now, the first layer is the most important because after that, KAS knows what your shape is coming in here and it knows what's coming out and so that really sets the stage. Most important thing is that input shape matches your data coming in. And you'll get a lot of errors if it doesn't. You'll go through there and picture number 55 doesn't match it correctly. And guess what it does? It usually gives you an error. And then the activation, if you remember, we talked about the different activations on here. We're using the reelu model. Like I said, that is the most commonly used now because one, it's fast. Doesn't have the added calculations in it. It just says here's the value coming out based on the weights and the value going in. And um from there, you know, it's uh if it's over one, then it's good or over zero, it's good. If it's under zero, then it's considered not active. And then we have this conversion 2D. What the heck is conversion 2D? I'm not going to go into too much detail in this because this has a couple of things it's doing in here, a little bit more in-depth than we're ready to cover in this tutorial. But this is used to convert from the photo cuz we have 64x 64x3 and we're just converting it to two-dimensional kind of setup. So it's very aware that this is a photograph and that different pieces are next to each other. And then we're going to add in uh a second convolutional layer. That's what the co

Original Description

🔥Artificial Intelligence Engineer (IBM) - https://www.simplilearn.com/masters-in-artificial-intelligence?utm_campaign=GZAIeteokjQ&utm_medium=Lives&utm_source=Youtube ️🔥 Professional Certificate in AI and Machine Learning - https://www.simplilearn.com/professional-aiml-program?utm_campaign=GZAIeteokjQ&utm_medium=Lives&utm_source=Youtube 🔥IITK - Professional Certificate Course in Generative AI and Machine Learning (India Only) - https://www.simplilearn.com/iitk-professional-certificate-course-ai-machine-learning?utm_campaign=GZAIeteokjQ&utm_medium=Lives&utm_source=Youtube 🔥IITG - Professional Certificate Program in Generative AI and Machine Learning (India Only) - https://www.simplilearn.com/applied-generative-ai-course?utm_campaign=GZAIeteokjQ&utm_medium=Lives&utm_source=Youtube In this Deep Learning Full Course 2026 by Simplilearn, we start by understanding what Deep Learning is, its basics, and how it differs from Machine Learning and Artificial Intelligence. You’ll learn the fundamentals of Neural Networks through step-by-step tutorials, followed by practical Deep Learning with Python. The course then introduces TensorFlow, covering installation on Ubuntu and beginner-friendly tutorials to build models. We’ll also dive into essential mathematics for machine learning, explore Recurrent Neural Networks (RNNs) and Convolutional Neural Networks (CNNs) with hands-on use cases, and understand how CNNs recognize images through their layers. Finally, we explore Hugging Face for modern AI applications, work on real-world machine learning projects, and prepare for interviews with common Deep Learning questions. Following are the topics covered in the Artificial Intelligence Full Course 2026: 00:00:00 - Introduction to Deep Learning Full Course 2026 00:39:30 - What is Machine Learning? 01:36:07 - Introduction to LLM 01:42:07 - What is Deep learning 02:27:00 - Deep Learning Tutorial 02:38:27 - Machine Learning Vs Deep Learning Vs Artificial Intelligence 03:05:50 -
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Simplilearn · Simplilearn · 0 of 60

← Previous Next →
1 Ethical Hacking Full Course 2026 | Ethical Hacking Course for Beginners | Simplilearn
Ethical Hacking Full Course 2026 | Ethical Hacking Course for Beginners | Simplilearn
Simplilearn
2 AWS Full Course 2026 | AWS Cloud Computing Tutorial for Beginners | AWS Training | Simplilearn
AWS Full Course 2026 | AWS Cloud Computing Tutorial for Beginners | AWS Training | Simplilearn
Simplilearn
3 Data Structures And Algorithms Full Course | Data Structures and Algorithms Tutorial | Simplilearn
Data Structures And Algorithms Full Course | Data Structures and Algorithms Tutorial | Simplilearn
Simplilearn
4 SQL Full Course 2026 | SQL Tutorial for Beginners | SQL Beginner to Advanced Training | Simplilearn
SQL Full Course 2026 | SQL Tutorial for Beginners | SQL Beginner to Advanced Training | Simplilearn
Simplilearn
5 Microsoft Azure Full Course 2026  | Azure Tutorial for Beginners | Azure Training | Simplilearn
Microsoft Azure Full Course 2026 | Azure Tutorial for Beginners | Azure Training | Simplilearn
Simplilearn
6 Shopify Tutorial For Beginners 2026 | Shopify Course | shopify dropshipping | Simplilearn
Shopify Tutorial For Beginners 2026 | Shopify Course | shopify dropshipping | Simplilearn
Simplilearn
7 Six Sigma Full Course 2026 | Six Sigma Green Belt Training | Six Sigma Training | Simplilearn
Six Sigma Full Course 2026 | Six Sigma Green Belt Training | Six Sigma Training | Simplilearn
Simplilearn
8 🔥Feeling Stuck? How Upskilling Can Boost Your Career! #shorts #simplilearn
🔥Feeling Stuck? How Upskilling Can Boost Your Career! #shorts #simplilearn
Simplilearn
9 Growth Hacking In Marketing | Learn Growth Hacking Marketing Strategies | Simplilearn
Growth Hacking In Marketing | Learn Growth Hacking Marketing Strategies | Simplilearn
Simplilearn
10 🔥Cracked 3 Job Offers with One AIML Course! | 20–30% Salary Hike #shorts #simplilearn
🔥Cracked 3 Job Offers with One AIML Course! | 20–30% Salary Hike #shorts #simplilearn
Simplilearn
11 Top 10 Must-Have Figma Plugins for UI/UX Designers in 2026 | Figma Plugins | Simplilearn
Top 10 Must-Have Figma Plugins for UI/UX Designers in 2026 | Figma Plugins | Simplilearn
Simplilearn
12 Business Analytics Full Course 2026 | Business Analytics Tutorial For Beginners | Simplilearn
Business Analytics Full Course 2026 | Business Analytics Tutorial For Beginners | Simplilearn
Simplilearn
13 Simplilearn Reviews | Getting future-ready with course in Artificial Intelligence | Roopam’s story
Simplilearn Reviews | Getting future-ready with course in Artificial Intelligence | Roopam’s story
Simplilearn
14 Generative AI Full Course 2026 | Gen AI Tutorial for Beginners | Gen AI Explained | Simplilearn
Generative AI Full Course 2026 | Gen AI Tutorial for Beginners | Gen AI Explained | Simplilearn
Simplilearn
15 Full Stack Developer Course 2026 | Full Stack Java Developer Tutorial for Beginners | Simplilearn
Full Stack Developer Course 2026 | Full Stack Java Developer Tutorial for Beginners | Simplilearn
Simplilearn
16 Simplilearn Reviews | How David Went From Seasoned Engineer to AI Innovator #GetCertifiedGetAhead
Simplilearn Reviews | How David Went From Seasoned Engineer to AI Innovator #GetCertifiedGetAhead
Simplilearn
17 Complete Social Media Marketing Strategy for 2026 | Social Media Marketing Strategy | Simplilearn
Complete Social Media Marketing Strategy for 2026 | Social Media Marketing Strategy | Simplilearn
Simplilearn
18 🔥Top 4 Cybersecurity Certifications You Need! #simplilearn #shorts
🔥Top 4 Cybersecurity Certifications You Need! #simplilearn #shorts
Simplilearn
19 🔥Cloud Engineer Salary in India 2026 | City-Wise Breakdown #shorts #simplilearn
🔥Cloud Engineer Salary in India 2026 | City-Wise Breakdown #shorts #simplilearn
Simplilearn
20 Digital Marketing Full Course 2026 | Digital Marketing Tutorial For Beginners | Simplilearn
Digital Marketing Full Course 2026 | Digital Marketing Tutorial For Beginners | Simplilearn
Simplilearn
21 Full Stack Java Developer Course | Full Stack Java Developer Tutorial for Beginners | Simplilearn
Full Stack Java Developer Course | Full Stack Java Developer Tutorial for Beginners | Simplilearn
Simplilearn
22 Social Media Marketing Full Course | Social Media Marketing Tutorial For Beginners | Simplilearn
Social Media Marketing Full Course | Social Media Marketing Tutorial For Beginners | Simplilearn
Simplilearn
23 How To Create LLM Chatbot Demo 2026 | Build a LLM Chatbot From Scratch | Simplilearn
How To Create LLM Chatbot Demo 2026 | Build a LLM Chatbot From Scratch | Simplilearn
Simplilearn
24 Digital Supply Chain Management Certification | Supply Chain Management Course | Simplilearn
Digital Supply Chain Management Certification | Supply Chain Management Course | Simplilearn
Simplilearn
25 AI Agents Full Course 2026 | AI Agents Tutorial for Beginners | How to Build AI Agents | Simplilearn
AI Agents Full Course 2026 | AI Agents Tutorial for Beginners | How to Build AI Agents | Simplilearn
Simplilearn
26 ITIL Full Course 2026 | ITIL 4 Foundation Course | ITIL Tutorial For Beginners | Simplilearn
ITIL Full Course 2026 | ITIL 4 Foundation Course | ITIL Tutorial For Beginners | Simplilearn
Simplilearn
27 Generative AI Full Course 2026 | Gen AI Tutorial for Beginners | Gen AI Explained | Simplilearn
Generative AI Full Course 2026 | Gen AI Tutorial for Beginners | Gen AI Explained | Simplilearn
Simplilearn
28 ITIL Full Course 2026 | ITIL 4 Foundation Course | ITIL Tutorial For Beginners | Simplilearn
ITIL Full Course 2026 | ITIL 4 Foundation Course | ITIL Tutorial For Beginners | Simplilearn
Simplilearn
29 Simplilearn Reviews | Integrating AI & Music | Diego's Story
Simplilearn Reviews | Integrating AI & Music | Diego's Story
Simplilearn
30 Digital Marketing Full Course 2026 | Digital Marketing Tutorial For Beginners | Simplilearn
Digital Marketing Full Course 2026 | Digital Marketing Tutorial For Beginners | Simplilearn
Simplilearn
31 SEO Full Course 2026 | SEO Tutorial for Beginners | SEO Training | SEO Explained | Simplilearn
SEO Full Course 2026 | SEO Tutorial for Beginners | SEO Training | SEO Explained | Simplilearn
Simplilearn
32 PMP Vs CAPM: Which Certification Should You Choose? | PMP Vs CAPM | Simplilearn
PMP Vs CAPM: Which Certification Should You Choose? | PMP Vs CAPM | Simplilearn
Simplilearn
33 Complete Data Analyst Roadmap 2026 | How To Become A Data Analayst In 2026 | Simplilearn
Complete Data Analyst Roadmap 2026 | How To Become A Data Analayst In 2026 | Simplilearn
Simplilearn
34 Generative AI Full Course 2026 | Gen AI Tutorial for Beginners | Gen AI Explained | Simplilearn
Generative AI Full Course 2026 | Gen AI Tutorial for Beginners | Gen AI Explained | Simplilearn
Simplilearn
35 🔥5 Jobs That Are Most Likely Safe from Layoffs in Today’s Market #shorts #simplilearn
🔥5 Jobs That Are Most Likely Safe from Layoffs in Today’s Market #shorts #simplilearn
Simplilearn
36 🔥Git vs GitHub – What's the Difference?
🔥Git vs GitHub – What's the Difference?
Simplilearn
37 What Goes Behind Building the Likes of Uber and Netflix? | Product Management Tutorial | Simplilearn
What Goes Behind Building the Likes of Uber and Netflix? | Product Management Tutorial | Simplilearn
Simplilearn
38 AI Agents Full Course 2026 | AI Agents Tutorial for Beginners | How to Build AI Agents | Simplilearn
AI Agents Full Course 2026 | AI Agents Tutorial for Beginners | How to Build AI Agents | Simplilearn
Simplilearn
39 Full Stack Developer Course 2026 | Full Stack Java Developer Tutorial for Beginners | Simplilearn
Full Stack Developer Course 2026 | Full Stack Java Developer Tutorial for Beginners | Simplilearn
Simplilearn
40 Product Life Cycle 2025 | Stages Of Product Life Cycle | Product Life Cycle Tutorial | Simplilearn
Product Life Cycle 2025 | Stages Of Product Life Cycle | Product Life Cycle Tutorial | Simplilearn
Simplilearn
41 Project Management Full Course 2026 | Project Management Tutorial | PMP Course | Simplilearn
Project Management Full Course 2026 | Project Management Tutorial | PMP Course | Simplilearn
Simplilearn
42 PCB Design Course 2025 | PCB Designing Explained | How To Make PCBs | Simplilearn
PCB Design Course 2025 | PCB Designing Explained | How To Make PCBs | Simplilearn
Simplilearn
43 Python Full Course 2026 | Python Data Analytics Tutorial For Beginners | Simplilearn
Python Full Course 2026 | Python Data Analytics Tutorial For Beginners | Simplilearn
Simplilearn
44 🔥Top Product Management Skills You Need to Succeed in 2026 #shorts #simplilearn
🔥Top Product Management Skills You Need to Succeed in 2026 #shorts #simplilearn
Simplilearn
45 SQL For Data Analytics 2026 | Essential SQL Commands | SQL Tutorial For Beginners | Simplilearn
SQL For Data Analytics 2026 | Essential SQL Commands | SQL Tutorial For Beginners | Simplilearn
Simplilearn
46 Simplilearn Reviews | Paving Way To Success With AI & ML Course | Soumik’s Upskilling Journey
Simplilearn Reviews | Paving Way To Success With AI & ML Course | Soumik’s Upskilling Journey
Simplilearn
47 Six Sigma Full Course 2026 | Six Sigma Green Belt Training | Six Sigma Training | Simplilearn
Six Sigma Full Course 2026 | Six Sigma Green Belt Training | Six Sigma Training | Simplilearn
Simplilearn
48 Learn Snowflake In 45 Mins | Snowflake Tutorial | What Is Snowflake | Snowflake Explained
Learn Snowflake In 45 Mins | Snowflake Tutorial | What Is Snowflake | Snowflake Explained
Simplilearn
49 🔥ML Career Tip – How to Start Learning Machine Learning in 60 Seconds! #shorts#simplilearn
🔥ML Career Tip – How to Start Learning Machine Learning in 60 Seconds! #shorts#simplilearn
Simplilearn
50 🔥Agile vs Waterfall in 60 Seconds #shorts #simplilearn
🔥Agile vs Waterfall in 60 Seconds #shorts #simplilearn
Simplilearn
51 Excel Full Course 2026 | Excel Tutorial For Beginners | Microsoft Excel Course | Simplilearn
Excel Full Course 2026 | Excel Tutorial For Beginners | Microsoft Excel Course | Simplilearn
Simplilearn
52 What Are AI Agents? | Types Of AI Agents | AI Agents Explained | AI Agents Tutorial | Simplilearn
What Are AI Agents? | Types Of AI Agents | AI Agents Explained | AI Agents Tutorial | Simplilearn
Simplilearn
53 How To Create a Product Roadmap In 2026 | Product Roadmap | What Is Product Roadmap | Simplilearn
How To Create a Product Roadmap In 2026 | Product Roadmap | What Is Product Roadmap | Simplilearn
Simplilearn
54 SQL Full Course 2026 | SQL Tutorial for Beginners | SQL Beginner to Advanced Training | Simplilearn
SQL Full Course 2026 | SQL Tutorial for Beginners | SQL Beginner to Advanced Training | Simplilearn
Simplilearn
55 🔥What Is Phishing? #shorts #simplilearn
🔥What Is Phishing? #shorts #simplilearn
Simplilearn
56 Cloud Computing Full Course 2026 | Cloud Computing Tutorial | Cloud Computing Course | Simplilearn
Cloud Computing Full Course 2026 | Cloud Computing Tutorial | Cloud Computing Course | Simplilearn
Simplilearn
57 Simplilearn Reviews | Overcoming Rejection & career plateau to finding a New Job : Bhaskar Banerji
Simplilearn Reviews | Overcoming Rejection & career plateau to finding a New Job : Bhaskar Banerji
Simplilearn
58 Six Sigma Full Course 2026 | Six Sigma Green Belt Training | Six Sigma Training | Simplilearn
Six Sigma Full Course 2026 | Six Sigma Green Belt Training | Six Sigma Training | Simplilearn
Simplilearn
59 Generative AI Full Course 2026 | Gen AI Tutorial for Beginners | Gen AI Explained | Simplilearn
Generative AI Full Course 2026 | Gen AI Tutorial for Beginners | Gen AI Explained | Simplilearn
Simplilearn
60 VLSI Design Course 2026 | VLSI Tutorial For Beginners | VLSI Physical Design | Simplilearn
VLSI Design Course 2026 | VLSI Tutorial For Beginners | VLSI Physical Design | Simplilearn
Simplilearn

Related Reads

Chapters (6)

Introduction to Deep Learning Full Course 2026
39:30 What is Machine Learning?
1:36:07 Introduction to LLM
1:42:07 What is Deep learning
2:27:00 Deep Learning Tutorial
2:38:27 Machine Learning Vs Deep Learning Vs Artificial Intelligence
Up next
Image Classification with ml5.js
The Coding Train
Watch →