def update_params(params, learning_rate, sigma, noise_array, standardized_reward_w_noise):
    """
    Applies the updates to the given parameters.

    :param params: numpy array of shape (nbr_params,) of the parameters
    :param learning_rate: float - the learning rate
    :param sigma: float - the coefficient to multiply the noise by
    :param noise_array: numpy array of shape (generation_size, nbr_params) of random noise
    :param standardized_reward_w_noise: numpy array of shape (nbr_params,) of the standardized reward with noise

    :return: numpy array of shape (nbr_params,) of the updated parameters
    """
    generation_size = len(noise_array)
    # Calculate the parameter updates for the given learning rate and standardized reward with noise,
    #   scaled by the population size times sigma.
    param_updates = (learning_rate * standardized_reward_w_noise) / (generation_size * sigma)
    return params + param_updates