Book Image

A Handbook of Mathematical Models with Python

By : Dr. Ranja Sarkar
Book Image

A Handbook of Mathematical Models with Python

By: Dr. Ranja Sarkar

Overview of this book

Mathematical modeling is the art of transforming a business problem into a well-defined mathematical formulation. Its emphasis on interpretability is particularly crucial when deploying a model to support high-stake decisions in sensitive sectors like pharmaceuticals and healthcare. Through this book, you’ll gain a firm grasp of the foundational mathematics underpinning various machine learning algorithms. Equipped with this knowledge, you can modify algorithms to suit your business problem. Starting with the basic theory and concepts of mathematical modeling, you’ll explore an array of mathematical tools that will empower you to extract insights and understand the data better, which in turn will aid in making optimal, data-driven decisions. The book allows you to explore mathematical optimization and its wide range of applications, and concludes by highlighting the synergetic value derived from blending mathematical models with machine learning. Ultimately, you’ll be able to apply everything you’ve learned to choose the most fitting methodologies for the business problems you encounter.
Table of Contents (16 chapters)
1
Part 1:Mathematical Modeling
4
Part 2:Mathematical Tools
11
Part 3:Mathematical Optimization

Gradient descent variants

The workings of the gradient descent algorithm to optimize a simple linear regression model (y = mx + c) is elaborated with Python code in this section.

Application of gradient descent

Keeping the number of iterations the same, the algorithm is run for three different learning rates resulting in three models, hence three MSE (mean squared error) values. MSE is the calculated loss or cost function in linear regression:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import mean_squared_error
#gradient descent method
class GDLinearRegression:
    def __init__(self, learning_rate, epoch):
        self.learning_rate, self.iterations = learning_rate, epoch
       #epoch is number of iterations
    def fit(self, X, y):
        c = 0
        ...