Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Implement Gradient Descent
00:00
5 left

Implement Gradient Descent

EasyPython

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):
Interviewer

Your question is Implement Gradient Descent. Start with the requirements in the Question tab.

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.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.