1 / 16

Maschinelles Lernen und Neural Computation Übung: Grundlagen von Matlab und Netlab

Maschinelles Lernen und Neural Computation Übung: Grundlagen von Matlab und Netlab. Georg Dorffner / Achim Lewandowski. Matlab – Nützliches I. Zugriff auf die Daten: Per Hand eingeben: >> a=4 %Skalar >> Vektor=[3; 5; 7] >> bmat=[2 3 4 5; 3 4 5 6; 11 1 2 1] Aus Ascii-Datei:

ayanna
Download Presentation

Maschinelles Lernen und Neural Computation Übung: Grundlagen von Matlab und Netlab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Maschinelles Lernen und Neural Computation Übung: Grundlagen von Matlab und Netlab Georg Dorffner / Achim Lewandowski Maschinelles Lernen und Neural Computation

  2. Matlab – Nützliches I • Zugriff auf die Daten: • Per Hand eingeben: >> a=4 %Skalar >> Vektor=[3; 5; 7] >> bmat=[2 3 4 5; 3 4 5 6; 11 1 2 1] • Aus Ascii-Datei: >> load beispiel.dat Variable (oder Array) heißt nun beispiel • Aus Matlab-Datei (Endung .mat): >> load class.mat class.mat kann mehrere Variablen, arrays,… auch mit anderen Namen enthalten Maschinelles Lernen und Neural Computation

  3. Matlab – Nützliches II • Welche Daten sind im Arbeitsspeicher? >> whos Name Size Bytes Class Vektor 3x1 24 double array a 1x1 8 double array bmat 3x4 96 double array • Daten abspeichern, alles löschen, neu laden >>save daten Ve* bmat %legt daten.mat an >>clear %loescht alles >>load daten %Vektor und bmat sind wieder geladen Maschinelles Lernen und Neural Computation

  4. Matlab – Nützliches III >>a*bmat %Multiplikation ans = 8 12 16 20 12 16 20 24 44 4 8 4 >>c=bmat' %Transponierte c = 2 3 11 3 4 1 4 5 2 5 6 1 Maschinelles Lernen und Neural Computation

  5. Matlab – Nützliches IV >>d=a*bmat d = 8 12 16 20 12 16 20 24 44 4 8 4 >>d=a*bmat; %ruhiger Modus ohne Bildschirmausgabe >> help befehl %Hilfe zu befehl >> c=zeros(1,3) ergibt c=[0 0 0] (1x3) >> d=ones(3,1) ergibt d=[1;1;1] (3x1) Maschinelles Lernen und Neural Computation

  6. Matlab – Nützliches V Matrizen zusammenfügen: >>a=[2 3 4] >>b=[5 6 7] >>c=[a b] c = 2 3 4 5 6 7 >>c=[a;b] c = 2 3 4 5 6 7 Maschinelles Lernen und Neural Computation

  7. Netlab – Grundsätzliches http://www.ncrg.aston.ac.uk/netlab/ netlab.zip, nethelp.zip und foptions.m (ab Matlab 7.0) entpackt und dann in den Pfad aufgenommen: Menupunkt: File – SetPath – Add with Subfolders Verzeichnisse mit Netlab und den Daten aufnehmen • Netlab-Befehle stehen nun zur Verfügung • Daten werden gefunden Maschinelles Lernen und Neural Computation

  8. Netlab – GLM glm (General Linear Model) • Initialisieren: net=glm(nin,nout,outfunc) • Brauche also • nin: Dimension der Inputs • nout: Dimension der Outputs • outfunc: Ausgabefunktion, die eins von den folgenden sein kann: 'linear', 'logistic' oder 'softmax' • Brauche (noch) nicht die Daten • z.B. net=glm(5,3, 'linear') Maschinelles Lernen und Neural Computation

  9. Netlab – GLM II net= type: 'glm' nin: 5 nout: 3 nwts: 18 outfn: 'linear' w1: [5x3 double] b1: [0.6909 0.2414 -0.2627] Maschinelles Lernen und Neural Computation

  10. Netlab – GLM III Modell an Daten anpassen: [netneu, options] = netopt(net, options, x, t, alg) • net eben definiert • options=foptions erzeugt den Optionenvektor (1x18) • options(1)=1 %Fehler anzeigen • options(14)=30 %Anzahl der Iterationen • Daten bestehen aus n Beobachtungen (jeweils Input- und Outputvektor), bspw. n=300 • x 300x5-Matrix, t 300x3-Matrix • alg= 'scg'‚ (Scaled Conjugate Gradient) • netneu=netopt(net, options, x, t, ‚scg') netneu = type: 'glm' nin: 5 nout: 3 nwts: 18 outfn: 'linear' w1: [5x3 double] b1: [0.4566 0.3357 0.5434] Maschinelles Lernen und Neural Computation

  11. Netlab – GLM IV Outputvektor für neue Daten vorhersagen: tvor = glmfwd(netneu,xneu) • netneu eben angepasst • bspw. xneu 2x5-Matrix • xneu=[1 1 1 1 1; -1 -1 -1 -1 -1] tvor = 2.1326 0.2828 1.1488 -0.8870 1.4671 -1.7579 Maschinelles Lernen und Neural Computation

  12. Netlab – MLP I Multilayer-Perceptron: 1. Initialisieren: net=mlp(nin,nhidden,nout,outfunc) z.B. net=mlp(1,4,1, 'linear') type: 'mlp' nin: 1 nhidden: 4 nout: 1 nwts: 13 %number of weights outfn: 'linear' w1: [0.2400 -0.0927 0.3431 0.4234] b1: [-0.0608 0.2300 -0.2370 -0.2280] w2: [4x1 double] b2: -0.2587 Maschinelles Lernen und Neural Computation

  13. Netlab – MLP II Multilayer-Perceptron: 2. Trainieren mit x Inputmatrix und t Targetmatrix: bspw. x=5*rand(100,1); t=sin(x)+0.1*rand(100,1); netneu=netopt(net, options, x, t,'scg') 3. Vorhersagen auf Trainingsinput: tfitted=mlpfwd(netneu,x) tfitinitial=mlpfwd(net,x) %ohne Training plot(x,[t tfitted tfitinitial],'.') Maschinelles Lernen und Neural Computation

  14. Netlab – GMM I Gauss‘sches Mischmodell: 1. Initialisieren: mix = gmm(dim, ncentres,covartype) covartype: 'spherical', 'full', 'diag', z.B. mix=gmm(3,10,'diag') 2. Vortrainieren (k-means) mix2 = gmminit(mix, x,options) 3. Parameter anpassen: mix3=gmmem(mix2, x,options) Maschinelles Lernen und Neural Computation

  15. Netlab – GMM II Gauss‘sches Mischmodell Beispiel x1=randn(100,1); x2=randn(50,1)*2+4; x3=randn(50,1)*2+12; x=[x1;x2;x3] 1.Initialisieren: mix = gmm(1, 3, 'diag') 2. Vortrainieren (k-means) mix2 = gmminit(mix, x,options) 3. Parameter anpassen: mix3=gmmem(mix2, x,options) Maschinelles Lernen und Neural Computation

  16. Netlab – GMM III Gauss‘sches Mischmodell Beispiel angepasste Dichte anzeigen lassen: xv=[-2:0.1:15]' yv=gmmprob(mix3,xv) yv2=gmmprob(mix2,xv) plot(xv,[yv yv2]) Maschinelles Lernen und Neural Computation

More Related