17 lines
667 B
Matlab
17 lines
667 B
Matlab
function gradient = meanSquaredGradient(x, y, parameter)
|
|
% The gradient of the mean squared error
|
|
%
|
|
% Arguments: x, vector of the input values
|
|
% y, vector of the corresponding measured output values
|
|
% parameter, vector containing slope and intercept
|
|
% as the 1st and 2nd element
|
|
%
|
|
% Returns: the gradient as a vector with two elements
|
|
|
|
h = 1e-5; % stepsize for derivatives
|
|
mse = meanSquaredError(x, y, parameter);
|
|
partial_m = (meanSquaredError(x, y, [parameter(1)+h, parameter(2)]) - mse)/h;
|
|
partial_b = (meanSquaredError(x, y, [parameter(1), parameter(2)+h]) - mse)/h;
|
|
gradient = [partial_m, partial_b];
|
|
end
|