Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Implement Gradient Descent

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Implement Gradient Descent. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Plymouth Rock Assurance is prototyping a simple claim-severity model: prediction = weight * x + bias. Implement batch gradient descent to minimize mean squared error across training examples.

Formal Specification

Implement gradient_descent(x, y, learning_rate, iterations).

  • x is a list of numeric feature values.
  • y is a list of numeric target values, where y[i] corresponds to x[i].
  • Start with weight = 0.0 and bias = 0.0.
  • For each iteration, compute gradients over the entire dataset before updating either parameter:
    • error_i = weight * x[i] + bias - y[i]
    • d_weight = (2 / n) * sum(error_i * x[i])
    • d_bias = (2 / n) * sum(error_i)
  • Update both parameters using the learning rate.
  • Return [weight, bias], rounded to 10 decimal places.

Constraints

  • 1 <= len(x) == len(y) <= 10^4
  • -10^3 <= x[i], y[i] <= 10^3
  • 0 < learning_rate <= 1
  • 0 <= iterations <= 10^4
  • Return weight and bias rounded to 10 decimal places

Function Signature

def gradient_descent(x, y, learning_rate, iterations):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output