26 lines
710 B
Python
26 lines
710 B
Python
def MSEStep(X, y, W, b, learn_rate = 0.001):
|
|
"""
|
|
This function implements the gradient descent step for squared error as a
|
|
performance metric.
|
|
|
|
Parameters
|
|
X : array of predictor features
|
|
y : array of outcome values
|
|
W : predictor feature coefficients
|
|
b : regression function intercept
|
|
learn_rate : learning rate
|
|
|
|
Returns
|
|
W_new : predictor feature coefficients following gradient descent step
|
|
b_new : intercept following gradient descent step
|
|
"""
|
|
|
|
# compute errors
|
|
y_pred = np.matmul(X, W) + b
|
|
error = y - y_pred
|
|
|
|
# compute steps
|
|
W_new = W + learn_rate * np.matmul(error, X)
|
|
b_new = b + learn_rate * error.sum()
|
|
return W_new, b_new
|