小批量梯度下降法(Mini-batch Gradient Descent,Mini-Batch GD)是随机梯度下降法(Stochastic Gradient Descent,SGD)和批量梯度下降法(Batch Gradient Descent,BGD)的折中,相比较于SGD计算代价函数梯度的时候只考虑一个样本和BGD考虑所有样本,Mini-Batch GD计算代价函数梯度的时候考虑一小批样本,兼顾了寻优速度和收敛性。
函数原图像:
源码如下:
%% function test
clear;clc;close all
%% figure of function
rangeX = linspace(-20,20,200);
rangeY = linspace(-20,20,200);
[x0,y0] = meshgrid(rangeX,rangeY);
z = y0.*sin(x0) - x0.*cos(y0);
% plot
figure(1)
surf(x0,y0,z)
shading flat
colorbar
hold on
%% initialize
% generate scattered points
m=1000; %number of points
x