ΕΠΛ442 & ΕΠΛ604


Για τυχόν απορίες για τα εργαστήρια του μαθήματος ή τις ασκήσεις παρακαλώ επικοινωνήστε μαζί μου:
achilleas.k (at) cs.ucy.ac.cy
Απαντήσεις σε ερωτήσεις που λαμβάνω μέσω e-mail θα μπένουν σε αυτή τη σελίδα για ευκολία όλων.

Backpropagation

General tips


Questions answered through e-mail

Κάποιες από τις ακόλουθες ερωτήσεις και απαντήσεις αφορούν τις ασκήσεις για το Backpropagation και το Kohonen-SOM για αναγνώριση γραφικών χαρακτήρων απο προηγούμενες χρονιές.
Γεννικότερα όμως, οι οδηγίες ισχύουν και για το πρόβλημα αναγνώρισης ποιότητας κρασιού, με διαφορά τον αριθμό εξόδων που αντιπροσωπεύουν τον αριθμό των κλάσεων του προβλήματος.


H eksodos tou diktyou pou sto xor einai {0,1} kai sto programma me ta pota {0,10} prepei na kanonikopoiithei opwsdipote? Epeidi thelw na einai geniko to programma kai na douleyei kai gia tin eksodo kai sta 2 programmata.
I eksodos prepei na kanonikopoiithei sto arxeio me ta dedomena (training kai testing). Afto prepei na ginei epeidi stin eksodo tou diktiou, logo tis sigmoid sinartisis, exoume mono times metaksi [0 -- 1]. Ara ta dedomena mas prepei na einai se morfi pou na simvadizei me to diktio.
Genika, i kanonikopoiisi einai kati pou kanoume sinexeia otan doulevoume me nevronika diktia (eidika ama xrisimopoieite i sigmoid).
--
Pws tha symvadizei i lisi tou defterou provlimatos [me ta krasia] me to programma tou xor, afou logika sto xor tha exw mono mia eksodo enw sto allo me ta krasia 10 eksodous. Einai dynato na xrisimopoiisw mono mia eksodo wste na mporei na epiluei kai ta 2 provlimata?
An kanonikopoiiseis tin eksodo tou 2ou provlimatos se [ 0 -- 1], tote ena output neuron tha xreiastei gia tin lisi. Gia na exeis 10 output neurons, tha prepei na kaneis kapia alli metatropi sta dedomena. Diladi, tha prepei i kathe timi eksodou tou provlimatos na simvolizete apo 10 times anti 1.

Opos kai an to liseis omos, to programma paramenei to idio. Afto pou allazei einai o arithmos ton output neurons, to opoio einai parametros tou programmatos. To idio programma prepei na mporei na lisei to xor, to wine me 1 output neuron, kai to wine me 10 output neurons (i akoma kai to letter recognition me 1 output neuron, kai to letter recognition me 26 output neurons apo tis persines askiseis: http://www.cs.ucy.ac.cy/~akouts02/epl442_2010/ ), allazontas mono tis parametrous tou neural network (diladi, ton arithmo ton nevronon sto input, output, hidden1 kai hidden2) etsi oste na simvadizoun oi parametroi me tin metatropi ton dedomenon.
--
Σαν συνάρτηση ενεργοποίησης θα χρησιμοποιήσουμε τη συνάρτηση κατωφλίου ή τη σιγμοειδή συνάρτηση που δίνει καλύτερα αποτελέσματα; Αν θα χρησιμοποιήσουμε τη σιγμοειδή, ποια θα είναι η παράμετρος κλίσης α που πρέπει να χρησιμοποιήσουμε; Πρέπει να μπει και αυτή ως παράμετρος στο αρχείο παραμέτρων;
Σιγμοειδή. Η μέθοδος Backpropagation βασίζεται σε αυτή. Η παράμετρος κλίσης είναι συνήθως a=1, γι αυτό δεν χρειάζεται επιπλέον παράμετρος. Γενικά δεν υπάρχει λόγος να "παίξεις" με αυτή τη παράμετρο.
--
Στο αρχείο παραμέτρων που θα έχουμε, μήπως πρέπει να βάλουμε και τον αριθμό των γραμμών των αρχείων testfile και trainfile για να ξέρουμε πόσα δεδομένα θα διαβάσουμε; Ή να το βάλουμε στο πρόγραμμα να το αλλάζει ο χρήστης και να σας το αναφέρουμε στην αναφορά;
Θα ήταν πιο σωστό, για να είναι πιο γεννικό το πρόγραμμα, να μπόρει να διαβάζει τα αρχεία μια γραμμή κάθε φορά μέχρι να βρεί το τέλος του αρχείου. Δηλαδή, θα μπορούσε το πρόγραμμα να τελειώνει κάθε εποχή όποτε φτάνει σε end of file (EOF) καθώς διαβάζει τα αρχεία. Με αυτό τον τρόπο, το πρόγραμμα θα δουλέυει κανονικά με οποιοδήποτε αρχείο, ανερξατήτως αριθμού γραμμών, χωρίς τροποποίηση.
--
Sto prwto part tou backprogation, otan ypologizoume to error xrisimopoiwntas ti formula me target-output, sta dedomena mas to target den einai oi xaraktires sto file? pws mporw na ipologisw to error?
Nai, to output einai oi xaraktires stin ousia alla oson afora to diktio, iparxoun 26 output nodes, ena gia kathe gramma tou alfavitou. Diladi, to target output mas einai os eksis:
Target output for letter "A": 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Target output for letter "B": 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Target output for letter "Z": 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
opou to kathe psifio stis pio pano akolouthies einai to output enos output neuron. Kata tin ekpedefsi to diktio tha dinei 26 output values, to kathe ena metaksi 0 kai 1. Ara to error gia kathe input-output pair ipologizete apo to athroisma tis apolitis diaforas tou kathe output neuron apo to epithimito.
--
Xrisimopoiwntas to SOM algorithm sto telos tis ekpaidevsis gia kathe xaraktira (pattern), to neighbourhood tha apoteleite apo ena node - to winner- i den exei simasia? To error pou tha ipologizoume edw einai to sum twn distances tou winner?
Sto telos tis ekpedefsis, to kathe pattern tha "sisxetizete" me ena node, to winner (or best matching node), opos eipes. Osa patterns exoun to idio winner node theorounte oti anikoun sto idio cluster, etsi epitinxanoume clustering/omadopoiisi ton input patterns metaksi tous. To error sta SOM einai to sum ton distances tou winner.
--
Sto LVQ - pairnoume to output tou SOM kai meta dinontas sto diktyo ta targets elegxei gia missclassification xrisimopoiwntas tis 2 formules p exoume sta notes? i ginetai allo training pou tin arxi?
Kanoume training, vazoume labels sta clusters (diladi dinoume gnosta inputs gia na doume pio output antistoixei se pio gramma). Meta dinoume ta dedomena gia na kanoume to LVQ training kai allazoume ta weights analoga me tis 2 formules sta notes (correct classification and misclassification).
--
Sxetika me to meros 2, prepi na iparxoun 2 3exorista diktia , ena Som k ena lvq? mporo na kano prota tin ekpedeusi me som k meta na sinexiso pano sto ekpedeumeno diktio dinontas dedomena me gnostes epi8imites e3odus gia na alla3o ta vari analoga gia correct classification and missclassification?
To meros gia to LVQ mporeis fisika na to kaneis pano sto ekpedevmeno SOM opos eipes. Ennoeite omos oti tha kratiseis ta weights tou SOM gia ta zitoumena tis ergasias pou theloume kai ta weights tou SOM kai tou LVQ (i.e. clustering.txt gia to SOM kai classification.txt gia to LVQ).
--
Gia ta paradotea ti akrivos ine o topografikos xartis gia Som?
I arxiki ekfonisi tis askisis eixe kapio lathos. O topografikos xartis tou SOM den einai dinato na parousiastei san xartis (opos vlepoume sta applet demos gia to SOM). O logos pou den ginete afto einai epeidi o xartis mas stin askisi einai polidiastatos (16-dimensional gia tin akriveia). Afou exoume 16 input nodes, to kathe output node mas exei 16 sintetagmenes (pou antistoixoun sta weights). Ara afto to zitoumeno agnoa to (to exo afairesei kai apo tin ekfonisi).

To epomeno zitoumeno omos einai kati paromoio kai to eksigisa sto ergastirio (epanalamvano edo gia ta atoma pou den itan paron):
Sto telos tis ekpedevsis, vriskoume to "best matching pattern" tou kathe node tou xarti. An, gia paradeigma, to SOM mas apoteleite apo 100 nodes (xartis 10x10), gia kathe node tou SOM (i tou LVQ) vriskoume to input pattern pou exei tin mikroteri euklideia apostasi kai vazoume se ena 10x10 grid to gramma pou antistoixei sto kathe node. Me alla logia, pernoume to proto node (1,1), vlepoume oti to kontinotero pattern se afto (vasi ton weights tou), apo to test set, einai kapio S, kai vazoume se ena table, sti thesi 1,1 to gramma S. Meta pernontas to node 1,2, an to kontinotero pattern einai ena input pattern R, vazoume sto table, sti thesi 1,2 to gramma R. Etsi sto telos kataligoume me ena table, 10x10 mesa sto opoio vriskonte topothetimena ola ta grammata pollaples fores, antiprosopevontas se 2-diastaseis ton ekpedevmeno xarti.
--
Mas zitas na dimiourgisoume ena arxeio clustering kai ena arxeio classification pou periexoun plirofories gia tous neurones kai tous xaraktires pou "periexei" o kathenas apo autous. Auto mou dinei na katalabw oti tha exw ena arxeio p.x

ID A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 1 120 0 0 103 0
0.1 0 0 0 0 0 0 0 0 0 0 0 0 149 4 1 0 0 1 0 0 0 0 1 0 0 0

opou dixnw pws match kanei o kathe neuronas me kathe gramma.


Sosta. O kathe nevronas einai to "best matching unit" gia polla input patterns. Afto deixneis pio pano.

Omws sto simio 5 perigrafeis oti o kathe neuronas tha exei mono 1 gramma "best matching pattern" p.x

ID
0.0 A
0.1 Z
0.2 F

Pio apo ta 2 theloume sto clustering kai classification?


Sto clustering kai classification theloume to proto paradeigma. Afto pou perigrafo stin aporia no.5 einai to teliko zitoumeno stin askisi pou leei gia "visualization" tou clustering kai classification, sto opoio apla pernoume to best matching pattern tou kathe nevrona gia na kanoume visualize kata kapio tropo ton xarti.