I just started learning machine learning and learned a few basic algorithms and there is one stupid doubt in my mind and I am unable to find the answer of it. What do we actually study in machine learning algorithms that solves kinds of problems based on the data given to the algorithms? Take an example of linear regression: 1. We give data. 2. We tell machine how to calculate error. 3. Using gradient descent also we are telling machine how to optimize and based on all above some optimized parameters come out. Why there is actually a "learning" word in this algorithm? Although we are the telling how to perform steps and we have provided all the mathematics in this algorithm.