input: Write a python function to perform grid search using SVR to find the best hyperparameters for given data.
  assert perform_grid_search(np.array([[1000], [700], [500], [200]]), np.array([1, 0.75, 0.5, 0.25])) == {'C': 0.1, 'epsilon': 0.1}
  assert perform_grid_search(np.array([[300], [200], [100], [50]]), np.array([0.3, 0.2, 0.1, 0.05])) == {'C': 1, 'epsilon': 0.1}
  assert perform_grid_search(np.array([[600], [400], [100]]), np.array([0.6, 0.4, 0.1])) == {'C': 0.1, 'epsilon': 0.2}
output: def perform_grid_search(X, y):
      from sklearn.model_selection import GridSearchCV
      from sklearn.svm import SVR
      
      parameters = {'C': [0.1, 1, 10], 'epsilon': [0.1, 0.2, 0.5]}
      svr = SVR()
      grid_search = GridSearchCV(svr, parameters, cv=3)
      grid_search.fit(X, y)
      
      return grid_search.best_params_