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

Méthodes prédictives Discussion :

[IA] Comment entraîner un réseau de neurones avec algorithme de rétropropagation


Sujet :

Méthodes prédictives

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Par défaut
    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    % les données de reseaux (l'entrée: (sal, BPT ), la sortie:TE
    sal=[0.6186 0.6369 1.5707 1.6867 3.735 4.5285 6.4212 7.1354 1.8504 2.5375 3.469 4.0254 5.8352 5.9126 0.7981 1.001 1.7117 2.151 3.473 3.618 5.0555 5.0648 1.2813 1.9457 3.0582 3.3534 4.911 5.4038 1.1263 2.2542 5.178 0.6239 2.643 4.779 6.3231 1.2566 3.03 4.281 0.19101 2.5357 3.9086 5.9291 1.1735 3.0542 5.7635 1.253 3.467 5.3929 6.4064 1.683 3.3541 4.876 0.6887 2.6012 4.4208 6.4108];
    sall=(sal-mean(sal))/std(sal);
    BPT=[60 60 60 60 60 60 60 60 80 80 80 80 80 80 100 100 100 100 100 100 100 100 120 120 120 120 120 120 60 60 60 80 80 80 80 100 100 100 120 120 120 120 60 60 60 80 80 80 80 100 100 100 120 120 120 120 ];
    BPTT= (BPT-mean(BPT))/std(BPT);
    TE=[ 0.0710 0.0720 0.1780 0.1920 0.4400 0.5420 0.8030 0.9070 0.2410 0.3320 0.4610 0.5420 0.8160 0.8300 0.1180 0.1470 0.2510 0.3180 0.5240 0.5470 0.7890 0.7900 0.2130 0.3240 0.5160 0.5670 0.8560 0.9510 0.128 0.258 0.629 0.081 0.347 0.654 0.894 0.185 0.454 0.657 0.033 0.425 0.670 1.056 0.134 0.356 0.709 0.163 0.461 0.654 0.894 0.248 0.505 0.756 0.116 0.437 0.764 1.154];
    TEE=(TE-mean(TE))/std(TE);
    p=[sall;BPTT];
    sal1=[0.6186 0.6369 1.5707 1.6867 3.735 4.5285 6.4212 7.1354 1.8504 2.5375 3.469 4.0254 5.8352 5.9126 0.7981 1.001 1.7117 2.151 3.473 3.618 5.0555 5.0648 1.2813 1.9457 3.0582 3.3534 4.911 5.4038] ;
    sal1=(sal1-mean(sal))/std(sal);
    %division de donées
    BPT1=[60 60 60 60 60 60 60 60 80 80 80 80 80 80 100 100 100 100 100 100 100 100 120 120 120 120 120 120];
    BPT1=(BPT1-mean(BPT))/std(BPT);
    TE1=[ 0.0710 0.0720 0.1780 0.1920 0.4400 0.5420 0.8030 0.9070 0.2410 0.3320 0.4610 0.5420 0.8160 0.8300 0.1180 0.1470 0.2510 0.3180 0.5240 0.5470 0.7890 0.7900 0.2130 0.3240 0.5160 0.5670 0.8560 0.9510] ;
    TE1=(TE1-mean(TE))/std(TE);
    trainv.P=[sal1;BPT1] ;
    trainv.T=TE1 ;
    sal2=[1.1263 2.2542 5.178 0.6239 2.643 4.779 6.3231 1.2566 3.03 4.281 0.19101 2.5357 3.9086 5.9291];
    sal2=(sal2-mean(sal))/std(sal);
    BPT2= [60 60 60 80 80 80 80 100 100 100 120 120 120 120 ] ;
    BPT2=(BPT2-mean(BPT))/std(BPT);
    TE2= [ 0.128 0.258 0.629 0.081 0.347 0.654 0.894 0.185 0.454 0.657 0.033 0.425 0.670 1.056];
    TE2=(TE2-mean(TE))/std(TE) ;
    valv.P=[sal2;BPT2] ;
    valv.T=TE2;
    sal3=[ 1.1735 3.0542 5.7635 1.253 3.467 5.3929 6.4064 1.683 3.3541 4.876 0.6887 2.6012 4.4208 6.4108];
    sal3=(sal3-mean(sal))/std(sal);
    BPT3= [60 60 60 80 80 80 80 100 100 100 120 120 120 120] ;
    BPT3=(BPT3-mean(BPT))/std(BPT);
    TE3= [ 0.134 0.356 0.709 0.163 0.461 0.654 0.894 0.248 0.505 0.756 0.116 0.437 0.764 1.154];
    TE3=(TE3-mean(TE))/std(TE) ;
    testv.P=[sal3;BPT3];
    testv.T=TE3 ;
     
    %apprentissage de reseaux
    pr=minmax(p);
    net=newff(trainv.P,trainv.T,[4 1]);
    net.trainParam.epochs = 50;
    [net,tr]=train( net,trainv.P,trainv.T,[],[],valv,testv)
    %SIMULATION DE RESEAU
    y=sim(net,[-1.4;-1.3])

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    merci francy
    j'ai compris ma faute
    lors de la création de réseaux j'ai pas préciser les fonctions d'activations donc par défaut égale a tansig j'ai remplace la fonction d'activation de la couche de sortie par purelin et sa marche bien http

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    ton programme aussi marche bien sauf dans la commande newff
    il faut ecrire newff(pr,[4 1])
    au liey de newff(tarinv.P,train.
    grâce a votre exemple de simulation j'ai compris que la faute que jai la mis n'est pas au niveau de la fonction d'activations mais au niveau de la simulation avec la commande sim
    en effet
    au lieu de choisir les entées réduites (...-mean/std) j'ai choisi les entrées initiales
    qui sont de grandes valeurs ce pour ce raison j'ai obtenu toujours y=1
    merciiiiiiiiiiiiiiiiiiii beaucoup FRANCY

  4. #4
    Membre Expert
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Par défaut
    Tu es le bienvenu

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    francy
    lorsque j'essaye d'afficher le biais de la couche d'entreé
    j' ai tapé
    net.b(1)
    mais j'ai obtenu
    ans =

    [4x1 double]
    je veut afficher les valeurs

  6. #6
    Membre Expert
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Par défaut
    Essaie net.b{1}

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    oui maintenant ca marche merci

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    salut francy
    j'ai programmé un réseau de neurone je t'ai envoyé déjà le programme hier
    j'ai pas compris une chose j'ai lancé mon programme dans matlab il tourne bien j'ai obtenue les résultats mais lorsque j'ai relancé le programme dans le même spacework j'ai obtenu de résultats (c'est a dire j'ai tapé le programme dans matlab je trouves des résultats mais lorsque j'ai fait copier coller de la même programme dans la même spacework j'ai obtenue des résultats différentes j'ai pas compris pourquoi

  9. #9
    Membre Expert
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Par défaut
    Je ne vois pas trop mais dans le doute fait un coup de clear all entre tes essais. Sinon vu la taille du programme le plus simple est de le mettre dans un fichier .m

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    bonjour francy
    voici mon programme
    % les données de reseaux (l'entrée: (sal, BPT ), la sortie:TE
    sal=[0.6186 0.6369 1.5707 1.6867 3.735 4.5285 6.4212 7.1354 1.8504 2.5375 3.469 4.0254 5.8352 5.9126 0.7981 1.001 1.7117 2.151 3.473 3.618 5.0555 5.0648 1.2813 1.9457 3.0582 3.3534 4.911 5.4038 1.1263 2.2542 5.178 0.6239 2.643 4.779 6.3231 1.2566 3.03 4.281 0.19101 2.5357 3.9086 5.9291 1.1735 3.0542 5.7635 1.253 3.467 5.3929 6.4064 1.683 3.3541 4.876 0.6887 2.6012 4.4208 6.4108];
    sall=(sal-mean(sal))/std(sal);
    BPT=[60 60 60 60 60 60 60 60 80 80 80 80 80 80 100 100 100 100 100 100 100 100 120 120 120 120 120 120 60 60 60 80 80 80 80 100 100 100 120 120 120 120 60 60 60 80 80 80 80 100 100 100 120 120 120 120 ];
    BPTT= (BPT-mean(BPT))/std(BPT);
    TE=[ 0.0710 0.0720 0.1780 0.1920 0.4400 0.5420 0.8030 0.9070 0.2410 0.3320 0.4610 0.5420 0.8160 0.8300 0.1180 0.1470 0.2510 0.3180 0.5240 0.5470 0.7890 0.7900 0.2130 0.3240 0.5160 0.5670 0.8560 0.9510 0.128 0.258 0.629 0.081 0.347 0.654 0.894 0.185 0.454 0.657 0.033 0.425 0.670 1.056 0.134 0.356 0.709 0.163 0.461 0.654 0.894 0.248 0.505 0.756 0.116 0.437 0.764 1.154];
    TEE=(TE-mean(TE))/std(TE);
    p=[sall;BPTT];
    %division de donées
    sal1=[0.6186 0.6369 1.5707 1.6867 3.735 4.5285 6.4212 7.1354 1.8504 2.5375 3.469 4.0254 5.8352 5.9126 0.7981 1.001 1.7117 2.151 3.473 3.618 5.0555 5.0648 1.2813 1.9457 3.0582 3.3534 4.911 5.4038] ;
    sal1=(sal1-mean(sal))/std(sal);

    BPT1=[60 60 60 60 60 60 60 60 80 80 80 80 80 80 100 100 100 100 100 100 100 100 120 120 120 120 120 120];
    BPT1=(BPT1-mean(BPT))/std(BPT);
    TE1=[ 0.0710 0.0720 0.1780 0.1920 0.4400 0.5420 0.8030 0.9070 0.2410 0.3320 0.4610 0.5420 0.8160 0.8300 0.1180 0.1470 0.2510 0.3180 0.5240 0.5470 0.7890 0.7900 0.2130 0.3240 0.5160 0.5670 0.8560 0.9510] ;
    TE1=(TE1-mean(TE))/std(TE);
    trainv.P=[sal1;BPT1] ;
    trainv.T=TE1 ;
    sal2=[1.1263 2.2542 5.178 0.6239 2.643 4.779 6.3231 1.2566 3.03 4.281 0.19101 2.5357 3.9086 5.9291];
    sal2=(sal2-mean(sal))/std(sal);
    BPT2= [60 60 60 80 80 80 80 100 100 100 120 120 120 120 ] ;
    BPT2=(BPT2-mean(BPT))/std(BPT);
    TE2= [ 0.128 0.258 0.629 0.081 0.347 0.654 0.894 0.185 0.454 0.657 0.033 0.425 0.670 1.056];
    TE2=(TE2-mean(TE))/std(TE) ;
    valv.P=[sal2;BPT2] ;
    valv.T=TE2;
    sal3=[ 1.1735 3.0542 5.7635 1.253 3.467 5.3929 6.4064 1.683 3.3541 4.876 0.6887 2.6012 4.4208 6.4108];
    sal3=(sal3-mean(sal))/std(sal);
    BPT3= [60 60 60 80 80 80 80 100 100 100 120 120 120 120] ;
    BPT3=(BPT3-mean(BPT))/std(BPT);
    TE3= [ 0.134 0.356 0.709 0.163 0.461 0.654 0.894 0.248 0.505 0.756 0.116 0.437 0.764 1.154];
    TE3=(TE3-mean(TE))/std(TE) ;
    testv.P=[sal3;BPT3];
    testv.T=TE3 ;

    %apprentissage de reseaux
    pr=minmax(p);
    net=newff(pr,[4 1],{'tansig' 'purelin'});

    [net,tr]=train( net,trainv.P,trainv.T,[],[],valv,testv)
    %affichage de poids et de biais de couche d'entrée
    net.IW{1,1}
    net.b{1}
    %affichage de poids et de biais de couche de sortie
    net.LW{2}
    net.b{2}
    fais "copier coller" et lance le programme dans matlab , vois le résultats de poids et de biais et après fais une autre fois"coller "dans la même spacework et vois les nouveaux résultats
    merci

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    merci francy
    je crois que les conditions initiales influencent sur la convergence de réseau j'ai pas compris les paramétrés suivants:
    lors de la creation de réseaux
    numInputDelays: 0 (read-only)
    numLayerDelays: 0 (read-only)
    je sais que avec la commande newff se fait la création de réseau et les initialisation des poids et de biais donc comment je peux a ce niveau afficher les poids et les biais initiales

  12. #12
    Membre Expert
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Par défaut
    comment je peux a ce niveau afficher les poids et les biais initiales
    Simplement en commentant la ligne [net,tr]=train( net,trainv.P,trainv.T,[],[],valv,testv);

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    merci énormément francy
    il reste une petite chose
    j'ai pas compris
    numInputDelays
    numLayerDelays
    et
    net.trainParam.show = 2;
    net.trainParam.showWindow = false

  14. #14
    Membre Expert
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Par défaut
    * Pour net.trainParam.showWindow = false et net.trainParam.show = 2 cf http://www.mathworks.com/help/toolbox/nnet/trainbr.html

    * Pour numInputDelays et numLayerDelays cf http://www.mathworks.com/help/toolbo.../network2.html

    Un des énormes avantages de MATLAB est sa doc

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    quelle est la différence entre training function et learning ??

  16. #16
    Membre Expert
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Par défaut
    http://www.mathworks.com/products/ne...cription4.html :
    Training and learning functions are mathematical procedures used to automatically adjust the network's weights and biases. The training function dictates a global algorithm that affects all the weights and biases of a given network. The learning function can be applied to individual weights and biases within a network.

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    Salut francy
    pour choisir le meilleur réseau de neurone j'ai fait une régression linéaire pour ce raison j'ai ajouté à mon programme une boucle while pour imposer m(la pente de la droite de régression à 1 et b (l'ordonnée à l'origine) d'être <0.00001 et r(coefficient de corrélation ) à 1 mais en ajoutant cette boucle mon programme n'a pas tourné il m'affiche une erreur
    voici mon code

    r=0
    m=0
    b=1
    While r~=1&m~=1&b>0.00001
    % les données de reseaux (l'entrée: (sal, BPT ), la sortie:TE
    sal=[0.6186 0.6369 1.5707 1.6867 3.735 4.5285 6.4212 7.1354 1.8504 2.5375 3.469 4.0254 5.8352 5.9126 0.7981 1.001 1.7117 2.151 3.473 3.618 5.0555 5.0648 1.2813 1.9457 3.0582 3.3534 4.911 5.4038 1.1263 2.2542 5.178 0.6239 2.643 4.779 6.3231 1.2566 3.03 4.281 0.19101 2.5357 3.9086 5.9291 1.1735 3.0542 5.7635 1.253 3.467 5.3929 6.4064 1.683 3.3541 4.876 0.6887 2.6012 4.4208 6.4108];
    sall=(sal-mean(sal))/std(sal);
    BPT=[60 60 60 60 60 60 60 60 80 80 80 80 80 80 100 100 100 100 100 100 100 100 120 120 120 120 120 120 60 60 60 80 80 80 80 100 100 100 120 120 120 120 60 60 60 80 80 80 80 100 100 100 120 120 120 120 ];
    BPTT= (BPT-mean(BPT))/std(BPT);
    TE=[ 0.0710 0.0720 0.1780 0.1920 0.4400 0.5420 0.8030 0.9070 0.2410 0.3320 0.4610 0.5420 0.8160 0.8300 0.1180 0.1470 0.2510 0.3180 0.5240 0.5470 0.7890 0.7900 0.2130 0.3240 0.5160 0.5670 0.8560 0.9510 0.128 0.258 0.629 0.081 0.347 0.654 0.894 0.185 0.454 0.657 0.033 0.425 0.670 1.056 0.134 0.356 0.709 0.163 0.461 0.654 0.894 0.248 0.505 0.756 0.116 0.437 0.764 1.154];
    TEE=(TE-mean(TE))/std(TE);
    p=[sall;BPTT];
    %division de donées
    sal1=[0.6186 0.6369 1.5707 1.6867 3.735 4.5285 6.4212 7.1354 1.8504 2.5375 3.469 4.0254 5.8352 5.9126 0.7981 1.001 1.7117 2.151 3.473 3.618 5.0555 5.0648 1.2813 1.9457 3.0582 3.3534 4.911 5.4038] ;
    sal1=(sal1-mean(sal))/std(sal);

    BPT1=[60 60 60 60 60 60 60 60 80 80 80 80 80 80 100 100 100 100 100 100 100 100 120 120 120 120 120 120];
    BPT1=(BPT1-mean(BPT))/std(BPT);
    TE1=[ 0.0710 0.0720 0.1780 0.1920 0.4400 0.5420 0.8030 0.9070 0.2410 0.3320 0.4610 0.5420 0.8160 0.8300 0.1180 0.1470 0.2510 0.3180 0.5240 0.5470 0.7890 0.7900 0.2130 0.3240 0.5160 0.5670 0.8560 0.9510] ;
    TE1=(TE1-mean(TE))/std(TE);
    trainv.P=[sal1;BPT1] ;
    trainv.T=TE1 ;
    sal2=[1.1263 2.2542 5.178 0.6239 2.643 4.779 6.3231 1.2566 3.03 4.281 0.19101 2.5357 3.9086 5.9291];
    sal2=(sal2-mean(sal))/std(sal);
    BPT2= [60 60 60 80 80 80 80 100 100 100 120 120 120 120 ] ;
    BPT2=(BPT2-mean(BPT))/std(BPT);
    TE2= [ 0.128 0.258 0.629 0.081 0.347 0.654 0.894 0.185 0.454 0.657 0.033 0.425 0.670 1.056];
    TE2=(TE2-mean(TE))/std(TE) ;
    valv.P=[sal2;BPT2] ;
    valv.T=TE2;
    sal3=[ 1.1735 3.0542 5.7635 1.253 3.467 5.3929 6.4064 1.683 3.3541 4.876 0.6887 2.6012 4.4208 6.4108];
    sal3=(sal3-mean(sal))/std(sal);
    BPT3= [60 60 60 80 80 80 80 100 100 100 120 120 120 120] ;
    BPT3=(BPT3-mean(BPT))/std(BPT);
    TE3= [ 0.134 0.356 0.709 0.163 0.461 0.654 0.894 0.248 0.505 0.756 0.116 0.437 0.764 1.154];
    TE3=(TE3-mean(TE))/std(TE) ;
    testv.P=[sal3;BPT3];
    testv.T=TE3 ;

    %apprentissage de reseaux
    pr=minmax(p);
    net=newff(pr,[4 1],{'tansig' 'purelin'});

    [net,tr]=train( net,trainv.P,trainv.T,[],[],valv,testv)
    %affichage de poids et de biais de couche d'entrée
    net.IW{1,1}
    net.b{1}
    %affichage de poids et de biais de couche de sortie
    net.LW{2}
    net.b{2}
    y=sim(net,p);
    y=y*std(TE)+mean(TE);
    [m,b,r]=postreg(y,TE)
    end

    merci

  18. #18
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    oui maintenant ca marche merci

  19. #19
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    avec la commande newff je peux afficher les valeurs finales des bias et des poids mais je veux afficher les valeurs initiales des poids et de biais

  20. #20
    Membre Expert
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Par défaut
    Fait :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    % les données de reseaux (l'entrée: (sal, BPT ), la sortie:TE
    sal=[0.6186 0.6369 1.5707 1.6867 3.735 4.5285 6.4212 7.1354 1.8504 2.5375 3.469 4.0254 5.8352 5.9126 0.7981 1.001 1.7117 2.151 3.473 3.618 5.0555 5.0648 1.2813 1.9457 3.0582 3.3534 4.911 5.4038 1.1263 2.2542 5.178 0.6239 2.643 4.779 6.3231 1.2566 3.03 4.281 0.19101 2.5357 3.9086 5.9291 1.1735 3.0542 5.7635 1.253 3.467 5.3929 6.4064 1.683 3.3541 4.876 0.6887 2.6012 4.4208 6.4108];
    sall=(sal-mean(sal))/std(sal);
    BPT=[60 60 60 60 60 60 60 60 80 80 80 80 80 80 100 100 100 100 100 100 100 100 120 120 120 120 120 120 60 60 60 80 80 80 80 100 100 100 120 120 120 120 60 60 60 80 80 80 80 100 100 100 120 120 120 120 ];
    BPTT= (BPT-mean(BPT))/std(BPT);
    TE=[ 0.0710 0.0720 0.1780 0.1920 0.4400 0.5420 0.8030 0.9070 0.2410 0.3320 0.4610 0.5420 0.8160 0.8300 0.1180 0.1470 0.2510 0.3180 0.5240 0.5470 0.7890 0.7900 0.2130 0.3240 0.5160 0.5670 0.8560 0.9510 0.128 0.258 0.629 0.081 0.347 0.654 0.894 0.185 0.454 0.657 0.033 0.425 0.670 1.056 0.134 0.356 0.709 0.163 0.461 0.654 0.894 0.248 0.505 0.756 0.116 0.437 0.764 1.154];
    TEE=(TE-mean(TE))/std(TE);
    p=[sall;BPTT];
    %division de donées
    sal1=[0.6186 0.6369 1.5707 1.6867 3.735 4.5285 6.4212 7.1354 1.8504 2.5375 3.469 4.0254 5.8352 5.9126 0.7981 1.001 1.7117 2.151 3.473 3.618 5.0555 5.0648 1.2813 1.9457 3.0582 3.3534 4.911 5.4038] ;
    sal1=(sal1-mean(sal))/std(sal);
     
    BPT1=[60 60 60 60 60 60 60 60 80 80 80 80 80 80 100 100 100 100 100 100 100 100 120 120 120 120 120 120];
    BPT1=(BPT1-mean(BPT))/std(BPT);
    TE1=[ 0.0710 0.0720 0.1780 0.1920 0.4400 0.5420 0.8030 0.9070 0.2410 0.3320 0.4610 0.5420 0.8160 0.8300 0.1180 0.1470 0.2510 0.3180 0.5240 0.5470 0.7890 0.7900 0.2130 0.3240 0.5160 0.5670 0.8560 0.9510] ;
    TE1=(TE1-mean(TE))/std(TE);
    trainv.P=[sal1;BPT1] ;
    trainv.T=TE1 ;
    sal2=[1.1263 2.2542 5.178 0.6239 2.643 4.779 6.3231 1.2566 3.03 4.281 0.19101 2.5357 3.9086 5.9291];
    sal2=(sal2-mean(sal))/std(sal);
    BPT2= [60 60 60 80 80 80 80 100 100 100 120 120 120 120 ] ;
    BPT2=(BPT2-mean(BPT))/std(BPT);
    TE2= [ 0.128 0.258 0.629 0.081 0.347 0.654 0.894 0.185 0.454 0.657 0.033 0.425 0.670 1.056];
    TE2=(TE2-mean(TE))/std(TE) ;
    valv.P=[sal2;BPT2] ;
    valv.T=TE2;
    sal3=[ 1.1735 3.0542 5.7635 1.253 3.467 5.3929 6.4064 1.683 3.3541 4.876 0.6887 2.6012 4.4208 6.4108];
    sal3=(sal3-mean(sal))/std(sal);
    BPT3= [60 60 60 80 80 80 80 100 100 100 120 120 120 120] ;
    BPT3=(BPT3-mean(BPT))/std(BPT);
    TE3= [ 0.134 0.356 0.709 0.163 0.461 0.654 0.894 0.248 0.505 0.756 0.116 0.437 0.764 1.154];
    TE3=(TE3-mean(TE))/std(TE) ;
    testv.P=[sal3;BPT3];
    testv.T=TE3 ;
     
    %apprentissage de reseaux
    net.trainParam.show = 2;
    pr=minmax(p);
    net=newff(pr,[4 1],{'tansig' 'purelin'});
    %net.trainParam.showWindow = false;
    %net.trainParam.epochs = 1;
    %[net,tr]=train( net,trainv.P,trainv.T,[],[],valv,testv);
    %affichage de poids et de biais de couche d'entrée
    net.IW{1,1}
    net.b{1}
    %affichage de poids et de biais de couche de sortie
    net.LW{2}
    net.b{2}
    sim(net,[0;2])

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Comment simuler un réseau des neurones en 'live'
    Par mclaurien dans le forum MATLAB
    Réponses: 1
    Dernier message: 30/08/2011, 17h40
  2. Réponses: 1
    Dernier message: 20/06/2011, 11h08
  3. entraîner un réseau de neurone
    Par rafrouf2010 dans le forum MATLAB
    Réponses: 0
    Dernier message: 28/02/2011, 10h49
  4. Réponses: 1
    Dernier message: 29/06/2010, 14h23
  5. créeation d'un réseau de neurones avec newnarx
    Par guefrachi dans le forum MATLAB
    Réponses: 0
    Dernier message: 06/05/2010, 20h19

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