Laboration 6 Artificiell Intelligens Lektion 7 Neurala nätverk (Lab 6) Probabilistiska resonemang Vad? Mönsterigenkänning Lära ett neuralt nätverk att känna igen siffror Varför? Få ökad förståelse för hur Neurala nät fungerar och hur de kan användas Hur? Utnyttja fördefinierade funktioner i MATLAB Neurala nätverk en överblick Består av noder och länkar mellan noder Noder är enkla processorer Noder får indata antingen utifrån eller från andra noder via länkarna Neurala nätverk en överblick Länkarna mellan noderna har olika vikter Träning av neurala nätverk innebär att man justerar länkarnas vikter Noderna brukar sorteras in i olika lager Vanliga lager är indatalager, utdatalager och lager med gömda noder (eng. hidden layer ) Återkopplande lager (eng. recurrent layer ) är också vanliga Ett neuralt nätverk En nod i nätverkerket (jfr figur 9.4 i boken) lager a j Aktiveringsfunktion Länkar mellan gömda noder och utdatanoder W j,i a i = g(in i ) Lager med gömda (dolda) noder länkar Σ in i g a i länkar Länkar mellan indatanoder och gömda noder funktion lager
lager - representation 3 Träning av neurala nätverk Skapa nätverkets struktur Bestäm antal lager, hur många noder varje lager ska bestå av, samt hur noderna (lagren) ska vara kopplade till varandra Initialisera vikterna Antingen slumpa vikternas värde, eller sätt alla vikter till ett enhetligt värde Träning av neurala nätverk Träning Skapa en träningsmängd med exempel och facit Presentera träningsmängden Mata in ett exempel och se vad nätet matar ut Uppdatera vikterna baserat på hur långt ifrån nätets svar var från facit Upprepa genom att mata in nästa exempel Testa och utvärdera nätets prestanda. Exempel presenteras Träning 2 Träning 3 2. Aktiveringen sprids 3. Jämför med facit
Träning 4 Representation 4. Uppdatera vikter Siffrorna representeras som matriser med 5 eller 35 element (varje element motsvarar en pixel) Elementen är ett värde mellan och Ett rent mönster Ett brusigt mönster,,95,2,4,7,94,2,5,,53,92,6,8,87,,94,28 89,92,8 Nätets struktur Nätets struktur lager En nod i indatalagret motsvarar ett element, en pixel, i det inmatade mönstret. lagret innehåller därför 5 eller 35 noder Lager med gömda noder Ett nät kan ha, eller 2 lager med gömda noder. Antalet noder kan varieras lager En nod i utdatalagret motsvarar en siffra mellan och 9. lagret innehåller därför noder Träningsexempel Träningsexempel Nätet tränas på antingen rena mönster, förvrängda mönster eller en blandning är den korrekta, önskade klassificeringen,,95,2,4,7,94,2,5,,53,92,6,8,87,,94,28 89,92,8 Träning Träningsgräns Nätverket tränas tills summan av de kvadrerade felen blir mindre än en satt gräns
Testning och utvärdering För att testa om ett neuralt nätverk lärt sig att klassificera indata korrekt testas nätet på en testmängd Testmängden kan innehålla mönster som nätet tränats på, men även nya mönster för att se att nätet inte övergeneraliserat, dvs memorerat alla exempel Skapa ett nätverks struktur makenet(5,, ) skapar ett nätverk med 5 indatanoder, dolda noder och utdatanoder Skapa en träningsmängd makeexamples(,,.,.2) skapar 2 rena exempel, exempel med % brus och exempel med 2% brus Träna nätverket train(.) tränar nätverket med träningsgränsen satt till. Testa nätverket testnet(.) testar nätverket på exempel med % brus testnet( random ) testar nätverket på helt slumpmässiga mönster test testar nätverket på exempel med varierande grader av brus Rensa minnet clear global rensar minnet mellan varje deluppgift. Spara data från körningar diary Laboration 7 Uppgift Skapa ett så bra nät som möjligt Parametrar Antal dolda lager Antalet noder i de dolda lagren Siffrornas upplösning Antalet träningsexempel Grader av brus under träningsfasen Träningsgränsen Diskutera parametrarna Plus lite andra diskussionspunkter Probabilistiska resonemang Betingad sannolikhet P(A B) = P(A B) / P(B) P(A B) = P(A B) P(B) Villkorligt oberoende P(A B) = P(A) Bayes regel P(A B) = P(B A) P(A) / P(B)
Probabilistiska resonemang Normalisering P(A B) = P(A B, C)P(C) + P(A B, C)P( C) Kedjeregeln P(A, B C) = P(A B, C) P(B C) Uppgift 3.8 P(TestPositive Disease) =,99 P(Disease) =, P(Disease TestPositive) =? Tentauppg 95-2:9 Konstruera ett Bayesianskt nätverk, med sannolikhetstabeller (hitta på egna sannolikheter), för följande händelser För att tjäna pengar på börsen krävs tur, aktier och kontakter Den som har tjänat pengar på börsen köper en porsche Den som har turkronan har tur Kontakter ger passerkort till Café Opera