Je ne fais que me mouiller dans les statistiques alors je suis désolé si cette question n’a pas de sens. J'ai utilisé des modèles de Markov pour prédire les états cachés (casinos injustes, lancers de dés, etc.) et des réseaux de neurones pour étudier les clics d'utilisateurs sur un moteur de recherche. Les deux avaient des états cachés que nous essayions de comprendre à l'aide d'observations.
À ma connaissance, ils prédisent tous deux des états cachés. Je me demande donc quand utiliser les modèles de Markov sur des réseaux de neurones. S'agit-il simplement d'approches différentes de problèmes similaires?
(Je suis intéressé par l’apprentissage, mais j’ai aussi une autre motivation, j’ai un problème que j’essaie de résoudre en utilisant des modèles de Markov cachés, mais cela me rend dingue alors j’étais intéressé de voir si je pouvais passer à autre chose.)
la source
Réponses:
Ce qui est caché et ce qui est observé
Ce qui est caché dans un modèle de Markov caché est identique à ce qui est caché dans un modèle de mélange discret. Par souci de clarté, oubliez la dynamique de l'état caché et utilisez un modèle de mélange fini, par exemple. L '"état" dans ce modèle est l'identité de la composante qui a provoqué chaque observation. Dans cette classe de modèles, de telles causes ne sont jamais observées, de sorte que «cause cachée» est traduite statistiquement par l'affirmation selon laquelle les données observées ont des dépendances marginales qui sont supprimées lorsque le composant source est connu. Et les composantes sources sont estimées être ce qui rend cette relation statistique vraie.
Ce qui est caché dans un réseau neuronal multicouche à anticipation avec des unités centrales sigmoïdes, ce sont les états de ces unités, et non les sorties qui sont la cible de l'inférence. Lorsque la sortie du réseau est une classification, c'est-à-dire une distribution de probabilité sur des catégories de sortie possibles, ces valeurs d'unités cachées définissent un espace dans lequel les catégories sont séparables. L'astuce pour apprendre un tel modèle est de créer un espace caché (en ajustant la cartographie des unités d'entrée) dans lequel le problème est linéaire. Par conséquent, des limites de décision non linéaires sont possibles à partir du système dans son ensemble.
Génératif versus discriminant
Le modèle de mélange (et HMM) est un modèle du processus de génération de données, parfois appelé modèle de vraisemblance ou «modèle prospectif». Associé à certaines hypothèses sur les probabilités antérieures de chaque état, vous pouvez en déduire une distribution sur les valeurs possibles de l'état masqué à l'aide du théorème de Bayes (approche générative). Notez que, bien qu’ils soient appelés «antérieurs», l’ancien et les paramètres de vraisemblance sont généralement appris à partir de données.
Contrairement au modèle de mélange (et HMM), le réseau de neurones apprend directement une distribution a posteriori sur les catégories de sortie (approche discriminative). Cela est possible car les valeurs de sortie ont été observées lors de l'estimation. Et puisqu'elles ont été observées, il n'est pas nécessaire de construire une distribution postérieure à partir d'un modèle antérieur et spécifique pour la vraisemblance, telle qu'un mélange. Le postérieur est appris directement à partir des données, ce qui est plus efficace et moins dépendant du modèle.
Mélanger et assortir
Pour rendre les choses plus confuses, ces approches peuvent être mélangées, par exemple lorsque l'état du modèle de mélange (ou HMM) est parfois réellement observé. Lorsque cela est vrai et dans certaines autres circonstances non pertinentes ici, il est possible de s'entraîner de manière discriminante dans un modèle autrement génératif. De même, il est possible de remplacer la cartographie du modèle de mélange d'un HMM par un modèle de transfert plus souple, par exemple un réseau de neurones.
Questions
Il n'est donc pas tout à fait vrai que les deux modèles prédisent un état caché. Les HMM peuvent être utilisés pour prédire un état caché, mais uniquement du type attendu par le modèle prévisionnel. Les réseaux de neurones peuvent être utilisés pour prédire un état non encore observé , par exemple des états futurs pour lesquels des prédicteurs sont disponibles. Ce genre d'état n'est pas caché en principe, il n'a tout simplement pas été observé.
Quand utiliseriez-vous l'un plutôt que l'autre? Dans mon expérience, les réseaux de neurones constituent des modèles de séries chronologiques plutôt maladroits. Ils supposent également que vous avez observé une sortie. Les HMM n'en ont pas, mais vous n'avez vraiment aucun contrôle sur ce qu'est l'état caché. Néanmoins, ce sont des modèles appropriés de séries chronologiques.
la source
Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network.
:, voulez-vous dire remplacer les probabilités d’émission p (Observé | Caché) par un feed forward NN? Je l'ai rencontré à quelques endroits mais aucun ne donne d'explication. ils mentionnent simplement qu'ils l'ont mis en œuvre. Je suppose qu'ils remplacent l'étape MLE d'apprentissage des émissions, mais je ne comprends pas comment. Connaissez-vous un code ou un exemple explicatif? Tous les pointeurs bienvenus, merci.Les modèles de Markov cachés peuvent être utilisés pour générer un langage, c'est-à-dire une liste d'éléments d'une famille de chaînes. Par exemple, si vous avez un modèle HMM qui modélise un ensemble de séquences, vous pourrez générer des membres de cette famille en répertoriant les séquences qui appartiendraient au groupe de séquences que nous modélisons.
Réseaux de neurones, prenez une entrée d’un espace de grande dimension et mappez-la simplement vers un espace de petite dimension (la façon dont les réseaux de neurones mappent cette entrée est basée sur la formation, sa topologie et d’autres facteurs). Par exemple, vous pouvez prendre une image d'un nombre de 64 bits et la mapper sur une valeur vraie / fausse qui indique si ce nombre est 1 ou 0.
Alors que les deux méthodes peuvent (ou peuvent au moins essayer de) distinguer si un élément est membre d'une classe ou non, les réseaux de neurones ne peuvent pas générer un langage comme décrit ci-dessus.
Il existe des alternatives aux modèles de Markov cachés, vous pouvez par exemple utiliser un réseau bayésien plus général, une topologie différente ou une grammaire stochastique sans contexte (SCFG) si vous pensez que le problème réside dans le manque de puissance des HMM. modélisez votre problème, c'est-à-dire si vous avez besoin d'un algorithme capable de discriminer des hypothèses plus complexes et / ou de décrire le comportement de données beaucoup plus complexe.
la source
La meilleure réponse à cette question, d'après ce que j'ai trouvé, est la suivante: l'apprentissage en profondeur d'une chaîne de Markov déguisée . C’est exactement ce que j’ai compris, mais comme il ya déjà eu une discussion ailleurs sur Internet, je mets le lien ici.
Nous pouvons utiliser une séquence de caractères comme entrée au lieu d'un seul caractère. De cette façon, nous pouvons mieux saisir l'état (en fonction du contexte).
la source