IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Programmer des chaines de Markov Cachées


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut Programmer des chaines de Markov Cachées
    Bonjour, à tous.
    Je suis actuellement en stage.
    J'utilise une méthode statistique appelée SVM (séparateur à vaste marge) pour prédire des types de roches.
    J'ai deux jeux de données un pour l'apprentissage de mon modèle et l'autre pour tester mon modèle les résultats sur les données test ne sont pas suffisament satisfaisant et on me demande donc d'utiliser des chaînes de markov cachées sur mes données tests pour essayer d'améliorer tout ça. J'utilise le logiciel Matlab.
    Le seul problème c'est que je ne connaît absolument pas les chaînes de Markov Cachées et que je n'ai aucune idée de comment programmer tout ça avec matlab.
    J'aurais vraiment besoin que quelqu'un vienne à mon secour ....
    MERCI

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Par défaut
    Bonjour,

    si je comprends bien tu as d'abords essayé les SVM en considérant un problème de classification supervisée ?. As-tu régler correctement les hyper-paramètres ?(à savoir C et \sigma, en général sur un 3ième ensemble de données ...).

    Si tu bascules sur les HMM tout d'abord, tu passes en classification non-supervisée, mais par compte tu vas imposer une forme paramétrique des densités (en général des Gausiennes multivariées ...). Prend la toolboxe de Kevin Murphy pour les HMM... (google est ton ami)


    Si les SVM n'ont pas bien fonctionné, plusieurs raisons (liste non-exhaustif)

    -Présence d'un bruit d'étiquette important
    -Classe(s) sous représentée en population dans ta base d'apprentissage
    -Grande dimension des données par rapport au nombre d'élément dans ta base. Dans cas, tu peux faire soit une Features selection ou une projection des données avant la classification.


    Sébastien




    Citation Envoyé par 8twilight8 Voir le message
    Bonjour, à tous.
    Je suis actuellement en stage.
    J'utilise une méthode statistique appelée SVM (séparateur à vaste marge) pour prédire des types de roches.
    J'ai deux jeux de données un pour l'apprentissage de mon modèle et l'autre pour tester mon modèle les résultats sur les données test ne sont pas suffisament satisfaisant et on me demande donc d'utiliser des chaînes de markov cachées sur mes données tests pour essayer d'améliorer tout ça. J'utilise le logiciel Matlab.
    Le seul problème c'est que je ne connaît absolument pas les chaînes de Markov Cachées et que je n'ai aucune idée de comment programmer tout ça avec matlab.
    J'aurais vraiment besoin que quelqu'un vienne à mon secour ....
    MERCI

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut Salut
    Merci de répondre si vite.
    Je dois préciser que je fais des SVM en multi classe qui me serve à prédire des types de roches.

    J'ai utiliser tout d'abord utiliser plusieur noyau (RBF=Gaussien, Polynomial de degrès 1 et linéaire). J'ai testé pour les noyaux RBF les paramètres suivants:
    sigma = 1 C = 1
    sigma = 1 C = 10
    sigma = 1 C = 50
    sigma = 1 C = 100
    sigma = 1 C = 1000

    sigma = 10 C = 1
    sigma = 10 C = 10
    sigma = 10 C = 50
    sigma = 10 C = 100
    sigma = 10 C = 1000

    sigma = 50 C = 1
    sigma = 50 C = 10
    sigma = 50 C = 50
    sigma = 50 C = 100
    sigma = 50 C = 1000

    sigma = 100 C = 1
    sigma = 100 C = 10
    sigma = 100 C = 50
    sigma = 100 C = 100
    sigma = 100 C = 1000

    sigma = 1000 C = 1000

    Pou le noyau polynomial j'ai pris un degrès 1 et C = 1.
    Pour le noyau linéaire, j'ai pris C = 1 à 10.

    Une fois que j'ai fais tout ça j'ai pris les noyaux avec les paramètres qui donnaient les meilleurs taux de bien classés sur mes données tests et j'ai utilisé une validation croisée pour essayer d'obtimiser les paramètres.

    Mon tuteur de la fac qui m'a dit d'utiliser des chaînes de markov cachée une fois que j'ai fais ma SVM pour améliorer le taux de bien classé.

    Je suis larguée donc si tu pouvais m'aider tu as l'air de bien connaître.
    MERCI

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Par défaut
    Hummm, attention à ta procédure de validation.

    1) Divise ta base en 2 sous-ensemble. L'un avec 80% des données (E1), l'autre (E2) avec 20% en faisant attention que dans chacun tes classes sont bien représentées.

    2) Sur ce premier sous-ensemble (E1), tu vas faire du K cross-validation (avec typiquement K= 5 ou 10), en le redivisant encore en 2 pour donner E11 et E12. Tu apprends le modèle SVM avec un jeu d'hyperparamètre fixé (C et sigma) sur E11 et tu calcules ton critère de perf sur E12. Tu sélectionnes (C et sigma) qui minimise ton critère sur E12.

    3) Tu réapprends le modèle sur E1 (en entier) mais avec les valeurs de C et sigma précédement trouvé puis tu calcules ton critère de perf sur E2...


    Concernant l'utilisation des HMM à la suite des SVM, je comprends pas trop l'interêt.


    Citation Envoyé par 8twilight8 Voir le message
    Merci de répondre si vite.
    Je dois préciser que je fais des SVM en multi classe qui me serve à prédire des types de roches.

    J'ai utiliser tout d'abord utiliser plusieur noyau (RBF=Gaussien, Polynomial de degrès 1 et linéaire). J'ai testé pour les noyaux RBF les paramètres suivants:
    sigma = 1 C = 1
    sigma = 1 C = 10
    sigma = 1 C = 50
    sigma = 1 C = 100
    sigma = 1 C = 1000

    sigma = 10 C = 1
    sigma = 10 C = 10
    sigma = 10 C = 50
    sigma = 10 C = 100
    sigma = 10 C = 1000

    sigma = 50 C = 1
    sigma = 50 C = 10
    sigma = 50 C = 50
    sigma = 50 C = 100
    sigma = 50 C = 1000

    sigma = 100 C = 1
    sigma = 100 C = 10
    sigma = 100 C = 50
    sigma = 100 C = 100
    sigma = 100 C = 1000

    sigma = 1000 C = 1000

    Pou le noyau polynomial j'ai pris un degrès 1 et C = 1.
    Pour le noyau linéaire, j'ai pris C = 1 à 10.

    Une fois que j'ai fais tout ça j'ai pris les noyaux avec les paramètres qui donnaient les meilleurs taux de bien classés sur mes données tests et j'ai utilisé une validation croisée pour essayer d'obtimiser les paramètres.

    Mon tuteur de la fac qui m'a dit d'utiliser des chaînes de markov cachée une fois que j'ai fais ma SVM pour améliorer le taux de bien classé.

    Je suis larguée donc si tu pouvais m'aider tu as l'air de bien connaître.
    MERCI

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut Salut
    Je voudrais savoir si quelqu'un à un code concernant des chaîne de Markov cachée avec MATLAB pour que je puisse comprendre comment faire.
    Je ne connaît absolument pas les chaîne de Markov et suis assez nulle en MATLAB.
    J'ai vraiment besoin d'aide
    MERCI

  6. #6
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Pour les codes tous faits c'est là : FEX. En cherchant Markov Chain.
    Mais même ainsi sans comprendre ce que tu manipules je ne vois pas très bien comment tu peux y arriver.
    Ton tuteur ne peux pas au moins un peu t'aiguiller ou te faire utiliser des concepts/langages que tu maitrises ?

    Je ne comprends pas pourquoi on oblige les étudiants à utiliser des choses dont ils ne comprennent ni ne connaissent rien

Discussions similaires

  1. chaines de markov cachées
    Par cameleone31 dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 20/05/2012, 21h50
  2. [Débutant] chaines de markov cachées
    Par cameleone31 dans le forum MATLAB
    Réponses: 2
    Dernier message: 04/04/2011, 23h43
  3. [TP] Application utilisant modèle des Chaînes de Markov Cachées ?
    Par williamdunord dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 17/02/2008, 22h19
  4. chaine de markov cachés(HMM)
    Par nejla_gr dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 18/01/2008, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo