One of the hardest tasks in using machine learning methods is choosing the appropriate hyper-parameters of the model such as regularization parameter. As far as I know, this task is performed by a trial-and-error procedure, that is we try different values and select the ones which result in the better accuracies on the validation set.
I am curious to know is there any method for learning these parameters (especially regularization and learning rate parameters)? Can we simply use the backpropagation algorithm to find the appropriate values of these parameters based on the gradient descent?