# Aiblogtech

Unlocking Tomorrow with Aiblogtech Today

# How to build gradient descent and cost function using Python

A general explanation of gradient descent and cost function is that these concepts are utilized in loss function computation and optimization. First, we will explore what is Gradient Descent and Cost Function then we will implement the basic example of these algorithms using Python.

Gradient descent is an optimization method where a function is minimized (or maximized) by iteratively changing the model’s parameters. One common task in machine learning is to find the best model parameters to fit the data. The idea is to update a set of initial parameter values iteratively in a direction opposite to the cost function’s gradient.

#### Cost Function

The cost function, also known as the objective function or the loss function, assesses how well a model’s predictions match the real target values discovered in the training set. The difference between what was predicted and what was observed is measured. The goal of a machine learning algorithm is to minimize the cost function.

### How to create the gradient descent and cost function for a basic linear regression

This is an example of how to create the cost function and gradient descent for a basic linear regression problem using Python:

``````import numpy as np
import matplotlib.pyplot as plt

# Generate some sample data
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 3 + 4 * X + np.random.randn(100, 1)

# Add a bias term to X
X_b = np.c_[np.ones((100, 1)), X]

# Initialize parameters
theta = np.random.randn(2, 1)

# Set learning rate and number of iterations
learning_rate = 0.01
num_iterations = 1000

for iteration in range(num_iterations):
gradients = 2 / 100 * X_b.T.dot(X_b.dot(theta) - y)

# Calculate the predicted values
y_pred = X_b.dot(theta)

# Mean Squared Error (MSE) cost function
mse_cost = np.mean((y_pred - y) ** 2)

# Print the learned parameters and MSE
print("Learned Parameters (theta):")
print(theta)
print("Mean Squared Error (MSE):", mse_cost)

# Plot the data and the regression line
plt.scatter(X, y, label='Actual Data')
plt.plot(X, y_pred, color='red', label='Regression Line')
plt.xlabel('X')
plt.ylabel('y')