In the name of God, peace be upon the noble nation of Iran. I hope you are well wherever you are in the world. Peace be upon all Persian speakers who are following this course. I hope we have learned some good things so far . Thank you so much for the encouraging messages you send. The comments you leave are full of energy for me and very informative, helping me to resolve the three-period conflicts to the best of my ability. Let's start this meeting right away. Well, we reviewed many topics together in the last meeting, and first, let's have a very brief summary of those topics. We learned the concept of a dataset. We have a dataset, and this dataset is one of the most valuable things that allows us to do artificial intelligence, learn models, and many other things. We realized that in a dataset, we call the columns that we want to predict based on, such as the area of the house, the year it was built, the number of rooms, these are features or characteristics, and we actually call what we want to predict a label. For example, if we want to predict the price based on the specifications of the house, naturally the label is actually the price of the house in our dataset, or if we want to determine the health or disease status of a patient based on his or her radiological image. That radiology image becomes a feature. Now I have labeled the data's features, pixel by pixel, and whether this image belongs to a healthy or sick person . We learned that labels can be continuous. That is, numbers such as zero to infinity or zero to any arbitrary number. For example, people's heights are continuous numbers. Now, how do I know that a newborn's height is, for example, 200 centimeters? Now, up to a height of 10 meters, 3 meters, and 3 meters, which we don't have, are continuous numbers. In fact, when we are evaluating several groups, we use discrete labels, such as dog or cat. We saw that if we want to design a model that predicts continuous labels for us, we call that model regression. And if we want a model that assigns each of our images to one of the discrete labels, for example, whether the image is a dog or a cat, is it sick or healthy, or whether this comment is a polite comment or an offensive comment, all of these can actually be discrete data, based on which we use classification or classification. We saw this concept in the previous session that our models can be linear, for example, a very simple model, a plus b, which is a linear equation, or it can be polynomial, such as a plus a to the power of 1, plus a to the power of 2, plus a to the power of 3, plus a to the power of 3, plus a to the power of 3, plus b, for example, or plus a to the power of 0, which is an equation of the nth degree. And naturally, the more degrees we have, the more flexible our model is, for example, A linear model is just a straight line, while a degree 3 model can have a parabolic shape, a degree 3 model can have a shape that is actually twisted, and the higher the degrees we increase, the more flexible it becomes. We talked about the concept of parameters and hyperparameters or parameters and hyperparameters, and we saw that parameters are the weights of the model itself, but in addition to those weights, we had a number of other things, for example, how many neurons should we have in each layer in a neural network, or what our equivalent degree should be for a model. We called all of these hyperparameters or hyperparameters. We defined the cost function or the loss function of the function that we wanted to minimize. For example, the more we actually reduce our lines, the higher the accuracy of our prediction will actually be. And how would we define the error? For example, we would actually predict each point with its actual value or its actual label minus the label and take the absolute value or square it, add these together, divide by that, and this would be either the mean score error or the mean absolute error, which is actually the average of the errors squared or the average of the absolute value of the errors. We saw that the model may memorize or be generalizable. Memorization means that it has learned only the data that you used to train it. However, for example, suppose that it has seen 100 pictures of dogs and 100 pictures of cats, it knows that these are dogs or cats. However, if you bring in a new picture of a dog or a cat, it cannot recognize it as well anymore, or its accuracy, so to speak, goes down. And so naturally, we are looking for models that are repeatable or generalizable. How do we measure repeatability? We said that the data that was given to us, for example, 100 data sets, our data set has 100 samples, we will break it down first, and then we will break it down into 70 data sets, for example, 70 training data sets, 10 validation data sets, and 20 test data sets, and we will use those 70 sets to find the parameters. We will use those 10 validation sets to find and select the best hyperparameters, and we will also put the test set in the gap box, and finally we will actually use it. These were very serious concepts here. Now I wo n't bother with it anymore. For example, I mentioned data leakage, and in the meantime, one of the students had emailed me. In the meantime, he realized that, for example, if he had sent the work he had worked so hard on for publication, it would have been rejected immediately. Why? Because there was a data leak, and now, despite the data leak, its accuracy was close to 90 %, for example. When he eliminated data leakage, meaning he prevented the use of the original data during testing or, conversely, prevented the test data from being seen by the original model during training, his accuracy reached, for example, 60 out of 90, and this shows that his model actually retained the original data. So, it was not generalized well. We examined the concept of overfitting in the previous session, and this concept of overfitting means that our model retained too much. In fact, instead of generalizing, our model retained. Now, there is a question left from our previous session, and I remember that I promised in the previous session that we would code, and this session is mainly about code. What we want to do in this session is actually a very quick review of Python, and to start with, we will code many of the concepts we saw in the previous sessions and learn them in the form of coding . Well, the key question we have here is, I do n't remember before we started this topic. My Telegram channel, Twitter, LinkedIn, all of them are Sharifizarchi's. No, actually, the default backlink is Sharifizarchi. That's what I saw. Now, a bunch of people have created a bunch of channels on Telegram, and they don't hurt their hands, as long as they just repost. Unfortunately, somewhere, for example, they used my name on the Telegram channel to advertise investment in the code. And the servants of God, for example, one or two people told me that we thought it was really you. In fact, I don't have any Telegram channel, Twitter, LinkedIn, except for Sharifizar. YouTube is all that. Well, if you saw that at one point I was personally messaging you, I don't know. I sent my video. I said, I don't know. I'm teaching you the code. I don't know. Come invest in you. Then tomorrow I'll double your money. Let them know that it's not me. I would never do this. And besides, I sent a video without deepfakes and artificial intelligence. I would never advertise the code. I do not encourage anyone to invest in I do n't know what and I do not advertise a product nor do I tell you to come and lend me some money. If this happens, you should know that it is definitely and definitely and definitely not me. These Telegram channels are very funny. For example, I will say that Sharifzari is actually the only Sharifzari channel. For example, now they have added a backend to it. In short, they are very smart. So please pay attention. If you see that now, if it was just a repost, I have nothing to do with it. However, as soon as you see that someone is advertising in my name or, I don't know, inviting you to invest, be sure that this is a fraud and please report it on whatever platform it is. Sorry for the parenthesis that I opened. Well, let's go into the fourth session. Our fourth session, our key question is how to determine the parameters. In other words, we said in the previous session that Va is equal to, for example, A X plus B and AB. If they are good, if it is equivalent to a good line. This can be very accurate, and now the key question is, how do we find this equation? How do we know, for example, what our water parameters should be? The answer lies in this analogy. Suppose you went hiking on a dark night or in completely cloudy weather where, for example, you can't see more than a meter away from yourself. And you want to get to the bottom. You want to get to the bottom of, for example, a valley or a foothill, wherever it is. You have conquered the lowest point, that is, the peak. The weather has become cloudy, and now you want to get to the surface of the earth or the bottom. My question is, what do you do? Well, the most serious thing you can do is that you only see up to a meter, and you can't see any further than that. The fog is very thick and you can't see much beyond that. Do n't look at this sign, the fog is too thick. Well, at night, for example, you have one light, but you can only see up to a meter away. So what you do is see which direction the ship is heading. So the ship is going up, so in which direction? You move in the opposite direction, that is, move in the direction of the negative slope. This whole thing is actually an algorithm that is being learned for us right now. That is, we give it a model with parameters that are completely randomly determined from the beginning. Those values, for example, Va equals Ik plus On Av, are chosen completely randomly or, I don't know, we have a neural network. We choose those weights on the edges randomly first. Later, we give it the data. It learns which direction the slope of error decreases in, which direction the slope of error increases in, and the opposite of that slope works. When we say that the slope is positive, it means that we move in the direction of increase. So when we want to decrease the error, we move in the opposite direction of our slope or decrease the gradient. So, if we want to examine this a little more closely, let's say we have something like this: the higher the climber, the higher the value of our loss function, our cost function, or our line function, and the lower it is, the more we have found a set of parameters that best perform the prediction with the least error. So our goal is to start from a random point. Why do I say random point? Because from the beginning, we randomly initialize our parameter values . So it's like you landed in a mountain in a random place, for example, with a parachute, or I don't know, you went up like this at night, you're in a random place, and now you want to go back. Right? So now what is the height of Kuhchi Kouh? It's the same amount of lost function as what is the climber's position ? Those are the same values as our parameters. For example, if you have one parameter, let's consider it like this. For example, suppose if you have one parameter, I don't know, and it's equal to Ik, we only have one parameter, a. This parameter, this value, well, somewhere, gives you the best prediction. For example, here it gives you the best prediction. What does this mean when it equals ace ? Plus another zero, meaning the width from the origin is zero, and what does this include? For example, suppose I gave you a dataset like this, for example, here are some points, these are some houses, this is the area, and this is the price of our houses, and now you're looking for a model that will have the best price prediction. Right now, what are we going to do? For example, we can set A to zero . If we say that a is equal to zero, what is the equivalent of our line? Something like that can happen, right? A line with a slope of zero, a width of zero, and a logarithmic width of zero, so what does this line predict for the price of all houses right now? Whatever the size, the price is predicted to be zero . So naturally, for example, what do I know, you gave the house here, its area, for example, suppose that it is 70 meters, what is the predicted price, what is your wattage equal to zero, what was your wattage equal to, for example, it was 4 billion tomans, right? So 4 minus wattage, which is zero to the power of D, so for this house you have a score error or a power of D error, so you add this up for each point and take the average, divide by the number of points, divide by that, what does this give you, the mean score error, now the mean score error, for when the value of A is equal to zero, how much is too much? For example, suppose that this value of A is equal to zero here, the mean score error, this is the mean score error, this is actually your axis, this is the loss axis, the loss function, and what is this axis? So your parameter is, now if the value of A is even negative, what does it mean if the value of A is negative? That is, I drew this line here, let's put this line here, I hope it only erases that green line. Okay, okay, now suppose that this point was also here. We had a point here. Now suppose that the value of A is negative, for example, negative 1. That is, it is something like this and is equal to negative 1 or negative 1. That's right, negative 1. Now the situation has gotten worse. That is, for example, what do I know for the same house with an area of 70 meters, what is it that it is evaluating negatively? And negative, now this price is negative minus, for example, this predicted price of the house is negative 8 billion tomans. That means that if the owner of the house wants to sell the house to you, he will give you 8 billion tomans. That is, it would be a very, very beautiful world if it were like this. But this is now negative 8 minus 4 or 4 minus negative. Now what is this error of our previous model? 4 ton d or 16. Now 4 ton d minus 8 ton d which is 4 minus negative 8 ton d which is 4 plus 8 ton d which is 12 ton d which is 144. What is this, this previous one? How much did it cost for this house? It was 16, now the error is very high, that is, because the error also reaches the power of d, in fact, the root mean square error, what do we do? This power of two causes our error amount to suddenly become very high. So, for example, when A becomes negative, you will suddenly see that our error amount becomes very high. However, now, suppose now, maybe a little bit of values, for example, maybe it would be better to subtract zero here, for example, well, suppose I equal the value of A, for example, what do I know? Something like that Here, for example, this is equal to 1/2 of an i plus zero, which means that A is actually equal to 1/2, so that means that the slope of my line is equal to one-second, and for example, here, if you assume now, or for example, if we had considered four, now if I wanted to give a more concrete example, this slope is actually one-second, which is a very good slope, for example, suppose that the price of 7 is given here, for example, how much is this number equal to 35? This number is equal to With 35, you can forget about that, that, that, and that. We are currently giving a series of examples. So let's say the slope of our line is actually like this. I mean, for example, what was this point in the first place? 70 and 30 for example and now 7 and 35 Now at this value wa actually amon equals one-half it was still much better that for example I would draw this zero here zero here and this in a equals 1/2 this will get to the minimum error ok ok now excuse me I changed the values of my example well because this if a very now according to the same previous example if I wanted to hit where a is one- half the optimal value for example on 70 meters on 70 meters this price would be how much 4 that is approximately equal to actually how much did how much did well that is approximately something close to one- eighth I don't know something like that for example well and this gives me the optimal value now the question is how do I get this optimal value a the answer is I start from a random value a for example here well for example suppose I gave am its initial value what two and a half and here I see the slope of my line is positive well the slope what is positive the slope of that line that is tangent to the Lassen function What does it mean when the slope is positive? That means if I move this way in the positive direction, the amount of my loss is getting bigger and bigger. So I move in the opposite direction of the slope or the opposite direction of the slope. I move against the slope of my loss function. So, I'll do it a little less. Now I'll move the arrow to where it's 2 and a half and start again from this point and regain the slope. Now, look at my slope, it's a little less than here, but it's still positive, and again, because it's positive, when the slope is positive, it means that if we move forward along the x-axis, then our function, our function, is increasing, so I'm moving in the opposite direction again. So now, suppose I get to here, what happens? Here, my slope is the slope of the tangent line. What does this tangent line slope mean? That is, the derivative of this derivative here came in handy. Well, this is the derivative we studied in high school and didn't know where in the world it would be useful to us . Here, the heart of artificial intelligence and the heart of all this machine learning process is this derivative calculation, and this derivative calculation is creating trillions of dollars of wealth right now . If you didn't know, find out. Well Well, here now our derivative is negative. Well, when our derivative is negative, we remember from high school. If our line is this way, this is the x-axis. If our line is this way, the derivative is positive. If our line is like this, the derivative is negative. Now consider this tangent line here. The derivative is negative. Look, what does a negative derivative mean? It means that if I increase the x-axis, the amplitude of the amplitude decreases. So since it's negative, what does negative mean? That is, if I move negatively, that is, I decrease A, my loss function increases. So it's like if I move in a direction that decreases A, my loss function seems like we're going up a mountain. So I'm moving in the opposite direction, that is, in the direction that increases A. So when you actually look at it like this, suppose this is your value or that parameter and this is your loss function, this is our loss function. So we're all in this area. Let me divide it into three areas. Here, all in this part, all the derivatives are positive. So in this part, the derivative is negative or the slope is negative. For example, consider this. The slope of the tangent line to our function at this point is a negative number. And here, of course, is a point. I'm just going to make it a little bit easier to work with. Our slope is almost zero. So if I'm here and I move in the direction of the inverse of the gradient or the inverse of the derivative of the gradient, it does n't matter. The derivative is in one dimension, the gradient is in that dimension. Now I'm going to show you that dimension. And for example, what do you know, you 're in a mountain. Now, there are three other dimensions in the world. So, for example, one direction. You have an x direction, you have a z direction, so if you find a vector that if you move in the direction of that vector, your slope increases and becomes maximum, what do we call that vector? The gradient vector is the derivative. So now see, our derivative here is positive. So when we have the value of A here, for example, if our first A is here, our random A is here, the next step is to decrease A, that is, we come here, so for example, if our first A is here, we do A like this, then we do it like this, then we do it like this, or if our initial A is here, we step because it is negative here in the opposite direction of the gradient, so and the opposite becomes negative, negative in negative, positive, that is, we increase A. For example, if our A0 was here, we would choose A1 here. We choose A2 here and continue like this until we reach this point, this gamma length. This is the zero point of the ship. When the shape is zero, why is the shape zero? Draw a line here tangent to this axis of your hand. The line is completely horizontal. It's like dropping a marble. Well, drop one marble. How does it move here? He's going to come here. Now, if your tilt is very thin, it seems to stick to the surface, as if you poured a little honey on the surface, so the marble can't get stuck, it passes through and stops right there. But if the marble is a real bowl, like a porcelain bowl, this marble might pass through here too, and then move a few times until it reaches here, but eventually your marble will stop at the bottom of the bowl. So, let's see, now we've reviewed a few concepts together. This is our swing. This position became the climber's value for our parameter. The direction of the slope is our gradient, so we move in the opposite direction, and now the length of our stride is important. So why is stride length important? You see the direction should be this way, right? This means that the slope increases towards your back. In fact, the height increases. So you have to move in the direction of your back. So if you take a very small step, for example, 1 millimeter, it may take 1 billion steps to reach the bottom of the valley. If you take very, very large steps, for example, a 1 kilometer step, what might happen? You will skip that valley itself, skip that optimal point, go over that mountain, for example, or take a very, very large step. So this choice of steps, this choice of steps, we call it the learning rate, which means how much we change our parameter based on that amount of slope. Sorry, this is a bit of math. Bear with me for a little while. Let's go to our code. But the truth is, the concepts are really very, very simple. I mean, many times, for example, I did n't understand something in class or during a lecture. I tried to listen and take the trouble to accept this to myself. It's like I'm leaving my comfort zone. Right? You too, a little bit. If these concepts are difficult for you, be patient. Listen, okay, okay, the first time you might not understand, practice again, practice twice, I don't know, see how many more classes you'll get used to it. No one learned English on the first day, or math, or any other subject. I've put two links here for you. You can open these links yourself later. I'll click on that link right now, and let's go to this link. Well, this is our first link, and what can you do? For example, here is a tab called Good Rate. If you run it, see what happens. For example, it starts from here. This direction actually shows your movement, which is the gradient of it. Now you can actually put small steps. Well, see what happens. Here, our steps have become very small, which means our learning rate has decreased a lot. When this learning rate is too low, the probability of us passing this optimal point is close to zero, which means we will definitely reach it, but we will reach it very late. If our learning rate is too high, see what happens. We reject it, but in the end, it rejects everything like a ball. Right? The marble bounces off the bottom of the china bowl, and now if you see too much learning rate, our learning rate is changing, right? Now let's change our learning rate from 5 to 7 and see what happens. We're even going to skip it altogether. We're going to the peak. Right. This learning rate that we're talking about has a formula like this. If I were to write a little formula for you, our new parameters, I usually call them W. Like Weight. Right. The weight of the equation is our parameters at time t plus Y. Our parameters at time t minus learning rate multiplied by Lasmon's delta. Forgive me for God's sake. I didn't choose, for example, why do we use this strange Greek letter, A. You can use this. What is A? This is just a Greek letter. It's the same learning rate. This is the same learning rate. Right. This is our derivative. Now why do we call it a gradient? Because in fact, our derivative is multidimensional. That is, this gradient. The gradient of the Lasmon function. This Lasmon function. What is, for example, that main score of the aurora, that is, sigma, wa, a minus wa, a. Let's finish the math quickly, we can divide by that, this is from 1 to n, right, this is our slope, and this is when we put the gradient, if this, for example, our slope was one-dimensional, meaning we only had one parameter, for example, we only had the area and we were equal to a, we had one parameter, this gradient would be the same, we prime, we prime, what is the rand, or d, to d, our w, for example, or amon, this w is the same amon, our parameter, right, when we have wb 1 d w b d to d n, this derivative is going to be lost to the trend w, for example, the trend of loss to round w d to round loss round w n, I'm very sorry, I apologize very much, and now what does it mean, for example, these are our weight values in the previous step minus our learning rate multiplied by the derivative, meaning believe me, it's very simple, that is, we multiply the ag and these minuses of the learning rate by the derivative. For example, what is our derivative here ? Here, for example, our derivative is one and a half. That is, the one and a half line method. How much is the learning rhythm? For example, suppose a dodhem. So, what happens if we multiply one/tenth by one and a half? It could be, for example, the 15th century. Now, what was the previous amount of Amon Avon, for example? It was 6. What are we putting people in here for? A plus one, for example, A becomes A becomes A becomes zero, A at time zero, this time A is not a power, that at time zero minus our learning rate, which is one tenth multiplied by that derivative, which is, for example, what was one and a half, so this is equal to what, A becomes the value of A becomes zero, our zero minus the learning rate 1/10 multiplied by one and a half, which is minus 15 hundredths, for example, what is P and 85 hundredths, this is the new value of A, and we repeat the same thing with it, meaning this is where my new point comes from, 5 and 85, and again my new value comes from, four and four, my new value comes from, it is changing until it stops at this point where I is optimal, this is the whole gradient descent, the gradient descent, there is nothing else, that's all, in fact, the essence of the story was all the same, and the rest is just a bunch of leaves, so if we want to go to where there is a dimension, D is the dimension, now that's the second link that I actually put on the slide, this is a really interesting site, this is the formula that It actually says put our parameter value in time t. Now here, for example, we had put t up, here we put t down, we said t. Actually, WT plus y here said xn plus y. It doesn't make any difference. This means our parameter. This means the previous value of our parameter multiplied by the learning rate minus the learning rate multiplied by the gradient. This fx is also the same function as ours. It's just that the graph is different. It's true that they use different symbols or signs. But I don't want you to see these. Well, I just want you to come here and see this part. This piece is very beautiful. Well, let me put this in. First, let's make a very simple graph, and now let's zoom out a little bit. Let's say our function is something like this. That means it should be a lascivious function. We can start from a random point, like here. Well, naturally, we are looking for where to go. It seems like we have two parameters here . For example, A is equal to A plus B. This is A to D different parameters. This is the value of A. This is the value of B. And now this here, for example, the value of A and B is D random numbers. And now see what happens. If we start from here, see what happens. You will see that it has, every time, its parameter value is based on the learning rate that you gave it. Here you can control the learning rate . Well, he changes it until he actually reaches the point where the parameters have the least error. This is the minute forecast. This means that this is minimizing our prediction error . This means that you had a model, for example, a neural network, all of its parameter values were random, and now you found a set of parameters that can actually tell whether it's a dog or a cat. That's how they call it machine learning. Why machine learning? Because you don't tell it, for example, give this point this coefficient, give that point this coefficient. It's learning itself from our data. You can, I don't know, suppose you start from another random point. Well, now this time we can reduce our learning rate and play around and see that our step length is much smaller. Whereas if we actually increase the rate, you see that I increased the learning rate, my step length is getting longer. This is the effect of the learning rate. Okay, excuse me, let's continue. Another topic that I talked about a little bit in the last session was the overfitting issue, which happens a lot. So, look, in general, our model can have a capacity, and this capacity is that the more parameters we increase, the more flexible or learning power the model can have. However, the more parameters we increase, the better our model will necessarily be. That is, we have two concepts: one is underfitting. I explained it to you in the pre-overfitting session, but I didn't mention underfitting. We have a concept called underfitting and another concept called overfitting. Underfitting means that when our model is too simple, for example, look at our data here. For example, suppose our data is the line that can really separate these points from each other in the best way. For this classification, a curved line is a curved line. Or here, the line that can best estimate these points is a curved line. So now, if we oversimplify the model, that is, if we forcefully say that our model is linear, how few parameters are there now? This means that now the equation of the line W equals A plus B has several parameters, a total of four parameters. Well, that's too simple. We call this underfitting or underfitting. If our number of parameters is very good, our model is learning a pattern, and this pattern can be applied to other data as well . For example, if a piece of data comes here, it predicts it well, or if a piece of data comes here, it predicts it well. But what happens to your model if you increase the number of model parameters too much? It will be a fit. I mean, you can see by force. Now, this is a kind of boundary. This is intentionally there to make the whole data as good as possible. In fact, loss training means that it has the least possible error on your training data. It has chosen such a strange level. This is where we call it retention. It means that it has retained the cat, but there is another point here, here, here. For example, this is probably another dog. Now this one is like this. That's right. But it also says it's a cat. Or, for example, the example I gave in the previous session. What was the example in our previous session like? For example, suppose your data is like this. For regression, for example, what do I know, it's like this. Well, if you pass a degree 3 or degree 4 equation through it, it will fit well and it will learn this. But if you pass an equation of degree 8 or degree 10, for example, it might be something like this. So what does that mean? That is, if you give it this point, for example, and give it this x, what does your model predict? The amount of washo is roughly predicted here . Well, this prediction of our green model is logical. Because we expect that when we give it an x here, for example, what do I know here is something. For example, suppose what do I know is BMI, that BMI is the same index that measures weight and height, weight and height. If it is much less than a certain point, it means that the person has a health problem, for example, they are too thin, if it is more than a certain point, they are too fat. If their BMI is in a certain point, it is normal. Now, suppose, for example, if a person's BMI is like this, this is what they are saying here, that is, they are saying that the problem is that this one, the blue model, gives a negative number at all. We do n't have any negative numbers at all. In our data, they are all positive numbers. This model has come to force us to remember. So, this is the blue model now. I tell it, what happened? It is overfit or overfit. So, this green model of mine is a fit model, that is, a good model. So now, if instead of this blue model, you were to come up with a model like this, for example, we would say, I want the equivalent of the line. What would be the equivalent of your line? You could have written it like this, the equivalent of your line would have been like this. Well, this is the equivalent of the line, this is now the equivalent of your line, Anderfit. Why Anderfite? If you give it this point, for example, your green model is predicting this point, your green model is predicting this point, and it's a good point. Your blue model is a bit lucky now, so it's still not too bad, but your face model is predicting this. It's a shame, right? So we have both overfitting, meaning that our number of parameters is too high, and underfitting, meaning that our number of parameters is too low. Each pair of these actually prevents us from having high accuracy when going to test data or validation data, meaning that our model is no longer reliable . Well, the good news is that we're going to get to the code. So, to get to my code, the first step I want to show you is, if this address is git.com, what is GitHub? GitHub is a site where different people can share their code with each other. So, for example, you can write a program and share it with other people. And it's the most famous. Now, we have other sites like GitLab or other sites, but GitHub is the most famous. And now, if you click on GitHub, slash, intro, intro, AI, intro, AI, introduction, you should see a page like this: Introduction to Artificial Intelligence. Now I'm gradually putting content into these gates. I just made it. And if you go to the fourth session, session four has a folder called Tehran Has, it has a data set and two notebooks. First, you have the dataset, so what was the name of this site? github.com So open this on your laptop and what do you do? Go to the Station Four section. Now I will definitely post the Github link on the Telegram channel so that friends can easily access it after class and download the file. For example, you can use this CSP file. The CSV file is very similar to an Excel file, meaning it is a table. This CSV means comma-separated values. It is a table where each of these columns is separated by a comma. For example, between this 63 and one, if you look at the file, there is a comma at the end. It is another table. You can click the download button right here. This is the arrow button that you see here and it will download the file for you . You can open the downloaded file in Excel. You can either see it here or open it in Excel. Well, besides that, let's go back a step in this same Tehran Hash D folder to Jupiter Notebook. I created this Jupiter Notebook very simply, just because it was in a basic mode, very easily, for example, with the cloud, in a few minutes. This is both a Persian text and an English text. Now, depending on the friends who are comfortable with Persian, usually because Persian is a bit right-aligned, left-aligned, and these may be displayed a bit badly, I put English in it. Now, you can use whichever one you like. This is a very simple Jupiter Notebook. Well, you can download it. Click this to download it and then go to Google Clips. So what is the site you open? arch.google.com. Or Google it yourself, Google will bring you Google Club. Well, now you're saying, actually, I want to emphasize one thing. Unfortunately, Google services in Iran are filtered and banned. Now, everything that is is banned and in itself may not open this for you without a VPN. Sometimes, for example, some of these VPNs that are installed as an application may not open for you. It may open. What I actually saw was some of the VPNs that are free and are added as add-ons to Google Chrome itself, for example, VPN for Chrome. Well, look at this, it's an add-on on me. I don't advertise it. I have nothing to do with it. I don't make any money from it. Whatever name I give it, it was just something. I used it at one time. It worked. Now, whether it works at this moment or not, I don't know. This is your responsibility. Please see that it may be useful. And you, well, I don't want to advertise a specific program, so I can't take responsibility for tomorrow either. This is your responsibility. But this is what I was saying about Google Club. With a software, actually VIP means open it please and now you can click upload and extract it from where you downloaded it. Now, for example, I have already put the files in Session Four in Tehran and for example, I open Persian. Well, when you open it, it will bring you a page like this and I still apologize again to my friends who know Python. However, since the assumption was that we want to start this course from scratch, we have a very, very quick introduction to Python and I hope it will be very quick in about 5 minutes and then we will move on to the concepts of machine learning in Python. When you open this notebook in Google Club, Google will make one of its servers available to you for a while. Of course, this time limit means, for example, if you use it for a long time, your account may be full at that time. Now you can use another account or wait until that time has passed and you can use it again. In short, don't leave anything open for no reason and when you are done, be sure to Close it. I'm telling you, look at what Jupiter Notebook One is actually a structure that you can do. You can see the text inside, code the shape, and run your code, meaning you can do everything on the same page. For example, this part that is just text. You can double-click on this text and it will show you the text. Edit it. That's right, but I don't have anything to do with editing the text right now. Well, let's go. Some of the cells are in code mode. We have two types of cells: text or image cells. We don't have anything to do with these. Code cells in code cells are characterized by their font and by the fact that they are also characterized by an English code. You can type your Python code and there is no need to install any software on your computer. The good news is that there is no need to install any software on your computer. All of your Python runs on a Google server. When you see this code cell, for example, this cell, let me tell you something. You can't learn to swim just by watching a movie of the Olympic swimming competition. For example, they are doing this and that. You definitely have to practice. That's from here. Next, please make sure to practice the lessons I'm presenting to you so that you can master them well. Okay, now here I'm going to practice this . See, here I considered three variables . For example, Sayyidi Tehran or Rooms 2 or Aria 75 and a half. Look at these three variables. The first time I typed this, it took a while . What was the reason for this delay? If you remember, it used to say "Connect" here, but now it says "Connect" in Python 3. It's actually connected to Python 3. RAM is 18 gigs instead of 12 gigs, and disk is, for example, 20 gigs instead of 17 gigs. What does that mean? So now this notebook is actually connected to a computer at Google, which is your server. For example, it has 12.67 gigs of RAM, 107 gigs of storage space, and now you're connected to it. This green dot means that you're connected. Your code isn't actually running on your computer. It's running in the cloud, in Google's space. It's running on a Google server. What did I do now? I took 3 variables and printed their values, it's that simple. You can add new code to it wherever you are. For example, you can click this Insert Pumpkin button. So insert the code and add a new code. For example, tell me what I know. I want to say that parking lot is equal to, well, parking lot is equal to, meaning it has parking or not. Now, this parking lot is equal to something that it's doing. It's like it's considering a container. What is that container called? It's called parking lot. We call it a variable, which is a memory location that's actually holding a unit of data for you . This data can be an integer like this one, an integer like this two, it can be a decimal number or a real number, actually like this 75 and a half, so it's a real number, which is actually aria. Now, if you look closely, what does the word float mean? That is, a real number, if, for example, you hold on the parking lot, well, hold on the parking lot, it says int, int means integer, that is, an integer, so our variables can be of different types, be integer, decimal, or float. If you hold on this variable, click on it and hold it. Here, it says styr, styr means string, that is, a character type variable. You must definitely quote this, that quote, you must definitely change your keyboard to English and put quotes. Preferably, now, it is true that I put Persian text in the code, but preferably, do not put Persian text as much as possible, because this quote and these things may bother you a little bit. For example, if you write what I know, city, conversation, Yazd, Yazd, is that right, and you run this, it will ask you what is Yazd, is that right? If you change this from Yazd to Aklad, for example, if a Don Acla Guillaume, let's leave this quote alone. It says that you opened it, as if it were a parenthesis game that does n't have a closing parenthesis. It definitely has to be a pair of quotation marks, and now it does n't get any errors anymore. So now, if I add some new code, for example, print CD and run it, what will it print ? Yazd. You see, we had already considered the CD in Tehran. That is, when we said, "Print the CD," Tehran printed it . But as soon as you pour the amount of Yazd into that container, what happens to the seton this time ? It will be Yazd. Well, or you can do something very simple, mathematical operations, we'll get to that now, but before we get to that, print one plus 15 times 25. What do you think this should print? So first one plus 15, for example, now let's consider smaller numbers, one plus three, it becomes 4 times 4, it becomes 16. That's right, but this is not the answer because in mathematics, we always multiply by the sum. So, multiplication and division always take precedence over addition and subtraction. That's why first he multiplies these two. Now if it were division, he would divide, so three times 12, then he adds this one, that is, what value does he print? It prints 13. Well, here are a few more examples of this mathematical operation . For example, what do I know? Suppose you say that the price of a house is, for example, approximately 50 million tomans per square meter. Let's say you watch this video in short, for example, this 50 could have become 500. I apologize in advance, but the price of a house, for example, is 50 million tomans per meter in Tehran. Now, if a house actually has an area of 75 and a half meters, we want to say what the approximate price of this house would be. The price per meter multiplied by this stroke, well, multiplied by the area, that is, 50 times 75. Let me give you some new codes, for example, print one times 5, so this will print this stroke and five, divide by one, then slash, so you type in this function, run it, it will complain to you, it will say it doesn't know this, but type this function, it will recognize it and print the two numbers. So now, minus, which is the same minus one minus p, prints out. If you want the power, you can add two stars. One star. In fact, multiplying two stars now gives you y to the power of p, which is the same as one. But, for example, what about d to the power of 5? It's 32. Well, you can't do it here. You can put a space here before these two. You can even put as much space as you want here. Although it's very ugly if you put a space, you can put these stupid spaces and it doesn't make any difference. But you can't put a space between these three or four stars. It's true that it will complain to you. That is, the three or four stars must be close together for power. If you don't have your first time, you'll probably need to work on this bit more. For example, I wrote a code like this and it will complain to me. And now, no matter how much I fix it, for example, I'll put these two like this, I'll run it again. I'll see if it still has that problem. What's the best thing to do? You can copy this error. Open any artificial intelligence site you have, for example, Gemini or Chat GPT or I don't know, anything, any other artificial intelligence. And put your code first . First copy and paste your code and then copy and paste this error. Well, you don't need to do anything else at all . You can even take a picture of this page and put it in Gemini, and Gemini will explain it to you simply. It will say, " Look, what did you do here? You put an extra space like this. This is a syntax error. It looks like there's a spelling error in that. You have a spelling error. You should definitely write it like this. You can copy this and then what you do next is come back here and paste it. Now if you run it, it will work, right? This means that when you have one of the biggest advantages of AI, you don't need any tutor to fix your code errors. I don't know, these are not part of AI. The best way is to copy your error, that is, the text of your code plus what gave you the error, into the chat of the Gemini DeepSic, and get advice from it. So now we want to move on to cases where we have a few numbers, for example, what do I know, they gave us the price of 50 houses or they gave us the area of 50 houses. These are a few numbers to make a list of them. Just use the open and closed parentheses. These are not your spellings. For example, the same way soap is written with sad, if you write it with sine, it's wrong. You can't use something else here instead of parentheses. It's wrong. It's right. You definitely have to use parentheses here. So, what is this doing? They glued four numbers together in a train. That is, it displays them in the form of a list. What does this list look like? It's like this, for example, what do I know, this array of mine is in the form of a matrix, in the form of a list, for example, what do I know, you have several values, 25, 57, 144, 215, how do you define this array? Well, you have to write the values like this, 25 and 44, sorry, 57, 144, and 215, and the next values. You can't put three dots, you write your values, and you close the row. So now, if you want to return this house, for example, our houses are always numbered with zeros in the footer, so for example, this number is zero, this is the number of two, we call it its index, this is the value, this is the index. Now, our zero, the index, you always write it inside the parentheses, so except here, for example, when you want to define the values themselves, for example, what does it mean when you say a zero? That is, from A to List A, from List A, look at the blood that has an index of zero and what is its value? Is this 25 correct or what is your age equal to? This is 144, right? So let's go back to our code now, see what code I executed. I defined a variable as a list of chars. Then I said print the total. It printed the total like this. Then I said print the array zero. What does that array mean? That house that we put in the zero index, as if in that row of our houses. For example, if our houses are in the form of a table, in the zero row, we always start the row from zero, right? This prints 60. When we say the array is negative 1, this negative one has a negative meaning when we give the numbers. For example, suppose I say print the array now, which one will be the array? This is what it should print, print 75, sorry, this is wrong, he said, "S is from NAFA" is right, and after that, I always write a piece of text that is not clear or text that you can't understand easily, but it shows the line that has the error with an underscore, meaning it says that there is an error with this line, and then it says that the name "R" is undefined, meaning the name "R" is not defined, and I look at it now and I see that it was n't "R" but "Ariaz" was "Ariaz". Well, now I might write it like this, and you'll see that it's still getting an error. It says "Ariaz is not defined", why is that because Python is case sensitive? That means you have to write this in lowercase exactly the way you defined it. For example, you can't write " print" with a capital "P". If you write it, it says " Print" is not defined at all, you have to write all the letters in lowercase, right? Well, Ariaz is a thing, this is 75, for example. I type negative one, which means start from the end, type negative d, which one should print 95, which means from the end of d to come, I type negative three, 75 from the end and from the beginning. So if we actually want to use an array or a list, I can use this array or list as an external or interchangeable, which means I can always use either one instead of the other, and what are these arrays or lists referring to? It's like a list of data that comes one after another like a train and repeats itself. So if I want to print its individual values, I can use the for statement, and this for statement is like a loop. It means he is repeating something. If I type this, what would I write instead of this? Let's create a new list command for a ins print a right, very simple one by one. When I say for a, what does it mean? It puts a once. This puts a once. This puts a once. This puts a once. This puts a once. This okay and prints that. For example, if I want to print the numbers one to 10, instead of this array, I say for a or for example for a. Many times these variables are variables. Well, we consider these variables as, for example, a and c and these. This range is 10 right. Print a and this has zero 1 2 to 9. Or, for example, if I want to print the numbers zero 1 to 9 to the power of 2, what do I do? I raise each of A to the power of 2 and print it. This way, raise zero to the power of 2, raise U to the power of 2, raise 9 to the power of 2 and write 81. It's very, very simple. It means you work with it a little bit. Even if we don't know anything about it, it's incredibly simple. Well, you can do it. Do you have other commands? For example, a very important command is IF. It means if OK, for example, suppose that Age is equal to 35. Suppose a person is 35 years old. Then say FH, print less than 50. For example, what do I know? IF A is less than 25. Print or smaller than now. Let's give a little discount. C Young. Well, for now, let's print this for now. Well, look, if I give someone's age 20 years, it prints Young. If I give it 10 years, it prints Young. Why am I telling him that if that person's age was under 30, print Young. But if I give it 31 years, it won't print Young. Or even if I give it 30 years, it wo n't print 30. Why? Because 0 is not less than 30. But if, for example, instead of smaller, I wrote smaller equal, meaning all people who are less than or equal to, well, look, you can't write this, equal less, this is wrong, you should write less equal, if less is equal to 30, print young, now it will print 0 as well as 30, young, but now we give it 31, it will not print young, well, and now what can you do, tell me, otherwise what again, that is, say, if it wasn't young, for example, say that if age is greater than what, I'm 5, print old, for example, or old, old, sorry, now this being young and old is to the heart of a person, well, but now, for example, even though I know, give 51 and let's see, this 51 that I give must be in English, well, I gave 51 and old printed 60, old printed 1, and young printed 35 and nothing printed, why, because it reaches a command that says that if my age is less than 30, then less less than is not a coin, go Otherwise, if my age is older than 50, well, it's not older than 50, so it doesn't do anything. Right, if I want to print between these two, I don't know, I can add another eld here. Print eld or eld. Right, now I'm printing 35 now and eld here. If you pay attention, when you're typing, Python itself, in fact, Jupiter Note itself, comes to Google Chrome and adds a space for you. Well, this space is very, very important. It's not accidental. It's not arbitrary. We call it indentation or code indentation. When we're defining an if, this command is in the belly of this if, so it must have an indentation. Or all of this stuff in the belly of the eld. You're saying, if the age is less than 30, do this, otherwise do all of this. Do all of this. So look at all of this. There's an indentation. Now, here, when you're defining it again, if the age is older than 50, print eld. What is this print in the heart of this if? That's right, so here there is either another indent or another depression compared to this IF. Okay, it's very simple. But if you don't put this simple indent, he'll take it and criticize you. He'll say, "In short, acten means, ' Excuse me,'" which means he expected to have an indent or a depression. Now, how can you add to this humility ? With Tab, the simplest thing is this Tab button that you usually don't use, it's useful here, and what can you do? Print this with a tab. Well, these are a very simple set of instructions. A slightly more advanced command is called a function definition. What does function mean? I'm going to explain your 5 foot sessions to you in a few minutes, and now our time is running out, but it's worth it. After all, I promised from the beginning that we would start this course from scratch. What does it mean? This means that you want to build a machine, a machine that takes something as input, does something, and can also return something as output. Well, all of this is arbitrary, whether it has an input or not. That means some functions can have no input at all. It's up to you. For example, the function you define may actually have an input or not. Well, the things it does are up to you. How many tasks it does, and whether it has an output or not, is up to you. For example, what can a pan do? It takes a number and adds one to it and returns it. So, it's like, for example, you saw someone, what should this bring back? I'll return 2, for example, 1, and you'll see how many times this should return 11. I'll call this function the next add function. Now, it doesn't matter if it's increment or add. Let me define this function. Before we move on to a function that's a little more complicated here, for example, let's say I add a cell of code here. I'll say def. This def means define, which means I'm defining a new function. Define, for example, now increment is correct. Now, its input is now. Now, it's time for you to give it the input. Well, let me make the name simpler. Now, with a big i, very often, for example, these functions that you define may have already been defined in Python. That's why it's good to use strange names so that they don't conflict with the previous function, for example. Well, this input could be Ick. Well, definitely, definitely see here that after if we put a colon, after if, a colon, after if, a colon. These colons define the end of that line of the command for for and for if . That is, if you didn't immediately add these two dots here, for example, it would complain to you, saying, "Look, here, this arrow is placed, meaning that here in this expected line, in short, you add these two dots and it defines it. And now I definitely need these two dots here too. Now I can do a number of things here. Well, for example, I can say, "Print X," and then I can say, "Print X plus print Y," so what does this function do now? Every time you give an X, it prints itself and the next one. Let's say you run this for a while, but if you don't run it, this function won't be defined. When you execute this cell, it's as if this function is now defined. For example, it was like this printer that we used until now. This printer is a pan that prints whatever you input to it. So now I'll tell you what 5 prints? 56th. What does 500 print? It prints 500 and 501, right? Well, it doesn't return anything. For example, suppose you say that wa is equal to 500. Now print wa. Well, it doesn't return anything. Nan Nan means that it's null, which means empty. That's right. We don't return anything. Because this function, in addition to taking the input, this is our input x. For example, it did a series of things. For example, print x, print x plus these things that it did. Now it wants to return this as output, which is x plus one, x plus one as output. How can I say, I can return ik plus u? I can use the return command. Return ik plus means I can return ik plus one. Right now, if I type wa. Now it's 500 and then print wa. You see wa. 501. Are these prints really necessary? I mean, I want a twist. Very secretly. That means, very quietly. It doesn't print anything. I just gave it every number I printed and it returned a worse one. No, no, there was no need for this. You could delete this or you could comment on it. If you add "show" to the beginning of any line of Python, it will comment out the entire line. What does comment mean? That means that line seems to be an explanation of your code or a part that you specified should not be executed. Now, if you run it, run this, run this, it wo n't change anything. It hasn't done anything yet, just changed the definition of that function as if it were a machine. However, if you type 500 now, you'll see that it didn't print anything. And now if you type print, you'll see that it's been done. It's as if these two print jobs didn't run anymore and it only printed 501 for you. Now let's write a function that, for example, takes any number we give it as an integer, a positive number, and prints its factorial. How can I actually define such a function? I'm going to add a code cell. Def Fact Fact means factorial of it. It wants to calculate that factor and return it. So, in order to return that factorial, if you're watching this video later, please stop here. Try to do this yourself. Try to do it without the help of artificial intelligence. At first, it might be very difficult. Take any step you want. It'll be difficult for you, but later you'll learn with my help. Well, look, I have to multiply one by D, like this, to multiply it. For example, if my number is 5, it's very easy for me to write: 1 times d times 3 times 4 x 4 times 5. That's right. For example, if I tell it to print fact 5, I have to put it in a variable and print it. I can directly say, "Print fact 5." It's actually printing 5 factorials, which is 120. But if I do it, it's 6 factorials, which is 720. That's right. But what's printing 120? Why because I just said it as a fixed number, I just said 1 times d times up to 5. Now what should I change? I can define a variable here. For example, first I give it the value 1. I say why I gave it 1. And then I say immediately, this range. Well, remember if it was A, what would the values of A be? Well, what would happen when we said A, this range. For example, if we said print A here, what happened when we said print A? It printed 0 to 9. Right, I said 1 to 1. I wanted it or I wanted it to be 1 to 1, so I wanted it to be 1 to 1, for example. I just had to tell him from 1 to 1, not to 11 to 11. Why? It always stops when it reaches this number itself, so it stops at 1, so if I were to say, "Look from 1 to 10, see 1 to 9," it would stop at this, it would n't print this, so I always have to give it one more. So, for example, if we want to have one more, say 50, right? Or let's say a small number, say 15, for example, if I always want to print the numbers one through nine, what do I need to tell it here? If I tell it here, it won't print the numbers one to one. Look, it will print one minus one. Why does it stop when it reaches one? Just tell it here, one plus one. And what happens if I run this ? From 1 to n, it will print itself out for me. Now, all I have to do is multiply these numbers one by one. You know what I want to do? I want to calculate the factorial. I have 1, I have 2, I have 3, so that, for example, I have 15. Suppose that n is equal to 15. I came here and defined an f, which is the initial value of this f, which is the same factorial. I put its initial value in one. Then I say, multiply this by one and put the result inside itself. This means, I multiply one by one, which itself becomes one, and put the result inside itself. Now, what will be my new result? It will be the same y. Now, I will multiply this one by two, one d, until it becomes what d, until I come back to these two, I will keep it here. This means, now the result here will be what d. Now, I will go to three, multiply d by three. How much is it? 6 is this six, I'll write it here. Did you understand this, this instant, when we say A, once it became one, once it became d, once it became three, each time A goes to a new number, see what number A goes to now. The next step is A goes to 4, meaning that now it equals 4, what does it do and multiply this by 4? It becomes 24. 4. Write 24 here. Now what is this 24? This 24 is the same 4 factorials, which means it is equal to 1 times 4 times 3 times 4. 24 is actually the same 4 factorials. And if we continue this work until we reach 15, which means 15 factorials or whatever we can calculate with it. I know this is a difficult exercise for someone who is a complete beginner. I do n't expect you to practice this so quickly. I'll tell you where to practice. But now I've defined an F. Then I'll say, "I'm going to erase this line." I'll say, "I'm going to erase this line. I'm going to do this range of Y to N plus Y. What do you do? Multiply A by F. That is, multiply the previous value of F by the new I. And put the result into the "Chi" inside F. This must be written like this: "F is equal to A times F." Someone might say, "F is equal to I times F." This is mathematically equal to "N." We call this an assignment. What does this mean? This is a times F. Assignment means this. When we say "F is equal to I times F." For example, suppose there was 4 here and now there was 6 here. What multiplication by 2 would result before this command? 24 24 and put it into F, which means 24, which is the result of this, put it into F and what happens to it here? This will be 24. Okay, so now all I have to do is what should I do? Return If we don't remember the return, it returns the bread. Return F. So now if I say print fact 6 720 and it's true fact 1, let's see what the factorial is. This is 3 million and 628 x 8, which is true fact 20 is this fact 30 is this factorial. Factorial grows very quickly. It does. Fact 40 is this 50 factorial. This is 100 factorial. This is a very big number. And now, for example, type 100 factorial. A very, very big number. 1000 factorial or even a smaller factorial. The probability of 100 factorial is now more than 100 factorial. Now you can check it accurately. It is more than the number of atoms in the entire known universe. Well, that's how fast the factorial grows. Well, not just the Earth, but the entire known universe, it exceeds the total number of its atoms. And now we're going to go to him. We're out of time. Excuse me, I wanted to do something in this session. Let's go to me. You have access to this notebook now. Please practice these next parts one by one. That is, just execute these cells one by one. We will have the next session together. And the next session will be more detailed about the application of these topics to artificial intelligence. I promise that we will start coding. We have finished our Python preparations now. From the next session, I will code artificial intelligence. Machine learning. I mean, we will learn how to actually write Python programs that will actually do the tasks of artificial intelligence for you, that is, learn by itself. I am very grateful to you. And as is the custom of this course, I want to dedicate this session to the students who sacrificed their lives for our beloved Iran on the tenth of January, 10, 404 and became immortal. I want their memory to live forever because they wanted a better life and freedom. Ahmad Reza Ghaderi, a student of manufacturing engineering at Noshirvani University of Babol. Ahmad Khosravani, a 21-year-old basketball player. A student at Aria University of Technology Mehr Sharif Parsa Sar Parsa Saffar My friend Parsa A brilliant graduate and medical student at Mashhad University of Medical Sciences Rubina Amini A 23-year-old student majoring in textile and clothing design at Shariati University Aida Heydari As her mother said, my daughter was a doctor Medical student at Tehran University of Medical Sciences Zahra Bahlolipour or Raha Bahlolipour Italian language specialist student at Tehran University I apologize, please leave me alone, I really apologize to the families, but since I want to read more names, I will skip the field and university. Daniyal Mostafavi Khalid Mollaei Amirali Zarei Yasin Mirzai Qale Zanjiri Ali Zanganeh Surena Golgoon Zahra Mahmoud Pour Alireza Rafi Rad Ariana Arjomandi Daniyal Diani I hope I read these names correctly. If I made a mistake somewhere, please write to me in the YouTube comments. Habib Khoeipour or Khoubipour Sina Kazemi Mohammad Reza Moradali Mohammad or Milad Gholami Elena Hojjati Faez Hosseinnejad Mohammad Jafarpour Amir Hossein or Shayan Shekari Mohammad Mehdi Salari Amir Ali Bastani Mehrdad Yaghoubi Mehr Amir Parsa Ashk Bos Mahan Mardani Mohammad Reza Alikhani Hamid Reza Vatan Jouv Ali Yazdani Mustafa Sarfaraz Ardakani Mohammad Reza Ahanggari Nastaran Abdollahi Mahin Rahmati Abolfazl Alipour Surena Robat Jazzi Baharan Taherkhani Arshia Barari Alireza Khodadadei Malika Destia Yaser Majidi Aria Heydari Dehgerdi Araz Salimian, Sadegh Azmi, Safoora Jafari These were just a group of all the students. Now I will definitely mention more names in the next meeting . These are our heroes. These are immortals who sacrificed their lives for Iran, along with everyone who sacrificed their lives for Iran to defend their homeland, so that our beloved Iran could be a better place to live. Thank you. May your day and our Iran's day be better than this. Farewell.
در این جلسه مقدمات برنامهنویسی پایتون را به صورت عملی مرور کردیم: ✅ دریافت کد از Github ✅ شروع کارکردن با Google Colab ✅ انواع متغیرها، حلقهی for، شرط if، محاسبات ریاضیات ✅ تعریف تابع ✅ لیست، اندیس، کارکردن با لیستها علاوه بر آن، مفاهیم زیر از یادگیری ماشین را مرور کردیم: ✅ گرادیان و گرادیان کاهشی (Gradient Descent) ✅ نرخ یادگیری (Learning Rate) ✅ کمبرازش (Underfitting) و بیشبرازش (Overfitting)