Einführung in Matlab und Netlab

 Documents

 25 views
of 16
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Description
Maschinelles Lernen und Neural Computation Übung: Grundlagen von Matlab und Netlab Georg Dorffner / Achim Lewandowski SS 2008 Maschinelles Lernen 1 und Neural…
Share
Transcript
Maschinelles Lernen und Neural Computation Übung: Grundlagen von Matlab und Netlab Georg Dorffner / Achim Lewandowski SS 2008 Maschinelles Lernen 1 und Neural Computation 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 SS 2008 Maschinelles Lernen 2 und Neural Computation 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 SS 2008 Maschinelles Lernen 3 und Neural Computation 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 SS 2008 Maschinelles Lernen 4 und Neural Computation 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) SS 2008 Maschinelles Lernen 5 und Neural Computation 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 SS 2008 Maschinelles Lernen 6 und Neural Computation 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 SS 2008 Maschinelles Lernen 7 und Neural Computation Netlab – GLM glm (General Linear Model) 1. Initialisieren: net=glm(nin,nout,outfunc) • Brauche also 1. nin: Dimension der Inputs 2. nout: Dimension der Outputs 3. 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') SS 2008 Maschinelles Lernen 8 und Neural Computation Netlab – GLM II net= type: 'glm' nin: 5 nout: 3 nwts: 18 outfn: 'linear' w1: [5x3 double] b1: [0.6909 0.2414 -0.2627] SS 2008 Maschinelles Lernen 9 und Neural Computation 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] SS 2008 Maschinelles Lernen 10 und Neural Computation 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 SS 2008 Maschinelles Lernen 11 und Neural Computation 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 SS 2008 Maschinelles Lernen 12 und Neural Computation 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],'.') SS 2008 Maschinelles Lernen 13 und Neural Computation 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) SS 2008 Maschinelles Lernen 14 und Neural Computation 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) SS 2008 Maschinelles Lernen 15 und Neural Computation 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]) SS 2008 Maschinelles Lernen 16 und Neural Computation
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks