Je suis en train de parcourir la recherche aléatoire d'optimisation d'hyper-paramètre [1] de Bengio et Bergsta, où les auteurs affirment que la recherche aléatoire est plus efficace que la recherche sur grille pour obtenir des performances à peu près égales.
Ma question est la suivante: les gens ici sont-ils d'accord avec cette affirmation? Dans mon travail, j'ai utilisé la recherche sur grille principalement à cause du manque d'outils disponibles pour effectuer facilement des recherches aléatoires.
Quelle est l'expérience des personnes utilisant la recherche par grille ou par recherche aléatoire?
our Optunity
); comme le dit l'aide sur le comportement, "si certains ... se rapportent à votre produit ou à votre site Web, ce n'est pas grave. Cependant, vous devez divulguer votre affiliation"Réponses:
La recherche aléatoire a une probabilité de 95% de trouver une combinaison de paramètres dans l'optimum de 5% avec seulement 60 itérations. Également comparé à d'autres méthodes, il ne s'enlise pas dans l'optima local.
Consultez cet article de blog génial sur Dato par Alice Zheng, plus précisément la section Algorithmes de réglage Hyperparameter .
Vous pouvez améliorer cette chance avec un plus grand nombre d'essais.
Dans l’ensemble, si vous avez trop de paramètres à ajuster, la recherche sur grille peut devenir irréalisable. C'est à ce moment que j'essaye la recherche aléatoire.
la source
Regardez à nouveau le graphique du papier (Figure 1). Supposons que vous avez deux paramètres. Avec la recherche dans la grille 3x3, vous ne cochez que trois valeurs de paramètre différentes pour chacun des paramètres (trois lignes et trois colonnes sur le tracé de gauche), tandis que pour la recherche aléatoire, vous cochez neuf (!) Valeurs de paramètres différentes. de chacun des paramètres (neuf lignes distinctes et neuf colonnes distinctes).
De toute évidence, la recherche aléatoire, par hasard, peut ne pas être représentative de toute la gamme des paramètres, mais à mesure que la taille de l'échantillon augmente, les chances que cela se produise deviennent de plus en plus petites.
la source
Si vous pouvez écrire une fonction dans la recherche sur la grille, il est probablement encore plus facile d'écrire une fonction pour effectuer une recherche aléatoire, car vous n'avez pas besoin de spécifier au préalable et de stocker la grille à l'avance.
En mettant cela de côté, des méthodes telles que LIPO, l’optimisation des essaims de particules et l’optimisation Bayesienne font des choix intelligents quant aux hyperparamètres susceptibles d’être meilleurs. Par conséquent, si vous devez limiter le nombre de modèles à un minimum absolu (par exemple, il est coûteux de modèle), ces outils sont des options prometteuses. Ce sont également des optimiseurs globaux, de sorte qu’ils ont une forte probabilité de localiser le maximum global. Certaines des fonctions d’acquisition des méthodes BO ont des limites de regret prouvables, ce qui les rend encore plus attrayantes.
Plus d'informations peuvent être trouvées dans ces questions:
Quels sont certains des inconvénients de l'optimisation bayésienne hyper-paramètres?
Optimisation lorsque la fonction de coût est lente à évaluer
la source
Par défaut, la recherche aléatoire et la recherche sur grille sont des algorithmes terribles à moins que l’une des procédures suivantes ne soit suspendue.
La plupart des gens prétendent que la recherche aléatoire est meilleure que la recherche sur grille. Toutefois, notez que lorsque le nombre total d’évaluations de fonctions est prédéfini, la recherche sur grille conduit à une bonne couverture de l’espace de recherche qui n’est pas pire que la recherche aléatoire avec le même budget et la différence entre les deux est négligeable, le cas échéant. Si vous commencez à ajouter certaines hypothèses, par exemple que votre problème est séparable ou presque, vous trouverez des arguments pour prendre en charge la recherche par grille. Dans l'ensemble, les deux sont comparativement terribles, sauf dans très peu de cas. Il n’est donc pas nécessaire de les distinguer, à moins de prendre en compte d’autres hypothèses sur le problème.
la source
Trouver une tache à moins de 95% des maxima dans une topographie 2D avec un seul maxima nécessite 100% / 25 = 25%, 6,25%, 1,5625% ou 16 observations. Tant que les quatre premières observations déterminent correctement le quadrant dans lequel se trouvent les maxima (extrema). La topographie 1D prend 100/2 = 50, 25, 12,5, 6,25, 3,125 ou 5 * 2. J'imagine que les personnes à la recherche de plusieurs maxima locaux farflung utilisent la recherche dans la grille initiale puis la régression ou une autre méthode de prédiction. Une grille de 60 observations devrait avoir une observation à moins de 100/60 = 1,66% des extrema. Optimisation globale Wikipedia Je pense toujours qu'il existe toujours une meilleure méthode que le hasard.
la source
Comme Tim l'a montré, vous pouvez tester plus de valeurs de paramètres avec la recherche aléatoire qu'avec la recherche par grille. Ceci est particulièrement efficace si certains des paramètres que vous testez finissent par ne pas avoir d'impact sur votre problème, comme le "paramètre sans importance" sur la figure 1 de l'article.
J'ai publié un article sur le réglage des hyperparamètres dans lequel je décrivais les différences entre la recherche sur grille, la recherche aléatoire et l'optimisation bayésienne. Vous pouvez le vérifier (et laissez-moi savoir si cela a été utile, les commentaires sont les bienvenus!)
la source