Eh bien récemment, je travaillais sur l'apprentissage d'algorithmes de renforcement, tels que adaboost, gradient boost, et je savais que le plus faible apprenant utilisé était les arbres. Je veux vraiment savoir s'il existe des exemples récents de succès (je veux dire des articles ou des articles) pour utiliser les réseaux de neurones comme apprenant de base.
neural-networks
deep-learning
boosting
ensemble
dropout
user4380802
la source
la source
Réponses:
Dans le boosting, des classificateurs faibles ou instables sont utilisés comme apprenants de base. C'est le cas car l'objectif est de générer des limites de décision très différentes. Ensuite, un bon apprenant de base est celui qui est très biaisé, en d'autres termes, la sortie reste fondamentalement la même même lorsque les paramètres de formation des apprenants de base sont légèrement modifiés.
Dans les réseaux de neurones, le décrochage est une technique de régularisation qui peut être comparée à des ensembles d'entraînement. La différence est que l'assemblage se fait dans l'espace latent (les neurones existent ou non) diminuant ainsi l'erreur de généralisation.
Il existe deux techniques de ce type: dans le décrochage, les neurones sont supprimés (ce qui signifie que les neurones existent ou non avec une certaine probabilité) tandis que dans dropconnect, les poids sont supprimés.
Maintenant, pour répondre à votre question, je crois que les réseaux de neurones (ou perceptrons) ne sont pas utilisés comme apprenants de base dans une configuration boostée car ils sont plus lents à s'entraîner (prend trop de temps) et les apprenants ne sont pas aussi faibles, bien qu'ils puissent être configuré pour être plus instable. Donc, cela ne vaut pas la peine.
Il y a peut-être eu des recherches sur ce sujet, mais il est dommage que les idées qui ne fonctionnent pas bien ne soient généralement pas publiées avec succès. Nous avons besoin de plus de recherches couvrant des voies qui ne mènent nulle part, alias "ne vous embêtez pas à essayer cela".
ÉDITER:
J'en avais un peu plus à ce sujet et si vous êtes intéressé par des ensembles de grands réseaux, alors vous pourriez faire référence à des méthodes de combinaison des sorties de plusieurs de ces réseaux. La plupart des gens font la moyenne ou utilisent le vote majoritaire selon la tâche - ce n'est peut-être pas optimal. Je pense qu'il devrait être possible de modifier les poids pour la sortie de chaque réseau en fonction de l'erreur sur un enregistrement particulier. Moins les sorties sont corrélées, meilleure est votre règle d'assemblage.
la source
Je vois que cela n'a pas de réponse acceptée donc je vais donner une réponse très heuristique. Oui, c'est fait .... par exemple, il est disponible dans JMP Pro (probablement le meilleur package de statistiques dont vous n'avez jamais entendu parler). http://www.jmp.com/support/help/Overview_of_Neural_Networks.shtml
Il y a une description au milieu de la page de son utilisation. Je n'ai pas mis de cycles pour enquêter sur la théorie, mais il semble qu'ils impliquent qu'elle donne essentiellement les mêmes résultats que l'utilisation de plus de nœuds dans un seul modèle plus grand. L'avantage [selon eux] est la rapidité de l'ajustement du modèle.
Pour une jauge très approximative, je l'ai comparé sur un jeu de données que j'ai avec 2 sigmoïdes et 2 nœuds gaussiens et en augmentant le modèle 6x contre 12 sigmoïdes et 12 nœuds gaussiens dans un seul modèle et les résultats étaient pratiquement identiques sur mon ensemble de données de test .
Je n'ai pas non plus remarqué de différence de vitesse ... mais l'ensemble de données n'est que de 1600 points et j'utilise seulement 12 variables, donc sur un ensemble de données plus grand avec plus de variables, il peut être vrai qu'il existe une différence de calcul notable.
la source