Machines Boltzmann restreintes pour la régression?

13

Je poursuis la question que j'avais posée plus tôt sur les mécanismes RBM . Je vois beaucoup de littérature qui les décrit, mais aucune qui parle réellement de régression (pas même de classification avec des données étiquetées). J'ai l'impression qu'il est utilisé uniquement pour les données non étiquetées. Existe-t-il des ressources pour gérer la régression? Ou est-ce aussi simple que d'ajouter une autre couche au-dessus de la couche cachée et d'exécuter l'algorithme CD de haut en bas? Merci d'avance.

brocoli
la source

Réponses:

18

Vous avez raison sur les données non étiquetées. Les RBM sont des modèles génératifs et le plus souvent utilisés comme apprenants non supervisés.

Lorsqu'elle est utilisée pour construire un réseau de croyances profondes, la procédure la plus courante consiste simplement à former chaque nouveau RBM un à la fois car ils sont empilés les uns sur les autres. Donc, la divergence contrastive ne va pas de haut en bas dans le sens que je pense que vous voulez dire. Il ne fonctionne qu'avec une seule RBM à la fois, en utilisant la couche cachée de la RBM la plus haute précédente comme entrée pour la nouvelle RBM la plus haute. Après tout cela, vous pouvez soit traiter la pile de poids RBM comme les poids initiaux pour un réseau neuronal à action directe standard et vous entraîner à l'aide de vos données étiquetées et de la rétropropagation, soit faire quelque chose de plus exotique, comme utiliser l'algorithme de réveil-sommeil. Notez que nous n'avons utilisé aucune donnée étiquetée jusqu'à cette dernière étape, c'est l'un des avantages de ces types de modèles.

D'un autre côté, il existe plusieurs façons d'utiliser les RBM pour la classification.

  • Former un RBM ou une pile de plusieurs RBM. Utilisez la couche cachée la plus haute comme entrée pour un autre apprenant supervisé.
  • Former un RBM pour chaque classe et utiliser les énergies non normalisées comme entrée dans un classificateur discriminant.
  • Former le RBM pour être un modèle de densité conjointe de P (X, Y). Puis, étant donné une certaine entrée x, choisissez simplement la classe y qui minimise la fonction d'énergie (la normalisation n'est pas un problème ici comme ci-dessus car la constante Z est la même pour toutes les classes).
  • Former un RBM discriminant

Je vous suggère fortement de lire le rapport technique Un guide pratique de la formation des machines Boltzmann restreintes de Geoff Hinton. Il aborde plusieurs de ces questions de manière beaucoup plus détaillée, fournit des conseils précieux, cite de nombreux articles pertinents et peut aider à dissiper toute autre confusion que vous pourriez avoir.

alto
la source
1
les RBM peuvent-ils donc être utilisés pour la régression?
waspinator
Comment formez-vous une RBM pour qu'elle devienne un modèle de densité conjointe? En fournissant à la fois X et Y comme entrées non cachées, c'est-à-dire que vous l'entraînez à être P (X, Y | H) (H est la couche cachée)?
AkiRoss
Je réponds moi-même à mon commentaire: oui, dans "un Guide pratique de la formation en GAR" (Hinton, 2010), les 3 méthodes décrites ci-dessus sont expliquées en détail et, dans la 3ème méthode, il parle d'avoir "deux ensembles de visibles unités ", où, en plus des données, une unité d'étiquette softmax est présentée pour représenter la classe.
AkiRoss
2

Veuillez consulter la mise en œuvre, http://code.google.com/p/matrbm/ . Il a une fonction d'ajustement rmb de classification qui mérite d'être considérée. Faites-moi également savoir si vous trouvez de meilleures implémentations de DBN et de RMB pour la classification et la régression.

Deepan Prabhu Babu
la source
0

Je pense qu'une façon de tester des réseaux de neurones comme la machine Boltzman restreinte (RBM) est de les appliquer à de nouveaux ensembles de données, ou plus généralement à un sous-ensemble de l'ensemble de données, et de voir comment ils fonctionnent. Vous pouvez également tester le modèle avec validation croisée. J'ai utilisé une boîte à outils logicielle d'apprentissage machine ouverte (ML) populaire qui est simple à installer et à utiliser, et qui vous permet de tester facilement de nombreux types d'algorithmes ML séparément avec un certain nombre de statistiques de régression du modèle ( http: // www. cs.waikato.ac.nz/ml/weka/ ). Cela pourrait vous donner une analyse rapide sans trop d'intervention, sauf les bases de l'exécution du programme, bien que cela ne vaille pas la peine s'il est difficile de formater vos données (bien que vous puissiez généralement google "csv to arff convert online" par exemple pour le formatage en une étape).

jason albalah
la source