st-m-app-rn n1

download st-m-app-rn n1

of 8

Transcript of st-m-app-rn n1

  • 7/23/2019 st-m-app-rn n1

    1/8

    1 Rseaux de neurones

    Rseaux de neurones

    Rsum

    Dfinition et caractristiques des rseaux de neurones ou percep-trons multicouches spcifiques pour la rgression et la discrimina-

    tion ou classification supervise. Structure, fonction de transfert, es-

    timation du gradient par rtro-propagation et algorithmes dappren-

    tissage des poids en contrlant le sur-ajustement par rgularisation.

    Retour auplan du cours

    1 Introduction

    1.1 Historique

    Nous nous intressons ici une branche de lInformatique fondamentale

    qui, sous lappellation dIntelligence Artificielle, a pour objectif de simuler

    des comportements du cerveau humain. Les premires tentatives de modlisa-

    tion du cerveau sont anciennes et prcdent mme lre informatique. Cest en

    1943 que Mc Culloch (neurophysiologiste) et Pitts (logicien) ont propos les

    premires notions de neurone formel. Ce concept fut ensuite mis en rseau avec

    une couche dentre et une sortie par Rosenblatt en 1959 pour simuler le fonc-

    tionnement rtinien et tacher de reconnatre des formes. Cest lorigine du per-

    ceptron. Cette approche diteconnexionistea atteint ses limites technologiques,

    compte tenu de la puissance de calcul de lpoque, mais aussi thoriques audbut des annes 70.

    Lapproche connexioniste connaissance rpartiea alors t supplante par

    lapprochesymbolique ou squentielle qui promouvait les systmes experts

    connaissance localise. Lobjectif tait alors dautomatiser le principe de lex-

    pertise humaine en associant trois concepts :

    une base de connaissance dans laquelle taient regroupes toutes les

    connaissances dexperts humains sous forme de propositions logiques l-

    mentaires ou plus labores en utilisant des quantificateurs (logique du

    premier ordre).

    une base de faits contenant les observations du cas traiter comme, par

    exemple, des rsultats dexamens, danalyses de sang, de salive pour des

    applications biomdicales de choix dun antibiotique,

    un moteur dinfrence charg dappliquer les rgles expertes sur la base

    de faits afin den dduire de nouveaux faits jusqu la ralisation dun

    objectif comme llaboration du traitement dun infection bactrienne.

    Face aux difficults rencontres lors de la modlisation des connaissances dun

    expert humain, au volume considrable des bases de connaissance qui en d-

    coulaient et au caractre exponentiel de la complexit des algorithmes dinf-

    rence mis en jeu, cette approche sest teinte avec les annes 80. En effet, il a

    t montr que les systmes bass sur le calcul des prdicats du premier ordre

    conduisaient des problmesN Pcomplets.

    Lessor technologique et quelques avances thoriques :

    estimation du gradient par rtro-propagation de lerreur (Hopkins, 1982),

    analogie de la phase dapprentissage avec les modles markoviens de sys-

    tmes de particules de la mcanique statistique (verres de spin) par (Hop-

    field, 1982),au dbut des annes 80 ont permis de relancer lapproche connexioniste. Celle-

    ci a connu au dbut des annes 90 un dveloppement considrable si lon

    considre le nombre de publications et de congrs qui lui ont t consacrs

    mais aussi les domaines dapplications trs divers o elle apparat. Sur de nom-

    breux objectifs, justement ceux propres au data mining, les rseaux neuronaux

    ne rentrent pas ncessairement en concurrence avec des mthodes statistiques

    bientt centenaires mais apportent un point de vue complmentaire quil est

    important de considrer.

    Finalement, la motivation initiale de simulation du cortex crbral a t ra-

    pidement abandonn alors que les mthodes qui en dcoulaient ont trouv leurpropre intrt de dveloppement mthodologique et leurs champs dapplica-

    tions.

    1.2 Rseaux de neurones

    Unrseau neuronalest lassociation, en un graphe plus ou moins complexe,

    dobjets lmentaires, les neurones formels. Les principaux rseaux se dis-

    tinguent par lorganisation du graphe (en couches, complets. . . ), cest--dire

    leur architecture, son niveau de complexit (le nombre de neurones, prsence

    ou non de boucles de rtroaction dans le rseau), par le type des neurones (leurs

    http://wikistat.fr/pdf/st-m-app-intro.pdfhttp://wikistat.fr/pdf/st-m-app-intro.pdfhttp://wikistat.fr/
  • 7/23/2019 st-m-app-rn n1

    2/8

    2 Rseaux de neurones

    | f

    x1

    x

    2

    xj

    ...

    xp

    y

    FIGURE1 Reprsentation dun neurone formel.

    fonctions de transition ou dactivation) et enfin par lobjectif vis : apprentis-

    sage supervis ou non, optimisation, systmes dynamiques.

    1.3 Neurone formel

    De faon trs rductrice, un neurone biologique est une cellule qui se carac-

    trise par

    des synapses, les points de connexion avec les autres neurones, fibres ner-

    veuses ou musculaires ;

    des dentrites, les entres du neurones;

    laxone, la sortie du neurone vers dautres neurones ou fibres muscu-

    laires ;

    le noyau qui active la sortie en fonction des stimulations en entre.

    Par analogie, le neurone formel est un modle qui se caractrise par un tat

    internes S, des signaux dentrex1, . . . , xp et une fonction dactivation

    s= h(x1, . . . , xp) = f

    0+

    p

    j=1jxj

    =f(0+

    x).

    La fonction dactivation opre une transformation dune combinaison affine

    des signaux dentre, 0 tant appel le biais du neurone. Cette combinaisonaffine est dtermine par un vecteur de poids [0, . . . , p] associ chaqueneurone et dont les valeurs sont estimes dans la phase dapprentissage. Ils

    constituent la mmoire ou connaissance rpartie du rseau.

    Les diffrents types de neurones se distinguent par la naturefde leur fonc-tion dactivation. Les principaux types sont :

    linairefest la fonction identit, sigmodef(x) = 1/(1 +ex), seuilf(x) = 1 [0,+[(x),

    radialef(x) =

    1/2 exp(x2/2), stochastiquesf(x) = 1 avec la probabilit1/(1 + ex/H),0 sinon (H

    intervient comme une temprature dans un algorithme de recuit simul),

    . . .

    Les modles linaires et sigmodaux sont bien adapts aux algorithmes dap-

    prentissage impliquant (cf. ci-dessous) une rtro-propagation du gradient carleur fonction dactivation est diffrentiable ; ce sont les plus utiliss. Le mo-

    dle seuil est sans doute plus conforme la ralit biologique mais pose

    des problmes dapprentissage. Enfin le modle stochastique est utilis pour

    des problmes doptimisation globale de fonctions perturbes ou encore pour

    les analogies avec les systmes de particules. On ne le rencontre pas en data

    mining.

    2 Perceptron multicouche

    Nous ne nous intresserons dans ce cours qu une structure lmentairede rseau, celle dite statique ne prsentant pas de boucle de rtroaction et

    dans un but dapprentissage supervis. Tant les systmes dynamiques, avec

    boucle de rtroaction, que les rseaux dit cartes de Kohonen ou cartes auto-

    organisatrices ne sont pas abords. Ces derniers sont en fait des algorithmes de

    classification non-supervise.

    2.1 Architecture

    Le perceptron multicouche (PMC) est un rseau compos de couches suc-

    cessives. Une couche est un ensemble de neurones nayant pas de connexion

    http://wikistat.fr/http://wikistat.fr/
  • 7/23/2019 st-m-app-rn n1

    3/8

    3 Rseaux de neurones

    x1

    x2

    ...

    xj

    ...

    xp

    | f

    | f

    ...

    | f

    | f

    y

    FIGURE2 Exemple de perceptron multicouche lmentaire avec une couche

    cache et une couche de sortie.

    entre eux. Une couche dentre lit les signaux entrant, un neurone par entre

    xj , une couche en sortie fournit la rponse du systme. Selon les auteurs, lacouche dentre qui nintroduit aucune modification nest pas comptabilise.

    Une ou plusieurs couches caches participent au transfert. Un neurone dune

    couche cache est connect en entre chacun des neurones de la couche pr-

    cdente et en sortie chaque neurone de la couche suivante.

    2.2 Fonction de transfert

    Par souci de cohrence, les mmes notations ont t conserves tra-

    vers les diffrents chapitres. Ainsi, les entres dun rseau sont encore no-

    tesX1, . . . , X p comme les variables explicatives dun modle tandis que lespoids des entres sont des paramtres , estimer lors de la procduredapprentissage et que la sortieest la variableY expliquer ou cible du mo-dle.

    Un perceptron multicouche ralise donc une transformation des variables

    dentre :Y =(X1, . . . , X p;)

    o est le vecteur contenant chacun des paramtres jk de la j me entredu k me neurone de la me couche ; la couche dentre ( = 0) nest pasparamtre, elle ne fait que distribuer les entres sur tous les neurones de la

    couche suivante.

    Un thorme dit dapproximation universelle montre que cette structure

    lmentaire une seule couche cache est bien suffisante pour prendre en

    compte les problmes classiques de modlisation ou apprentissage statistique.

    En effet, toute fonction rgulire peut tre approche uniformment avec uneprcision arbitraire et dans un domaine fini de lespace de ses variables, par un

    rseau de neurones comportant une couche de neurones cachs en nombre fini

    possdant tous la mme fonction dactivation et un neurone de sortie linaire.

    De faon usuelle et en rgression (Y quantitative), la dernire couche estconstitue dun seul neurone muni de la fonction dactivation identit tandis

    que les autres neurones (couche cache) sont munis de la fonction sigmode.

    En classification binaire, le neurone de sortie est muni galement de la fonc-

    tion sigmode tandis que dans le cas dune discrimination m classes (Y qua-litative), ce sont m neurones avec fonction sigmode, un par classe, qui sont

    considrs en sortie.

    http://wikistat.fr/http://wikistat.fr/
  • 7/23/2019 st-m-app-rn n1

    4/8

    4 Rseaux de neurones

    Ainsi, en rgression avec un perceptron une couche cache de qneuroneset un neurone de sortie, cette fonction scrit :

    y= (x;, ) = 0+ z

    avec zk = f(k0+k

    x); k= 1, . . . , q .

    2.3 Apprentissage

    Supposons que lon dispose dune base dapprentissage de taille n dobser-vations(x1i , . . . , x

    pi ; yi)des variables explicatives X

    1, . . . , X p et de la variable prvoirY. Considrons le cas le plus simple de la rgression avec un rseauconstitu dun neurone de sortie linaire et dune couche q neurones dontles paramtres sont optimiss par moindres carrs. Ceci se gnralise toute

    fonction perte drivable et donc la discrimination mclasses.

    Lapprentissage est lestimation des paramtresj=0,p;k=1,q et k=0,q par

    minimisation de la fonction perte quadratique (ou dun fonction dentropie en

    classification) :

    Q(, ) =

    ni=1

    Qi =

    ni=1

    [yi(x;, )]2 .

    Diffrents algorithmes doptimisation sont proposs, ils sont gnralement ba-

    ss sur une valuation du gradient par rtro-propagation.

    2.3.1 Rtro-propagation de lerreur

    Il sagit donc dvaluer la drive de la fonction cut en une observationet par rapport aux diffrents paramtres. Soit zki = f(k0 + k

    xi) etzi = {z1i, . . . , zqi}. Les drives partielles de la fonction perte quadratiquescrivent :

    Qik

    = 2(yi(xi))(zi)zki = izki

    Qikj

    = 2(yi(xi))(zi)kf

    (kxi)xip = skixip.

    Les termesi etski sont respectivement les termes derreur du modle cou-

    rant la sortie et sur chaque neurone cach. Ces termes derreur vrifient les

    quations dites de rtro-propagation :

    ski = f(kxi)ki

    dont les termes sont value sen deux passes. Une passe avant, avec les va-

    leurs courantes des poids, lapplication des diffrentes entres xi au rseau

    permet de dterminer les valeurs ajustes(xi). La passe retour permet en-suite de dterminer lesi qui sont rtro-propags afin de calculer les ski etainsi obtenir les valuations des gradients.

    2.3.2 Algorithmes doptimisation

    Sachant valuer les gradients, diffrents algorithmes, plus ou moins sophis-

    tiqus, sont implments. Le plus lmentaire est une utilisation itrative du

    gradient : en tout point de lespace des paramtres, le vecteur gradient de Qpointe dans la direction de lerreur croissante. Pour faire dcrotre Q il suffitdonc de se dplacer en sens contraire. Il sagit dun algorithme itratif modi-

    fiant les poids de chaque neurone selon :

    (r+1)k =

    (r)k

    ni=1

    Qi

    (r)k

    (r+1)kp =

    (r)kp

    ni=1

    Qi

    (r)kp

    .

    ALGORITHME1 : Rtro propagation lmentaire du gra-

    dient

    Initialisation

    Les poids bjk par tirage alatoire selon une loi uniforme sur[0, 1].Normaliser dans[0, 1]les donnes dapprentissage.whileQ >errmax ou niter

  • 7/23/2019 st-m-app-rn n1

    5/8

    5 Rseaux de neurones

    Lerreur est rtro-propage dans les diffrentes couches afin daf-

    fecter chaque entre une responsabilit dans lerreur globale.

    Mise jour de chaque poidsbjk(i) = bjk(ii) + bjk(i)end for

    end while

    Le coefficient de proportionnalit est appel le taux dapprentissage. Ilpeut tre fixe, dterminer par lutilisateur, ou encore varier en cours dex-

    cution selon certaines heuristiques. Il parat en effet intuitivement raisonnable

    que, grand au dbut pour aller plus vite, ce taux dcroisse pour aboutir un

    rglage plus fin au fur et mesure que le systme sapproche dune solution.

    Bien dautres mthodes doptimisation ont t adaptes lapprentissage

    dun rseau : mthodes du gradient avec second ordre utilisant une approxi-

    mation itrative de la matrice hessienne (algorithme BFGS, de Levenberg-

    Marquardt) ou encore une valuation implicite de cette matrice par la mthode

    dite du gradient conjugu. La littrature sur le sujet propose quantits de re-cettes destines amliorer la vitesse de convergence de lalgorithme ou bien

    lui viter de rester coll une solution locale dfavorable. Dautres heuris-

    tiques proposent dajouter un terme dinertie afin dviter des oscillations de

    lalgorithme.

    Dautres algorithmes encore sont des versions adaptatives. Lorsque de nou-

    velles observations sont proposes une une au rseau. Dans ce dernier type

    dalgorithme, des proprits de dynamique markovienne (processus ergodique

    convergeant vers la mesure stationnaire) impliquent une convergence presque

    sre : la probabilit datteindre une prcision fixea prioritend vers 1 lorsque

    la taille de lchantillon dapprentissage tend vers linfini.On pourra se reporter labondante littrature sur le sujet (Haykin, 1994)[1]

    pour obtenir des prcisions sur les algorithme dapprentissage et leurs nom-

    breuses variantes. Il est important de rappeler la liste des choix qui sont laisss

    lutilisateur. En effet, mme si les logiciels proposent des valeurs par dfaut,

    il est frquent que cet algorithme connaisse quelques soucis de convergence.

    2.4 Contrle de la complexit

    Choix des paramtres

    Lutilisateur doit donc dterminer

    1. les variables dentre et la variable de sortie ; leur faire subir comme pour

    toutes mthodes statistiques, dventuelles transformations.

    2. Larchitecture du rseau : le nombre de couches caches (en gnral

    une ou deux) qui correspond une aptitude traiter des problmes de

    non-linarit, le nombre de neurones par couche cache. Ces deux choix

    conditionnent directement le nombre de paramtres (de poids) estimeret donc la complexit du modle. Ils participent la recherche dun bon

    compromis biais/variance cest--dire lquilibre entre qualit dappren-

    tissage et qualit de prvision.

    3. Trois autres paramtres interviennent galement sur ce compromis : le

    nombre maximum ditrations, lerreur maximum tolre et un terme

    ventuel de rgularisation (decay). En renforant ces critres on amliore

    la qualit de lapprentissage ce qui peut se faire au dtriment de celle de

    la prvision.

    4. Le taux dapprentissage ainsi quune ventuelle stratgie dvolution de

    celui-ci.

    En pratique, tous ces paramtres ne peuvent tre rgls simultanment par

    lutilisateur. Celui-ci est confront des choix concernant principalement le

    contrle du sur-apprentissage : limiter le nombre de neurones ou la dure dap-

    prentissage ou encore augmenter le coefficient de pnalisation de la norme des

    paramtres. Ceci ncessite de dterminer un mode destimation de lerreur :

    chantillon validation ou test, validation croise ou bootstrap. Ces choix sont

    souvent pris par dfaut dans la plupart des logiciels commerciaux. Il est im-

    portant den connatre les implications.

    Dure de lapprentissage

    La stratgie la plus simple (SAS Enterprise Miner) consiste considr un

    chantillon indpendant de validation et arrter lapprentissage lorsque ler-

    reur sur cet chantillon de validation commence se dgrader tandis que celle

    sur lchantillon dapprentissage ne peut que continuer dcrotre.

    Nombre de neurones

    Le nombre de couches reste restreint car toute fonction continue dun com-

    pact de RP dans Rq peut tre approche avec une prcision arbitraire par un

    rseau une couche cache en adaptant le nombre de neurones. Le contrle

    http://wikistat.fr/http://wikistat.fr/
  • 7/23/2019 st-m-app-rn n1

    6/8

    6 Rseaux de neurones

    de la complexit du modle ou plus gnralement dun sur-apprentissage peut

    tre dtermin en optimisant le nombre de neurones par minimisation dune

    estimation de lerreur de prvision par exemple par validation croise.

    Rgularisation

    Une option importante car efficace pour viter le sur-apprentissage consiste introduire une terme de pnalisation ou rgularisation, comme en rgression

    ridge, dans le critre optimiser. Celui-ci devient alors : Q() +2.

    Le paramtre (decay) doit tre rgl par lutilisateur; plus il est impor-tant et moins les paramtres ou poids peuvent prendre des valeurs chaoti-

    ques contribuant ainsi limiter les risques de sur-apprentissage. Une stratgie

    simple et sans doute efficace, surtout si la taille de lchantillon ne permet pas

    de prendre en compte une partie validation, consiste introduire un nombre

    plutt grand de neurones puis optimiser le seul paramtre de rgularisation

    (decay) par validation croise.

    2.5 Remarques

    Les champs dapplication des PMC sont trs nombreux : discrimination,

    prvision dune srie temporelle, reconnaissance de forme. . . Ils sont en gn-

    ral bien explicits dans les documentations des logiciels spcialiss.

    Les critiques principales nonces lencontre du PMC concernent les dif-

    ficults lis lapprentissage (temps de calcul, taille de lchantillon, localit

    de loptimum obtenu) ainsi que son statut de bote noir. En effet, contraire-

    ment un modle de discrimination ou un arbre, il est a prioriimpossible de

    connatre linfluence effective dune entre (une variable) sur le systme ds

    quune couche cache intervient. Nanmoins, des techniques de recherche de

    sensibilit du systme chacune des entres permettent de prciser les ides et,

    ventuellement de simplifier le systme en supprimant certaines des entres.

    En revanche, ils possdent dindniables qualits lorsque labsence de lina-

    rit et/ou le nombre de variables explicatives rendent les modles statistiques

    traditionnelles inutilisables. Leur flexibilit allie une procdure dapprentis-

    sage intgrant la pondration (le choix) des variables comme de leurs interac-

    tions peuvent les rendre trs efficaces.

    3 Exemples

    Les rseaux de neurones tant des botes noires, les rsultats fournis ne sont

    gure explicites et ne conduisent donc pas des interprtations peu informa-

    tives du modle. Seule une tude des erreurs de prvisions et, dans le cas dune

    rgression, une tude des rsidus, permet de se faire une ide de la qualit du

    modle.

    3.1 Cancer du sein

    La prvision de lchantillon test par un rseau de neurones conduit la

    matrice de confusion ci-dessous et donc une erreur estime de 3%.

    benign malignant

    FALSE 83 1

    TRUE 3 50

    3.2 Concentration dozoneLa comparaison des rsidus (figure 3 montre que le problme de non-

    linarit qui apparaissait sur les modles simples (MOCAGE, rgression li-

    naire) est bien rsolu et que ces rsidus sont plutt moins tendus, mais le

    phnomne dhtroscdasticit est toujours prsent quelque soit le nombre de

    neurones utiliss. Il a t choisi relativement important (10) et conduit donc

    un bon ajustement (R2 = 0, 77) mais devra tre rduit pour optimiser laprvision.

    Loptimisation des paramtres dun rseau de neurones est instable comme

    pour les proches voisins car chaque excution de lestimation de lerreur parvalidation croise fournit des rsultats diffrents. Elle est en plus trs com-

    plique par le nombre de paramtres optimiser : nombre de neurones sur la

    couche (size), pnalisation (decay), nombre ditrations. Une fonction de la

    librairie e1071 permet de faire varier la fois la taille et la pnalisation et

    fournit des graphiques lgants (figure4) mais les excutions sont trs longues

    et les rsultats pas toujours pertinents. Le plus efficace semble tre de fixer

    assez grands la taille (nombre de neurones) et le nombre ditrations pour se

    focaliser sur le seul rglage de la pnalisation.

    Comme pour les arbres de dcision, les rseaux de neurones ne proposent

    pas de modles trs efficaces sur cet exemple. Les taux derreur de prvision

    http://wikistat.fr/http://wikistat.fr/
  • 7/23/2019 st-m-app-rn n1

    7/8

    7 Rseaux de neurones

    0 50 100 200 300

    0

    50

    150

    250

    Valeurs predites

    Valeursobs

    ervees

    0 50 100 200 300

    100

    50

    0

    50

    100

    Valeurs predites

    Rsidu

    s

    FIGURE3 Ozone : Valeurs observes et rsidus de lchantillon test en fonc-

    tion des valeurs prdites par un rseau de 10 neurones

    655

    660

    665

    670

    675

    680

    2.0 2.5 3.0 3.5 4.0

    1.0

    1.5

    2.0

    2.5

    3.0

    Performance of nnet

    size

    decay

    FIGURE 4 Ozone : optimisation des paramtres (pnalisation et nombre de

    neurones) par validation croise.

    False positive rate

    True

    positiv

    e

    rate

    0.0 0.2 0.4 0.6 0.8 1.0

    0.0

    0.2

    0.4

    0

    .6

    0.8

    1.0

    _

    _

    _

    logit

    nnetr

    nnetq

    FIGURE5 Ozone : courbes ROC pour la rgression logistique et les rseaux

    de neurones.

    du dpassement du seuil sont de 14,4% partir du modle quantitatif et de

    15,6% avec une prvision directement qualitative. Les courbes ROC estimes

    sur lchantillon test permettent de comparer les mthodes. Dans ce cas et

    pour lchantillon test concern, la mthode la plus efficace (figure 5) pour

    prvoir le dpassement du pic dozone est un rseau de neurone modlisant la

    concentration plutt que la prvision directe du dpassement (logit ou rseau

    qualitatif).

    3.3 Donnes bancaires

    Une fonction de la librairie e1071, pratique mais trs chronophage, pro-

    pose une automatisation de loptimisation des paramtres (decay, nombre de

    neurones). Elle produit une carte de type contour permettant dvaluer " lil"

    les valeurs optimales. La prvision de lchantillon test par ce rseau de neu-

    rones conduit la matrice de confusion ci-dessous et donc une erreur estime

    de 21,5% :

    pred.vistest FALSE TRUE

    FALSE 110 16

    http://wikistat.fr/http://wikistat.fr/
  • 7/23/2019 st-m-app-rn n1

    8/8

    8 Rseaux de neurones

    TRUE 27 47

    Rfrences

    [1] T.J. Haykin,Neural network, a comprehensive foundation, Prentice-Hall,

    1994.

    http://wikistat.fr/