machine_learning.mini_batch_gradient_descent ============================================ .. py:module:: machine_learning.mini_batch_gradient_descent .. autoapi-nested-parse:: Mini-Batch Gradient Descent : https://en.wikipedia.org/wiki/Stochastic_gradient_descent Mini-batch gradient descent is an optimization method for training models by splitting the data into small batches. Functions --------- .. autoapisummary:: machine_learning.mini_batch_gradient_descent.mini_batch_gradient_descent Module Contents --------------- .. py:function:: mini_batch_gradient_descent(feature_matrix: numpy.ndarray, target_values: numpy.ndarray, learning_rate: float = 0.01, batch_size: int = 16, n_epochs: int = 50, random_seed: int | None = None) -> tuple[numpy.ndarray, float] Mini-Batch Gradient Descent for linear regression. Parameters ---------- feature_matrix: Feature matrix. target_values: Target values. learning_rate: Learning rate. batch_size: Size of mini-batches. n_epochs: Number of training epochs. random_seed: Random seed for reproducibility. Returns ------- weights: Learned weights. bias: Learned bias. Example ------- >>> import numpy as np >>> X = np.array([[1], [2], [3], [4]]) >>> y = np.array([2, 4, 6, 8]) >>> w, b = mini_batch_gradient_descent( ... X, y, learning_rate=0.1, batch_size=2, n_epochs=100, random_seed=42 ... ) >>> round(float(w[0]), 1) # slope close to 2 2.0