input: Write a function to implement the Gradient Descent Algorithm in Python that takes input data x and y, as well as optional parameters learning_rate and iterations to optimize the linear regression model. The function should return the optimized slope (m) and intercept (b).
  
  assert gradient_descent([2, 4, 5], [10, 20, 25])==(3.34, 0.29)
  assert gradient_descent([1, 2, 3], [3, 6, 9])==(2.99, 0.03)
  assert gradient_descent([5, 10, 15], [15, 30, 45])==(3.0, 0.0)
  assert gradient_descent([7, 9, 11], [14, 18, 22])==(2.0, 0.0)
  assert gradient_descent([], [])==(0.0, 0.0)
output: def gradient_descent(x, y, learning_rate=0.01, iterations=1000):
      if not x or not y:
          return 0.0, 0.0
      
      m, b = 0.0, 0.0
      n = len(x)
      
      for _ in range(iterations):
          y_pred = m * x + b
          dm = (-2/n) * sum(x * (y - y_pred))
          db = (-2/n) * sum(y - y_pred)
          m -= learning_rate * dm
          b -= learning_rate * db
      
      return round(m, 2), round(b, 2)