Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP...

180
Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP i a les SVM TITULACIÓ: Enginyeria d’automàtica i Electrònica Industrial AUTORS: Meritxell Fortuny Miguel DIRECTORS: Jesús Brezmes Llecha DATA: Febrer / 2006

Transcript of Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP...

Page 1: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP i a les SVM

TITULACIÓ: Enginyeria d’automàtica i Electrònica Industrial

AUTORS: Meritxell Fortuny Miguel

DIRECTORS: Jesús Brezmes Llecha

DATA: Febrer / 2006

Page 2: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Índex

2

Índex Agraïments: ..............................................................................................................4

Llistat de figures: ......................................................................................................5

1 Introducció .........................................................................................................7

1.1 Antecedents................................................................................................7

1.2 Objectius ....................................................................................................8

2 Les xarxes neuronals ..........................................................................................9

2.1 Introducció a les xarxes neuronals ..............................................................9

2.1.1 La neurona biològica.........................................................................10

2.1.2 La neurona artificial ..........................................................................11

2.1.3 Arquitectura de xarxes neuronals ......................................................16

2.2 Les xarxes neuronals i la metodologia d’aprenentatge...............................21

2.2.1 Aprenentatge OFF LINE i aprenentatge ON LINE............................23

2.2.2 Aprenentatge supervisat i aprenentatge no supervisat ........................23

2.2.3 Aprenentatge y generalització ...........................................................28

2.2.4 Avantatges y desavantatges de l’aprenentatge ...................................28

3 Base teòrica......................................................................................................30

3.1 La xarxa FUZZY ARTMAP .....................................................................30

3.1.1 Introducció a les xarxes de ressonància adaptativa ............................30

3.1.2 Funcionament de la xarxa FUZZY ART ...........................................36

3.1.3 Funcionament de la xarxa FUZZY ARTMAP ...................................38

3.2 Support Vector Machines (SVM)..............................................................41

3.2.1 Introducció als SVM .........................................................................41

3.2.2 Principis bàsics de les SVM ..............................................................43

3.2.3 Classificació en les SVM ..................................................................48

3.3 Pre-processament de dades .......................................................................54

3.3.1 Normalització de dades .....................................................................54

3.3.2 Selecció de Variables ........................................................................55

3.3.3 Validació ..........................................................................................57

3.4 L’aproximació del Voting Strategy ...........................................................58

4 Descripció del programa...................................................................................60

4.1 Interacció amb l’usuari: La GUI de MATLAB..........................................60

4.2 Menús i Finestres del programa ................................................................60

4.3 Cos del programa......................................................................................65

5 Mesures i Resultats...........................................................................................71

Page 3: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Índex

3

5.1 Conjunt de mesures utilitzades..................................................................71

5.2 Resultats obtinguts....................................................................................73

5.2.1 Resultats amb la xarxa FUZZYARTMAP .........................................73

5.2.2 Resultats amb les SVM .....................................................................84

6 Conclusions....................................................................................................103

6.1 Treball futur ...........................................................................................105

7 Referències.....................................................................................................108

7.1 Xarxes Neuronals i Voting......................................................................108

7.2 SVM.......................................................................................................108

7.3 Pre-processat ..........................................................................................108

8 Annexes .........................................................................................................109

8.1 Diagrames de flux...................................................................................109

8.1.1 Diagrama de flux general del programa (tant per la Fuzzy ARTMAP com per les SVM) ..................................................................................................109

8.1.2 Diagrama de flux del voting per la Fuzzy ARTMAP.......................110

8.1.3 Diagrama de flux del voting per les SVM........................................111

8.2 Manual del programa ..............................................................................111

8.2.1 Introducció......................................................................................111

8.2.2 Iniciar el programa de “Processament de Respostes de sensors”......111

8.2.3 Treballar amb la part del programa de la Fuzzy ARTMAP ..............114

8.2.4 Treballar amb la part del programa de les SVM ..............................116

8.3 Llistat dels programes.............................................................................118

8.3.1 Inici_gui.m .....................................................................................118

8.3.2 Voting_gui.m..................................................................................119

8.3.3 Voting.m.........................................................................................122

8.3.4 SVM_gui.m ....................................................................................135

8.3.5 SVMcode.m....................................................................................139

8.4 Exemples de resultats .............................................................................167

8.4.1 Resultats de la xarxa FUZZY ARTMAP .........................................167

8.4.2 Resultats de les SVM ......................................................................174

Page 4: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Agraïments

4

Agraïments:

Els meus agraïments pel seu suport en aquesta feina estan destinats a: el meu fill Antoni i al meu marit Fran, a les nostres respectives famílies i amics i a Jesús Brezmes Llecha, director del projecte.

Page 5: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Llistat de figures

5

Llistat de figures:

Figura 1. Model simplificat de les xarxes neuronals

Figura 2. La neurona biològica

Figura 3. Neurones connectades

Figura 4. Neurona artificial

Figura 5. De la neurona biològica a la neurona artificial

Figura 6. Procés d’una xarxa neuronal

Figura 7. Neurona d’una sola entrada

Figura 8. Funció de transferència Hardlim

Figura 9. Funció de transferència Hardlim (simètric)

Figura 10. Funció de transferència lineal

Figura 11. Funció de transferència lineal sigmoïdal

Figura 12. Neurona amb múltiples entrades

Figura 13. Neurona amb múltiples entrades, notació abreviada

Figura 14. Capa de S neurones

Figura 15. Capa de S neurones amb notació abreviada

Figura 16. Xarxa de tres capes

Figura 17. Xarxa de tres capes amb notació abreviada

Figura 18. Xarxa Recurrent

Figura 19. Aprenentatge supervisat

Figura 20. Aprenentatge no supervisat

Figura 21. Node de la xarxa

Figura 22. Xarxa ART

Figura 23. Node de la capa d’entrada

Figura 24. Exemple de la fase de reconeixement

Figura 25. Exemple de la fase de comparació

Figura 26. Arquitectura Fuzzy ARTMAP

Figura 27. Espai de característiques generat per Mapeig No lineal: aplicació a classificació i regressió.

Figura 28a. Hiperplà òptim (maximització del marge)

Figura 28b. Hiperplà òptim (marge)

Figura 29a. Plantejament del problema I

Figura 29b. Plantejament del problema II

Figura 30. Marge flonjo

Figura 31. Cerca de la funció Φ(x) que transforma a un espai de dimensió molt superior

Figura 32. Representació gràfica de la validació creuada

Figura 33. Finestra principal del programa de Processament de Resposta de Sensors

Figura 34. Finestra “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy”

Page 6: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Llistat de figures

6

Figura 35. Finestra “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy”

Figura 36. Secció “Fitxer de Dades”

Figura 37. Secció “Normalització, Selecció de variables i Validació”

Figura 38. Secció “Paràmetres del voting”

Figura 39. Secció “Paràmetres de la xarxa”

Figura 40. Secció “Paràmetres de les SVM”

Figura 41. Diagrama de flux general del programa (tant per la Fuzzy ARTMAP com per les SVM)

Figura 42. Diagrama de flux del voting per la Fuzzy ARTMAP

Figura 43. Diagrama de flux del voting per les SVM

Figura 44. Diagrama de flux general del programa (tant per la Fuzzy ARTMAP com per les SVM)

Figura 45. Diagrama de flux del voting per la Fuzzy ARTMAP

Figura 46. Diagrama de flux del voting per les SVM

Figura 47. Finestra principal del programa “Processament de Resposta de Sensors”

Figura 48. Finestra principal del programa “Processament de Resposta de Sensors”

Figura 49. Finestra “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy”

Figura 50. Finestra principal del programa “Processament de Resposta de Sensors”

Figura 51. Finestra “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy”

Figura 52. Secció “Fitxer de Dades”

Figura 53. Secció “Normalització i Selecció de variables i Validació”

Figura 54. Secció “Paràmetres del voting”

Figura 55. Secció “Paràmetres de la xarxa”

Figura 56. Secció “Paràmetres de les SVM”

Figura 57. Finestra principal del programa “Processament de Resposta de Sensors”

Page 7: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Introducció

7

1 Introducció

A la URV s’han realitzat i s’estan realitzant diferents treballs amb els sensors d’òxid d’estany utilitzats en la detecció de gasos. Les xarxes neuronals es fan servir per millorar la resposta d’aquests equips.

L’home s’ha caracteritzat sempre per una cerca constant de noves vies, com la construcció de màquines que ajudin a resoldre de forma automàtica y ràpida determinades operacions que resulten tedioses quan es realitzen a mà, per millorar les seves condicions de vida. Aquestes màquines permeten implementar fàcilment algoritmes per resoldre multitud de problemes que abans resultaven feixucs de resoldre. En canvi, s’observa una limitació important: ¿què passa quan el problema que s’ha de resoldre no admet un tractament algorítmic, com és el cas, per exemple, de la classificació d’objectes per trets comuns?. Aquest exemple demostra que la construcció de noves màquines més versàtils requereixen un enfocament del problema des d’un altre punt de vista. Els desenvolupaments actuals dels científics es dirigeixen a l’estudi de les capacitades humanes com una font de noves idees pel disseny de les noves màquines. Així, la intel·ligència artificial és un intent per descobrir i descriure aspectes de la intel·ligència humana que poden ser simulats mitjançant màquines. Aquesta disciplina s’ha desenvolupat fortament en els últims anys tenint aplicació en alguns camps com visió artificial, demostració de teoremes, processament d’informació expressada mitjançant llenguatges humans, etc.

Les xarxes neuronals són una altre forma d’emular una altre de les característiques pròpies dels humans: la capacitat de memoritzar i associar fets. Les xarxes analitzades, programades i avaluades en aquest projecte de final de carrera són la xarxa FUZZY ARTMAP i les Support Vector Machines. Per fer-ho s’ha desenvolupat un programa que permet analitzar els errors de classificació de les dades d’entrada mitjançant les mateixes. En tots dos casos s’aplica l’estratègia del Voting Strategy (més endavant s’explica el seu funcionament) que ens permet eliminar errors de la matriu d’avaluació i obtenir resultats més fiables.

1.1 Antecedents

Aquest projecte està principalment basat en el projecte de final de carrera «Avaluació de Xarxes Ressonants en la Classificació de Mostres Gasoses” [2], on l’objectiu més important era l’estudi d’una de les xarxes neuronals artificials més novadores, concretament la xarxa FUZZY ARTMAP. En el projecte es comparaven tres modificacions de la xarxa FUZZY ARTMAP i s’avaluava quina de les modificacions introduïdes donava el millor resultat en la detecció de diferents barreges de gasos. Aquestes tres modificacions de la xarxa FUZZY ARTMAP, servien per intentar eliminar el problema generat per la presència “d’outliers” o mesures errònies en el conjunt d’entrenament, la qual cosa podia perjudicar seriosament la capacitat de generalització de la xarxa degut a que la xarxa aprèn el 100% de les mesures del conjunt d’entrenament sacrificant el mínim possible la generalització. El punt de partida eren uns fitxers de text que contenien els resultats de les mesures fetes a tres gasos. Amb una matriu de sensors d’òxid d’estany i un equip d’adquisició de dades, s’extreien els paràmetres que haurien de permetre identificar correctament aquestes mesures. Aquests paràmetres es classificaven en funció de la resolució. Un cop classificats es normalitzaven per aplicar tres diferents modificacions de la xarxa FUZZY ARTMAP.

Page 8: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Introducció

8

Finalment s’avaluaven els resultats obtinguts i es comparaven amb els obtinguts si s’aplicava la definició original d’aquesta xarxa amb els resultats obtinguts en les diverses modificacions de la xarxa FUZZY ARTMAP.

Els millors resultats es van obtenir amb la tercera modificació, on la filosofia era modificar l’algoritme inicial només en l’etapa d’avaluació. En aquesta fase l’algoritme modificat ignora el factor de vigilància assolit en la fase d’entrenament i busca, de forma iterativa, el valor més elevat que permeti classificar la nova mesura en alguna de les categories existents.

En aquest treball i per eliminar el problema dels outliers, s’ha utilitzat la xarxa FUZZY ARTMAP amb la tercera de les modificacions.

En segon lloc, també està basat en el treball dirigit “Voting Strategy” [5] on s’estudia la manera de reduir/eliminar errors de la matriu d’avaluació d’una xarxa FUZZY ARTMAP mitjançant l’estratègia del “voting strategy”. Nosaltres apliquem aquesta estratègia tant en la xarxa FUZZY ARTMAP com en les Support Vector Machines.

Així doncs, el nostre projecte de final de carrera, a més de fer un estudi de les xarxes neuronals, concretament les xarxes FUZZY ARTMAP i les SVM, utilitza les tècniques desenvolupades en els dos treballs esmentats anteriorment per crear un programa genèric per la classificació de dades mitjançant:

- La xarxa FUZZY ARTMAP (amb la tercera modificació analitzada en el projecte «Avaluació de Xarxes Ressonants en la Classificació de Mostres Gasoses” [2] i l’estratègia del Voting Strategy estudiada en el treball dirigit “Voting Strategy” [5])

- Les Support Vector Machines (amb l’estratègia del Voting Strategy estudiada en el treball dirigit “Voting Strategy” [5])

1.2 Objectius

Els objectius del projecte són l’estudi de les xarxes neuronals FUZZY ARTMAP i Support Vector Machines, així com la manera de reduir/eliminar errors de la matriu d’avaluació de les xarxes esmentades mitjançant l’estratègia del “Voting Strategy”.

Els següents punts resumeixen els objectius més importants que composen aquest projecte de final de carrera:

- Estudi de les xarxes neuronals FUZZY ARTMAP i Support Vector Machines (SVM).

- Aplicació de l’estratègia del Voting Strategy per reduir/eliminar els errors de la matriu d’avaluació

- Desenvolupament d’un programa genèric (vàlid per a qualsevol matriu de dades) per la classificació de dades a través de la xarxa FUZZY ARTMAP i les Support Vector Machines, a les quals hem aplicat l’estratègia del Voting Strategy.

- Comparació dels dos mètodes i anàlisis dels resultats obtinguts.

Page 9: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

9

2 Les xarxes neuronals

2.1 Introducció a les xarxes neuronals

Si examinem amb atenció aquells problemes que no poden expressar-se a través d’un algoritme ens donarem compte de que tots ells tenen una característica comuna: l’experiència. L’home és capaç de resoldre aquestes situacions acudint a l’experiència acumulada. Així, sembla clar que una forma d’aproximar-se al problema consistia en la construcció de sistemes que siguin capaços de reproduir aquesta característica humana.

Figura 1. Model simplificat de les xarxes neuronals

Un parell de bones definicions de xarxa neural podrien ser:

- model artificial i simplificat del cervell humà, que és l’exemple més perfecte del que disposem per un sistema que és capaç d’adquirir coneixement a través de l’experiència.

- "un sistema pel tractament de la informació, on la unitat bàsica de processament està inspirada en la cèl·lula fonamental del sistema nerviós humà: la neurona".

Tots els processos del cos humà es relacionen en alguna forma amb la (in)activitat d’aquestes neurones. Les mateixes són un component relativament simple del ser humà, però quan milers d’elles es connecten en forma conjunta es fan molt poderoses.

També, és ben conegut que els humans són capaços d’aprendre. Aprenentatge significa que aquells problemes que inicialment no poden resoldre’s, poden ser resolts després d’obtenir més informació sobre el problema.

Per tant, les Xarxes Neuronals:

• Estan composades d’unitats de processaments que intercanvien dades o informació. Aquestes unitat elementals de procés són les neurones.

• S’utilitzen per reconèixer patrons, incloses imatges, manuscrits i seqüències de temps, tendències financeres, etc.

• Tenen capacitat d’aprendre i millorar el seu funcionament.

Page 10: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

10

Degut a la seva constitució i als seus fonaments, les xarxes neuronals artificials presenten un gran número de característiques semblants a las del cervell. Per exemple, són capaces d’aprendre de l’experiència, de generalitzar de casos anteriors a nous casos, d’abstreure característiques essencials a partir d’entrades que representen informació irrellevant, etc. Això fa que ofereixin nombrosos avantatges i que aquest tipus de tecnologia s’estigui aplicant en múltiples àrees. Entre les avantatges s’inclouen:

• Aprenentatge Adaptatiu: capacitat d’aprendre a realitzar tasques basades en un entrenament o en una experiència inicial.

• Autoorganització: una xarxa neural pot crear la seva pròpia organització o representació de la informació que rep mitjançant una etapa d’aprenentatge.

• Tolerància a errors: la destrucció parcial d’una xarxa condueix a una degradació de la seva estructura; tot i així, algunes capacitats de la xarxa es poden retenir, inclòs sofrint un gran dany.

• Operació en temps real: els computes neuronals poden ser realitzats en paral·lel; per això es dissenyen i fabriquen màquines amb hardware especial per obtenir aquesta capacitat.

• Fàcil inserció dins de la tecnologia existent: es poden obtenir xips especialitzats per xarxes neuronals que milloren la seva capacitat en certes tasques. Això facilita la integració modular en els sistemes existents.

Les xarxes neuronals tradicionals sofreixen algunes dificultats amb la generalització, produint models que poden incloure dades errònies (outliers). Per això s’utilitzen algoritmes d’optimització per selecció de paràmetres i mesures estadístiques per buscar “la millor solució”. Les xarxes neuronals tradicionals utilitzen mètodes per minimitzar l’error en les dades d’entrenament (ERM o Empirical Risk Minimisation).

2.1.1 La neurona biològica

Una neurona (o cèl·lula nerviosa) és una cèl·lula biològica especial que processa informació. Està composada per:

- un cos cel·lular, o “soma”, que té un nucli que conté informació sobre els trets hereditaris y un plasma que sosté l’equip molecular per produir material necessari per la neurona

- Branques d’extensió (dendrites) per rebre les entrades

- Un axó que porta la sortida d’una neurona a las dendrites d’altres neurones

Figura 2. La neurona biològica

Page 11: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

11

Una neurona rep senyals (impulsos) d’altres neurones a través de les seves dendrites (receptores) i transmet senyals generades pel seu cos cel·lular a lo llarg de l’axó (transmissor), el qual eventualment es divideix en ramals y subramals. En els extrems d’aquests ramals estan les sinapsis. Una sinapsis és una estructura elemental i una unitat funcional entre dos neurones (un ramal axó d’una neurona i una dendrita d’una altre). Quan l’impuls assoleix l’extrem de la sinapsis, certs químics anomenats neurotransmissors són alliberats. Els neurotransmissors es difonen a través de l’espai sinàptic, per augmentar o inhibir, depenent del tipus de la sinapsis, la tendència de la neurona receptora a emetre impulsos elèctrics. L’efectivitat de la sinapsis pot ser ajustada per les senyals que passen a través d’ella de tal manera que les sinapsis poden aprendre de les activitats en les que participen. Aquesta dependència de la història actua com una memòria, la qual és possiblement responsable de la memòria humana.

La cortesa cerebral conté a prop de 1011 neurones, massivament connectades. Cada neurona està connectada amb altres 103 a 104 neurones. En total, el cervell humà conté aproximadament 1014 a 1015 interconnexions. Les neurones es comuniquen a través d’un curt tren de polsos, normalment de milisegons de duració, a una velocitat de commutació molt més lenta que en circuits electrònics. De totes maneres, les decisions perceptives complexes com el reconeixement de cares son fetes més eficientment pels humans, donat que es pot dir que el cervell corre molts processos en paral·lel per complir aquestes tasques perceptives.

Figura 3. Neurones connectades

Les neurones artificials usades per construir xarxes neuronals artificials són molt menys complexes que les trobades en el cervell, però mentre es busqui l’analogia neurobiològica com font d’inspiració, juntament amb les eines teòriques i tecnològiques, es podran obtenir desenvolupaments més sofisticats.

2.1.2 La neurona artificial

El model d’una neurona artificial és una imitació del procés d’una neurona biològica, pot també assemblar-se a un sumador fet amb un amplificador operacional tal i com es veu en la figura.

Page 12: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

12

Figura 4. Neurona artificial

Existeixen varies formes d’anomenar una neurona artificial: node, neuronode, cel·la, unitat o element de processament (PE); En la següent figura s’observa un PE en forma general i la seva similitud amb una neurona biològica

Figura 5. De la neurona biològica a la neurona artificial

De l’observació detallada del procés biològic s’han trobat les següents analogies amb el sistema artificial:

- Les entrades Xi representen les senyals que provenen d’altres neurones i que són capturades per les dendrites.

- Els pesos Wi són la intensitat de la sinapsis que connecta dos neurones; tant Xi com Wi són valors reals.

- θ és la funció llindar que la neurona ha de sobrepassar per activar-se; aquest procés es dona biològicament en el cos de la cèl·lula.

Les senyals d’entrada a una neurona artificial X1, X2,.., Xn són variables continues en lloc de polsos discrets, com es presenten en una neurona biològica. Cada senyal d’entrada passa a través d’un guany o pes, anomenat pes sinàptic o fortalesa de la connexió i que la seva funció és anàloga a la de la funció sinàptica de la neurona biològica. Els pesos poden ser positius (excitadors), o negatius (inhibitoris), el node sumatori acumula totes les senyals d’entrades multiplicades pels pesos o ponderades i les passa a la sortida a través d’una funció llindar o funció de transferència. L’entrada neta a cada unitat pot escriure’s de la següent manera:

=

∑ == WXXWnetan

iiii

1

(1)

Page 13: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

13

Una idea clara d’aquest procés es mostra en la següent figura, on pot observar-se el recorregut d’un conjunt de senyals que entren a la xarxa.

Figura 6. Procés d’una xarxa neuronal

Una vegada que s’ha calculat l’activació del node, el valor de sortida equival a:

)( iii netafx = (2)

on fi representa la funció d’activació per aquesta unitat, que correspon a la funció escollida per transformar l’entrada netai en el valor de sortida xi (en termes de potencial d’activació) i que depèn de les característiques específiques de cada xarxa.

Un model més acadèmic i que facilita l’estudi de la neurona és el que es mostra en la figura següent:

Figura 7. Neurona d’una sola entrada

Les entrades a la xarxa es representen ara mitjançant el vector p, que pel cas d’una sola neurona conté solament un element, w segueix representant els pesos i la nova entrada b és un guany que reforça la sortida del sumador n, la qual és la sortida neta de la xarxa. La sortida total està determinada per la funció de transferència, la qual pot ser una funció lineal o no lineal de n, i que és escollida depenent de les especificacions del problema que la neurona tingui que resoldre; tot i que les xarxes neuronals s’inspiren en models

Page 14: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

14

biològics, no existeix cap limitació per realitzar modificacions en les funcions de sortida, així que trobarem models artificials que no tinguin res a veure amb les característiques del sistema biològic.

A continuació es llisten diferents tipus de funcions de transferències:

- Limitador fort (Hardlim): aquesta funció de transferència apropa la sortida de la xarxa a zero, si l’argument de la funció és menor que zero i la porta a un si aquest argument és major que un. Aquesta funció crea neurones que classifiquen les entrades en dos categories diferents, característica que li permet ser utilitzada en la xarxa tipus Perceptró:

<≥

=0001

nsinsi

a (3)

Figura 8. Funció de transferència Hardlim

Una modificació d’aquesta funció seria la que representa la funció de transferència Hardlims que restringeix l’espai de sortida a valors entre 1 y –1.

<−≥

=01

01nsi

nsia (4)

Figura 9. Funció de transferència Hardlim (simètric)

- Funció de transferència lineal (purelin): La sortida d’una funció de transferència lineal és igual a la seva entrada,

Page 15: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

15

na = (5)

Figura 10. Funció de transferència lineal

En la gràfica del costat dret de la figura anterior, pot veure’s la característica de la sortida a de la xarxa, comparada amb l’entrada p, més un valor de guany b. Neurones que utilitzen aquesta funció de transferència són utilitzades en la xarxa tipus Adaline.

- Funció de transferència sigmoïdal (logsig): aquesta funció pren valors d’entrada, els quals poden oscil·lar entre més i menys infinit, i restringeix la sortida a valors entre zero y un, d’acord a l’expressió

na −+=

l11

(6)

Aquesta funció és comunament usada en xarxes multicapa, com la Backpropagation, en part perquè la funció logsig és diferenciable.

Figura 11. Funció de transferència lineal sigmoïdal

La taula següent fa una relació de les principals funcions de transferència utilitzades en l’entrenament de xarxes neuronals.

Nom Relació Entrada /Sortida Icona Funció

Page 16: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

16

Limitador Fort 0100

≥=<=

nsiansia

hardlim

Limitador Fort Simètric 0101

≥+=<−=

nsiansia

hardlims

Lineal Positiva nsina

nsia≤=<=

000

poslin

Lineal na =

purelin

Lineal Saturat

1110

00

>=≤≤=

<=

nsiansina

nsia

satlin

Lineal Saturat Simètric

1111

11

>+=≤≤−=

−<−=

nsiansina

nsia

satlins

Sigmoïdal Logarítmic na −+

=l1

1

logsig

Tangent Sigmoïdal Hiperbòlica nn

nn

a −

+−

=llll

tansig

Competitiva a=1 Neurona amb n màx a=0 La resta de neurones

compet

Taula 1. Funcions de Transferència

2.1.3 Arquitectura de xarxes neuronals

La forma en que les neurones d’una xarxa neuronal s’estructuren està íntimament lligada amb l’algoritme d’aprenentatge (regla) usat per entrenar la xarxa.

Típicament una neurona té més d’una entrada; en la següent figura s’observa una neurona amb R entrades; les entrades individuals p1,p2,...,pR són multiplicades pels pesos corresponents w1,1, w1,2,...w1,R que pertanyen a la matriu de pesos W.

Page 17: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

17

Figura 12. Neurona amb múltiples entrades

La neurona té un offset (bias), el qual arriba al mateix sumador on arriben les entrades multiplicades pels pesos, per formar la sortida n,

bpwpwpwn RR ++++= ,122,111,1 ... (7)

Aquesta expressió pot ser escrita en forma matricial

bWpn += (8)

Els subíndexs de la matriu de pesos representen els termes involucrats en la connexió, el primer subíndex representa la neurona destí i el segon, representa la font de la senyal que alimenta a la neurona. Per exemple, els índexs de w1,2 indiquen que aquest pes és la connexió des de la segona entrada a la primera neurona. Aquesta convenció es fa més útil quan hi ha més d’una neurona, o quan es té una neurona amb masses paràmetres; en aquest cas la notació de la figura anterior, pot resultar inapropiada i es prefereix usar la notació abreviada representada en la figura següent:

Figura 13. Neurona amb múltiples entrades, notació abreviada

El vector d’entrada p es representa per la barra sòlida vertical a l’esquerra. Les dimensions de p són mostrades en la part inferior de la variable como Rx1, indicant que el vector d’entrada és un vector fila de R elements. Les entrades van a la matriu de pesos W, la qual té R columnes i solament una fila pel cas d’una sola neurona. Una constant ‘1’ entra a la neurona multiplicada pel guany escalar b. La sortida de la xarxa a, es en aquest cas un escalar, si la xarxa tingués més d’una neurona a seria un vector.

Page 18: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

18

Dins d’una xarxa neuronal, els elements de processament es troben agrupats per capes, on una capa és una col·lecció de neurones. D’acord a la ubicació de la capa en la xarxa neuronal, aquesta rep diferents noms:

- Capa d’entrada: Rep les senyals de l’entrada de la xarxa. Alguns autors no consideren el vector d’entrada como una capa, doncs allí no es dur a terme cap procés.

- Capes ocultes: Aquestes capes són aquelles que no tenen contacte amb el medi exterior. Els seus elements poden tenir diferents connexions i són aquestes les que determinen les diferents topologies de la xarxa.

- Capa de sortida: Rep la informació de la capa oculta i transmet la resposta al medi extern.

A la següent figura s’observa una xarxa d’una sola capa amb un número S de neurones, en la qual, cada una de les R entrades és connectada a cada una de les neurones. La matriu de pesos té ara S files.

Figura 14. Capa de S neurones

La capa inclou la matriu de pesos, els sumadores, el vector de guanys, la funció de transferència i el vector de sortida. Aquesta mateixa capa s’observa en notació abreviada en la figura següent, on s’han disposat els símbols de les variables de tal manera que descriguin les característiques de cada una d’elles, per exemple, l’entrada a la xarxa és el vector p, la longitud R del qual apareix en la seva part inferior, W és la matriu de pesos amb dimensions SxR expressades sota del símbol que la representa dins de la xarxa, a i b són vectors de longitud S, el qual com ja s’ha dit anteriorment representa el número de neurones de la xarxa:

Page 19: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

19

Figura 15. Capa de S neurones amb notació abreviada

Ara, si es considera una xarxa amb varies capes, o xarxa multicapa, cada capa tindrà la seva pròpia matriu de pesos W, el seu propi vector de guanys b, un vector d’entrades netes n, i un vector de sortida a. La versió completa i la versió en notació abreviada d’una xarxa de tres capes, poden ser visualitzades en les figures següents respectivament:

Figura 16. Xarxa de tres capes

Page 20: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

20

Figura 17. Xarxa de tres capes amb notació abreviada

Per aquesta xarxa es tenen R entrades, S1 neurones en la primera capa, S2 neurones en la segona capa, les sortides de les capes 1 i 2 són les entrades a les capes 2 i 3 respectivament, així la capa 2 pot ser vista com una xarxa d’una capa amb R=S1 entrades, S1=S2 neurones i una matriu de pesos W2 de dimensions S1xS2.

Les xarxes multicapa són més potents que les xarxes d’una sola capa. Per exemple, una xarxa de dos capes que tingui una funció sigmoïdal en la primera capa i una funció lineal en la segona, pot ser entrenada per aproximar moltes funcions de forma acceptable, però que una xarxa d’una sola capa no podria fer-ho.

Entre dos capes de neurones existeix, doncs, una xarxa de pesos de connexió, que poden ser dels següents tipus:

- Connexions cap endavant o feedforward: és la de xarxa de connexió en la qual, totes les neurones d’una capa reben senyals d’entrada d’una altre capa anterior, més propera a l’entrada de la xarxa, i envien la seva senyal de sortida a una capa posterior, més propera a la sortida de la xarxa.

- Connexions cap endarrere o feedback: aquesta connexió realitza l’operació inversa a la connexió cap endavant, és a dir, es connecten les sortides de les neurones de capes posteriors a les entrades de capes anteriors.

- Connexions laterals: on les connexions laterals es realitzen entre neurones de la mateixa capa i es dissenyen com connexions excitadores (amb pes positiu) o inhibidores (amb pes negatiu), establint-se una competició entre les neurones corresponents.

- Connexions de retard: és la connexió en la qual s’incorporen uns elements de retard per implementar models dinàmics i temporals, és a dir, models que precisen memòria.

En funció d’aquestes diferents possibilitats podem distingir entre diferents tipus de xarxes:

- Les xarxes amb connexions cap endavant (xarxes feedforward on les senyals es propaguen cap endavant a través de les capes de la xarxa). No existeixen connexions cap endarrere, i normalment tampoc auto recurrents, ni laterals, excepte en els models de xarxa proposats per Kohonen. Les xarxes feedforward més conegudes són: PERCEPTRÓ, ADALINE, MADALINE, LINEAR

Page 21: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

21

ADAPTATIVE MEMORY, DRIVE-REINFORCEMENT. Totes elles són útils en aplicacions de reconeixement o classificació de patrons.

- Les xarxes que disposen de connexions tant cap endavant com cap endarrere (xarxes feedforward/feedback) on la informació circula tant cap endavant com cap endarrere durant el funcionament de la xarxa. Per a que això sigui possible existeixen connexions feedforward i feedback entre les neurones. En general, solen ser bicapes, existint per tant dos conjunts de pesos: els corresponents a les connexions feedforward de la primera capa (capa d’entrada) cap a la segona (capa de sortida) i els de les connexions feedback de la segona a la primera. Els valors dels pesos d’aquests tipus de connexions no tenen perquè coincidir, sent diferents en la major part dels casos. Aquest tipus d’estructura (bicapa) és particularment adequada per realitzar una associació d’una informació o patró d’entrada (en la primera capa) amb informació o patró de sortida en la segona capa (el qual es coneix com heteroassociació), tot i que també poden ser utilitzades per la classificació de patrons. Els dos models de xarxa de dos capes més coneguts són la xarxa ART (Adaptative Resonante Theory) i la xarxa BAM (Bidirectional Associative Memory). També en aquest grup de xarxes existeixen algunes connexions laterals entre neurones de la mateixa capa.

- Un tipus de xarxes, una mica diferent a les anomenades fins ara, són les xarxes recurrents, que contenen una realimentació cap endarrere o retroalimentació, és a dir, algunes de les seves sortides són connectades a les seves entrades. Els cicles de retroalimentació impliquen l’ús de bifurcacions particulars compostes por elements de retard (denotats per z-1), el qual resulta en un comportament dinàmic no lineal, assumint que la xarxa neuronal conté unitats no lineals. Un tipus de xarxa recurrent de temps discret es mostra en la figura següent:

Figura 18. Xarxa Recurrent

2.2 Les xarxes neuronals i la metodologia d’aprenentatge

En general les xarxes neuronals es poden classificar de diverses maneres: segons la seva topologia i tipus de funcions d’activació, com hem vist en els apartats anteriors, segons valors d’entrada (binaris o continus) o també segons la forma d’aprenentatge (OFF-line/ON-LINE o supervisat/no supervisat) que és el tema que centra aquest apartat.

Quan els computadors s’utilitzen per resoldre un problema pràctic, és a dir, on el mètode per obtenir una sortida a partir d’una sèrie d’entrades és descrit explícitament (expressat clarament i enunciat completament), la tasca del dissenyador de sistemes i del

Page 22: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

22

programador per implementar les especificacions consisteix a traduir el mètode en una seqüència d’instruccions que el computador seguirà per aconseguir l’efecte desitjat. Podem trobar però situacions en les quals no existeix un mètode computacional que permeti trobar la sortida a partir d’una sèrie d’entrades, o on la computació pot ser molt cara. Exemples d’aquest tipus de situació podrien ser el modelatge d’una complexa reacció química, on les interaccions dels diferents reactius no són conegudes, o la classificació de diferents tipus de proteïnes basada en la seqüència de DNA a partir de la qual són generades, etc. Aquestes tasques no poden ser resoltes per un mètode tradicional de programació degut a que el dissenyador del sistema no pot precisar el mètode amb el qual la correcte sortida pot ser calculada a partir de les dades d’entrada. Un mètode alternatiu a aquest tipus de problemes seria intentar aprendre les entrades/sortides a partir d’un conjunt d’exemples. El mètode d’usar exemples per sintetitzar programes és coneix amb el nom de metodologia d’aprenentatge.

L’habilitat per aprendre és un tret fonamental de la intel·ligència. Aquesta és una de les propietats fonamentals de les xarxes neuronals, que aprenen de l’ambient i milloren el seu rendiment a través de l’aprenentatge. El millorament té lloc a través del temps d’acord a una mesura prescrita, per exemple, la correcció d’un error. Tot i que és difícil formular una definició precisa d’aprenentatge, un procés d’aprenentatge en el context de les xarxes neuronals pot ser vist com un problema d’actualització i adaptació de l’arquitectura de la xarxa i dels pesos sinàptics de forma que la xarxa pugui executar una tasca específica, i d’aquesta forma aprendre de l’ambient, és a dir, dels patrons d’entrenament disponibles. Idealment, la xarxa obté més coneixement sobre l’ambient a través de cada iteració del procés d’aprenentatge. Aquesta habilitat d’aprendre automàticament a través d’exemples és una avantatja respecte als sistemes experts, ja que en lloc de seguir una sèrie de regles específiques, les xarxes neuronals aprenen regles subjacents (com relacions d’entrada -sortida) a partir d’una col·lecció d’exemples representatius. Els canvis que es produeixen durant el procés d’aprenentatge es redueixen a destrucció, modificació i creació de connexions entre les neurones. La creació d’una nova connexió implica que el pes de la mateixa passi a tenir un valor diferent de zero; una connexió es destrueix quan el seu pes passa a ser zero. El procés d’aprenentatge ha acabat (la xarxa ha après) quan els valors dels pesos romanen estables, és a dir:

0=dt

dwij (9)

Un aspecte important respecte a l’aprenentatge és conèixer com es modifiquen els valors dels pesos i quins són els criteris per canviar el valor assignat a les connexions quan es pretén que la xarxa aprengui una nova informació.

A continuació farem una descripció dels diferents tipus d’aprenentatge i discutirem perquè el mètode utilitzat té tanta importància. Així podem distingir entre:

- Aprenentatge OFF-line i aprenentatge ON-line on la diferència fonamental és l’existència o no existència d’una fase d’entrenament i d’operació.

- Aprenentatge supervisat i aprenentatge no supervisat on la diferència fonamental entre ambos tipus, és l’existència o no d’un agent extern (supervisor) que controli el procés d’aprenentatge.

Nosaltres ens centrarem en l’aprenentatge OFF-line i l’aprenentatge supervisat, ja que és l’utilitzat tant per la xarxa FUZZY ARTMAP com per les SVM.

Page 23: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

23

En definitiva, la disponibilitat d’un mètode fiable d’aprenentatge, tant en les xarxes neuronals com en les SVM és d’importància estratègica perquè moltes tasques no poden ser solucionades per les tècniques clàssiques de programació degut a que no existeix un model matemàtic pel problema. Solucionar alguns d’aquests problemes té el potencial de revolucionar alguns aspectes de la nostra vida i per alguns d’ells, tant les xarxes neuronals com les SVM poden proporcionar la clau a la seva solució.

2.2.1 Aprenentatge OFF LINE i aprenentatge ON LINE

Una possible classificació d’aprenentatge es basa en considerar si la xarxa pot aprendre durant el seu funcionament habitual (aprenentatge ON LINE) ,o si l’aprenentatge suposa una desconnexió de la xarxa; és a dir, la seva inhabilitació fins que el procés acabi (aprenentatge OFF LINE).

Quan l’aprenentatge és OFF LINE es distingeix entre una fase d’aprenentatge o entrenament i una fase d’operació o funcionament, existint un conjunt de dades d’entrenament i un conjunt de dades de proba que seran utilitzats en la corresponent fase. En les xarxes amb aprenentatge OFF LINE, els pesos de les connexions romanen fixes desprès que acabi l’entrenament. Degut al seu caràcter estàtic, aquests sistemes no presenten problemes d’estabilitat en el seu funcionament.

En las xarxes amb aprenentatge ON LINE no es distingeix entre una fase d’entrenament i una fase d’operació. Els pesos varien sempre que es presenta una nova informació al sistema. Degut al seu caràcter dinàmic, l’estudi de l’estabilitat és un aspecte fonamental d’estudi.

2.2.2 Aprenentatge supervisat i aprenentatge no supervisat

Una altre possible classificació d’aprenentatge és aquella que es basa en considerar xarxes que requereixen d’influència externa per ajustar els pesos de les connexions entre les seves neurones (aprenentatge supervisat) i les xarxes que no requereixen aquesta influència externa (aprenentatge no supervisat)

En l’aprenentatge supervisat, el procés d’aprenentatge es realitza mitjançant un entrenament controlat por un agent extern (supervisor o mestre) que determina la resposta que hauria de generar la xarxa a partir d’una entrada determinada . El supervisor comprova la sortida de la xarxa i en cas de que aquesta no coincideixi amb la desitjada, es procedirà a modificar els pesos de les connexions, amb el fi de que la sortida obtinguda s’aproximi a la desitjada.

L’ aprenentatge supervisat també es coneix amb el nom d’aprenentatge amb un mestre. En termes conceptuals, es pot pensar que el mestre en aquest sentit té un coneixement de l’ambient representat per un conjunt d’exemples entrada - sortida, també anomenats dades d’entrenament i que reflecteixen una relació funcional on les entrades es corresponen amb unes sortides, a pesar de que a vegades les sortides es troben corrompudes pel soroll. La funció subjacent que fa correspondre unes entrades amb unes sortides es coneix amb el nom de “funció target”. La sortida de l’algoritme d’aprenentatge o l’estimació de la funció target es coneix com la “solució del problema d’aprenentatge”. En el cas de la classificació, aquesta funció a vegades s’anomena “funció decisió”.

L’ambient és, en canvi, desconegut per la xarxa neuronal d’interès. Suposem ara que el mestre i la xarxa neuronal estan exposats a un vector d’entrenament (és a dir, un exemple) obtingut de l’ambient. En virtut del coneixement existent, el mestre és capaç de subministrar una resposta desitjada a la xarxa neuronal per al vector d’entrenament en

Page 24: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

24

qüestió. Realment, la resposta desitjada representa l’acció òptima a ser realitzada per la xarxa neuronal. Els paràmetres de la xarxa són ajustats sota la influència combinada del vector d’entrenament i la senyal d’error. La senyal d’error es defineix com la diferència entre la resposta desitjada i la resposta actual de la xarxa. En la següent figura es mostra aquest procés:

Figura 19. Aprenentatge supervisat

En el cas d’aprendre a distingir per exemple, cotxes esportius de cotxes no esportius, la sortida é un simple si/no, pel qual es pot pensar en una sortida de valor binari (classificació binària). En el cas de reconeixement de diferent tipus de proteïnes, el valor de la sortida ha de ser un número finit de categories (classificació multiclasse).

S’acostuma a considerar tres formes de dur a terme l’aprenentatge supervisat:

- Aprenentatge per correcció d’error: consisteix en ajustar els pesos de les connexions de la xarxa en funció de la diferència entre els valors desitjats i els obtinguts en la sortida de la xarxa; és a dir, en funció de l’error comés en la sortida

- Aprenentatge per reforç: és un aprenentatge més lent que l’anterior, que es basa en la idea de no disposar d’un exemple complet del comportament desitjat; és a dir, de no indicar durant l’entrenament exactament la sortida que es desitja que proporcioni la xarxa sota una determinada entrada. En l’aprenentatge per reforç la funció del supervisor es redueix a indicar mitjançant una senyal de reforç si la sortida obtinguda en la xarxa s’ajusta a la desitjada (èxit = +1 o fracàs = -1), i en funció d’això s’ajusten els pesos basant-se en un mecanisme de probabilitats

- Aprenentatge estocàstic: aquest tipus d’aprenentatge consisteix bàsicament en realitzar canvis aleatoris en els valors dels pesos de les connexions de la xarxa i avaluar el seu efecte a partir de l’objectiu desitjat i de distribucions de probabilitat. En l’aprenentatge estocàstic s’acostuma a fer una analogia en termes termodinàmics, associant la xarxa neuronal amb un sòlid físic que tenen cert estat energètic. En el cas de la xarxa, l’energia de la mateixa representaria el grau d’estabilitat de la xarxa, de forma que l’estat de mínima energia correspondria a una situació en la que els pesos de les connexions aconsegueixen que el seu funcionament sigui el que més s’ajusti a l’objectiu desitjat. Segons l’anterior,

Page 25: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

25

l’aprenentatge consistiria en realitzar un canvi aleatori dels valors dels pesos i determinar l’energia de la xarxa. Si l’energia és menor després del canvi; és a dir, si el comportament de la xarxa s’apropa al desitjat, s’accepta el canvi; pel contrari, s’acceptaria el canvi en funció d’una determinada i preestablerta distribució de probabilitats

En les xarxes d’aprenentatge NO supervisat no es requereix la influència externa per ajustar els pesos de les connexions entre les seves neurones. La xarxa no rep ninguna informació per part de l’entorn que li indiqui si la sortida generada en resposta d’una entrada és o no correcta. S’acostuma a dir que aquestes xarxes són capaces d’autoorganitzar-se.

Aquestes xarxes han de trobar les característiques, regularitats, correlacions o categories que es puguin establir entre les dades que es presenten en la seva entrada.

En alguns casos, la sortida representa el grau de familiaritat o similitud entre la informació que se li està presentant a l’entrada i les que se l’hi han mostrat en el passat. En un altre cas podria realitzar una clusterització, indicant la xarxa la sortida a quina categoria pertany la informació presentada a l’entrada, sent la pròpia xarxa la que ha de trobar les categories apropiades a partir de correlacions entre les informacions presentades.

També l’aprenentatge sense supervisió permet realitzar una codificació de les dades d’entrada, generant a la sortida una versió codificada de l’entrada, amb menys bits, però mantenint la informació rellevant de les dades.

L’ aprenentatge no supervisat també es coneix amb el nom d’aprenentatge sense un mestre. Tal i com es mostra en la figura següent, no es requereix una resposta correcta associada amb cada patró d’entrada en el conjunt de dades d’entrenament.

Figura 20. Aprenentatge no supervisat

En aquest paradigma s’explora l’estructura subjacent en les dades, o correlacions entre els patrons, i aquestos s’organitzen en categories tenint en compte aquestes correlacions. Degut a que no existeix un mestre que controli el procés, l’estipulació és realitzada per una mesura de la qualitat de representació que requereix que la xarxa aprengui, i els paràmetres lliures de la xarxa són optimitzats respecte a aquesta mesura. Un cop que la xarxa s’ha ajustat a les regularitats estadístiques de les dades d’entrada, aquesta desenvolupa l’habilitat de formar representacions internes per codificar característiques de l’entrada i d’aquesta forma es creen noves classes automàticament.

S’acostuma a considerar tres formes de dur a terme l’aprenentatge no supervisat:

- Aprenentatge hebbià: aquest tipus d’aprenentatge es basa en el postulat formulat per Donald O. Hebb l’any 1949: "Quan un axó d’una cel·la A està suficientment a prop com per aconseguir excitar a una cel·la B i repetida o persistentment pren part en la seva activació, algun procés de creixement o canvio metabòlic té lloc en una o ambdues cel·les, de forma que l’eficiència de A, quan la cel·la a activar és B, augmenta. Per cel·les, Hebb entén un conjunt de neurones fortament

Page 26: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

26

connexionades a través d’una estructura complexa. L’eficiència podria identificar-se per la intensitat o magnitud de la connexió, és a dir, amb el pes. Es pot dir que l’aprenentatge consisteix en l’ajust dels pesos de les connexions d’acord amb la correlació ( multiplicació en el cas de valors binaris +1 i –1) dels valors d’ activació (sortides) de les neurones connectades.

- Aprenentatge competitiu i cooperatiu: En aquest aprenentatge s’acostuma a dir que les neurones competeixen (i cooperen) unes amb les altres amb el fi de portar a terme una tasca donada. La competició entre neurones es realitza en totes les capes de la xarxa, existint en aquestes neurones connexions recurrents d’autoexcitació i connexions d’inhibició per part de neurones veïnes. Si l’aprenentatge és cooperatiu, aquestes connexions amb les veïnes seran d’excitació. L’objectiu d’aquest aprenentatge és clusteritzar les dades que s’introdueixen en la xarxa. D’aquesta forma, les informacions similars són classificades formant part de la mateixa categoria, i per tant han d’activar la mateixa neurona de sortida. Les categories han de ser creades per la mateixa xarxa, donat que es tracta d’aprenentatge no supervisat, a través de les correlacions entre les dades. En aquest tipus de xarxes, cada neurona té assignat un pes total, suma de tots els pesos de les connexions que té a la seva entrada. L’aprenentatge afecta solament a les neurones guanyadores (actives), redistribuint aquest pes total entre totes les connexions que arriben a la neurona guanyadora i repartint aquesta quantitat per igual entre totes les connexions procedents d’unitats actives. Existeix un altre cas particular d’aprenentatge competitiu, denominat teoria de la ressonància adaptativa, desenvolupat per Carpenter i Grossberg en 1986 i utilizat en la xarxa feedforward /feedback de dos capes coneguda com ART. Aquesta xarxa realitza un prototipat de les informacions que rep a l’entrada, generant com sortida un exemplar o prototip que representa a totes les informacions que podrien considerar-se pertanyents a la mateixa categoria

La següent taula mostra una classificació de les xarxes neuronals amb aprenentatge supervisat i no supervisat més conegudes:

- Aprenentatge Supervisat:

1. Amb connexions feedforward - Lineals - Perceptró (Rosenblatt, 1958) - Adaline (Widrow i Hoff, 1960) - Perceptró multicapa (Multilayer perceptron) (MLP) - Backpropagation (Rumelhart, Hinton i Williams, 1986) - Correlació en cascada (Cascade correlation) (Fahlman i Lebiere, 1990) - Quickpropagation (Quickprop) (Fahlman, 1988) - Delta-bar-delta (Jacobs, 1988) - Resilient Propagation (RPROP) (Riedmiller i Braun, 1993) - Gradient conjugat (Battiti, 1992) - Radial Basis Function (RBF) (Broomhead i Lowe, 1988; Moody i

Darken, 1989) - Orthogonal Least Squares (OLS) (Chen, Cowan i Grant, 1991) - Cerebellar Articulation Controller (CMAC) (Albus, 1975) - Només classificació:

i. Learning Vector Quantization (LVQ) (Kohonen, 1988)

Page 27: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

27

ii. Red Neuronal Probabilística (PNN) (Probabilistic Neural Network) (Specht, 1990)

- Només regresió: i. General Regression Neural Network (GRNN) (Specht, 1991)

2. Amb connexions feedback - Bidirectional Associative Memory (BAM) (Kosko, 1992) - Màquina de Boltzman (Ackley, Hinton i Sejnowski, 1985) - Sèries temporals recurrents - Backpropagation through time (Werbos, 1990) - Elman (Elman, 1990) - Finite Impulse Response (FIR) (Wan, 1990) - Jordan (Jordan, 1986) - Real-time recurrent network (Williams i Zipser, 1989) - Recurrent backpropagation (Pineda, 1989) - Time Delay NN (TDNN) (Lang, Waibel i Hinton, 1990)

3. Competitiu - ARTMAP (Carpenter, Grossberg u Reynolds, 1991) - FUZZY ARTMAP (Carpenter, Grossberg, Markuzon, Reynolds u

Rosen, 1992) - Gaussian ARTMAP (Williamson, 1995) - Counterpropagation (Hecht-Nielsen 1987, 1988, 1990) - Neocognitró (Fukushima, Miyake e Ito, 1983; Fukushima, 1988)

- Aprenentatge NO Supervisat

1. Competitiu - Vector Quantization - Grossberg (Grossberg, 1976) - Kohonen (Kohonen, 1984) - Conscience (Desieno, 1988) - Mapa Auto-Organizado (Self-Organizing Map) (Kohonen, 1982; 1995) - Teoria de la Ressonància Adaptativa (Adaptive Resonance Theory,

ART) - ART 1 (Carpenter i Grossberg, 1987a) - ART 2 (Carpenter i Grossberg, 1987b) - ART 2-A (Carpenter, Grossberg i Rosen, 1991a) - ART 3 (Carpenter i Grossberg, 1990) - FUZZY ART (Carpenter, Grossberg i Rosen (1991b) - Differential Competitive Learning (DCL) (Kosko, 1992)

2. Reducció de dimensionalitat - Regla de Oja (Oja, 1989) - Sanger (Sanger, 1989) - Differential hebbian (Kosko, 1992)

3. Autoassociació - Autoassociador lineal (Anderson, Silverstein, Ritz iJones, 1977) - Brain-State-in-a-Box (BSB) (Anderson, Silverstein, Ritz iºJones, 1977) - Xarxa de Hopfield (1982)

Page 28: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

28

2.2.3 Aprenentatge y generalització

L’objectiu de l’aprenentatge és trobar una hipòtesi que realitzi una correcta classificació de les dades d’entrenament. Però hi ha dos problemes alhora de trobar una hipòtesi consistent.

El primer problema és que la funció que estem intentant trobar per aprendre pot no tenir una representació simple i per tant pot ser no fàcilment verificable. La funció del dissenyador es l’obtenció d’un bon algoritme d’aprenentatge que proporcioni a la xarxa la capacitat de discriminar, mitjançant un entrenament amb patrons. Un exemple d’aquesta situació podria ser un projecte dut a terme pel Pentàgon. L’aprenentatge de la Xarxa Neuronal consistia en distingir entre tancs "amics" y "enemics". L’aprenentatge de la Xarxa consistia en introduir dades sobre els diferents tancs. Pels tancs de la OTAN tenien accés a especificacions detallades dels fabricants, i pels tancs "enemics" es van introduir fotos y diapositives. Al testejar el sistema en la realitat, aquest va fracassar per complet, perquè estava basat en el "color verd": hi ha color verd a l’ entorn, llavors deu ser un tanc enemic. Analitzar i explicar aquest tipus de presa de decisions no es fàcil pel cas de les Xarxes Neuronals.

El segon problema és que freqüentment moltes de les dades d’entrenament són soroll, de manera que no hi ha cap garantia de que existeixi una funció subjacent que faci correspondre correctament les dades d’entrenament. Un exemple seria la categorització de pàgines web en categories, el qual no és un ciència exacta.

La capacitat d’una hipòtesi de classificar correctament dades que no pertanyin al conjunt d’entrenament es coneix com la seva generalització, i és aquesta propietat la que haurem de mirar d’optimitzar.

2.2.4 Avantatges y desavantatges de l’aprenentatge

La metodologia d’aprenentatge és molt temptadora. En primer lloc, perquè el rang d’aplicacions que poden ser potencialment resoltes mitjançant aquesta metodologia és molt ample. En segon lloc, sembla ser que molts dels laboriosos dissenys i la seva programació poden ser evitats en el mètode tradicional a costa de recollir dades i executar-les mitjançant un algoritme per l’aprenentatge on es facin correspondre entrades amb sortides. Finalment hi ha l’atracció de descobrir la manera com els humans funcionen, en detriment de l’objectivitat científica.

Hi ha, però, moltes dificultats inherents a la metodologia de l’aprenentatge que han de ser estudiades i analitzades molt curosament. Un exemple és l’elecció del tipus de funció a partir de la qual es busquen les correspondències entre les entrades i les sortides. La classe ha de ser escollida per tal de ser suficientment rica, de forma que la correspondència pugui ser trobada; però si la classe és massa extensa, la complexitat de l’aprenentatge a partir d’exemples pot ser prohibitiva. A la pràctica aquests problemes es manifesten en específiques dificultats d’aprenentatge com podrien ser:

• que la mida de la hipòtesi de sortida fos molt gran, i per tant impracticable

• que es disposi d’un número limitat d’exemples d’entrenament per aconseguir la hipòtesi

• que ens pot dur a sobredimensionar i per tant a obtenir una pobre generalització

Page 29: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Les xarxes neuronals

29

• que l’algoritme d’aprenentatge sigui controlat per un gran número de paràmetres que normalment s’escollen mitjançant ajustos, fent el sistema complicat i poc fiable

Page 30: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

30

3 Base teòrica

3.1 La xarxa FUZZY ARTMAP

Després de l’estudi de les xarxes neuronals en el capítol anterior, en aquest capítol realitzem una introducció de les xarxes de ressonància adaptativa per passar a analitzar en més profunditat a la xarxa neuronal tipus FUZZY ART i la xarxa neuronal FUZZY ARTMAP, la qual és objecte d’estudi i implementació en aquest projecte. També analitzem el problema de la classificació de les xarxes FUZZY ARTMAP, així com les diferents aplicacions on podem fer ús de les mateixes.

3.1.1 Introducció a les xarxes de ressonància adaptativa

La teoria de ressonància adaptativa va ser desenvolupada per Grossberg en col·laboració amb Carpenter (Carpenter y Grossberg, 1985, 1987a, 1987b, 1990) com un símil de la capacitat de l’home per aprendre. La ART s’aplica a models amb aprenentatge competitiu (denominats ART per la versió no supervisada i ARTMAP per la versió supervisada) en les quals quan es presenta certa informació d’entrada solament una de les neurones de sortida de la xarxa s’activa assolint el seu valor de resposta màxim després de competir amb les demès neurones.

La motivació principal de la xarxa ART era buscar un compromís entre l’estabilitat o l’habilitat de recordar els patrons ja apresos i la plasticitat o l’habilitat d’aprendre nous patrons. El problema és la dificultat d’implementar juntes aquestes dues característiques.

Per solucionar el dilema entre la plasticitat i l’elasticitat, el model ART introdueix un mecanisme de realimentació entre les neurones competitives de la capa de sortida i la capa d’entrada. Aquest mecanisme facilita l’aprenentatge de nova informació sense destruir la ja emmagatzemada. La solució es troba en la Teoria de ressonància adaptativa.

La característica principal de tots els sistemes ART és un procés de comparació de patrons que compara el vector d’entrada actual amb una certa representació d’una categoria o hipòtesi apresa. Amb l’aprenentatge competitiu, una neurona competeix amb altres neurones en un grup. La neurona guanyadora reacciona amb el seu màxim nivell de resposta (ressonància adaptativa) al presentar-se un determinat patró d’entrada. Es creen categories segons les dades d’entrada. La xarxa aprèn doncs sense supervisió, ja que és la pròpia xarxa la que va creant les categories a mida que va aprenent. La xarxa decideix a quina categoria pertany cada dada introduïda segons la seva semblança amb alguna categoria definida. Si no hi ha suficient semblança, es crea una nova categoria. Són xarxes amb aprenentatge adaptatiu degut a la capacitat d’aprendre a realitzar tasques basades en un entrenament o en una experiència inicial i xarxes autoorganitzables ja que poden crear la seva pròpia organització o representació de la informació que rep mitjançant l’etapa d’aprenentatge. L’aprenentatge d’aquestes xarxes també és ON LINE, ja que no es distingeix entre l’etapa d’entrenament i l’etapa d’operació. Els pesos varien durant el funcionament de la xarxa quan s’aplica una informació d’entrada de la mateixa.

L’arquitectura bàsica d’una xarxa ART és:

• La xarxa té dos capes: la capa d’entrada (o de comparació) i la capa de sortida (o de reconeixement). A la capa d’entrada trobem els nodes que reben la informació d’entrada. A la capa de sortida trobem els nodes que reben la

Page 31: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

31

informació un cop processada i tenen com a missió donar la resposta del sistema.

• Les capes estan connectades amb connexió cap endarrere (feedback) i amb connexió cap endavant (feedforward). Els nodes de la capa de sortida també es connecten entre si mitjançant inhibició lateral que és el que permet establir la competició entre elles.

• Els vectors de pesos: feedforward W i els feedback T (els pesos modifiquen les senyals que s’envien des d’un node als altres nodes de la xarxa)

Si mirem un node en concret tenim que cada neurona està caracteritzada en qualsevol instant per un valor numèric anomenat estat d’activació. Associat a cada node existeix una funció de sortida que transforma l’estat actual d’activació en una senyal de sortida que s’envia als altres nodes de la xarxa. La senyal enviada es modifica en funció dels pesos associat a cada node segons una determinada regla. Les senyals modulades que arriben a qualsevol de les altres neurones es combinen entre elles per generar l’entrada total al node.

Figura 21. Node de la xarxa

Si mirem el conjunt de la xarxa tenim que:

Figura 22. Xarxa ART

• Cada capa té senyals de control que controlen el flux de dades a través de les capes i commuten entre les diferents fases.

o Les senyals de control 1 determinen el curs del flux de dades per la capa d’entrada de forma que tenen valor 1 sempre que es presenti una entrada vàlida a la xarxa i valor 0 si hi ha algun node activat en la capa de sortida.

Page 32: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

32

o Les senyals de control 2 habiliten o deshabiliten els nodes de la capa de sortida i tenen valor per qualsevol vector d’entrada vàlid i 0 després de fallar el test de vigilància.

• Un paràmetre de vigilància (reset) entre la capa d’entrada i de sortida, determina el grau de semblança entre el patró d’entrada i l’emmagatzemat que s’està comparant amb l’entrada. També fa la funció de reset dels nodes de sortida.

Si mirem un node de la capa d’entrada tenim que:

Figura 23. Node de la capa d’entrada

El funcionament d’una xarxa ART el podríem subdividir en 4 fases:

• La fase d’inicialització on:

o S’inicialitzen els pesos, W (feedfordward) i T (feedback):

§ Tij és el pes de la connexió feedback entre el node “i” i el node “j” en el temps “t”

§ Wij és el pes de la connexió feedback entre el node “j” i el node “i” en el temps “t”

1)0( =ijt (10)

Nw ji +

=1

1)0(

. (11)

amb 10 −≤≤ Ni i 10 −≤≤ Mj (12)

o S’inicialitza el paràmetre de vigilància ?: quan més gran sigui aquest valor, s’està demanant al sistema que discrimini amb major precisió, és a dir, si ?=1 significa que a cada classe només hi poden pertànyer patrons exactament iguals

0<?<1 (13)

• La fase de reconeixement on es classifica el vector d’entrada de forma que:

o Un cop es presenta la informació a l’entrada de la xarxa (vector X), cada neurona de la capa d’entrada envia la seva sortida a les neurones de la capa de sortida. Cada neurona de la capa de sortida competeix amb les altres fins que només una es manté activa, és a dir, el node de la capa de sortida amb els pesos més semblants a l’entrada

• Xi és el vector d’entrada

• Ti és el vector exemplar obtingut en el reconeixement

• Control 1 és la senyal de control

• Zi és el vector comparació

Page 33: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

33

o El node guanyador (neurona j) envia el seu model (Tj) cap endarrere per passar a la fase de comparació

Figura 24. Exemple de la fase de reconeixement

• La fase de comparació.

o Es compara el vector d’entrada X amb el vector exemplar T (la sortida és l’operació AND lògica entre els dos vectors, denominat vector Z), en la capa d’entrada.

||Z||=(operació AND entre els dos vectors)=∑

=

=⋅1

0* )(

N

i

iij xttXT (14)

o El resultat de la comparació anterior (Z) i el vector d’entrada (X) són passats a la unitat de vigilància on es compara la seva similitud mitjançant el paràmetre de vigilància ?. El que es calcula és:

∑−

=

==⋅

== 1

0

1

0* )(

N

ii

N

i

iij

x

xtt

X

XT

X

ZS (15)

de forma que

§ si el resultat de la similitud és > ?, la classificació està completa

§ si el resultat de la similitud és < ?, significa que no hem trobat un exemplar correcta i la xarxa entra en la fase de cerca

Page 34: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

34

Figura 25. Exemple de la fase de comparació

Al treballar amb valors binaris (0/1), el producte aritmètic equival al lògic (AND), i per tant, el que es representa és: el número de components binaris amb valor 1 que coincideixen entre el vector d’entrada i el de sortida. En el cas de que fossin completament iguals, aquest valor coincidiria amb el denominador, i la relació de semblança seria la unitat (representant el 100%). Si no coincidissin en ningun bit, llavors seria 0 (representat el 0%). Un cop calculada la relació de semblança entre ambdues informacions, es compara aquesta relació amb el paràmetre de vigilància, el valor del qual serà fixat per l’usuari en un rang de 0 a 1 i que influirà en el número de classes que establirà la xarxa, ja que quan major sigui el seu valor, s’està demanant al sistema que discrimini amb major precisió, de forma que si el valor assignat és 1 s’estarà indicant que a una classe només poden pertànyer patrons que siguin exactament iguals. Si es compleix que relació de semblança és menor al paràmetre de vigilància, llavors la neurona guanyadora j, en la capa de sortida no representa la correcta categoria a la que pertany la informació d’entrada i es desestimada, es reseteja o elimina del conjunt de possibles neurones vencedores, i es torna a presentar el patró a l’estructura.

• La fase de cerca.

o Si en un primer moment s’ha determinat que la primera neurona guanyadora no representa la categoria del vector d’entrada , es busca un nou vector d’aparellament en la fase de reconeixement per l’actual vector d’entrada de forma que:

§ es deshabilita el node actiu de la capa de sortida, és a dir, es posa la seva sortida a zero:

§ s’elimina el node guanyador de la cerca

§ es posa la senyal de control 1 a 1

§ en aquestes circumstancies podem arribar a 2 situacions completament diferents

• Si encara queden neurones de la sortida que no hagin estat desestimades, es repeteix el procés de cerca de la categoria a què pertany l’entrada, i per tant, es tornen a aplicar les fases de reconeixement i comparació fins

Page 35: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

35

que en la fase de comparació es superi el límit de la unitat de vigilància

• Si no queda ninguna neurona candidata perquè ja s’ha repetit el procés, llavors es produeix una situació de saturació de la xarxa, ja que no es pot crear una nova categoria pel patró, al no existir cap neurona de sortida que pugui associar-se a la nova classe. Podria solucionar-se el problema ampliant el número de neurones de sortida de la xarxa de forma dinàmica, ja que els nous pesos no afectarien a representants ja emmagatzemats en la resta de connexions que composen la memòria a llarg termini de la xarxa.

• Un cop la classificació està completa, és a dir, que s’ha trobat la categoria apropiada al vector d’entrada, es realitza l’aprenentatge o ajust de pesos segons la següent equació diferencial:

iijij xtttt )()1( ** =+ (16)

∑−

=

+=+ 1

0*

**

)(5.0

)()1( N

iiij

iijij

xtt

xtttw (17)

Tot i que la xarxa ART és una dels models més potents amb capacitat autoorganitzativa, sense supervisió, existeixen algunes limitacions importants a tenir en compte que dificulten la tasca de classificació realitzada per la xarxa. Algunes d’aquestes limitacions són:

• La seva dependència del tipus i ordre de les informacions apreses

• La influència del paràmetre de vigilància en el número de categories creades per la xarxa, ja que petits canvis d’aquest paràmetre poden originar un gran número de categories

• Es tracta d’una xarxa amb una gran sensibilitat al soroll o distorsió, també al desplaçament de les dades d’entrada, que pot donar lloc a una gradual degradació dels prototips corresponents, degut al caràcter destructiu (operació AND de dades d’entrada i prototip) de la regla d’aprenentatge que realitza l’adaptació dels pesos. En canvi, si aquestes dades d’entrada són sotmesos a un adequat pre-processament, la xarxa ART pot ser útil per realitzar una posterior tasca de classificació o categorització

• També aquest model presenta el problema de la ineficiència en quant a les necessitats requerides pel emmagatzemant dels pesos de les connexions entre neurones. Hi ha que tenir en compte que es precisen 2*N per representar cada categoria de N bits

A partir d’aquest model de xarxa s’han desenvolupat diferents algoritmes:

• ART1: que pot aprendre de forma molt estable a categoritzar patrons d’entrades binàries presentades en un ordre arbitrari

Page 36: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

36

• ART2: que pot aprendre de forma molt estable a categoritzar patrons d’entrades tant binàries com analògiques presentades en un ordre arbitrari

• ART3: que pot realitzar cerques paral·leles, o probes d’hipòtesis, o codis de distribuïts del reconeixement en una jerarquia de xarxes de nivells múltiple.

3.1.2 Funcionament de la xarxa FUZZY ART

La xarxa FUZZY ART és una evolució de l’algoritme ART1, explicat en l’apartat anterior. A diferència dels sistemes ART, els quals són capaços de categoritzar només entrades binàries, els sistemes FUZZY ART categoritzen de forma estable seqüències d’entrades binàries o analògiques. En la xarxa FUZZY ART, la generalització d’aprendre tant entrades binàries com analògiques s’aconsegueix incorporant computacions de la teoria de lògica difusa (FUZZY theory) en la xarxa neuronal ART, de forma que es reemplacen els operadors d’intersecció (∩=AND lògic) en l’ART 1 pels operador MIN (∧=AND FUZZY) de la teoria de lògica difusa. La proliferació de categories s’evita normalitzant els vectors d’entrada en l’etapa de pre-processat, mitjançant el procediment de codificació complementària (complement coding), que a la vegada ens permet preservar la informació d’amplitud. A més ens permet implementar un algoritme de classificació no supervisada de gran rapidesa d’aprenentatge.

FUZZY ART incorpora doncs les funcionalitats bàsiques dels sistemes ART, especialment en la selecció de la categoria, on cada cop que la xarxa rep un nou vector d’entrada, només s’activa un node de la capa de sortida i que representa una de les diferents classes que s’han creat amb les entrades anteriors. Es creen doncs categories segons les dades d’entrada. La xarxa decideix a quina categoria pertany cada dada introduïda segons la seva semblança amb alguna categoria definida. Si no hi ha suficient semblança, es crea una nova categoria. A continuació es resumeix l’algoritme de la xarxa FUZZY ART:

• Selecció de categoria: Per cada vector d’entrada I i categoria j, la funció de selecció de categoria Tj es defineix com a :

||

||)(

j

jjj w

wITIT

+

∧==

α (18)

on tenim que

o el vector d’entrada I és un vector M-dimensional on cada component Ii es troba en el interval [0,1]

o wj=(wji,....wjM) és el vector de pesos del node de sortida j (categoria j) i que inicialment wji=....=wjM=1

o α és el paràmetre de selecció (α>0). És un paràmetre que ha de der molt proper a zero i que serveix per desfer igualtats. El seu valor típic és α=0.001

o l’operador ∧=FUZZY AND es defineix com (x∧y)i≡min(xi,yi)

o la norma | | es defineix com:

||||0

∑=

≡M

iixx (19)

Page 37: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

37

S’escollirà la categoria j per la qual Tj sigui màxim. Si tenim més d’un Tj màxim, s’escollirà la categoria j amb el índex més petit.

• Ressonància o reset: es diu que tenim ressonància quan la següent funció de la categoria escollida compleix el criteri de vigilància, és a dir:

ρ≥∧

||

||

I

wI j (20)

on tenim que

o ρ=paràmetre de vigilància (0<ρ<1). Aquest paràmetre determina la rigorositat de l’algoritme en el moment d’agrupar mesures. Quan més gran sigui aquest valor, s’està demanant al sistema que discrimini amb major precisió, és a dir, si ?=1 significa que a cada classe només hi poden pertànyer patrons exactament iguals

En aquest cas s’activa la categoria j com a resposta al vector d’entrada, és a dir, la xarxa classifica el vector d’entrada com de classe j i s’actualitzen els pesos per aquesta categoria.

En el cas de que

ρ<∧

||

||

I

wI j

(21)

es produeix la situació de reset. El sistema desactiva temporalment la categoria j i torna a escollir un nou índex j segons l’equació:

||

||)(

j

jjj w

wITIT

+

∧==

α (22)

El procés de cerca continua fins que j satisfà:

ρ≥∧

||

||

I

wI j . (23)

• Aprenentatge: un cop activada la categoria j degut al vector d’entrada, els seus pesos s’actualitzen segons la següent equació:

)()()( )1()( oldJ

oldJ

new wwIwJ

ββ −+∧= (24)

on tenim que

o β=paràmetre “learning rate” o velocitat d’aprenentatge (β∈[0,1]) que controla el ritme d’aprenentatge, de forma que si el seu valor és igual a 1 tindrem un aprenentatge ràpid i si el seu valor és igual a 0 si volem que no s’aprengui més, és a dir:

§ β=1 significa aprenentatge ràpid (fast learning)

§ β=0 significa sense aprenentatge

§ β<<<<1 significa aprenentatge lent

Page 38: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

38

En general, per mesures amb molt de soroll no interessa utilitzar aprenentatge ràpid, però quan es tenen poques mesures, és requereix un aprenentatge estable, el qual s’aconsegueix amb β=1.

3.1.3 Funcionament de la xarxa FUZZY ARTMAP

La xarxa FUZZY ARTMAP és un tipus de xarxa neuronal que implementa un aprenentatge supervisat i una posterior classificació de vectors multidimensionals d’entrada en una sèrie de categories de sortida. Aquesta xarxa opera sobre vectors amb elements de valors binaris o analògics.

Una xarxa FUZZY ARTMAP està formada per dos xarxes FUZZY-ART, es tracta doncs d’un model de xarxa neuronal supervisada que consta de dos mòduls FUZZY ART amb aprenentatge no supervisat. Les dues xarxes FUZZY-ART de la xarxa FUZZY ARTMAP es troben connectades entre elles per un vector de relacions o mapfield. A una de les dues xarxes (la que denominarem A) li arriben els vectors d’entrada (V). A la xarxa B li arriben, en la fase d’entrenament, els vectors que codifiquen la categoria correcta de cada mesura del conjunt d’entrenament (C).

Figura 26. Arquitectura Fuzzy ARTMAP

Al igual que en les xarxes FUZZY Art, un aspecte important de l’arquitectura ARTMAP el constitueix l’etapa prèvia de normalització del vector d’entrada V i del vector C que codifica la categoria correcta de cada mesura mitjançant codificació de complement (complement coding). Aquesta normalització preveu la proliferació de categories. La normalització té per objecte que |A|≡constant per totes les entrades de A. La codificació de complement codifica les entrades de forma que:

∑∑==

=+==M

1i1

M)a-(1 |ac)(a,||A| i

M

i

ia (25)

El funcionament concret d’aquesta xarxa es podria resumir de la següent manera:

Inicialment a la xarxa A el vector de vigilància és 0. En la xarxa B es sol donar un valor igual a la unitat, ja que mesures que han de ser classificades conjuntament enviaran a la xarxa B codificacions idèntiques. A més, qualsevol vector de codificació diferent, per

Page 39: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

39

semblant que sigui a la resta, ha de ser detectat i ha d’activar una neurona de sortida diferent en la xarxa B.

Cada cop que es subministra una mesura d’entrenament, la xarxa A activa un node i la xarxa B n’activa un altre. El mapa que les uneix aprèn a relacionar els nodes activats. D’aquesta manera, a cada nou node que s’activa a la xarxa A se li associa un node en B. Hem de destacar que els nodes de B normalment seran imatge de diversos nodes de A. Cada categoria te varies mesures, mentre que cada una de les categories creades en A tant sols tindrà una imatge en B (cada mesura només pot pertànyer a una sola categoria).

Quan una nova mesura activa un node A ja existent, es comprova si la imatge d’aquest node assignada pel MAPFIELD coincideix amb el node que s’ha activat a B paral·lelament. En el cas de que no coincideixin s’incrementa el valor del paràmetre de vigilància fins que la neurona que s’activi A tingui per imatge la neurona activada a B. Si no se’n troba cap se’n crearà una de nova i el mapa li assignarà com a imatge el node B activat.

El valor de vigilància a A tant sols s’incrementa l’estrictament necessari per a que la xarxa A separi en nodes diferents les mesures que hagin d’estar classificades en diferents categories. Suposant un paràmetre d’aprenentatge igual a la unitat per les 2 xarxes es pot demostrar que aquest algorisme aprèn a classificar correctament el 100% dels vectors d’entrenament. A més, aquest aprenentatge és ràpid i estable. Ara veurem aquest algorisme de forma esquemàtica:

• Xarxa A: FUZZY Art on arriben els vectors d’entrada.

• Xarxa B: xarxa FUZZY Art on arriben els vectors de sortida.

• Mapfield: mòdul de mapejat que relaciona nodes de sortida de la Xarxa A amb nodes de sortida de la Xarxa B

• Entrades: suposarem que el vector d’entrada de cada mesura és V i el vector que codifica la seva classificació correcta C.

• Normalització: Els vectors V i C es normalitzen amb codificació complementaria, passant a ser els vectors I i D respectivament.

• Pesos: el vector de pesos de la categoria j de la xarxa B es denominarà WBJ. El mapfield te un sol vector de longitud igual al numero de nodes activats en A. La component k-essima del vector indica el node imatge en la xarxa B del node k de la xarxa A.

La xarxa FUZZY ARTMAP presenta múltiples avantatges que la fan molt interessant. Entre tots ells destacarem els següents:

• Aprenentatge ràpid (amb molt poca càrrega computacional) de les mesures que es presenten en entrenament, la qual cosa permet programar l’algoritme en dispositius programables de baix cost, aplicar validacions creuades d’ordre 1 i provar amb diferents combinacions de paràmetres.

• Aprenentatge amb un conjunt reduït de mesures d’entrenament, quelcom molt interessant en qualsevol aplicació experimental en la qual sigui costosa l’obtenció de conjunts de mesura extensos. La xarxa presenta una habilitat particular per aprendre ràpidament esdeveniments singulars que apareixen molt poques vegades en el conjunt d’entrenament. Per tant, en aquest conjunt no és necessari que hi hagi el mateix nombre de mesures de cada classe per tal que funcioni correctament.

Page 40: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

40

• Aprenentatge continu de noves característiques sense oblidar el que s’ha après abans, quelcom molt útil per adaptar-se a derives produïdes per sensors.

• En comparació amb altres tipus de xarxes neuronals, FUZZY ARTMAP determina automàticament les neurones de la seva capa oculta. A més maximitza el poder de generalització aprenent al 100% el conjunt d’entrenament.

• Un cop entrenada, és possible extreure regles de classificació a partir dels pesos obtinguts després del període d’entrenament, la qual cosa pot donar llum sobre els processos interns i com influeixen en la categorització de resultats.

Malgrat això, la seva implementació pràctica presenta un problema que ha de ser tractat amb molta cura. Tal i com s’ha comentat abans, la xarxa aprèn el 100% de les mesures del conjunt d’entrenament sacrificant el mínim possible la generalització. Malgrat això, la presència “d’outliers” o mesures errònies en el conjunt d’entrenament pot requerir un increment del valor de vigilància excessiu, la qual cosa perjudicarà seriosament la capacitat de generalitzar de la xarxa. Aquest problema és una de les raons per les quals aquest tipus d’algoritme s’ha fet servir poc en aplicacions on és molt difícil identificar mesures errònies donada la baixa repetibilitat dels senyals dels sensors.

En aquest treball i per eliminar aquest problema s’ha utilitzat una versió que modifica lleugerament l’algoritme original de la xarxa FUZZY ARTMAP amb l’objectiu d’immunitzar la xarxa davant la presència d’outliers en el conjunt d’entrenament existents. El projecte de final de carrera d’on s’ha extret aquesta versió modificada és el projecte «Avaluació de Xarxes Ressonants en la Classificació de Mostres Gasoses” [2]. En el projecte es comparaven tres modificacions de la xarxa FUZZY ARTMAP i s’avaluava quina de les modificacions introduïdes donava el millor resultat en la detecció de diferents barreges de gasos. Totes tres modificacions de la xarxa FUZZY ARTMAP, servien per intentar eliminar el problema generat per la presència “d’outliers” o mesures errònies en el conjunt d’entrenament. Nosaltres hem utilitzat la versió que va donar millors resultats on la filosofia és modificar l’algoritme inicial només en l’etapa d’avaluació. En aquesta fase l’algoritme modificat ignora el factor de vigilància assolit en la fase d’entrenament i busca, de forma iterativa, el valor més elevat que permeti classificar la nova mesura en alguna de les categories.

Page 41: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

41

3.2 Support Vector Machines (SVM)

En aquest capítol fem una introducció de les SVM i els seus principis bàsics o fonaments. També analitzem el problema de la classificació de les SVM.

3.2.1 Introducció als SVM

Les SVM són un tipus de màquines o classe computacional poderosa de xarxes d’aprenentatge supervisat desenvolupades recentment amb inspiració de la teoria estadística de l’aprenentatge introduïda per Vapnik, i de bastant èxit en la resolució de problemes bàsics d’aprenentatge supervisat: classificació i regressió. Cal a dir, que les SVM van ser desenvolupats per solucionar el problema de la classificació, però recentment les SVM s’han estès en el domini dels problemes de la regressió (Vapnik et al., 1997).

Part de l’èxit es deu a que són màquines lineals amb una enorme riquesa de representació. Les solucions no es construeixen a l’espai d’entrada, sinó en un espai de major dimensió (l’espai de característiques o dimensió Vapnik-Chervonenkis (VC)), on és molt possible que una funció lineal simple sigui suficient per resoldre el problema, donades les correlacions dalt ordre de les dades explícites:

Figura 27. Espai de característiques generat per Mapeig No lineal: aplicació a classificació i regressió.

Les dades d’entrada es porten a “l’espai de característiques” per medi d’una transformació la diversitat de la qual aporta riquesa a l’expressió de la solució. Addicionalment la funció solució és tal que la transformació no intervé directament, es troba implícita a través de funcions denominades kernels, que són simplement productes interns en l’espai de característiques representats com funcions a l’espai d’entrada, per això que no es requereixi l’expressió de la transformació.

Per saber si una funció és kernel s’ha de verificar el compliment del teorema de Mercer. Tots el mètodes de kernel en l’aprenentatge de màquines es basen en aquest principi tot i que no tots persegueixen els mateixos objectius que les SVM.

Així doncs, les operacions de les SVM són:

• Transforma les dades a un espai de dimensió molt alta a través d’una funció kernel. És a dir, es reformula el problema de manera que les dades es mapegen implícitament en aquest espai.

Page 42: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

42

• Si les dades d’entrenament són linealment separables, troba l’hiperplà que maximitza el marge entre dues classes (càlcul eficient de l’hiperplà òptim)

Figura 28a. Hiperplà òptim (maximització del marge)

• Si les dades d’entrenament no són linealment separables, troba l’hiperplà que maximitza el marge i minimitza una funció del número de classificacions incorrectes (terme de penalització de la funció)

Una altra raó per la qual les SVM produeixen resultats tan bons és perquè es preocupen de buscar la “millor” solució possible al problema donat, reduint al mínim el límit superior en el risc previst (SRM o Structural Risk Minimisation). Aquesta imposició redueix els graus de llibertat, o, de certa manera, el mal condicionament en el plantejament dels problemes d’aprenentatge. La qualitat de la solució es mesura a través d’un criteri quantitatiu adequat. En el cas de la classificació aquest criteri inclou trobar una funció de decisió el marge de separació entre classes de la qual sigui el màxim possible. En el cas de la regressió, aquest criteri es tradueix generalment en minimitzar l’error quadràtic que es comet amb la funció aproximant si aquest és més gran que una tolerància especificada. Amb aquestes consideracions addicionals, el problema es converteix en una d’optimització amb restriccions: s’ha d’optimitzar un funcional de qualitat sota les restriccions imposades pel problema subjacent. En classificació, produir les etiquetes correctes, en regressió, produir els valors d’interpolació, per cada dada del conjunt d’entrada. Aquest tipus de problemes pot ser resolt mitjançant el formalisme dels Multiplicadors de Lagrange. De fet, es pot demostrar que la classe de problemes resultants en l’entrenament de les SVM pertany al camp de la programació quadràtica convexa, és a dir, funcions de cost quadràtiques convexes amb restriccions lineals, en les quals existeix garantia de l’existència d’un únic òptim.

Cal també mencionar que encara que no hi ha seguretat de que tota transformació converteixi un problema complexa en l’espai d’entrada (per exemple, no-linialment separable) en un problema més simple en l’espai de característiques, sí és possible augmentar la seva factibilitat en permetre en la seva formulació una flexibilització de les restriccions. Aquesta flexibilització, considerada important sota l’enfocament SVM, s’aconsegueix introduint un conjunt de variables laxes. Les variables laxes permetran

Page 43: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

43

l’acceptació de petites excepcions en la satisfacció de les restriccions. La mida de la desviació permesa estarà controlada a través d’un terme addicional de penalització inclòs com a part de la funció de cost. Un paràmetre conegut com factor de regularització s’encarrega de pesar el terme de penalització front al terme de qualitat de la solució dintre del funcional d’optimització. La solució obtinguda serà per tant la millor a un nivell de compromís establert d’avantmà.

Les SVM són doncs sistemes d’aprenentatge que utilitzen un espai hipotètic de funcions lineals en un espai dimensional gran, entrenat amb un algoritme d’aprenentatge que implementa un “learning bias” derivat de la teoria del statistical learning. Aquesta teoria introduïda per Vapnik i els seus col·laboradors és un mètode molt potent que en poc anys des de la seva introducció ha ja desenvolupat la majoria de sistemes en una amplia varietat d’aplicacions.. SVM busca garantir la generalització, és a dir, les regles de decisió reflecteixen les regularitats de les dades d’entrenament enlloc de les incapacitats de la màquina que aprèn. També permet que les altres learning machines siguin construïdes sota un marc unificat, el qual simplifica les comparacions i promou l’enteniment. La comunitat de les xarxes neuronals ha demostrat recentment un gran interès en les SVM. Les SVM té nombroses aplicacions, com el reconeixement d’escriptura (Cortes y Vapnik, 1995; Schölkopf, Burges y Vapnik, 1995 y 1996; Burges y Schölkopf, 1997); reconeixement d’objectes (Blanz, 1996); identificació d’interlocutor (Schmidt, 1996) i categorització de texts (Joachims, 1997), entre d’altres. Una altre de les aplicacions més importants de les SVM, és el camp de la «visió computeritzada», més en concret en els sistemes de detecció facial.

3.2.2 Principis bàsics de les SVM

En aquesta secció s’expliquen alguns teoremes i conceptes importants de les tres àrees que sustenten les SVM: la teoria estadística de l’aprenentatge i el SRM, les funcions kernel i la teoria del Lagrangià. La teoria estadística de l’aprenentatge es necessita per avaluar la qualitat de les solucions, les funcions kernel es necessiten per mapejar el problema a l’espai òptim i la teoria del Lagrangià es necessita per resoldre l’optimització resultant.

3.2.2.1 Teoria estadística de l’aprenentatge

La teoria estadística de l’aprenentatge va ser desenvolupada per Vapnik i busca obtenir cotes de generalització que permetin analitzar les eines per caracteritzar la qualitat de les solucions obtingudes.

La formulació de les SVM es basa en el principi Structural Risk Minimisation (SRM), el qual ha demostrat ser superior, (Gunn et al., 1997), al mètode tradicional del principi Empirical Risk Minimisation (ERM), utilitzat per xarxes neuronals convencionals. SRM minimitza el límit superior en el risc previst, al contrari que el ERM que minimitza l’error en les dades d’entrenament. Aquesta diferència és el que dóna l’habilitat als SVM de generalitzar, que és l’objectiu de l’aprenentatge estadístic (statistical learning).

Definició: Model d’aprenentatge Supervisat:

Donats:

1. un generador de vectors aleatoris x obtinguts independentment d’una distribució fixa però desconeguda P(x).

Page 44: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

44

2. un supervisor que retorna un vector resposta i per cada vector d’entrada x d’acord a una distribució condicional P(y/x).

3. una màquina d’aprenentatge capaç d’implementar un conjunt de funcions f(x,α), amb α ∈ Λ.

El problema d’aprenentatge és escollir del conjunt donat de funcions f(x, α ), α ∈ Λ , aquell que predigui la resposta del supervisor de la millor manera possible.

La selecció es basa en un conjunt d’entrenament de l observacions independents i idènticament distribuïdes generades d’acord a: P(x,y) = P(x)P(y/x), és a dir, el conjunt (x1,y1), ..., (xl,yl). Per tal d’escollir la millor aproximació a la resposta del supervisor s’ha de mesurar la pèrdua o discrepància L(y,f(x,α)) entre la resposta y del supervisor a un vector estímul x donat, amb la resposta f(x,α) produïda per la màquina d’aprenentatge. Si es defineix el funcional de risc com el valor esperat de la pèrdua, així:

∫= ),( )),(,()( yxdPxfyLR αα (26)

l’objectiu és trobar la funció f(x,α0) que minimitza el funcional de risc R(α), sobre la classe de funcions f(x,α ), α ∈ Λ, en la situació en la qual es desconeix la funció de probabilitat conjunta P(x,y) i la única informació disponible es troba en el conjunt d’entrenament.

Com no es coneix la distribució de probabilitat conjunta P(x,y) no és possible minimitzar el funcional de risc directament. En el seu lloc es fa servir el funcional de risc empíric, que es defineix com:

)),(,(1

)(1

αα i

l

iiemp xfyL

lR ∑

=

= (27)

La idea és aleshores aproximar la funció f(x,α0) que minimitza el risc per la funció f(x,αl) que minimitza el risc empíric. Això darrer s’anomena el principi d’inducció de minimització del risc empíric (ERM). És important notar que a mida que l augmenta millora l’aproximació. Sota aquesta circumstància és necessari estudiar com es relaciona la minimització del risc empíric amb la minimització del risc, per tant, la teoria d’aprenentatge cerca determinar:

1. les condicions per les quals el risc empíric convergeix al risc (consistència del principi ERM).

2. la velocitat a la qual la seqüència de valors mínims del risc empíric, produïda incrementant l, convergeix al valor real del risc mínim (taxa de generalització de la màquina).

3. com controlar la dita taxa de convergència.

4. com construir algoritmes que controlin aquesta taxa de generalització.

Desafortunadament, el nombre de mostres disponibles en general és limitat, però els resultats obtinguts pel ERM es basen en mostres on l → ∞. És possible aleshores que la minimització del risc empíric a partir d’un conjunt d’entrenament petit no contribueixi a la minimització del risc. Es pot demostrar que la taxa de convergència del procés d’aprenentatge depèn d’una expressió que acota el risc per la suma del risc empíric amb un terme que depèn de la dimensió VC del conjunt de funcions hipòtesi f(x,α) amb les quals es vol representar la solució. En aquest cas s’acudeix al principi d’inducció de minimització del risc estructural (SRM), el qual cerca minimitzar el risc en relació a ambdós termes. La dimensió VC d’una família de funcions és una mesura de la capacitat

Page 45: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

45

que té la família per prendre decisions basada en una mostra de mida l en un espai n-dimensional. D’aquesta manera, el SRM suggereix un compromís entre la qualitat i la complexitat de la funció d’aproximació. Per tal d’implementar el principi SRM s’ha de construir una màquina d’aprenentatge que pugui minimitzar el valor del risc empíric i que tingui una capacitat adequada, de manera que es garanteixi la minimització del risc. Les SVM per construcció són capaces de controlar aquests factors.

3.2.2.2 Les funcions Kernel

El gran poder de representació de les SVM i dels altres mètodes de kernel ve donat per la utilització de la funció kernel, la qual permet realitzar la transformació implícita a l’espai de característiques i entrenar la màquina en l’anomenat espai. L’avantatge és que la dimensió de l’espai de característiques no afecta el càlcul, ja que no es requereix representació explícita dels vectors en l’espai de característiques.

Definició 4.2.2 Un kernel és una funció K tal que per tot x y z que pertany a un espai X es compleix que: K(x,z) = ⟨φ(x)·φ(z)⟩, on φ és un mapeig de X a un espai de característiques F que posseeix producte intern.

Es pot dir per tant que la funció kernel és una generalització del producte intern estàndard definit en l’espai de característiques. Quant a les condicions necessàries que ha de satisfer una funció per tal de ser kernel, hi ha les esperades per un producte intern:

§ Ésser simètrica:

K(x,z) = K(z,x) (28)

§ Complir la desigualtat de Cauchy-Schwarz:

K(x,z)2 ≤ K(x,x)K(z,z) (29)

En un cas particular, com per exemple el d’un conjunt de dades d’entrenament, la següent proposició estableix les condicions per tal que la funció K(x,z) sigui efectivament una funció kernel corresponent al mapeig de característiques .

Proposició 4.2.3 Sigui X = x1,...,xn un espai d’entrada finit amb K(x,z) una funció simètrica en X. Aleshores K(x,z) és una funció kernel si i només si la matriu: K = (K(xi,xj))i,j=1...n és positiva definida (no té valors propis negatius).

En el cas general, el teorema de Mercer proveu les condicions necessàries i suficients que ha de complir una funció simètrica per tal de ser kernel.

Teorema 4.2.4 (Teorema de Mercer) Sigui X un subconjunt compacte de Rn. Suposem que K és una funció simètrica contínua tal que l’operador integral TK: L2(X) → L2(X),

∫ •=•X

K dxxfxKfT )(),())(( , (30)

és positiu, és a dir

∫×

≥XX

dxdzzfxfzxK 0)()(),( , (31)

Page 46: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

46

per tot f ∈ L2(X). Aleshores es pot expandir K(x,z) en una sèrie uniformement convergent (en X×X) en termes de les funcions pròpies de TK denominades φj ∈ L2(X), normalitzades de tal manera que φjL2 = 1 i dels valors propis positius associats, λj ≥ 0, així:

∑∞

=

=1

)()(),(j

jjj zxzxK φφλ (32)

El fet que la funció K(x,z) admeti aquesta representació és equivalent a dir que K(x,z) és un producte intern en l’espai de característiques F ⊇ φ(X), la qual cosa indueix implícitament un espai definit pel vector de característiques. Les condicions de la proposició 4.2.3 pel cas finit són equivalents a les condicions del teorema 4.2.4 pel cas continu.

Són varis el nombre de nuclis (kernels) que poden ser usats en les SVM. Entre ells tenim el lineal, polynomial, radial basis function (RBF) i sigmoid.

• El kernel lineal : ll xx *

• Els kernels no lineals

TIPUS de SVM KERNELs no lineals Comentaris

Polinòmic

P especificat per l’usuari

RBF

σ2especificat per l’usuari i comú a tots els kernels

Perceptró de dos capes Només determinats valors de són vàlids

Taula 2. Funcions Kernels no lineals

Els més populars són els RBF degut principalment a les respostes finites i localitzades en tot el rang de l’eix-X real.

3.2.2.3 Teoria del Lagrangià

L’entrenament de les SVM consisteix en resoldre un problema d’optimització amb restriccions, per la qual cosa és necessari utilitzar la teoria del Lagrangià i dels Multiplicadors de Lagrange.

Definició 4.2.5 (Problema Primal d’Optimització) Donades les funcions f,gi, i=1...,k, i hi, i = 1...,k, definides en el domini Ω ⊆ Rn, el problema primal d’optimització es pot definir com:

Minimitzar f(w), w ∈ Ω

subjecte a gi(w) ≤ 0, i = 1...,k, (33)

hi(w) = 0, i = 1...,m,

Page 47: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

47

on f(w) rep el nom de funció objectiu, gi(w) el de restriccions de desigualtat i hi(w) el de restriccions d’igualtat.

La regió del domini on la funció objectiu està definida i on se satisfan totes les restriccions rep el nom de regió factible. Un problema d’optimització en el qual la funció objectiu és quadràtica mentre que les restriccions són totes lineals s’anomena programació quadràtica. Si a més el conjunt Ω, la funció objectiu i totes les restriccions són convexes, es diu que el problema és convex.

Una restricció de desigualtat gi(w) ≤ 0 s’anomena activa si la solució w* satisfà gi(w*) = 0, en cas contrari s’anomena inactiva. Per tant, les restriccions d’igualtat són sempre actives. De vegades es fan servir variables laxes denotades ξ per convertir una restricció de desigualtat en una d’igualtat, així:

,0 ,0)( 0)( ≥=+⇔≤ iiii ambwgwg ξξ (34)

Les variables laxes associades amb restriccions actives són sempre iguals a zero mentre que les corresponents a restriccions inactives indiquen la “desviació” en el compliment de la restricció.

Pels problemes d’optimització amb restriccions és necessari definir una funció que incorpori informació tant de la funció objectiu com de les restriccions. Una funció d’aquesta mena s’anomena Lagrangià i es construeix com la suma de la funció objectiu amb una combinació lineal de restriccions, on els coeficients de la combinació s’anomenen multiplicadors de Lagrange.

Definició 4.2.6 (Lagrangià Generalitzat) Donat un problema d’optimització primal en el domini Ω ⊆ Rn, es defineix el Lagrangià Generalitzat com:

∑ ∑= =

++=k

i

m

iiiii whwgwfwL

1 1

)()()(),,( βαβα

)()()( whwgwf βα ++= (35)

on els coeficients αi, βi representen els multiplicadors de Lagrange.

Les condicions que ha de satisfer una solució òptima del problema d’optimització amb restriccions són donades pel teorema que s’inclou a continuació.

Teorema 4.2.7 (Kuhn-Tucker) Donat un problema d’optimització amb domini convex Ω ⊆ Rn,

Minimitzar f(w), w ∈ Ω

subjecte a gi(w) 0, i = 1...,k (36)

hi(w) = 0 i = 1...,m

amb f ∈ C1 convexa i gi, hi afins, les condicions necessàries i suficients per tal que un punt normal w* sigui un òptim són l’existència de α* i β* tals que:

0*)*,*,(

=∂

∂w

wL βα (37)

Page 48: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

48

0*)*,*,(

=∂

∂β

βαwL (38)

,0*)(* =wg iiα i = 1...,k,

0)( ≤wg i i = 1...,k, (39)

0* ≥iα i = 1...,k.

Les primeres dues relacions estableixen les condicions d’estacionaritat, la primera produeix un nou sistema d’equacions mentre que la segona retorna les restriccions d’igualtat. La tercera relació es coneix com la condició de complementarietat de Karush-Kuhn-Tucker i implica que per restriccions actives αi* ≥ 0 mentre que per restriccions inactives αi* = 0. L’afinitat de gi i hi es requereix per tal que s’acompleixi que no hi hagi diferència entre els valors del problema primal i el problema dual. El problema dual es defineix com:

Definició 4.2.8 (Lagrangià Dual-Wolf) El Lagrangià dual del problema primal de la Definició 4.2.5 és el següent:

Maximitzar θ(α,β), subjecte a α ≥ 0 (40)

on θ(a,b)=infw∈ΩL(w,α,β). El valor de la funció objectiu en la solució òptima s’anomena valor del problema.

Sovint resulta que la formulació del problema dual és més fàcil de resoldre que la del primal. Per tal de transformar el primal en dual es deriva el Lagrangià respecte a les variables primals i s’iguala a zero. Les relacions obtingudes se substitueixen en el primal per la qual cosa la seva dependència respecte de les variables primals desapareix. La funció resultant conté únicament variables duals α i β sota restriccions més simples. En general, les SVM es resolen en la seva forma dual.

3.2.3 Classificació en les SVM

En aquesta secció presentem la classificació de les SVM. Distingirem entre classificació de dades linealment separables i classificació de dades no linealment separables.

3.2.3.1 Dades d’entrenament linealment separables

En el cas de conjunts separables segur que es troba una solució, però quina és la millor? La millor serà aquella que seleccioni el hiperplà que maximitza el marge i per tant, la que augmenta la generalització. Si considerem l’exemple de la figura següent, veiem que existeixen diferents possibles classificadors lineals que poden separar les dades, però només n’hi ha un que maximitza el marge (maximitza la distància entre el classificador lineal i la dada més propera de cada classe)

Page 49: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

49

Figura 28b. Hiperplà òptim (Marge)

Es tracta doncs de buscar aquest hiperplà òptim. Veurem que la maximització del marge de separació entre classes és equivalent a la minimització de la norma euclidea del vector de pesos.

El problema de classificació pot ser restringit a un problema de dos classes sense perdre’s generalitat. Si considerem doncs, que tenim un set de vectors d’entrenament que pertanyen a dos classes separades

),,((),...,,( 11 ll yxyxD = nRx ∈ , 1,1−∈y (41)

amb el hiperplà,

0

1

1

,

−=<>=

+⟩⟨

i

i

i

d

d

bxw , (42)

- w és el vector de coeficients

- b és una constant (anomenada bias)

- l’índex i etiqueta els N cassos d’entrenament

- 1−+

∈y són les diferents classes

- ix són les variables independents

Page 50: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

50

Figura 29a. Plantejament del problema I

El set de vectors es diu que estan òptimament separables pel hiperplà si és separable sense error i la distància entre el vector més proper al hiperplà és màxima.

És a dir, que existeix ),( ** bw de manera que

0, ** =+⟩⟨ bxw (43)

Figura 29b. Plantejament del problema II

Per tant,

||||,)( *** wrbxwxg x=+⟩⟨= → ||||)(

*wxg

rx = amb |||| *

*

ww

rxx xp += (44)

Que pels vectors de suport,

Page 51: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

51

||||)(

||||)(*

*

wxg

wkxg s == → ||||)(

*wxg

k = (45)

i on l’objectiu és minimitzar ||w|| subjecte a les restriccions

kbxwd ii ≥+ ),( (46)

que mitjançant escalat equival a:

1),( ≥+ bxwd ii (47)

El hiperplà òptim ve donat maximitzant el marge (ρ) de separació entre classes, subjecte a la restricció anterior. El marge (distància entre els vectors més propers al hiperplà és màxima) ve donat per,

||||2

|)),|min|),|min(||||

1||||

|),|min

|||||),|

min

);,(min);,(min),(

1:1:

1:1:

1:1:

w

bxwbxww

wbxw

wbxw

xbwdxbwdbw

i

yx

i

yx

i

yx

i

yx

i

yx

i

yx

iiii

iiii

iiii

=

+⟩⟨++⟩⟨=

+⟩⟨+

+⟩⟨=

+=

=−=

=−=

=−=ρ

(48)

Per tant el hiperplà que separa òptimament les dades és el que minimitza:

wwww T

21

||||21

)( 2 ==Φ (49)

Aquest model de SVM es coneix com SVM Type 1 (també conegut com C-SVM).

Un altre tipus de SVM és el SVM Type 2 també conegut com nu-SVM). El hiperplà que separa òptimament les dades en les SVM Type 2 és:

ρρ vwwvww T −=−=Φ21

||||21

)( 2 (50)

subjecte a les restriccions:

ρ≥+ ),( bxwd ii amb 0≥ρ (51)

Les nu-SVM tenen l’avantatge d’usar el paràmetre nu per controlar el nombre de support vectors.

Ens podem trobar el cas on existeix algun (xi, di) que viola la restricció, és el que anomenarem “marge flonjo”. En aquest cas s’introdueix un nou conjunt de variables de “folgança”: hi, i=1,...,N de forma que:

iii hbxwd −≥+ 1),( amb Ni ,...1= i ihi ∀≥ 0 (52)

de forma que:

→≤≤ 10 ih classificació correcta (53)

→> 1jh classificació incorrecta (54)

Page 52: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

52

Figura 30. Marge flonjo

D’aquesta manera podem modificar la funció a optimitzar com:

∑∑ ++=+=ΦN

ii

TN

ii hCwwhCwhw

21

||||21

),( 2 (55)

C controla el compromís entre la complexitat del model i el nombre de dades no separables.

3.2.3.2 Dades d’entrenament NO linealment separables

En el cas de les SVM on les dades d’entrenament no són linealment separables, les dades es transformen a un espai de dimensió superior per facilitar la separació lineal:

Figura 31. Cerca de la funció Φ(x) que transforma a un espai de dimensió molt superior

En aquest cas s’introdueix una funció de cost addicional amb variables no negatives ( 0≥iξ ) per tractar les dades (entrades) no separables i mesurar els errors de classificació i una funció de penalització:

∑=i

iF σσ ξξ )( 0>σ (56)

Page 53: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

53

El problema d’optimització es planteja ara per reduir al mínim l’error de classificació així com la reducció al mínim del límit en la dimensió VC del classificador.

Així l’equació

1),( ≥+ bxwd ii (57)

en el cas de dades separables es converteix ara en

iii bxwd ξ−≥+ 1),( , li ,...,1= 0≥iξ (58)

pel cas de dades no separables.

L’hiperplà òptim ve determinat ara per:

∑∑ +=+=Φi

iT

ii CwwCww ξξξ

21

||||21

),( 2 (59)

subjecte a les restriccions:

iii bxwd ξ−≥+ 1),( , li ,...,1= 0≥iξ (60)

),( ξwΦ s’utilitza per transformar les dades d’entrada a l’espai de característiques.

C és un valor donat i s’anomena capacitat constant. C>0 és el paràmetre que penalitza el terme d’error. Cal mencionar que quan més gran és el valor de C, més es penalitza l’error. Per això, la C s’ha d’escollir amb compte per evitar l’overfitting.

Aquest model de SVM és el que es coneix com SVM Type 1 (C-SVM). De la mateixa manera que passava en el cas de les dades separables, per les dades no separables també tenim les SVM Type 2 (nu-SVM):

En aquest cas, el hiperplà que separa òptimament les dades en les SVM Type 2 és:

∑+−N

ii

T

Nvww ξρ

121

(61)

∑∑ ++−=+−=ΦN

ii

TN

ii CvwwCvww ξρξρξ

21

||||21

),( 2 (62)

subjecte a les restriccions:

iii bxwd ξρ −≥+ ),( , li ,...,1= 0≥iξ 0≥ρ (63)

Page 54: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

54

3.3 Pre-processament de dades

El pas previ abans d’introduir les dades a la xarxa neural o a les SVM és fer un pre-processat de les dades per extreure les dades més rellevants i adaptar-les a la xarxa neuronal o als SVM. Dins del pre-processat es poden distingir dos etapes ben diferenciades:

• La normalització de les dades

• La selecció de variables

Una vegada identificat el model, una altre qüestió a plantejar-se és si el model identificat és suficientment bo o representatiu. Per saber-ho es recorre a les tècniques de validació.

3.3.1 Normalització de dades

Abans d’introduir les dades a la xarxa, aquestes s’han de normalitzar per evitar, per exemple, problemes de saturació en les funcions de les xarxes neuronals durant el procés d’aprenentatge. La normalització de les dades transforma cada valor de les dades d’entrada en valors dintre d’un rang que condiciona la funció de transferència de les xarxes neuronals.

Podem trobar diferents mètodes d’escalats o de normalització on la base és un fitxer de dades que conté una matriu “a”x”b” (“a” files i “b” columnes). Les “a” files són “a” mesures o experiments realitzats. Les “b” columnes contenen les respostes dels sensors o variables, de les quals les últimes columnes mostren una codificació per indicar a quin tipus d’unitat pertany la fila en qüestió. Alguns tipus de normalització s’expliquen a continuació:

• Normalització per columnes (o centrat de dades): es tracta d’aplicar un centrat de dades a les columnes, és a dir, a cadascuna de les columnes (variables) se li resta el seu valor mig. Cada mesura es descrita per variables de mitja nul·la.

• Autoescalat: es tracta d’aplicar un centrat de dades a les columnes i a continuació es calcula la variància de totes les columnes i es divideix cada un dels valors de la variable corresponent pel valor obtingut. D’aquesta manera cada una de les variables tenen mitja nul·la i variància unitat.

• Normalització per files (o escalat de quantitat): dividim cada mesura de la fila pel sumatori de totes les mesures de la fila. D’aquesta manera eliminem la informació de quantitat o concentració per facilitar la identificació i la classificació de les diferents experiències.

Tant per la xarxa FUZZY ARTMAP com per les SVM e independentment del tipus de normalització seleccionat, tant pels targets com per les variables es treu el valor més negatiu a tot i es divideix pel valor màxim. D’aquesta manera, tots els elements de totes les columnes queden escalats entre 0 i 1 i per tant tots tenen la mateixa importància numèrica. L’escalat entre 0 i 1 és fonamental per les xarxes Fuzzy Artmap donat que només accepten valors entre 0 i 1. En el programa que s’ha desenvolupat per aquest projecte, l’usuari podrà seleccionar quin tipus de normalització dels explicats més amunt vol aplicar sobre les dades de la matriu d’entrada.

Page 55: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

55

3.3.2 Selecció de Variables

La selecció de variables és un procés que consisteix en la transformació de les característiques originals en unes altres més eficients, obtenint-se una nova representació. Normalment aquest procés comporta una reducció de la dimensionalitat de l’espai d’entrada.

El procés de selecció de variables és important per diverses raons, entre les quals podem destacar les següents:

• No totes les variables predictores tenen igual importància, per tant, és més eficient treballar amb un model on les variables importants estiguin presents i les que tenen poca importància no apareixin.

• Algunes variables poden perjudicar la confiabilitat del model, especialment si estan correlacionades amb altres, i per tant es fa necessari eliminar-les, ja que són redundants.

• Es més econòmic recol·lectar informació per un model amb poques variables.

• Algunes variables només aporten soroll o interferències al model donat que no tenen cap relació amb la qualitat que serveix de criteri per la classificació

• Computacionalment es més fàcil treballar amb un conjunt de variables predictores petit.

• Si es redueix el nombre de variables, llavors el model es fa més parsimoniós. Es diu que un model és parsimoniós si aconsegueix ajustar bé les dades però usant la menor quantitat de variables predictores possibles. Es més convenient perquè les seves prediccions són més confiables i a més a més, és més robust que el model original.

• Normalment amb el procés de selecció de variables es redueix la dimensió de l’espai d’entrada, menor és el número de paràmetres a determinar i major és la velocitat en l’aprenentatge. L’inconvenient fonamental és que al reduir la dimensió sempre es perd informació

Alguns dels mètode més coneguts per realitzar la selecció de variables són:

• Mètode de la variància (determinació de la resolució): Consisteix a calcular la mitja aritmètica de cada mostra. Un cop tenim les mitjanes de cada grup, trobarem la mitja total (sumar totes les mitjanes i dividir-ho pel nombre de grups). Amb la mitja de cada grup i la mitja de tots els grups trobarem la variància externa, que serà el sumatori de la resta entre la mitja de cada grup i la mitja total, elevada al quadrat i dividit tot pel nombre de grups. També trobarem la variància interna, per fer-ho cal realitzar el sumatori de la resta dels valors de cada grup amb la mitja de cada grup, que ja hem trobat abans, i ho elevarem al quadrat. Posteriorment, ho dividirem pel nombre d’elements de cada grup. En acabat buscarem la variància interna com la suma de totes les variàncies de cada grup i dividit tot pel nombre de grups. Un cop trobada la variància interna i l’externa trobarem la resolució dividint variància externa entre variància interna. D’aquesta manera s’escullen les variables més selectives i repetitives de forma que a major resolució, millor és el comportament de la variable o sensor al que fa referència. L’ideal és doncs buscar una resolució elevada. A continuació es resumeixen els càlculs necessaris per calcular la resolució:

Page 56: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

56

1) Calculem la Mitjana aritmètica de cada mostra:

==∑

=

i

j

icfc

f

mit

mitmit

j

Mmit

.....2

1

amb columnac

filaf=

= (64)

2) Calculem la variança interna (var_intf) de cada mostra,:

=

=−+⋅⋅⋅⋅⋅⋅⋅+−+−

=

i

ffifffff j

mitMmitMmitM

intvar_.....

intvar_intvar_

)()()(intvar_

2

1

222

21

(65)

3) Calculem el valor mig de les mitges de les mostres (average)

i

mitaverage

i

ff∑

== 1 (66)

4) Calculem la variància externa (var_ext) de les mostres

iavetagemitavetagemitavetagemit

ext i22

22

1 )()()(var_

−+⋅⋅⋅⋅⋅⋅⋅+−+−= (67)

5) Calculem les variàncies de les mostres (average var)

iaverage

i

ff∑

== 1

intvar_var_ (68)

6) Per últim, calculem la resolució (res):

var_var_

averageext

res = (69)

• Backward Elimination (Eliminació cap en darrere): En aquest cas es comença amb el model complet i es va eliminant una variable predictora en cada pas d’acord a uns certs criteris. Si resultaria que totes les variables predictores són importants, llavors, no es fa res i el millor model és el que té totes les variables predictores disponibles.

• Forward Selection (Selecció cap en davant): En aquest cas es comença amb una primera variable que s’afegirà al model si la variable reuneix els requisits definits. Es va incloent una variable predictora en cada pas d’acord a uns certs criteris..

• Stepwise Selección (Selecció pas a pas): corregeix el problema d’anidament dels dos mètodes anteriors. Es pot considerar com una modificació del

Page 57: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

57

mètode “Forward”. És a dir, es comença amb una primera variable i en cada pas es pot afegir una variable en forma similar al mètode forward, però es compara si alguna de les variables que ja estan presents en el model pot ser eliminada. El procés acaba quan ninguna de les variables, que no han entrat encara, tenen importància suficient com per entrar al model.

En el programa que s’ha desenvolupat per aquest projecte, realitzarem una selecció de variables a través del mètode de la variància per intentar reduir la matriu de dades d’entrada. L’usuari podrà definir a partir de quina resolució no es discriminen més variables.

3.3.3 Validació

La pregunta crucial una vegada identificat un model és si aquest model és suficientment bo pels objectius considerats. La validació permet comprovar si el model identificat representa el comportament real, tenint en comte les limitacions dels mètodes d’identificació i els objectius finals, és a dir, validar el sistema significa determinar de forma correcta una estimació de l’exactitud de la classificació. És important validar per ser capaços d’obtenir un model capaç de generalitzar a partir de les dades disponibles. La deficient generalització pot venir motivada per:

• un conjunt d’entrenament escàs o no representatiu

• deficient representació de les dades

• arquitectura de la xarxa inadequada (nombre de capes ocultes, nombre de nodes en cada capa)

• aprenentatge erroni (excessiu, possibilitat de mínims locals, etc.)

Alguns dels mètode més coneguts per validar la classificació són:

• Validació simple (Hold out): es divideix el conjunt de dades disponible, aleatòriament, en dos subconjunts iguals n1 y n2. Primer es genera un model amb n1 i es prova amb n2, obtenint una mesura per la validesa del model. Després es genera un altre model amb n2 i es prova amb n1, obtenint una mesura de la validesa del model.

• Validació creuada d’ordre n (leave-k-out/hold-k-out): es divideix el conjunt de dades disponible, aleatòriament, en n subconjunts iguals. La xarxa s’entrena n vegades, deixant cada vegada un dels subconjunts per la validació. D’aquesta manera es garanteix haver provat amb totes les dades.

Page 58: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

58

Figura 32. Representació gràfica de la validació creuada

• Validació hold-one-out (leave-one-out): és un cas particular de la validació creuada i consisteix en una validació creuada considerant n igual al nombre de patrons d’entrenament.

• Bootstrap: treballa amb sub-exemples de les dades en lloc de amb subconjunt de dades (com en la validació creuada). Cada sub-exemple és un exemple aleatori que pot ser reemplaçat en el subconjunt complet de dades. Això comporta que en el conjunt d’entrenament pot haver-hi mostres repetides varies vegades o que en el conjunt d’entrenament no estiguin representades totes les classes.

En el programa que s’ha desenvolupat per aquest projecte, l’usuari tindrà l’opció de comprovar la bondat de la classificació realitzant validació creuada d’ordre1 (leave-one-out), validació simple (holdout) o una validació d’ordre n (l’usuari introduirà l’ordre de la validació creuada) a partir de les següents mesures:

• La tassa d’error que ve definida per:

Tassa d’error=nombre de casos mal classificats/nombre de casos totals

• L’encert (accuracy) que ve definit per

Accuracy=1-error=nombre de casos ben classificats/nombre de casos totals

3.4 L’aproximació del Voting Strategy

El “voting strategy” consisteix a entrenar el sistema varies vegades usant diferents ordenacions del vector d’entrada (s’assumeix un conjunt fix de la matriu d’entrenament). Abans de cada simulació individual l’ordre d’entrada s’agrupa de manera aleatòria. Després de cada simulació la predicció de cada element de la matriu d’avaluació és enregistrat. El “voting” selecciona el valor de sortida predit pel nombre més llarg de simulacions individuals. En cas d’empat, un valor de sortida és escollit aleatòriament. El nombre de vots per un determinat valor de sortida dóna una mesura de confiança predictiva a cada punt de la matriu d’avaluació.

Per tant el voting strategy proporciona:

• una manera d’eliminar errors de la matriu d’avaluació, és a dir, millora les prediccions eliminant les possibles variacions en els resultats mitjançant

Page 59: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Base teòrica

59

l’entrenament del sistema diverses vegades amb diferents ordres de les dades d’entrenament.

• resultats amb alts marges de fiabilitat inclòs amb vectors d’entrada incomplets.

En el nostre programa implementem un voting aleatori, de forma que si es requereixen ‘n’ desordenacions, generem la matriu d’entrenament en cada desordenació de la següent manera:

• En la primera desordenació la matriu d’entrenament roman inalterada.

• En la resta de desordenacions les mesures (files) es desordenen aleatòriament.

Page 60: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

60

4 Descripció del programa

Un dels objectius d’aquest projecte és el desenvolupament d’un programa genèric (vàlid per a qualsevol matriu de dades) per la classificació de dades a través de la xarxa FUZZY ARTMAP i les Support Vector Machines i aplicant l’estratègia del Voting Strategy.

A continuació s’explica en detall com s’ha desenvolupat el programa i els resultats obtinguts a partir del conjunt de mesures utilitzades.

4.1 Interacció amb l’usuari: La GUI de MATLAB

A través d’una interfície gràfica, podem donar a un programa de MATLAB l’aparença d’una aplicació típica de Windows. La GUI de MATLAB ens permet crear aplicacions consistents en una o més “finestres” que contenen controls com botons, llistes, imatges, etc, proporcionant a l’usuari un entorn de treball familiar.

La GUI de MATLAB ens permet també associar funcions a cada element que composa les diferents finestres del programa. És a dir, cada vegada que per exemple es fa clic sobre un menú, introdueixes un número en una caixa editable, etc, es pot configurar que el programa cridi una funció específica. La nostra tasca ha consistit en programar les accions relacionades amb la funció. Aquestes entrades es coneixen com “events” i el programa que respon a “events” s’anomena “conduit per events”.

La GUI de MATLAB utilitza els “Callbacks” per executar una acció quan l’usuari fa un clic del ratolí o selecciona alguns dels components de la GUI.

Les GUIs de MATLAB són creades amb una eina anomenada GUIDE (GUI Development Environment). Aquesta eina ens permet dissenyar el layout de la GUI, seleccionant i alineant els components de la GUI que formaran part d’aquesta. Un cop s’han col·locat els diferents components, és el moment d’editar les seves propietats: nom, color, forma, font, text a visualitzar, etc... Un cop la GUIDE salva la GUI, aquesta crea automàticament el programa de treball amb les funcions esquelet que després el programador podrà modificar per implementar el comportament desitjat de la GUI.

4.2 Menús i Finestres del programa

El programa s’inicia introduint “inici_gui” (cridem el fitxer inici_gui.m associat a la GUI inici_gui.fig) en la finestra de comandes de MATLAB.

La finestra principal del programa anomenada “Processament de Respostes de Sensors” apareixerà:

Page 61: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

61

Figura 33. Finestra principal del programa de Processament de Resposta de Sensors

Des de la finestra anterior podem accedir a les dos pantalles principals del programa.

Per accedir a la pantalla que ens permet analitzar la classificació de dades a través de la xarxa FUZZY ARTMAP aplicant l’estratègia del Voting Strategy cal anar al menú “FUZZY ARTMAP”->”Obrir” (cridem el fitxer voting_gui.m associat a la GUI voting_gui.fig).

La pantalla anomenada “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy” apareixerà:

Figura 34. Finestra “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy”

Per accedir a la pantalla que ens permet analitzar la classificació de dades a través de les Support Vector Machines aplicant l’estratègia del Voting Strategy cal anar al menú “SVM”->”Obrir” (cridem el fitxer SVM_gui.m associat a la GUI SVM_gui.fig).

La pantalla anomenada “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy” apareixerà:

Page 62: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

62

Figura 35. Finestra “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy”

Ambdues pantalles es troben dividides en 4 seccions, tres de les quals són comunes i una és específica de cada sistema (de la xarxa FUZZY ARTMAP o de les SVM en funció de la pantalla on ens trobem).

Les seccions comunes són:

- Fitxer de Dades:

Figura 36. Secció “Fitxer de Dades”

En aquesta secció:

o A través del botó seleccionarem el directori on es troba el fitxer de text amb les variables i mesures extretes dels sensors

o En el camp “Escriure el fitxer amb les variables” escriurem el nom del fitxer de text amb les variables i mesures extretes dels sensors

o En el camp “Definir les columnes de variables” introduirem el rang de les variables que volem analitzar

o En el camp “Definir les columnes de targets” introduirem el rang de les targets que volem analitzar

Page 63: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

63

o En la llista “Volem eliminar mesures de calibració?” escollirem “Si” en el cas de que el fitxer de text contingui mesures de calibració o “No” en el cas de no ser necessari eliminar-les

o En el camp “Quines?” escriurem el rang de mesures de calibració que volem eliminar. Aquest camp només és necessari si hem escollit “Si” en la llista “Volem eliminar mesures de calibració?”

- Normalització, Selecció de variables i Validació:

-

Figura 37. Secció “Normalització, Selecció de variables i Validació”

En aquesta secció:

o A través de la llista “Tipus de Normalització” escollirem quina normalització volem aplicar a les nostres mesures i variables. Les diferents possibilitats són: Autoescalat, Normalització per files i normalització per columnes.

o A través de la llista “Tipus de Selecció de variables”escollirem si volem o no realitzar una selecció de variables per resolució, és a dir, escollir aquelles variables amb resolució major a la especificada en el camp “Si per resolució, seleccionar variables amb resolució major a”

o En el camp “Si per resolució, seleccionar variables amb resolució major a” escriurem la resolució a partir de la qual volem seleccionar les nostres variables. Aquest camp només és necessari si hem escollit “Per resolució” en la llista “Tipus de Selecció de variables”

o A través de la llista “Tipus de Validació creuada”escollirem si volem o no realitzar una validació creuada per tal d’obtenir una mesura que ens doni una estimació de si les dades són o no suficientment representatives. En el cas d’escollir una validació creuada d’ordre n, l’usuari haurà també d’especificar el valor de n.

o En el camp “Si validació creuada d’ordre n, n igual a:” escriurem el nombre de subconjunts en que es divideixen les dades disponible, de forma que la xarxa s’entrena n vegades, deixant cada vegada un dels subconjunts per la validació

- Paràmetres del Voting:

Figura 38. Secció “Paràmetres del voting”

En aquesta secció:

o En el camp “% files d’entrenament” introduirem el % de files que utilitzarem en l’entrenament (per exemple, si introduïm el 75%, això

Page 64: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

64

vol dir que utilitzarem el 75% de les files per l’entrenament i per tant el 25% de les files pel test.

o En el camp “Vegades que realitzem el voting” introduirem el número de vegades que desordenem la matriu amb un voting aleatori.

La secció específica en cas de trobar-nos en la finestra “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy” és:

- Paràmetres de la xarxa:

Figura 39. Secció “Paràmetres de la xarxa”

En aquesta secció:

o En el camp “learning rate” introduirem el paràmetre de velocitat de la xarxa

o En el camp “Error” introduirem el paràmetre d’error de la xarxa

La secció específica en cas de trobar-nos en la finestra “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy” és:

- Paràmetres de les SVM:

Figura 40. Secció “Paràmetres de les SVM”

En aquesta secció:

o En la llista “Tipus de SVM” seleccionarem el Tipus de SVM que volem executar: SVM tipus 1 (C-SVM) o SVM tipus 2 (nu-SVM)

o En la llista “Tipus de Kernel” seleccionarem el tipus de Kernel de les SVM. Les diferents opcions són: Linear, Polynomial i Rbf

o En el camp “C” introduirem el valor del paràmetre C (capacitat constant, regularisation term, cost for false classification)). Aquest paràmetre s’ha de seleccionar per qualsevol tipus de Kernel

o En el camp “Gamma” introduirem el valor del paràmetre Gamma (kernel width). Aquest paràmetre s’ha de seleccionar pels Kernel tipus Rbf i Polinomial

o En el camp “Degree” introduirem el valor del paràmetre Degree. Aquest paràmetre s’ha de seleccionar pel Kernel tipus Polinomial

o En el camp “Coef” introduirem el valor del paràmetre Coeficient. Aquest paràmetre s’ha de seleccionar pel Kernel tipus Polinomial

Un cop seleccionats els diferents paràmetres i les diferents opcions, podem executar

el programa a través del botó “Executar” :

Page 65: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

65

- Executarem el programa per la classificació de dades a través de la xarxa FUZZY ARTMAP (fitxer voting.m) si ens trobem en la pantalla “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy”

- Executarem el programa per la classificació de dades a través de les Support Vector Machines (SVMcode.m) si ens trobem en la pantalla “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy”

Ambdós fitxers, voting.m i SVMcode.m, contenen el programa principal i el codi necessari per cridar les funcions necessàries de la xarxa FUZZY ARTMAP i de les SVM respectivament, i per mostrar els resultats per pantalla. A continuació s’explica el cos principal d’aquest dos fitxers, el qual s’ha estructurat de la mateixa manera en tots dos casos.

4.3 Cos del programa

En aquesta secció s’explica les parts de programa que contenen els fitxers voting.m (fitxer amb el programa per la classificació de dades a través de la xarxa FUZZY ARTMAP) i SVMcode.m (fitxer amb el programa per la classificació de dades a través de les Support Vector Machines).

Ambdós fitxers estan estructurats de la mateixa manera. Un cop l’usuari ha seleccionat les diferents opcions a través de la GUI i prem el botó “Executar”, la seqüència d’instruccions es succeirà de la següent manera:

Figura 41. Diagrama de flux general del programa (tant per la Fuzzy ARTMAP com per les SVM)

Page 66: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

66

- Construïm les noves matrius de dades:

o sense les variables i sense els targets no seleccionats

o ordenem la matriu de dades en funció dels targets

o eliminem les mesures de calibració si així s’ha seleccionat en la GUI

- Normalitzem la nova matriu de dades segons el tipus de normalització escollida en la GUI.

o Les diferents opcions que ens trobem són:

§ Per columnes: fem un centrat de dades (restem a cada una de les columnes el seu valor mig)

§ Autoescalat: fem un centrat de dades i dividim per la variança de cada columna

§ Per files: dividim cada element de la fila pel sumatori de tots els elements de la fila

o Independentment del tipus de normalització seleccionat traiem, tant pels targets com per les variables, el valor més negatiu (per evitar components negatives) a tot i dividim pel valor màxim. D’aquesta manera, tots els elements de totes les columnes queden escalats entre 0 i 1 i per tant tots tenen la mateixa importància numèrica.

- Seleccionem variables segons el tipus de selecció de variables escollit (cap, per resolució). Les diferents opcions que ens trobem són:

o Cap: no fem res

o Per resolució: escollim les variables a partir del valor de resolució escollit per l’usuari

- Repartim dades equitativament:

o Ordenem la matriu de dades en funció dels targets

o Repartim dades equitativament. D’aquesta manera intentem que estiguin representades totes les classes.

- Realitzem la validació creuada.

o Les diferents opcions que ens trobem per mesurar la bondat del sistema són::

§ Cap: no fem res

§ Leave-one-out

§ Holdout o validació simple

§ Validació creuada d’ordre n:.

o La mesura que ens dirà si les dades són o no representatives és la precisió

- Generem les matrius de dades d’entrenament i avaluació a partir del valor introduït per l’usuari en la secció del voting (el tant per cent de les files a utilitzar per la matriu d’entrenament)

- Apliquem el voting aleatori utilitzant les SVM o la xarxa FUZZY ARTMAP en funció de la pantalla on es trobem. Més detalladament pel voting tenim que:

Page 67: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

67

o No separem les columnes que ens serveixen de variables d’entrada a l’entrenament de les columnes que serveixen de variables de sortida perquè ens facilita el procés de desordenació de la matriu d’entrenament quan s’aplica el voting strategy. Cal doncs recordar i tenir en compte que les últimes columnes corresponen a les variables de sortida i que són les columnes que ens donen la solució correcta per a cada entrada (targets).

o En la primera desordenació la matriu d’entrenament roman inalterada.

o En la resta de desordenacions les mesures (files) de la matriu d’entrenament es desordenen aleatòriament. Per això generem el vector desordre per cada desordenació. El vector desordre el generem amb tants elements com mesures d’entrenament amb els número de l’un al “número de mesures d’entrenament” desordenats aleatòriament mitjançant la instrucció randperm (“número de mesures d’entrenament”). Aquest vector ens indica l’ordre de les mesures de la matriu d’entrenament per cada desordenació. Per exemple si desordre(55)=1, això significa que el valor predit de 55 correspon a la categoria 1.

o En el cas de la xarxa FUZZY ARTMAP, cada vegada doncs que desordenem la matriu d’entrenament és segueixen els següents passos:

§ Entrenem la xarxa amb la funció original de la xarxa FUZZY ARTMAP amb les dades d’entrenament

§ Testegem la xarxa amb la tercera modificació de la xarxa FUZZY ARTMAP amb les dades de test

o En el cas de les SVM, cada vegada que desordenem la matriu d’entrenament es segueixen els següents passos:

§ Construïm el classificador SVM en funció del tipus de SVM (tipus 1 o tipus 2) i el tipus de kernel (Linear, Rbf o polynomial) escollits amb les dades d’entrenament

§ Testegem el classificador SVM construït amb les dades de test.

o Definim la matriu redimensionable mres que és on guardem els resultats de les mesures d’avaluació en les vegades que l’entrenem desordenada, és a dir, guardem la categoria predita corregida per cada mesura en cada desordenació. Per tant en mres ja guardem el valor de la categoria predita corregida per cada mesura en cada desordenació. La matriu tindrà tantes files com mesures d’avaluació i tantes columnes com desordenacions es desitgin.

§ En el cas de la xarxa FUZZY ARTMAP, sabem que la variable a2=[outa',pxarxa',real] guarda el valor de sortida predit un cop testejada la xarxa i que el vector desordre ens diu l’ordre real de la categoria. Per tant, un cop tenim el valor de la categoria predita trobat a partir de a2, hem de buscar a quina categoria corregida pertany mitjançant el vector desordre tal i com indiquem en el punt anterior.

§ En el cas de les SVM, sabem que la variable PreLabels guarda el valor de sortida predit un cop testejada la xarxa i que el vector desordre ens diu l’ordre real de la categoria. Per tant, un cop tenim el valor de la categoria predita trobat a partir de PreLabels, hem de buscar a quina categoria corregida pertany mitjançant el vector desordre tal i com indiquem en el punt anterior.

Page 68: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

68

o Generem la matriu totalres on guardem les vegades que s'obté cada una de les categories per cada mesura en les diferents ordenacions

Figura 42. Diagrama de flux del voting per la Fuzzy ARTMAP

Page 69: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

69

Figura 43. Diagrama de flux del voting per les SVM

- Visualitzem i generem un document amb els resultats. El document contindrà:

o Les variables seleccionades per l’usuari des de la GUI.

o Els resultat obtinguts de la selecció de variables (si així es desitja), és a dir, de quantes variables disposem amb la resolució introduïda per l’usuari.

o Els resultats de la validació creuada (si així es desitja), és a dir, la precisió en les diferents proves.

o Els resultats del voting. Un cop construïda la matriu mres, és molt fàcil visualitzar els resultats per pantalla. S’ha decidit fer-ho de dues maneres diferents: en primer lloc mostrem el tant per cent de categoria en que s’ha classificat cada mesura en el total de les desordenacions. Això ho acompanyem també de la categoria guanyadora, és a dir, la més votada i de la categoria que hauria de ser en realitat, la qual pot o no coincidir amb la guanyadora, en funció de si ha classificat correctament la mesura o no ho ha fet. En segon lloc mostrem el tant per cent d’encert en cada desordenació individual i el tant per cent d’encert després del voting. Per mostrar aquests resultats fem el següent:

Page 70: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Descripció del programa

70

§ A partir de la matriu mres, construïm la matriu totalres, on guardarem les vegades que s'obté cada una de les diferents categories per cada mesura en les diferents ordenacions. Les files de la matriu totalres corresponen a les mesures d’avaluació i les columnes de la matriu totalres corresponen a cada una de les diferents categories possibles.

§ Un cop construïda la matriu totalres és molt fàcil treure els resultats per pantalla, ja que només fa falta mostrar per cada fila els elements diferents de zero, de forma que el contingut de cada columna dividit pel número de desordenacions i multiplicat per 100 representa el tant per cent corresponent a la categoria que ve indicada per la posició de la columna en que es troba l’element.

§ La categoria guanyadora la trobem amb la posició de la columna que guarda el número més gran de la fila. En cas d’empat ens quedem amb la posició de la columna més propera a zero.

§ La categoria real sempre coincideix amb la posició de la fila per tal i com entrenem en la primera desordenació (on no desordenem encara les dades)

§ El tant per cent d’encert després de totes les desordenacions el trobem augmentant un comptador en 1 cada vegada que coincideixen la categoria real i a la guanyadora després de cada desordenació.

§ El tant per cent d’encert en cada desordenació individual el trobem mitjançant un comptador que augmenta en 1 cada vegada que el valor guardat en mres coincideix amb la posició de la fila en que ens trobem i dividint el valor final del comptador pel número de mesures d’avaluació i multiplicant-lo per cent

En els annexes trobarem un exemple d’un document de resultats per la xarxa FUZZY ARTMAP i per les SVM.

Page 71: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

71

5 Mesures i Resultats

5.1 Conjunt de mesures utilitzades

Per testejar el nostre programa hem utilitzat una matriu formada per 300 files i 123 columnes, és a dir, 300 mesures descrites per 123 variables.

Les mesures són barreges de gasos obtingudes amb una matriu de dotze sensors d’òxid d’estany en un recipient on s’hi han introduït diferents gasos simples o en mescles binàries.

Els gasos utilitzats són: Acetona, Amoníac i OrtoXilè i les concentracions són de 50, 100, 200 i 400 ppm’s.

Les respostes dels sensors per a cada mesura es descriuen en les 120 primeres variables (columnes de la 1 a la 120). Tenim doncs tantes columnes com paràmetres per sensor (10 paràmetres per sensor i 12 sensors). Les tres últimes variables (columnes de la 121 a la 123) descriuen la proporció real de gas present en cada mesura, és a dir, ppms d’acetona, d’Amoníac i de O-xilé). En concret, es van realitzar un total de 240 mesures repartides en 4 grups de 60 mostres cada un tal i com es mostra a continuació:

• 12 mostres simples

MOSTRA GAS CONCENTRACIÓ (ppm)

1

2

3

4

5

6

7

8

9

10

11

12

Acetona

Acetona

Acetona

Acetona

Amoníac

Amoníac

Amoníac

Amoníac

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

50

100

200

400

50

100

200

400

50

100

200

400

Taula 3. Mesures de les mostres simples

• 48 mescles binàries

MOSTRA

GAS 1 CONCENTRACIÓ

(ppm)

GAS 2 CONCENTRACIÓ

(ppm)

1

2

3

4

Acetona

Acetona

Acetona

Acetona

50

50

50

50

Amoníac

Amoníac

Amoníac

Amoníac

50

100

200

400

Page 72: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

72

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Acetona

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

Amoníac

50

50

50

50

100

100

100

100

100

100

100

100

200

200

200

200

200

200

200

200

400

400

400

400

400

400

400

400

50

50

50

50

100

100

100

100

200

200

200

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Amoníac

Amoníac

Amoníac

Amoníac

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Amoníac

Amoníac

Amoníac

Amoníac

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Amoníac

Amoníac

Amoníac

Amoníac

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

Ortoxilè

50

100

200

400

50

100

200

400

50

100

200

400

50

100

200

400

50

100

200

400

50

100

200

400

50

100

200

400

50

100

200

400

50

100

200

400

50

100

200

Page 73: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

73

44

45

46

47

48

200

400

400

400

400

400

50

100

200

400

Taula 4. Mesures de les mostres binàries

Les 60 mesures restants són les corresponents a 60 mesures de calibració d’un sol gas.

5.2 Resultats obtinguts

Per analitzar els resultats obtinguts hem construït tres tipus de taules:

- Un tipus de taules on es mostren els resultats per cada desordenació individual i pel voting per un total de 5 i 20 desordenacions i on s’han fixat alguns dels paràmetres específics de la xarxa FUZZY ARTMAP i de les SVM.

- Un altre tipus de taula on es mostren els resultats del voting per 5 desordenacions per diferents valors de paràmetres específics de la xarxa FUZZY ARTMAP i de les SVM.

- Una taula que ens mesura la bondat de les dades (si les dades són o no suficientment bones) mitjançant la validació creuada

En tots els cassos s’han seleccionat les següents opcions:

- Fitxer amb les variables: c:\matrix\matriu.txt

- Columnes de variables: 1:120

- Columnes de targets: 121:123

- Eliminar mesures de calibració: Si

o Quines?: [17, 76]

- % files d’entrenament: 75%

5.2.1 Resultats amb la xarxa FUZZYARTMAP

A continuació mostrem els resultats obtinguts per un total de 5 i 20 desordenacions i variant alguns dels paràmetres específics de la xarxa FUZZY ARTMAP.

En tots els cassos s’han seleccionat les següents opcions:

- Learning rate: 0,9

- Paràmetre d’error:0

Page 74: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

74

Exemple 1.

- Tipus de Normalització: Autoescalat

- Selecció de variables: cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 63.3333 per cent

En la desordenació 2, encerta un 63.3333 per cent

En la desordenació 3, encerta un 58.3333 per cent

En la desordenació 4, encerta un 65 per cent

En la desordenació 5, encerta un 63.3333 per cent

En la desordenació 1, encerta un 63.3333 per cent

En la desordenació 2, encerta un 63.3333 per cent

En la desordenació 3, encerta un 61.6667 per cent

En la desordenació 4, encerta un 58.3333 per cent

En la desordenació 5, encerta un 63.3333 per cent

En la desordenació 6, encerta un 58.3333 per cent

En la desordenació 7, encerta un 63.3333 per cent

En la desordenació 8, encerta un 60 per cent

En la desordenació 9, encerta un 61.6667 per cent

En la desordenació 10, encerta un 58.3333 per cent

En la desordenació 11, encerta un 63.3333 per cent

En la desordenació 12, encerta un 60 per cent

En la desordenació 13, encerta un 61.6667 per cent

En la desordenació 14, encerta un 61.6667 per cent

En la desordenació 15, encerta un 63.3333 per cent

En la desordenació 16, encerta un 63.3333 per cent

En la desordenació 17, encerta un 58.3333 per cent

En la desordenació 18, encerta un 63.3333 per cent

En la desordenació 19, encerta un 60 per cent

En la desordenació 20, encerta un 61.6667 per cent

Am

b el

vo

ting

Amb el voting encerta un 63.3333 per cent Amb el voting encerta un 63.3333 per cent

El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 75: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

75

Exemple 2.

- Tipus de Normalització: Per Files

- Selecció de variables: cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 50 per cent

En la desordenació 2, encerta un 48.3333 per cent

En la desordenació 3, encerta un 43.3333 per cent

En la desordenació 4, encerta un 48.3333 per cent

En la desordenació 5, encerta un 45 per cent

En la desordenació 1, encerta un 50 per cent

En la desordenació 2, encerta un 48.3333 per cent

En la desordenació 3, encerta un 46.6667 per cent

En la desordenació 4, encerta un 48.3333 per cent

En la desordenació 5, encerta un 50 per cent

En la desordenació 6, encerta un 50 per cent

En la desordenació 7, encerta un 46.6667 per cent

En la desordenació 8, encerta un 50 per cent

En la desordenació 9, encerta un 48.3333 per cent

En la desordenació 10, encerta un 45 per cent

En la desordenació 11, encerta un 50 per cent

En la desordenació 12, encerta un 50 per cent

En la desordenació 13, encerta un 48.3333 per cent

En la desordenació 14, encerta un 50 per cent

En la desordenació 15, encerta un 48.3333 per cent

En la desordenació 16, encerta un 48.3333 per cent

En la desordenació 17, encerta un 48.3333 per cent

En la desordenació 18, encerta un 48.3333 per cent

En la desordenació 19, encerta un 48.3333 per cent

En la desordenació 20, encerta un 46.6667 per cent

Am

b el

vo

ting

Amb el voting encerta un 48.3333 per cent Amb el voting encerta un 48.3333 per cent

El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 76: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

76

Exemple 3.

- Tipus de Normalització: Per columnes

- Selecció de variables: cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 63.3333 per cent

En la desordenació 2, encerta un 58.3333 per cent

En la desordenació 3, encerta un 58.3333 per cent

En la desordenació 4, encerta un 61.6667 per cent

En la desordenació 5, encerta un 65 per cent

En la desordenació 1, encerta un 63.3333 per cent

En la desordenació 2, encerta un 61.6667 per cent

En la desordenació 3, encerta un 58.3333 per cent

En la desordenació 4, encerta un 63.3333 per cent

En la desordenació 5, encerta un 63.3333 per cent

En la desordenació 6, encerta un 60 per cent

En la desordenació 7, encerta un 60 per cent

En la desordenació 8, encerta un 61.6667 per cent

En la desordenació 9, encerta un 60 per cent

En la desordenació 10, encerta un 63.3333 per cent

En la desordenació 11, encerta un 63.3333 per cent

En la desordenació 12, encerta un 61.6667 per cent

En la desordenació 13, encerta un 63.3333 per cent

En la desordenació 14, encerta un 63.3333 per cent

En la desordenació 15, encerta un 63.3333 per cent

En la desordenació 16, encerta un 63.3333 per cent

En la desordenació 17, encerta un 60 per cent

En la desordenació 18, encerta un 63.3333 per cent

En la desordenació 19, encerta un 63.3333 per cent

En la desordenació 20, encerta un 61.6667 per cent

Am

b el

vo

ting

Amb el voting encerta un 63.3333 per cent Amb el voting encerta un 63.3333 per cent

El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 77: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

77

Exemple 4.

- Tipus de Normalització: Autoescalat

- Selecció de variables: Per resolució major a 5

Seleccionant variables amb resolució major a 5, tenim 73 variables enlloc de 120

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 71.6667 per cent

En la desordenació 2, encerta un 70 per cent

En la desordenació 3, encerta un 71.6667 per cent

En la desordenació 4, encerta un 71.6667 per cent

En la desordenació 5, encerta un 71.6667 per cent

En la desordenació 1, encerta un 71.6667 per cent

En la desordenació 2, encerta un 71.6667 per cent

En la desordenació 3, encerta un 71.6667 per cent

En la desordenació 4, encerta un 71.6667 per cent

En la desordenació 5, encerta un 71.6667 per cent

En la desordenació 6, encerta un 71.6667 per cent

En la desordenació 7, encerta un 71.6667 per cent

En la desordenació 8, encerta un 71.6667 per cent

En la desordenació 9, encerta un 71.6667 per cent

En la desordenació 10, encerta un 71.6667 per cent

En la desordenació 11, encerta un 70 per cent

En la desordenació 12, encerta un 71.6667 per cent

En la desordenació 13, encerta un 71.6667 per cent

En la desordenació 14, encerta un 71.6667 per cent

En la desordenació 15, encerta un 71.6667 per cent

En la desordenació 16, encerta un 71.6667 per cent

En la desordenació 17, encerta un 71.6667 per cent

En la desordenació 18, encerta un 73.3333 per cent

En la desordenació 19, encerta un 71.6667 per cent

En la desordenació 20, encerta un 71.6667 per cent

Am

b el

vo

ting

Amb el voting encerta un 71.6667 per cent Amb el voting encerta un 71.6667 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 78: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

78

Exemple 5.

- Tipus de Normalització: Autoescalat

- Selecció de variables: Per resolució major a 10

Seleccionant variables amb resolució major a 10, tenim 49 variables enlloc de 120

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 76.6667 per cent

En la desordenació 2, encerta un 76.6667 per cent

En la desordenació 3, encerta un 75 per cent

En la desordenació 4, encerta un 76.6667 per cent

En la desordenació 5, encerta un 76.6667 per cent

En la desordenació 1, encerta un 76.6667 per cent

En la desordenació 2, encerta un 76.6667 per cent

En la desordenació 3, encerta un 76.6667 per cent

En la desordenació 4, encerta un 76.6667 per cent

En la desordenació 5, encerta un 76.6667 per cent

En la desordenació 6, encerta un 76.6667 per cent

En la desordenació 7, encerta un 76.6667 per cent

En la desordenació 8, encerta un 76.6667 per cent

En la desordenació 9, encerta un 76.6667 per cent

En la desordenació 10, encerta un 76.6667 per cent

En la desordenació 11, encerta un 78.3333 per cent

En la desordenació 12, encerta un 75 per cent

En la desordenació 13, encerta un 76.6667 per cent

En la desordenació 14, encerta un 76.6667 per cent

En la desordenació 15, encerta un 76.6667 per cent

En la desordenació 16, encerta un 76.6667 per cent

En la desordenació 17, encerta un 76.6667 per cent

En la desordenació 18, encerta un 76.6667 per cent

En la desordenació 19, encerta un 76.6667 per cent

En la desordenació 20, encerta un 75 per cent

Am

b el

vo

ting

Amb el voting encerta un 76.6667 per cent Amb el voting encerta un 76.6667 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 79: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

79

Exemple 6.

- Tipus de Normalització: Autoescalat

- Selecció de variables: Per resolució major a 15

Seleccionant variables amb resolució major a 15, tenim 30 variables enlloc de 120

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 71.6667 per cent

En la desordenació 2, encerta un 71.6667 per cent

En la desordenació 3, encerta un 71.6667 per cent

En la desordenació 4, encerta un 71.6667 per cent

En la desordenació 5, encerta un 71.6667 per cent

En la desordenació 1, encerta un 71.6667 per cent

En la desordenació 2, encerta un 71.6667 per cent

En la desordenació 3, encerta un 71.6667 per cent

En la desordenació 4, encerta un 71.6667 per cent

En la desordenació 5, encerta un 70 per cent

En la desordenació 6, encerta un 70 per cent

En la desordenació 7, encerta un 73.3333 per cent

En la desordenació 8, encerta un 70 per cent

En la desordenació 9, encerta un 71.6667 per cent

En la desordenació 10, encerta un 71.6667 per cent

En la desordenació 11, encerta un 71.6667 per cent

En la desordenació 12, encerta un 71.6667 per cent

En la desordenació 13, encerta un 71.6667 per cent

En la desordenació 14, encerta un 71.6667 per cent

En la desordenació 15, encerta un 68.3333 per cent

En la desordenació 16, encerta un 71.6667 per cent

En la desordenació 17, encerta un 71.6667 per cent

En la desordenació 18, encerta un 71.6667 per cent

En la desordenació 19, encerta un 71.6667 per cent

En la desordenació 20, encerta un 70 per cent

Am

b el

vo

ting

Amb el voting encerta un 71.6667 per cent Amb el voting encerta un 71.6667 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 80: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

80

A continuació es mostren els resultats amb el tant per cent d’encert amb el voting per un total de 5 desordenacions per diferents opcions de la xarxa FUZZY ARTMAP.

En tots els cassos s’ha seleccionat la següent opció:

- Paràmetre d’error:0

Exemple 7.

Paràmetre d’error = 0

Paràmetre de vigilància (lr)

Tipus de Normalització

Selecció de Variables

0,3 0,6 0,9 Cap 65 63.3333 63.3333

Variables amb resolució>10

78.3333 76.6667 76.6667

Autoescalat

Variables amb resolució>15

73.3333 75 71.6667

Cap 51.6667 48.3333 50

Variables amb resolució>10

53.3333 51.6667 51.6667

Per Files

Variables amb resolució>15

58.3333 56.6667 55

Cap 65 63.3333 63.3333

Variables amb resolució>10

78.3333 76.6667 76.6667

Per Columnes

Variables amb resolució>15

73.3333 75 71.6667

Page 81: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

81

A continuació es mostren els resultats de la bondat de les dades (si les dades són o no suficientment bones) mitjançant la validació creuada.

En tots els cassos s’han seleccionat les següents opcions:

- Learning rate: 0,9

- Paràmetre d’error:0

- Tipus de Normalització: Autoescalat

Exemple 8.

Leave-one-out

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

100 0 100 100 100 100 0 100 100 100 100 100 0 0 100 0 0 100 100 100 100 100 100 100 100 0 0 0 0 100 100 100 100 100 0 0 0 100 100 100 0 100 100 0 100 0 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 0 100 100 100 0 0 0 100 0 100 0 100 100 100 100 0 0 100 100 100 0 100 100 100 100 0 100 100 100 100 100 100 0 100 0 0 100 100 100 100 0 0 0 0 100 100 100 100 100 100 100 0 0 100 100 100 100 100 100 0 100 100 100 100 100 100 100 100 100 0 0 0 100 0 0 100 100 100 100 0 0 100 100 100 0 0 0 100 100 100 100 100 0 0 0 0 100 100 0 0 100 0 100 0 100 100 100 0 100 100 0 100 0 0 100 100 100 100 100 100 100 100 100 100 0 0 100 100 0 0 0 0 100 100 100 0 0 100 100 100 0 100 100 100 0 0 0 100 100 100 0 100 0 0 0 0 100 100 100 100 100 0 0 0 0 100 100 0 100 0 0 0 100 100 100 100 100 100

Sens

e se

lecc

ió d

e va

riab

les

Mitj

ana

resu

ltan

t

La mitjana resultant és 65.4167

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

0 0 100 100 100 100 0 100 100 100 100 100 0 100 100 0 0 100 100 100 100 100 0 100 100 0 0 100 0 100 0 100 100 0 100 0 100 100 100 0 0 100 100 0 0 100 100 100 100 0 100 100 100 100 100 100 100 100 100 100 100 100 0 100 100 100 0 0 0 100 100 100 0 100 100 100 0 100 0 100 100 0 0 100 0 100 0 100 0 100 0 100 100 100 100 0 0 0 0 100 100 100 100 0 0 0 100 100 100 0 100 100 100 0 0 100 100 100 100 100 100 0 100 100 100 100 0 100 100 100 100 0 0 0 100 0 0 100 100 100 0 0 0 100 100 0 0 100 0 100 100 100 100 100 0 0 100 0 100 0 100 100 100 0 100 0 0 100 100 100 0 100 0 100 0 100 100 100 100 100 100 100 100 100 100 100 100 0 0 100 100 100 0 100 100 100 100 0 0 100 100 0 0 100 100 0 100 0 100 0 100 100 0 100 0 100 0 100 0 100 100 100 100 0 0 0 100 100 100 100 100 100 100 0 100 100 100 100 100 100

Var

iabl

es a

mb

res.

> 1

0

Mitj

ana

resu

ltan

t

La mitjana resultant és 65.8333

Page 82: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

82

Exemple 9.

Validació simple o holdout

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions es

53.3333 55

Sens

e se

lecc

ió d

e va

riab

les

Mitj

ana

resu

ltan

t

La mitjana resultant és 54.1667

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions es

62.5 62.5

Var

iabl

es a

mb

res.

> 1

0

Mitj

ana

resu

ltan

t

La mitjana resultant és 62.5

Exemple 10.

Validació creuada ordre 5

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

60.4167 66.6667 60.4167 60.4167 64.5833

Sens

e se

lecc

ió d

e va

riab

les

Mitj

ana

resu

ltan

t

La mitjana resultant és 62.5

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

72.9167 70.8333 66.6667 68.75 58.3333

Var

iabl

es a

mb

res.

> 1

0

Mitj

ana

resu

ltan

t

La mitjana resultant és 67.5

Page 83: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

83

Exemple 11.

Validació creuada ordre 10

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

58.3333 58.3333 75 58.3333 62.5 58.3333 62.5 70.8333 62.5 70.8333

Sens

e se

lecc

ió d

e va

riab

les

Mitj

ana

resu

ltan

t

La mitjana resultant és 63.75

Prec

isió

in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

79.1667 45.8333 83.3333 58.3333 66.6667 66.6667 58.3333 75 62.5 66.6667

Var

iabl

es a

mb

res.

> 1

0

Mitj

ana

resu

ltan

t

La mitjana resultant és 66.25

Page 84: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

84

5.2.2 Resultats amb les SVM

A continuació mostrem els resultats obtinguts per un total de 5 i 20 desordenacions i variant alguns dels paràmetres específics de les SVM.

Exemple 1.

- Tipus de SVM: Tipus 1

- Tipus de kernel:Linear

- Paràmetre C: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 63.3333 per cent

En la desordenació 2, encerta un 63.3333 per cent

En la desordenació 3, encerta un 65 per cent

En la desordenació 4, encerta un 65 per cent

En la desordenació 5, encerta un 65 per cent

En la desordenació 1, encerta un 63.3333 per cent

En la desordenació 2, encerta un 65 per cent

En la desordenació 3, encerta un 65 per cent

En la desordenació 4, encerta un 65 per cent

En la desordenació 5, encerta un 65 per cent

En la desordenació 6, encerta un 63.3333 per cent

En la desordenació 7, encerta un 65 per cent

En la desordenació 8, encerta un 65 per cent

En la desordenació 9, encerta un 63.3333 per cent

En la desordenació 10, encerta un 65 per cent

En la desordenació 11, encerta un 65 per cent

En la desordenació 12, encerta un 65 per cent

En la desordenació 13, encerta un 63.3333 per cent

En la desordenació 14, encerta un 63.3333 per cent

En la desordenació 15, encerta un 63.3333 per cent

En la desordenació 16, encerta un 63.3333 per cent

En la desordenació 17, encerta un 65 per cent

En la desordenació 18, encerta un 65 per cent

En la desordenació 19, encerta un 65 per cent

En la desordenació 20, encerta un 65 per cent

Am

b el

vot

ing

Amb el voting encerta un 65 per cent Amb el voting encerta un 65 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 85: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

85

Exemple 2.

- Tipus de SVM: Tipus 1

- Tipus de kernel:Linear

- Paràmetre C: 1

- Tipus de Normalització: Per Files

- Selecció de variables: Cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 58.3333 per cent

En la desordenació 2, encerta un 60 per cent

En la desordenació 3, encerta un 58.3333 per cent

En la desordenació 4, encerta un 60 per cent

En la desordenació 5, encerta un 58.3333 per cent

En la desordenació 1, encerta un 58.3333 per cent

En la desordenació 2, encerta un 60 per cent

En la desordenació 3, encerta un 58.3333 per cent

En la desordenació 4, encerta un 58.3333 per cent

En la desordenació 5, encerta un 60 per cent

En la desordenació 6, encerta un 58.3333 per cent

En la desordenació 7, encerta un 58.3333 per cent

En la desordenació 8, encerta un 60 per cent

En la desordenació 9, encerta un 60 per cent

En la desordenació 10, encerta un 58.3333 per cent

En la desordenació 11, encerta un 58.3333 per cent

En la desordenació 12, encerta un 58.3333 per cent

En la desordenació 13, encerta un 58.3333 per cent

En la desordenació 14, encerta un 58.3333 per cent

En la desordenació 15, encerta un 58.3333 per cent

En la desordenació 16, encerta un 58.3333 per cent

En la desordenació 17, encerta un 60 per cent

En la desordenació 18, encerta un 60 per cent

En la desordenació 19, encerta un 60 per cent

En la desordenació 20, encerta un 58.3333 per cent

Am

b el

vot

ing

Amb el voting encerta un 58.3333 per cent Amb el voting encerta un 58.3333 per cent

El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 86: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

86

Exemple 3.

- Tipus de SVM: Tipus 1

- Tipus de kernel: Linear

- Paràmetre C: 1

- Tipus de Normalització: Per columnes

- Selecció de variables: Cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 63.3333 per cent

En la desordenació 2, encerta un 65 per cent

En la desordenació 3, encerta un 65 per cent

En la desordenació 4, encerta un 63.3333 per cent

En la desordenació 5, encerta un 63.3333 per cent

En la desordenació 1, encerta un 63.3333 per cent

En la desordenació 2, encerta un 65 per cent

En la desordenació 3, encerta un 65 per cent

En la desordenació 4, encerta un 65 per cent

En la desordenació 5, encerta un 63.3333 per cent

En la desordenació 6, encerta un 65 per cent

En la desordenació 7, encerta un 65 per cent

En la desordenació 8, encerta un 63.3333 per cent

En la desordenació 9, encerta un 63.3333 per cent

En la desordenació 10, encerta un 65 per cent

En la desordenació 11, encerta un 63.3333 per cent

En la desordenació 12, encerta un 65 per cent

En la desordenació 13, encerta un 65 per cent

En la desordenació 14, encerta un 63.3333 per cent

En la desordenació 15, encerta un 63.3333 per cent

En la desordenació 16, encerta un 63.3333 per cent

En la desordenació 17, encerta un 65 per cent

En la desordenació 18, encerta un 65 per cent

En la desordenació 19, encerta un 63.3333 per cent

En la desordenació 20, encerta un 63.3333 per cent

Am

b el

vot

ing

Amb el voting encerta un 63.3333 per cent Amb el voting encerta un 63.3333 per cent

El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 87: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

87

Exemple 4.

- Tipus de SVM: Tipus 1

- Tipus de kernel: Rbf

- Paràmetre C: 1 / Paràmetre Gamma: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 53.3333 per cent

En la desordenació 2, encerta un 53.3333 per cent

En la desordenació 3, encerta un 53.3333 per cent

En la desordenació 4, encerta un 53.3333 per cent

En la desordenació 5, encerta un 53.3333 per cent

En la desordenació 1, encerta un 53.3333 per cent

En la desordenació 2, encerta un 53.3333 per cent

En la desordenació 3, encerta un 53.3333 per cent

En la desordenació 4, encerta un 53.3333 per cent

En la desordenació 5, encerta un 53.3333 per cent

En la desordenació 6, encerta un 53.3333 per cent

En la desordenació 7, encerta un 53.3333 per cent

En la desordenació 8, encerta un 53.3333 per cent

En la desordenació 9, encerta un 53.3333 per cent

En la desordenació 10, encerta un 53.3333 per cent

En la desordenació 11, encerta un 53.3333 per cent

En la desordenació 12, encerta un 53.3333 per cent

En la desordenació 13, encerta un 53.3333 per cent

En la desordenació 14, encerta un 53.3333 per cent

En la desordenació 15, encerta un 53.3333 per cent

En la desordenació 16, encerta un 53.3333 per cent

En la desordenació 17, encerta un 53.3333 per cent

En la desordenació 18, encerta un 53.3333 per cent

En la desordenació 19, encerta un 53.3333 per cent

En la desordenació 20, encerta un 53.3333 per cent

Am

b el

vot

ing

Amb el voting encerta un 53.3333 per cent Amb el voting encerta un 53.3333 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 88: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

88

Exemple 5.

- Tipus de SVM: Tipus 1

- Tipus de kernel:Polynomial

- Paràmetre C: 1 / Paràmetre Gamma: 1 / Paràmetre Degree: 3 / Paràmetre Coeff: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 71.6667 per cent

En la desordenació 2, encerta un 70 per cent

En la desordenació 3, encerta un 73.3333 per cent

En la desordenació 4, encerta un 71.6667 per cent

En la desordenació 5, encerta un 71.6667 per cent

En la desordenació 1, encerta un 71.6667 per cent

En la desordenació 2, encerta un 73.3333 per cent

En la desordenació 3, encerta un 73.3333 per cent

En la desordenació 4, encerta un 71.6667 per cent

En la desordenació 5, encerta un 71.6667 per cent

En la desordenació 6, encerta un 71.6667 per cent

En la desordenació 7, encerta un 70 per cent

En la desordenació 8, encerta un 70 per cent

En la desordenació 9, encerta un 71.6667 per cent

En la desordenació 10, encerta un 71.6667 per cent

En la desordenació 11, encerta un 71.6667 per cent

En la desordenació 12, encerta un 73.3333 per cent

En la desordenació 13, encerta un 73.3333 per cent

En la desordenació 14, encerta un 70 per cent

En la desordenació 15, encerta un 71.6667 per cent

En la desordenació 16, encerta un 71.6667 per cent

En la desordenació 17, encerta un 70 per cent

En la desordenació 18, encerta un 70 per cent

En la desordenació 19, encerta un 73.3333 per cent

En la desordenació 20, encerta un 73.3333 per cent

Am

b el

vot

ing

Amb el voting encerta un 71.6667 per cent Amb el voting encerta un 73.3333 per cent

El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

A major nombre de desordenacions, el resultat amb el voting és lleugerament millor.

Page 89: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

89

Exemple 6.

- Tipus de SVM: Tipus 2

- Tipus de kernel: Linear

- Paràmetre C: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 68.3333 per cent

En la desordenació 2, encerta un 65 per cent

En la desordenació 3, encerta un 66.6667 per cent

En la desordenació 4, encerta un 66.6667 per cent

En la desordenació 5, encerta un 65 per cent

En la desordenació 1, encerta un 68.3333 per cent

En la desordenació 2, encerta un 68.3333 per cent

En la desordenació 3, encerta un 66.6667 per cent

En la desordenació 4, encerta un 65 per cent

En la desordenació 5, encerta un 66.6667 per cent

En la desordenació 6, encerta un 68.3333 per cent

En la desordenació 7, encerta un 66.6667 per cent

En la desordenació 8, encerta un 68.3333 per cent

En la desordenació 9, encerta un 65 per cent

En la desordenació 10, encerta un 66.6667 per cent

En la desordenació 11, encerta un 66.6667 per cent

En la desordenació 12, encerta un 65 per cent

En la desordenació 13, encerta un 65 per cent

En la desordenació 14, encerta un 66.6667 per cent

En la desordenació 15, encerta un 68.3333 per cent

En la desordenació 16, encerta un 65 per cent

En la desordenació 17, encerta un 66.6667 per cent

En la desordenació 18, encerta un 68.3333 per cent

En la desordenació 19, encerta un 66.6667 per cent

En la desordenació 20, encerta un 65 per cent

Am

b el

vot

ing

Amb el voting encerta un 66.6667 per cent Amb el voting encerta un 68.3333 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, el resultat amb el voting és lleugerament millor.

Page 90: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

90

Exemple 7.

- Tipus de SVM: Tipus 2

- Tipus de kernel: Polynomial

- Paràmetre C: 1 / Paràmetre Gamma: 1 / Paràmetre Degree: 3 / Paràmetre Coeff: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 65 per cent

En la desordenació 2, encerta un 65 per cent

En la desordenació 3, encerta un 66.6667 per cent

En la desordenació 4, encerta un 63.3333 per cent

En la desordenació 5, encerta un 66.6667 per cent

En la desordenació 1, encerta un 65 per cent

En la desordenació 2, encerta un 66.6667 per cent

En la desordenació 3, encerta un 68.3333 per cent

En la desordenació 4, encerta un 65 per cent

En la desordenació 5, encerta un 68.3333 per cent

En la desordenació 6, encerta un 65 per cent

En la desordenació 7, encerta un 68.3333 per cent

En la desordenació 8, encerta un 65 per cent

En la desordenació 9, encerta un 65 per cent

En la desordenació 10, encerta un 63.3333 per cent

En la desordenació 11, encerta un 68.3333 per cent

En la desordenació 12, encerta un 66.6667 per cent

En la desordenació 13, encerta un 63.3333 per cent

En la desordenació 14, encerta un 66.6667 per cent

En la desordenació 15, encerta un 63.3333 per cent

En la desordenació 16, encerta un 63.3333 per cent

En la desordenació 17, encerta un 65 per cent

En la desordenació 18, encerta un 66.6667 per cent

En la desordenació 19, encerta un 63.3333 per cent

En la desordenació 20, encerta un 66.6667 per cent

Am

b el

vot

ing

Amb el voting encerta un 65 per cent Amb el voting encerta un 65 per cent

El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 91: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

91

Exemple 8.

- Tipus de SVM: Tipus 2

- Tipus de kernel: RBF

- Paràmetre C: 1 / Paràmetre Gamma: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Cap

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 66.6667 per cent

En la desordenació 2, encerta un 66.6667 per cent

En la desordenació 3, encerta un 66.6667 per cent

En la desordenació 4, encerta un 66.6667 per cent

En la desordenació 5, encerta un 66.6667 per cent

En la desordenació 1, encerta un 66.6667 per cent

En la desordenació 2, encerta un 66.6667 per cent

En la desordenació 3, encerta un 66.6667 per cent

En la desordenació 4, encerta un 66.6667 per cent

En la desordenació 5, encerta un 66.6667 per cent

En la desordenació 6, encerta un 66.6667 per cent

En la desordenació 7, encerta un 66.6667 per cent

En la desordenació 8, encerta un 66.6667 per cent

En la desordenació 9, encerta un 66.6667 per cent

En la desordenació 10, encerta un 66.6667 per cent

En la desordenació 11, encerta un 66.6667 per cent

En la desordenació 12, encerta un 66.6667 per cent

En la desordenació 13, encerta un 66.6667 per cent

En la desordenació 14, encerta un 66.6667 per cent

En la desordenació 15, encerta un 66.6667 per cent

En la desordenació 16, encerta un 66.6667 per cent

En la desordenació 17, encerta un 66.6667 per cent

En la desordenació 18, encerta un 66.6667 per cent

En la desordenació 19, encerta un 66.6667 per cent

En la desordenació 20, encerta un 66.6667 per cent

Am

b el

vot

ing

Amb el voting encerta un 66.6667 per cent Amb el voting encerta un 66.6667 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 92: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

92

Exemple 9.

- Tipus de SVM: Tipus 1

- Tipus de kernel: Linear

- Paràmetre C: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Per resolució major a 10

Seleccionant variables amb resolució major a 10, tenim 49 variables enlloc de 120

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 65 per cent

En la desordenació 2, encerta un 65 per cent

En la desordenació 3, encerta un 65 per cent

En la desordenació 4, encerta un 65 per cent

En la desordenació 5, encerta un 65 per cent

En la desordenació 1, encerta un 65 per cent

En la desordenació 2, encerta un 65 per cent

En la desordenació 3, encerta un 65 per cent

En la desordenació 4, encerta un 65 per cent

En la desordenació 5, encerta un 65 per cent

En la desordenació 6, encerta un 65 per cent

En la desordenació 7, encerta un 65 per cent

En la desordenació 8, encerta un 65 per cent

En la desordenació 9, encerta un 65 per cent

En la desordenació 10, encerta un 65 per cent

En la desordenació 11, encerta un 65 per cent

En la desordenació 12, encerta un 65 per cent

En la desordenació 13, encerta un 65 per cent

En la desordenació 14, encerta un 65 per cent

En la desordenació 15, encerta un 65 per cent

En la desordenació 16, encerta un 65 per cent

En la desordenació 17, encerta un 65 per cent

En la desordenació 18, encerta un 65 per cent

En la desordenació 19, encerta un 65 per cent

En la desordenació 20, encerta un 65 per cent

Am

b el

vot

ing

Amb el voting encerta un 65 per cent Amb el voting encerta un 65 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 93: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

93

Exemple 10.

- Tipus de SVM: Tipus 1

- Tipus de kernel: Linear

- Paràmetre C: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Per resolució major a 15

Seleccionant variables amb resolució major a 15, tenim 30 variables enlloc de 120

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 70 per cent

En la desordenació 2, encerta un 70 per cent

En la desordenació 3, encerta un 70 per cent

En la desordenació 4, encerta un 70 per cent

En la desordenació 5, encerta un 70 per cent

En la desordenació 1, encerta un 70 per cent

En la desordenació 2, encerta un 70 per cent

En la desordenació 3, encerta un 70 per cent

En la desordenació 4, encerta un 70 per cent

En la desordenació 5, encerta un 70 per cent

En la desordenació 6, encerta un 70 per cent

En la desordenació 7, encerta un 70 per cent

En la desordenació 8, encerta un 70 per cent

En la desordenació 9, encerta un 70 per cent

En la desordenació 10, encerta un 70 per cent

En la desordenació 11, encerta un 70 per cent

En la desordenació 12, encerta un 70 per cent

En la desordenació 13, encerta un 70 per cent

En la desordenació 14, encerta un 70 per cent

En la desordenació 15, encerta un 70 per cent

En la desordenació 16, encerta un 70 per cent

En la desordenació 17, encerta un 70 per cent

En la desordenació 18, encerta un 70 per cent

En la desordenació 19, encerta un 70 per cent

En la desordenació 20, encerta un 70 per cent

Am

b el

vot

ing

Amb el voting encerta un 70 per cent Amb el voting encerta un 70 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 94: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

94

Exemple 11.

- Tipus de SVM: Tipus 1

- Tipus de kernel: Linear

- Paràmetre C: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Per resolució major a 20

Seleccionant variables amb resolució major a 20, tenim 25 variables enlloc de 120

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 71.6667 per cent

En la desordenació 2, encerta un 73.3333 per cent

En la desordenació 3, encerta un 73.3333 per cent

En la desordenació 4, encerta un 71.6667 per cent

En la desordenació 5, encerta un 71.6667 per cent

En la desordenació 1, encerta un 71.6667 per cent

En la desordenació 2, encerta un 71.6667 per cent

En la desordenació 3, encerta un 71.6667 per cent

En la desordenació 4, encerta un 71.6667 per cent

En la desordenació 5, encerta un 71.6667 per cent

En la desordenació 6, encerta un 73.3333 per cent

En la desordenació 7, encerta un 71.6667 per cent

En la desordenació 8, encerta un 71.6667 per cent

En la desordenació 9, encerta un 71.6667 per cent

En la desordenació 10, encerta un 71.6667 per cent

En la desordenació 11, encerta un 73.3333 per cent

En la desordenació 12, encerta un 73.3333 per cent

En la desordenació 13, encerta un 71.6667 per cent

En la desordenació 14, encerta un 71.6667 per cent

En la desordenació 15, encerta un 71.6667 per cent

En la desordenació 16, encerta un 71.6667 per cent

En la desordenació 17, encerta un 71.6667 per cent

En la desordenació 18, encerta un 71.6667 per cent

En la desordenació 19, encerta un 71.6667 per cent

En la desordenació 20, encerta un 71.6667 per cent

Am

b el

vot

ing

Amb el voting encerta un 71.6667 per cent Amb el voting encerta un 71.6667 per cent

El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 95: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

95

Exemple 12.

- Tipus de SVM: Tipus 1

- Tipus de kernel: Linear

- Paràmetre C: 1

- Tipus de Normalització: Autoescalat

- Selecció de variables: Per resolució major a 21

Seleccionant variables amb resolució major a 21, tenim 23 variables enlloc de 120

5 desordenacions 20 desordenacions

En

cada

des

orde

naci

ó in

divi

dual

En la desordenació 1, encerta un 70 per cent

En la desordenació 2, encerta un 70 per cent

En la desordenació 3, encerta un 70 per cent

En la desordenació 4, encerta un 70 per cent

En la desordenació 5, encerta un 70 per cent

En la desordenació 1, encerta un 70 per cent

En la desordenació 2, encerta un 70 per cent

En la desordenació 3, encerta un 70 per cent

En la desordenació 4, encerta un 70 per cent

En la desordenació 5, encerta un 70 per cent

En la desordenació 6, encerta un 70 per cent

En la desordenació 7, encerta un 70 per cent

En la desordenació 8, encerta un 70 per cent

En la desordenació 9, encerta un 70 per cent

En la desordenació 10, encerta un 70 per cent

En la desordenació 11, encerta un 70 per cent

En la desordenació 12, encerta un 70 per cent

En la desordenació 13, encerta un 70 per cent

En la desordenació 14, encerta un 70 per cent

En la desordenació 15, encerta un 70 per cent

En la desordenació 16, encerta un 70 per cent

En la desordenació 17, encerta un 70 per cent

En la desordenació 18, encerta un 70 per cent

En la desordenació 19, encerta un 70 per cent

En la desordenació 20, encerta un 70 per cent

Am

b el

vot

ing

Amb el voting encerta un 70 per cent Amb el voting encerta un 70 per cent

El resultat amb el voting iguala el millor resultat de les desordenacions individuals.

A major nombre de desordenacions, obtenim el mateix resultat amb el voting que l’obtingut amb un menor nombre de desordenacions

Page 96: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

96

A continuació es mostren els resultats amb el tant per cent d’encert amb el voting per un total de 5 desordenacions per diferents opcions de les SVM tipus 1.

Exemple 13.

Lineal RBF Tipus de Normalització

Selecció de Variables C=1 C=100 C=1

G=1

C=100

G=1

C=100

G=0.01

C=100

G=10

Cap 63.3333 70 53.3333 65 68.3333 35

Variables amb resolució>15

70 78.3333 68.3333 75 70 78.3333

Variables amb resolució>22

68.3333 81.6667 66.6667 81.6667 68.3333 75

Autoescalat

Variables amb resolució>23

60 68.3333 60 66.6667 60 60

Cap 58.3333 65 58.3333 61.6667 63.3333 48.3333

Variables amb resolució>10

48.3333 71.6667 53.3333 70 53.3333 70

Variables amb resolució>15

48.3333 66.6667 50 68.3333 50 70

Per Files

Variables amb resolució>22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

Cap 65 70 53.3333 65 70 35

Variables amb resolució>15

70 76.6667 68.3333 75 70 80

Variables amb resolució>22

68.3333 83.3333 66.6667 80 68.3333 75

Per Columnes

Variables amb resolució>23

60 68.3333 60 68.3333 60 60

Page 97: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

97

Polynomial Tipus de Normalització

Selecció de Variables C=1

G=1

D=3

Coeff=1

C=100

G=1

D=3

Coeff=1

C=100

G=10

D=3

Coeff=1

C=100

G=1

D=8

Coeff=1

C=100

G=1

D=3

Coeff=10

Cap 70 71.6667 73.3333 66.6667 73.3333

Variables amb resolució>15

76.6667 75 75 68.3333 76.6667

Autoescalat

Variables amb resolució>22

66.6667 70 71.6667 65 75

Cap 60 60 56.6667 51.6667 63.3333

Variables amb resolució>10

63.3333 66.6667 68.3333 58.3333 68.3333

Variables amb resolució>15

53.3333 71.6667 70 68.3333 73.3333

Per Files

Variables amb resolució>22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

Cap 71.6667 71.6667 70 66.6667 73.3333

Variables amb resolució>15

78.3333 73.3333 75 68.3333 76.6667

Per Columnes

Variables amb resolució>22

66.6667 70 66.6667 66.6667 75

Page 98: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

98

A continuació es mostren els resultats amb el tant per cent d’encert amb el voting per un total de 5 desordenacions per diferents opcions de les SVM tipus 2.

Exemple 14.

Lineal RBF Tipus de Normalització

Selecció de Variables C=1 C=100 C=1

G=1

C=100

G=1

C=100

G=0.01

C=100

G=10

Cap 65 66.6667 66.6667 66.6667 66.6667 35

Variables amb resolució>15

73.3333 76.6667 76.6667 78.3333 73.3333 80

Autoescalat

Variables amb resolució>22

68.3333 68.3333 68.3333 68.3333 68.3333 73.3333

Cap 61.6667 61.6667 61.6667 61.6667 63.3333 48.3333

Variables amb resolució>5

65 65 63.3333 63.3333 65 56.6667

Variables amb resolució>10

58.3333 58.3333 60 58.3333 58.3333 65

Variables amb resolució>15

53.3333 53.3333 56.6667 55 60 60

Per Files

Variables amb resolució>22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

Cap 68.3333 68.3333 66.6667 66.6667 68.3333 35

Variables amb resolució>15

75 73.3333 76.6667 75 71.6667 80

Per Columnes

Variables amb resolució>22

68.3333 68.3333 66.6667 68.3333 66.6667 73.3333

Page 99: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Mesures i resultats

99

Polynomial Tipus de Normalització

Selecció de Variables C=1

G=1

D=3

Coeff=1

C=100

G=1

D=3

Coeff=1

C=100

G=10

D=3

Coeff=1

C=100

G=1

D=8

Coeff=1

C=100

G=1

D=3

Coeff=10

Cap 63.3333 63.3333 65 55 66.6667

Variables amb resolució>15

71.6667 71.6667 73.3333 65 73.3333

Autoescalat

Variables amb resolució>22

61.6667 63.3333 58.3333 55 66.6667

Per Files Cap 50 50 50 50 55

Variables amb resolució>5

51.6667 51.6667 51.6667 50 56.6667

Variables amb resolució>15

56.6667 55 50 51.6667 51.6667

Variables amb resolució>22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

No hi ha variables amb resolució >22

Cap 65 65 65 63.3333 65

Variables amb resolució>15

71.6667 71.6667 71.6667 63.3333 71.6667

Per Columnes

Variables amb resolució>22

63.3333 65 58.3333 55 66.6667

Page 100: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Conclusions

100

A continuació es mostren els resultats de la bondat de les dades (si les dades són o no suficientment bones) mitjançant la validació creuada.

En tots els cassos s’han seleccionat les següents opcions:

- Tipus de SVM: Tipus 1

- Tipus de kernel: Linear

- Paràmetre C: 100

- Tipus de Normalització: Autoescalat

Exemple 15.

Leave-one-out

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

100 0 100 100 100 100 100 100 100 100 100 100 0 0 100 0 0 100 100 100 0 0 100 100 100 0 0 100 100 100 100 100 100 100 0 100 0 100 100 100 100 100 100 0 100 0 100 0 100 100 0 100 100 0 100 100 100 100 100 100 100 100 100 100 100 100 0 0 100 100 0 100 0 100 100 0 0 100 100 100 100 0 0 0 0 100 100 100 0 100 100 100 100 100 100 0 0 100 100 100 100 100 100 0 0 0 100 100 100 100 100 100 100 0 0 100 100 100 100 100 100 100 100 100 100 100 0 100 100 100 100 0 0 100 100 0 100 100 100 100 100 0 0 100 100 100 0 0 0 100 100 100 100 100 100 0 0 100 100 100 100 0 100 0 100 0 100 0 100 100 0 100 0 100 0 100 100 100 100 100 100 100 100 100 100 100 0 0 0 100 100 100 0 100 100 100 100 0 100 100 0 100 0 100 100 100 0 100 100 100 100 100 100 100 0 0 0 0 100 100 100 100 100 0 0 0 0 100 0 100 100 100 100 0 0 0 100 100 100 100

Sens

e se

lecc

ió d

e va

riab

les

Mitj

ana

resu

ltan

t

La mitjana resultant és 70

Prec

isió

indi

vidu

al

La precisió obtinguda amb la validació creuada per les diferents simulacions és

100 0 100 100 100 0 0 100 100 100 100 100 0 100 100 0 0 100 100 100 100 0 100 100 100 0 0 100 100 100 100 100 100 0 100 0 100 100 100 100 0 100 100 0 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 0 0 100 100 0 100 0 100 100 0 100 100 100 100 100 0 0 100 0 100 0 100 100 100 100 100 100 100 100 100 0 0 100 100 100 100 100 0 0 0 100 100 100 0 100 100 100 100 0 100 100 100 100 100 100 100 100 100 100 100 0 0 100 100 100 0 100 100 100 0 100 100 100 100 0 100 100 100 100 100 0 100 0 100 100 100 100 100 0 100 100 100 100 100 100 0 100 0 100 0 100 100 100 100 0 100 0 100 0 100 100 100 100 0 100 100 100 100 100 100 100 0 0 100 100 100 0 0 100 100 100 100 100 100 0 0 0 100 100 100 0 100 100 0 100 0 100 100 0 100 0 100 0 100 100 100 100 0 0 0 0 100 100 100 100 100 100 0 100 100 100 100 100 0

Var

iabl

es a

mb

res.

> 2

0

Mitj

ana

resu

ltan

t

La mitjana resultant és 73.75

Page 101: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Conclusions

101

Exemple 16.

Validació simple o holdout

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

69.1667 73.3333

Sens

e se

lecc

ió d

e va

riab

les

Mitj

ana

resu

ltan

t

La mitjana resultant és 71.25

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

74.1667 74.1667

Var

iabl

es a

mb

res.

> 2

0

Mitj

ana

resu

ltan

t

La mitjana resultant és 74.1667

Exemple 17.

Validació creuada ordre 5

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

64.5833 77.0833 77.0833 68.75 72.9167

Sens

e se

lecc

ió d

e va

riab

les

Mitj

ana

resu

ltan

t

La mitjana resultant és 72.0833

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

75 81.25 75 79.1667 77.0833

Var

iabl

es a

mb

res.

> 2

0

Mitj

ana

resu

ltan

t

La mitjana resultant és 77.5

Page 102: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Conclusions

102

Exemple 18.

Validació creuada ordre 10

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és 62.5 70.8333 83.3333 66.6667 79.1667 75 54.1667 79.1667 70.8333 70.8333

Sens

e se

lecc

ió d

e va

riab

les

Mitj

ana

resu

ltan

t

La mitjana resultant és 71.25

Pre

cisi

ó in

divi

dual

La precisió obtinguda amb la validació creuada per les diferents simulacions és

75 75 87.5 75 70.8333 79.1667 79.1667 75 66.6667 79.1667

Var

iabl

es a

mb

res.

> 1

0

Mitj

ana

resu

ltan

t

La mitjana resultant és 76.25

Page 103: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Conclusions

103

6 Conclusions

La finalitat principal d’aquest PFC ha estat l’aplicació del voting strategy per observar com afecta en la classificació de les dades en una xarxa FUZZY ARTMAP i en les SVM.

A continuació es llisten les observacions que s’han extret a partir dels resultats obtinguts en els apartats anteriors.

Respecte a la xarxa FUZZY ARTMAP observem que:

• El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

• A major nombre de desordenacions, el resultat amb el voting és lleugerament millor o igual que amb un menor nombre de desordenacions

• Sense realitzar selecció de variables, els millors resultats s’obtenen quan es realitza un autoescalat i una la normalització per columnes. El resultat obtingut és bastant superior a l’obtingut amb la normalització per files.

• Si realitzem la selecció de variables amb resolució major a 5, els resultats obtinguts amb una normalització autoescalat milloren bastant els resultats obtinguts sense selecció de variables. Si seleccionem les variables amb resolució major a 10, encara es milloren més els resultats del voting. Seleccionant les variables amb resolució major a 15 també tenim bons resultats però el tant per cent d’encert amb el voting és lleugerament menor que l’obtingut amb les variables de resolució major a 10.

• A menor valor del paràmetre learning rate s’obtenen millors resultats del voting. Per valors petits de lr, la xarxa aprèn més lentament, però millora els resultats.

• Els millors resultats s’obtenen realitzant un autoescalat o una normalització per columnes amb selecció de variables de resolució major a 10 i un paràmetre de learning rate igual a 0,3

• Els pitjors resultats s’obtenen realitzant un una normalització per files, sense selecció de variables.

• La validació creuada d’ordre 5 ens proporciona millors resultats de precisió que la resta i ens proporciona una bondat de les dades del 67,5% quan es realitza una selecció de les variables amb resolució major a 10.

Respecte a les SVM observem que:

• El resultat amb el voting iguala el primer o el segon millor resultat de les desordenacions individuals.

• A major nombre de desordenacions, el resultat del voting és lleugerament millor o igual que amb un menor nombre de desordenacions

• En general, sense realitzar selecció de variables i pels mateixos paràmetres de les SVM amb kernel lineal i normalització autoescalat, s’obtenen millors resultats del voting per les SVM tipus 2 que per les SVM tipus 1 (per determinats valors dels seus paràmetres).

Page 104: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Conclusions

104

• En general, sense realitzar selecció de variables i pels mateixos paràmetres de les SVM amb kernel polynomial i normalització autoescalat, s’obtenen millors resultats del voting per les SVM tipus 1 que per les SVM tipus 2 (per determinats valors dels seus paràmetres).

• En general, sense realitzar selecció de variables i pels mateixos paràmetres de les SVM amb kernel RBF i normalització autoescalat, s’obtenen millors resultats del voting per les SVM tipus 2 que per les SVM tipus 1 (per determinats valors dels seus paràmetres).

• Sense realitzar selecció de variables, els millors resultat en les SVM tipus 1 i tipus 2 s’obtenen pels kernels lineal y RBF (per determinats valors dels seus paràmetres).

• Realitzant selecció de variables, els millors resultat en les SVM tipus 1 i tipus 2 s’obtenen ara pels kernels lineal y RBF (per determinats valors dels seus paràmetres).

• Normalment com més gran és el valor de C, millors són els resultats proporcionats per les SVM

• Normalment com més gran és el valor de Gamma, millors són els resultats proporcionats per les SVM

• La validació creuada d’ordre 5 ens proporciona millors resultats de precisió que la resta i ens proporciona una bondat de les dades del 77,5% quan es realitza una selecció de les variables amb resolució major a 20.

Així doncs podem concloure dient:

• Sobre la normalització de les dades, veiem que en funció del tipus de normalització escollida, els resultats milloren, com en el cas de l’autoescalat i normalització per columnes, o empitjoren com en el cas de la normalització per files.

• Cal també esmenar, que la selecció de variables amb resolució determinada augmenta espectacularment els bons resultats. Això ens demostra que possiblement algunes variables són redundants o que aporten soroll o interferències al model, i per tant, no tenen cap relació amb la qualitat que serveix de criteri per la classificació. A més, en les SVM el tant per cent d’encert amb el voting és major que en la FUZZY ARTMAP utilitzant un menor nombre de variables.

• Pel que fa al voting, estadístiques sobre el voting d’altres treballs asseguren que donada una determinada matriu d’avaluació, votar aleatòriament en unes quantes simulacions pot millorar la precisió de la predicció en un factor que és comparable a la millora que podria aconseguir-se augmentant l’ordre de magnitud de la matriu d’entrenament. Segons els resultats obtinguts del voting, veiem que el resultat obtingut és sempre igual al primer o segon millor resultat de les desordenacions individuals, però el resultat del voting no millora o nomès millora lleugerament quan augmentem el nombre de desordenacions. Per tant, tot i normalitzar les dades i seleccionar les millor variables, els resultats del voting no proporcionen millores espectaculars.

Si comparem els resultats obtinguts amb la xarxa FUZZY ARTMAP i els obtinguts amb les SVM observem que:

Page 105: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Conclusions

105

• Tant amb com sense selecció de variables, tant per les SVM Tipus 1 com les tipus 2, i per valors elevats de C (C=100), s’obtenen millors resultats pel voting respecte l’obtingut amb la xarxa FUZZY ARTMAP

• Així doncs, pel que fa als resultats obtinguts amb la xarxa FUZZY ARTMAP i amb les SVM observem que podem obtenir millors resultats amb les SVM en funció del valor dels seus paràmetres. De totes maneres, cal no menysprear els valors obtinguts amb la xarxa FUZZY ARTMAP. Observem doncs, que els millors resultats de les SVM s’obtenen, tant per les SVM tipus 1 com tipus 2, pels kernels RBF i lineal, arribant a un tant per cent d’encert al voltant del 80%.

Així doncs, per obtenir bons resultats en les SVM cal jugar amb els seus paràmetres, els qual poden fer variar fortament el resultats final. Per tant, no és una feina trivial l’utilitzar les SVM amb un nivell adequat de rendiment. Nosaltres, recomanaríem en estudis posteriors utilitzar el kernel RBF perquè ens permet jugar amb els valors de dos paràmetres per ajustar els resultats. A més els resultats obtinguts demostren que variant aquest dos paràmetres podem obtenir els mateixos resultats que els obtinguts amb el kernel lineal. En canvi desaconsellem l’ús del kernel polynomial perquè depèn de masses paràmetres.

La següent taula mostra una comparativa general entre les xarxes neuronals i les SVM.

Xarxes Neuronals SVM

Les capes ocultes transformen les dades a espais de qualsevol dimensió

Els kernels transformen les dades a espais de dimensió molt superior

L’entrenament és molt costós L’entrenament és molt eficient

La classificació és molt eficient La classificació és molt eficient

Es dissenya el nombre de capes ocultes i nodes

Es dissenya la funció kernel i el paràmetre de cost C

Tenen molt bon funcionament en problemes típics

Tenen molt bon funcionament en problemes típics

Les xarxes neuronals tradicionals utilitzen mètodes per minimitzar l’error en les dades d’entrenament (ERM o Empirical Risk Minimisation).

Les SVM produeixen resultats bons perquè es preocupen de buscar la “millor” solució possible al problema donat, reduint al mínim el límit superior en el risc previst (SRM o Structural Risk Minimisation)

6.1 Treball futur

El programa realitzat permet a l’usuari utilitzar els algoritmes de la FUZZY ARTMAP i de les SVM per qualsevol matriu de dades. També permet a l’usuari decidir el valor de moltes de les variables del programa per una posterior avaluació dels resultats en funció dels paràmetres escollits. En aquest projecte, el procés seguit per avaluar els resultats ha estat:

- Transformar les dades al format necessari pel software de la xarxa FUZZY ARTMAP i de les SVM

Page 106: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Conclusions

106

- Normalització i escalat de dades

- Selecció de les variables (si així s’ha seleccionat)

- Aleatòriament introduir diferents paràmetres de la FUZZY ARTMAP i de les SVM i diferents kernels per les SVM

- Testejar

Molts són els projectes realitzats fins ara amb les xarxes FUZZY ARTMAP. Per això, es proposa ampliar la part de les SVM en altres projectes de final de carrera. Una proposta de millora podria ser seguir la següent seqüència d’execució:

- Transformar les dades al format necessari pel software i de les SVM

- Normalització i escalat de dades

- Selecció de les variables

- En les SVM, utilitzar el kernel RBF i buscar els paràmetres que donin els millors resultats (exemple: fer servir cross-validation per trobar els millors paràmetres C i Gamma)

- Usar els paràmetres C i gamma per entrenar les dades d’entrenament

- Testejar

A continuació es discuteix el procés anterior amb més detall per les SVM:

- Pel que fa al pre-processat de dades, cal transformar les dades al format necessari pel software de les SVM. Les SVM requereix que les dades es representin com a vectors de nombres reals. És a dir, si tenim atributs categòrics, els hem de convertir a dades numèrics. Es recomana usar m nombres per representar m atributs categòrics. Només un dels m membres és 1 i els altres són 0. Per exemple, si tenim 3-atributs categòrics com podrien ser vermell, verd i blau, es podrien representar com (0,01), (0,1,0), i (1,0,0).

- A més, normalitzar les dades i realitzar un escalat de les dades abans d’aplicar les SVM pot ser molt important. La principal avantatge és evitar que els atributs en majors gammes numèriques dominin els atributs amb gammes numèriques més petites. Una altre avantatge és evitar dificultats numèriques durant els càlculs (especialment en els kernels linear i polynomial). Una recomanació és escalar cada atribut al rang [-1,+1] o [0,1].

- Estaria bé fer comprovar abans quins paràmetres són important i no fer-ho escollint els paràmetres amb resolució major a un nombre seleccionat aleatòriament

- Una altre cosa a escollir és el tipus de kernel. Recomanem el kernel RBF per què permet mapes de dades no lineals en espais de majors dimensions. A més, al contrari que amb el kernel linear, el RBF permet el tractament de casos quan la relació entre classes i atributs és no lineal. El kernel lineal és un cas especial dels RBF ja que es pot demostrar que el kernel linear amb un específic valor del paràmetre C (penalti de l’error) té el mateix comportament que el kernel RBF amb altres paràmetres C i gamma. Un altre motiu per escollir el kernel RBF és el nombre de paràmetres que influeixen en la complexitat de la selecció del model. Per exemple el kernel polynomial té més paràmetres (4 paràmetres) que el kernel RBF (2 paràmetres).

Page 107: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Conclusions

107

- Cal escollir el paràmetre C i els paràmetres del kernel (pel kernel RBF cal escollir el paràmetre gamma). No és conegut d’avantmà quin valor de C i de gamma són els millor per un problema; per tant, podem fer algun tipus de selecció de model (cerca de paràmetre). L’objectiu és identificar un bon valor de C i de gamma de forma que el classificador pugui predir dades no conegudes (dades de test) amb exactitud. Els que es pot fer és provar diferents parells de C i de gamma i utilitzar aquells que proporcionin la major exactitud amb el mètode de validació creuada. A més el mètode de validació creuada pot prevenir el sobreentrenament de les dades.

Page 108: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Referències

108

7 Referències

7.1 Xarxes Neuronals i Voting [1] Diseño de una nariz electrónica para la determinación no destructiva del grado de maduración de la

fruta. Brezmes Llecha, Jesús, UPC, 2001 [2] Avaluació de Xarxes Ressonants en la Classificació de Mostres Gasoses. Pere Joan Margalef Pedrola,

UPC, 2002 [3] FUZZY ART: Fast Stable learning and Categorization of Analog Patterns by an Adaptative

Resonance System. Gail A. Carpenter, Stephen Grossberg, and David B. Rosen. Neural Networks, vol 4, pp 759-771, April 1991

[4] www.lfcia.org/~cipenedo/cursos/scx/Tema6/nodo6-2-1.html [5] FUZZY ARTMAP: A Neural Network Architecture for Incremental Supervised Learning of Analog

Multidimensional Maps. Gail A. Carpenter, Stephen Grossberg, Natalya Markuzon, John H. Reynolds, and David B. Rosen. IEE Transactions on Neural Networks, vol 3, nº 5, Setembre 1992

[6] Evaluation of three modified FUZZY ARTMAP algorithms to be used by an electronic nose. Jesús Brezmes, Pere Margalef, Eduard Llobet, Xavier Vilanova, Xavier Correig. Departament d’Enginyeria Electrònica, Elèctrica i Automàtica, Universitat Rovira i Virgili.

[7] Voting Strategy. Fortuny Miguel, Meritxell, URV 2003 [8] www.infor.uva.es/~calonso/TemasAlumnosIAII/Presentacion%20Xarxes%20ART.pdf [9] www.monografias.com/trabajos12/xarxaneuro/xarxaneuro.shtml#arriba [10] pwp.007mundo.com/7roaovalle/sergio/tesis.pdf [11] ohm.utp.edu.co/neuronales/Capitulo1/FundamentosRN.htm [12] http://www2.uca.es/dept/leng_sist_informaticos/preal/23041/transpas/C-IntroalasRRNN/ppframe.htm

7.2 SVM [13] An introduction to Support Vector Machibes and other kernel based learning methods. Cristianini,

Nello; Shawew-Taylor, John. Cambridge University Press, 2001. [14] svr-www.eng.cam.ac.uk/~kkc21/thesis_main/node4.html#SECTION00100000000000000000 [15] www.statsoft.com/textbook/stSVM.html [16] www.ecs.soton.ac.uk/~srg/publications/pdf/SVM.pdf [17] www.faq-mac.com/mt/archives/009001.php [18] www.gts.tsc.uvigo.es/~jalba/doctorado/SVM.pdf

7.3 Pre-processat [19] http://www.eupm.upc.es/~esaii/assign/ident/Tema%203.pdf [20] http://www2.uca.es/dept/leng_sist_informaticos/preal/23041/transpas/F-Validacion/ppframe.htm [21] Diseño de una nariz electrónica para la determinación no destructiva del grado de maduración de la

fruta. Brezmes Llecha, Jesús, UPC, 2001 [22] Avaluació de Xarxes Ressonants en la Classificació de Mostres Gasoses. Pere Joan Margalef Pedrola,

UPC, 2002 [23] http://math.uprm.edu/~edgar/bookreg6.pdf [24] http://www.dsic.upv.es/~mcelma/DM.ppt [25] http://www.infor.uva.es/~isaac/doctorado/Cap03_RNA.pdf

Page 109: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

109

8 Annexes

8.1 Diagrames de flux

8.1.1 Diagrama de flux general del programa (tant per la Fuzzy ARTMAP com per les SVM)

Figura 44. Diagrama de flux general del programa (tant per la Fuzzy ARTMAP com per les SVM)

Page 110: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

110

8.1.2 Diagrama de flux del voting per la Fuzzy ARTMAP

Figura 45. Diagrama de flux del voting per la Fuzzy ARTMAP

Page 111: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

111

8.1.3 Diagrama de flux del voting per les SVM

Figura 46. Diagrama de flux del voting per les SVM

8.2 Manual del programa

8.2.1 Introducció

El programa “Processament de Respostes de sensors” és un programa genèric (vàlid per a qualsevol matriu de dades) per la classificació de dades a través de la xarxa FUZZY ARTMAP i les Support Vector Machines on s’apliquen l’estratègia del Voting Strategy.

Aquest manual pretén ser una guia útil per l’usuari alhora d’utilitzar el programa.

8.2.2 Iniciar el programa de “Processament de Respostes de sensors”

El programa s’inicia introduint “inici_gui” (cridem el fitxer inici_gui.m associat a la GUI inici_gui.fig) en la finestra de comandes de MATLAB.

Page 112: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

112

La finestra principal del programa anomenada “Processament de Respostes de Sensors” apareixerà:

Figura 47. Finestra principal del programa “Processament de Resposta de Sensors”

Des de la finestra anterior podem accedir a les dos pantalles principals del programa.

Per accedir a la pantalla que ens permet analitzar la classificació de dades a través de la xarxa FUZZY ARTMAP aplicant l’estratègia del Voting Strategy cal anar al menú “FUZZY ARTMAP”->”Obrir” (cridem el fitxer voting_gui.m associat a la GUI voting_gui.fig).

Figura 48. Finestra principal del programa “Processament de Resposta de Sensors”

Page 113: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

113

La pantalla anomenada “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy” apareixerà:

Figura 49. Finestra “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy”

Per accedir a la pantalla que ens permet analitzar la classificació de dades a través de les Support Vector Machines aplicant l’estratègia del Voting Strategy cal anar al menú “SVM”->”Obrir” (cridem el fitxer SVM_gui.m associat a la GUI SVM_gui.fig).

Figura 50. Finestra principal del programa “Processament de Resposta de Sensors”

Page 114: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

114

La pantalla anomenada “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy” apareixerà:

Figura 51. Finestra “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy”

8.2.3 Treballar amb la part del programa de la Fuzzy ARTMAP

Des de la pantalla “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy” accedim a la part del programa que ens permet treballar la classificació de dades mitjançant la xarxa FUZZY ARTMAP.

Aquesta pantalla es troba dividida en 4 seccions: Fitxer de dades, Normalització i Selecció de variables, Paràmetres del Voting i Paràmetres de la xarxa. A continuació s’explica en detall cada una de les diferents seccions.

• Fitxer de Dades:

Figura 52. Secció “Fitxer de Dades”

En aquesta secció:

o A través del botó seleccionarem el directori on es troba el fitxer de text amb les variables i mesures extretes dels sensors

Page 115: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

115

o En el camp “Escriure el fitxer amb les variables” escriurem el nom del fitxer de text amb les variables i mesures extretes dels sensors

o En el camp “Definir les columnes de variables” introduirem el rang de les variables que volem analitzar

o En el camp “Definir les columnes de targets” introduirem el rang de les targets que volem analitzar

o En la llista “Volem eliminar mesures de calibració?” escollirem “Si” en el cas de que el fitxer de text contingui mesures de calibració o “No” en el cas de no ser necessari eliminar-les

o En el camp “Quines?” escriurem el rang de mesures de calibració que volem eliminar. Aquest camp només és necessari si hem escollit “Si” en la llista “Volem eliminar mesures de calibració?”

• Normalització, Selecció de variables i Validació:

Figura 53. Secció “Normalització i Selecció de variables i Validació”

En aquesta secció:

o A través de la llista “Tipus de Normalització” escollirem quina normalització volem aplicar a les nostres mesures i variables. Les diferents possibilitats són: Autoescalat, Normalització per files i normalització per columnes.

o A través de la llista “Tipus de Selecció de variables”escollirem si volem o no realitzar una selecció de variables per resolució, és a dir, escollir aquelles variables amb resolució major a la especificada en el camp “Si per resolució, seleccionar variables amb resolució major a”

o En el camp “Si per resolució, seleccionar variables amb resolució major a” escriurem la resolució a partir de la qual volem seleccionar les nostres variables. Aquest camp només és necessari si hem escollit “Per resolució” en la llista “Tipus de Selecció de variables”

o A través de la llista “Tipus de Validació creuada”escollirem si volem o no realitzar una validació creuada per tal d’obtenir una mesura que ens doni una estimació de si les dades són o no suficientment representatives. En el cas d’escollir una validació creuada d’ordre n, l’usuari haurà també d’especificar el valor de n.

o En el camp “Si validació creuada d’ordre n, n igual a:” escriurem el nombre de subconjunts en que es divideixen les dades disponible, de forma que la xarxa s’entrena n vegades, deixant cada vegada un dels subconjunts per la validació

Page 116: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

116

• Paràmetres del Voting:

Figura 54. Secció “Paràmetres del voting”

En aquesta secció:

o En el camp “% files d’entrenament” introduirem el % de files que utilitzarem en l’entrenament (per exemple, si introduïm el 75%, això vol dir que utilitzarem el 75% de les files per l’entrenament i per tant el 25% de les files pel test.

o En el camp “Vegades que realitzem el voting” introduirem el número de vegades que desordenem la matriu amb un voting aleatori.

• Paràmetres de la xarxa:

Figura 55. Secció “Paràmetres de la xarxa”

En aquesta secció:

o En el camp “learning rate” introduirem el paràmetre de velocitat de la xarxa

o En el camp “Error” introduirem el paràmetre d’error de la xarxa

Un cop seleccionats els diferents paràmetres i les diferents opcions, podem executar el programa per la classificació de dades mitjançant la xarxa FUZZY ARTMAP a través

del botó “Executar” .

Un cop fet això, es generarà un fitxer amb els resultats del programa al mateix temps que es mostren els resultats per pantalla. En els annexes trobem exemples del fitxer de resultats.

8.2.4 Treballar amb la part del programa de les SVM

Des de la pantalla “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy” accedim a la part del programa que ens permet treballar la classificació de dades mitjançant les Support Vector Machines.

Aquesta pantalla es troba dividida en 4 seccions: Fitxer de dades, Normalització, Selecció de variables i Validació, Paràmetres del Voting i Paràmetres de les SVM. Les tres primeres seccions són les mateixes que trobem en la pantalla ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy (per més informació veure “Treballar amb la part del programa de la Fuzzy ARTMAP”)

Page 117: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

117

La secció específica de les SVM és:

- Paràmetres de les SVM:

Figura 56. Secció “Paràmetres de les SVM”

En aquesta secció:

o En la llista “Tipus de SVM” seleccionarem el Tipus de SVM que volem executar: SVM tipus 1 (C-SVM) o SVM tipus 2 (nu-SVM)

o En la llista “Tipus de Kernel” seleccionarem el tipus de Kernel de les SVM. Les diferents opcions són: Linear, Polynomial i Rbf

o En el camp “C” introduirem el valor del paràmetre C (capacitat constant, regularisation term, cost for false classification)). Aquest paràmetre s’ha de seleccionar per qualsevol tipus de Kernel

o En el camp “Gamma” introduirem el valor del paràmetre Gamma (kernel width). Aquest paràmetre s’ha de seleccionar pels Kernel tipus Rbf i Polinomial

o En el camp “Degree” introduirem el valor del paràmetre Degree. Aquest paràmetre s’ha de seleccionar pel Kernel tipus Polinomial

o En el camp “Coef” introduirem el valor del paràmetre Coeficient. Aquest paràmetre s’ha de seleccionar pel Kernel tipus Polinomial

Un cop seleccionats els diferents paràmetres i les diferents opcions, podem executar el programa per la classificació de dades mitjançant les SVM a través del botó “Executar”

.

Un cop fet això, es generarà un fitxer amb els resultats del programa al mateix temps que es mostren els resultats per pantalla En els annexes trobem exemples del fitxer de resultats.Finalitzar el programa de “Processament de Respostes de sensors”

Per sortir del programa “Processament de Respostes de sensors” cal situar-se a la finestra principal del programa. El programa finalitzarà seleccionant “Sortir” des del menú “Arxiu”.

Page 118: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

118

Figura 57. Finestra principal del programa “Processament de Resposta de Sensors”

8.3 Llistat dels programes

8.3.1 Inici_gui.m

Inici_gui.m conté la part de codi associada a la GUI inici_gui.fig i és el fitxer amb el qual s’inicia el programa introduint “inici_gui” en la finestra de comandes de MATLAB i ens porta a la pantalla principal del programa “Processament de Respostes de sensors”.

El llistat del programa s’adjunta a continuació: function varargout = Inici_gui(varargin)

% INICI_GUI Application M-file for Inici_gui.fig

% FIG = INICI_GUI launch Inici_gui GUI.

% INICI_GUI('callback_name', ...) invoke the named callback.

% Last Modified by GUIDE v2.0 28-Nov-2004 18:33:41

if nargin == 0 % LAUNCH GUI

fig = openfig(mfilename,'reuse');

handles = guihandles(fig);

guidata(fig, handles);

% Generate a structure of handles to pass to callbacks, and store it.

if nargout > 0

varargout1 = fig;

end

elseif ischar(varargin1) % INVOKE NAMED SUBFUNCTION OR CALLBACK

try

[varargout1:nargout] = feval(varargin:); % FEVAL switchyard

catch

Page 119: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

119

disp(lasterr);

end

end

% --------------------------------------------------------------------

function varargout = pushbutton1_Callback(h, eventdata, handles, varargin)

% Stub for Callback of the uicontrol handles.pushbutton1.

disp('pushbutton1 Callback not implemented yet.')

8.3.2 Voting_gui.m

Voting_gui.m conté la part de codi associada a la GUI voting_gui.fig. Aquest codi s’executa quan anem al menú “FUZZY ARTMAP”->”Obrir” des de la pantalla d’inici del programa i ens porta a la pantalla “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy” que ens permet analitzar la classificació de dades a través de la xarxa FUZZY ARTMAP aplicant l’estratègia del Voting Strategy.

El llistat del programa s’adjunta a continuació: function varargout = voting_gui(varargin)

% VOTING_GUI Application M-file for voting_gui.fig

% FIG = VOTING_GUI launch voting_gui GUI.

% VOTING_GUI('callback_name', ...) invoke the named callback.

% Last Modified by GUIDE v2.0 16-Jan-2006 18:27:50

if nargin == 0 % LAUNCH GUI

fig = openfig(mfilename,'reuse');

% Use system color scheme for figure:

set(fig,'Color',get(0,'defaultUicontrolBackgroundColor'));

% Generate a structure of handles to pass to callbacks, and store it.

handles = guihandles(fig);

guidata(fig, handles);

nargout;

if nargout > 0

varargout1 = fig;

Page 120: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

120

end

elseif ischar(varargin1) % INVOKE NAMED SUBFUNCTION OR CALLBACK

nargout;

varargin;

try

[varargout1:nargout] = feval(varargin:); % FEVAL switchyard

catch

disp(lasterr);

end

end

% --------------------------------------------------------------------

function varargout = pushbutton4_Callback(h, eventdata, handles, varargin)

dirpath=uigetfolder_win32_compiler_test;

set(handles.dirdades,'String',dirpath);

%-----------------------------------------------------

function varargout = pushbutton1_Callback(h, eventdata, handles, varargin)

% Stub for Callback of the uicontrol handles.pushbutton1.

%clear all

dirpath1= get (handles.dirdades,'string');%ok

pathfitxer = get (handles.fitxerdades,'string');%ok

pathf=strcat(dirpath1,'\',pathfitxer);%ok

lrstr = get (handles.parvig,'string'); %ok

lr = str2num(get (handles.parvig,'string')); %ok

errorstr = get (handles.error,'string');%ok

error = str2num(get (handles.error,'string'));%ok

vecvarauxstr = get (handles.colvar,'string');%ok

vecvaraux = str2num(get (handles.colvar,'string'));%ok

vectarauxstr = get (handles.coltar,'string');%ok

vectaraux = str2num(get (handles.coltar,'string'));%ok

rangcaltmp = str2num(get (handles.mescallist,'string'));%ok

rangcalstr = get (handles.mescallist,'string');%ok

selfil = str2num(get (handles.filent,'string'));%ok

numdes = str2num(get (handles.numvot,'string'));%ok

Value = get(handles.mescal,'Value');

String = get(handles.mescal,'String');

Page 121: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

121

mescalstr=(StringValue);

Value = get(handles.tipnorm,'Value');

String = get(handles.tipnorm,'String');

tipnormstr=(StringValue);

Value = get(handles.selvar,'Value');

String = get(handles.selvar,'String');

selvarstr=(StringValue);

selvarres = get (handles.res,'string');%ok

Value = get(handles.valcre,'Value');

String = get(handles.valcre,'String');

valcrestr=(StringValue);

if strcmp(mescalstr, 'Si')

mescal=0;

elseif strcmp(mescalstr, 'No')

mescal=1;

end

if strcmp(tipnormstr, 'Autoescalat')

tipusnorm=1;

elseif strcmp(tipnormstr, 'Per Files')

tipusnorm=2;

elseif strcmp(tipnormstr, 'Per Columnes')

tipusnorm=3;

end

if strcmp(selvarstr, 'Cap')

selvarauto=0;

elseif strcmp(selvarstr, 'Per ressolucio')

selvarauto=1;

end

if strcmp(valcrestr, 'Cap')

vc=0;

elseif strcmp(valcrestr, 'Leave-one-out')

vc=1;

elseif strcmp(valcrestr, 'Holdout o validacio simple')

vc=2;

elseif strcmp(valcrestr, 'Validacio creuada ordre n')

vc=3;

end

nfolds = str2num(get (handles.ordren,'string'));%ok

Page 122: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

122

voting

% --------------------------------------------------------------------

8.3.3 Voting.m

Voting.m conté la part de codi per la classificació de dades a través de la xarxa FUZZY ARTMAP. Aquest codi s’executa si ens trobem en la pantalla “ANÀLISIS de RESULTATS mitjançant xarxa FUZZY ARTMAP i el VOTING Strategy” prement el botó “Executar” un cop s’han seleccionat totes les variables.

El llistat del programa s’adjunta a continuació: %---------------------------------

%CARREGUEM MATRIU DE DADES

matriu=load(pathf);

matorg=matriu;

[f,c]=size(matorg);

if rangcaltmp(1)==1

rangcal=[((rangcaltmp(length(rangcaltmp)))+1):f];

else

rangcal=[1:(rangcaltmp(1)-1),((rangcaltmp(length(rangcaltmp)))+1):f];

end

%FI CARREGUEM MATRIU DE DADES

%---------------------------------

%---------------------------------

%CONSTRUIM LES NOVES MATRIUS

%eliminem les columnes de variable i de targets no seleccionats

mattot=matorg(:,[vecvaraux,vectaraux]);

[f,c]=size(mattot);

%nomes variables

[ftmp,ctmp]=size(vecvaraux);

vecvaraux=1:ctmp;

matvar=mattot(:,[vecvaraux]);

[fv,cv]=size(matvar);

%nomes targets

[ftmp,ctmp]=size(vectaraux);

Page 123: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

123

vectaraux=(cv+1):(cv+ctmp);

mattar=mattot(:,[vectaraux]);

[ft,ct]=size(mattar);

vecvar=1:cv;

vectar=cv+1:c;

%FI CONSTRUIM LES NOVES MATRIUS

%---------------------------------

%---------------------------------

%TRACTAMENT MATRIU DE DADES

if mescal==0

%ordenem la matriu de dades en funcio dels targets

matord=sortrows(mattot,[vectar]);

%eliminem mesures de calibracio

matnorok=matord(rangcal,:);

[f,c]=size(matnorok);

else

%ordenem la matriu de dades en funcio dels targets

matnorok=sortrows(mattot,[vectar]);

[f,c]=size(matnorok);

end

%nomes variables

matvar=matnorok(:,[vecvaraux]);

[fv,cv]=size(matvar);

%nomes targets

mattar=matnorok(:,[vectaraux]);

[ft,ct]=size(mattar);

%FI TRACTAMENT MATRIU DE DADES

%---------------------------------

%---------------------------------

%NORMALITZEM

nmatriz=matvar;

if tipusnorm==1

%a- autoescalat (fer la mitjana per columnes per referir tots

Page 124: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

124

els sensors a zero i dividim per la variança de cada columna)

mx = mean(nmatriz);

stdx = std(nmatriz);

matvarnor = (nmatriz-mx(ones(fv,1),:))./stdx(ones(fv,1),:);

elseif tipusnorm==2

%b- normalitzem per files o escalat de quantitat(dividim

cada element de la fila pel sumatori de tots els elements de la fila)

mx = sum(nmatriz,2);

for i=1:fv

matvarnor(i,1:cv)=nmatriz(i,1:cv)/mx(i,1);

end

elseif tipusnorm==3

%b- normalitzem per columnes o centrat de dades(restem a cada

una de les columnes el seu valor mig)

mx = mean(nmatriz);

matvarnor = (nmatriz-mx(ones(fv,1),:));

end

%treiem el valor mes negatiu i dividim cada columna pel valor maxim

de cada una de les variables

%per les variables

matnorauxvar=matvarnor;

auxmin=min(matnorauxvar);

%treiem el valor mes negatiu

auxmatrizvar = (matnorauxvar-auxmin(ones(f,1),:));

%dividim pel valor maxim

auxmax=max(auxmatrizvar);

matnorokvar=auxmatrizvar;

for i=1:cv

matnorokvar(:,i)=auxmatrizvar(:,i)/auxmax(i);

end

%pels targets

%evitem components negatives

matnorauxtar=mattar;

auxmin=min(matnorauxtar);

%treiem el valor mes negatiu

auxmatriztar = (matnorauxtar-auxmin(ones(f,1),:));

%dividim pel valor maxim

auxmax=max(auxmatriztar);

matnoroktar=auxmatriztar;

for i=1:(c-cv)

Page 125: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

125

matnoroktar(:,i)=auxmatriztar(:,i)/auxmax(i);

end

matnorok=[matnorokvar,matnoroktar];

%pause

%FI NORMALITZEM

%---------------------------------

%---------------------------------

%busquem el nombre de classes

m=0;

x=matnorok(1,[vectar]);

y=matnorok(1+m,[vectar]);

while x==y

m=m+1;

y=matnorok(1+m,[vectar]);

end

numfil=round(f/m);

mestr=fix((selfil/100)*f);

fmin=f/m;

fmintpc=fmin*100/f;

fmax=(f/m)*(m-1);

fmaxtpc=fmax*100/f;

if selfil<fmintpc

errortxt=sprintf('Nota: El tant per cent de les files del voting

ha de ser major o igual a %d', fmintpc);

disp(errortxt)

elseif selfil>fmaxtpc

errortxt=sprintf('Nota: El tant per cent de les files del voting

ha de ser menor o igual a %d', fmaxtpc);

disp(errortxt)

else

%---------------------------------

%SELECCIO DE VARIABLES

if selvarauto==1 %Intravariança, intervariança, ressolucio

%busquem la mitja de totes les classes

grup=[1:m];

for i=1:numfil

Page 126: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

126

mitja(i,:)=(sum(matnorok(grup,:))/m);

grup=(grup+m);

end

mitjatot=(sum(mitja))/numfil;

%trobem la variança externa (val mig variable)

for i=1:cv

vare(:,i)=(mitja(:,i)-mitjatot(i)).^2;

end

varext=(sum(vare))/numfil;

%trobem la variança interna

for i=1:cv

grup=[1:m];

for j=1:numfil

vari(grup,i)=((matnorok(grup,i)-mitja(j,i)).^2);

grup=(grup+m);

end

end

for i=1:cv

grup=[1:m];

for j=1:numfil

varint(j,i)=sum(vari(grup,i))/m;

grup=(grup+m);

end

end

for i=1:cv

varindef(:,i)=sum(varint(:,i))/numfil;

end

%calcul resolucio

resolucio=(varext./varindef);

resmax=fix(max(resolucio));

resmin=fix(min(resolucio));

j=1;

for i=1:cv

if resolucio (1,i)>str2double(selvarres)

Page 127: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

127

matselvaraux(:,j)=matnorok(:,i);

j=j+1;

end

end

if j~=1

[a,b]=size(matselvaraux);

cvold=cv;

ctar=c-cvold;

cv=b;

vecvar=1:cv;

vectar=(cv+1):(cv+ctar);

matseltot=[matselvaraux(:,:),matnorok(:,(cvold+1:c))];

else

errortxt=sprintf('Nota: No hi han variables amb ressolucio

major a la indicada', selvarres);

disp(errortxt)

end

elseif selvarauto==0

matseltot=matnorok;

end

%FI SELECCIO DE VARIABLES

%---------------------------------

%---------------------------------

%REPARTIM DADES EQUITATIVAMENT

%repartim dades equitativament

t=numfil;

k=1;

for s=1:m

for i=k:t

if i<=f

mateq(i,:)=matseltot(s,:);

s=s+m;

end

end

k=t+1;

t=t+numfil;

end

%FI REPARTIM DADES EQUITATIVAMENT

%---------------------------------

Page 128: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

128

%---------------------------------

%MATRIU DE DADES (pel training i pel test)

%Seleccio Files d'entrenament i de test

mestr=fix((selfil/100)*f);

mesava=f-mestr;

%matriu trainning

mtnall=mateq([1:mestr],:);

%matriu test

mts=mateq([mestr+1:f],:);

%FI MATRIU DE DADES

%---------------------------------

%---------------------------------

%VALIDACIO CREUADA leave one out

bien=0;

mal=0;

nsnc=0;

mitjanatmp=0;

if vc==0

elseif vc==1 %leave one out

mttrainvc= mateq([2:f],:);

mttestvc=mateq([1],:);

[fa,ca]=size(mttestvc);

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mttrainvc(:,vecvar),

mttrainvc(:,vectar));

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mttestvc(:,vecvar),mttestvc(:,vectar));

precisio(1)=100*(infotst(1)/fa);

mitjanatmp=precisio(1);

for ii=2:(f-1)

mttrainvc= mateq([1:(ii-1) (ii+1):f],:);

mttestvc=mateq([ii],:);

[fa,ca]=size(mttestvc);

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mttrainvc(:,vecvar),

mttrainvc(:,vectar));

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mttestvc(:,vecvar),mttestvc(:,vectar));

Page 129: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

129

precisio(ii)=100*(infotst(1)/fa);

mitjanatmp=precisio(ii)+mitjanatmp;

end

mttrainvc= mateq([1:(f-1)],:);

mttestvc=mateq(f,:);

[fa,ca]=size(mttestvc);

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mttrainvc(:,vecvar),

mttrainvc(:,vectar));

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mttestvc(:,vecvar),mttestvc(:,vectar));

precisio(f)=100*(infotst(1)/fa);

mitjanatmp=precisio(f)+mitjanatmp;

mitjana=mitjanatmp/f;

elseif vc==2 %hold out o validacio simple

mttrainvc= mateq([1:f/2],:);

mttestvc=mateq([((f/2)+1):f],:);

[fa,ca]=size(mttestvc);

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mttrainvc(:,vecvar),

mttrainvc(:,vectar));

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mttestvc(:,vecvar),mttestvc(:,vectar));

precisio(1)=100*(infotst(1)/fa);

mitjanatmp=precisio(1);

mttrainvc= mateq([((f/2)+1):f],:);

mttestvc=mateq([1:f/2],:);

[fa,ca]=size(mttestvc);

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mttrainvc(:,vecvar),

mttrainvc(:,vectar));

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mttestvc(:,vecvar),mttestvc(:,vectar));

precisio(2)=100*(infotst(1)/fa);

mitjanatmp=precisio(2)+mitjanatmp;

mitjana=mitjanatmp/2;

Page 130: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

130

elseif vc==3 %cross val per nfolds>2

mgroup=f/nfolds;

mttrainvc= mateq([1:(f-mgroup)],:);

mttestvc=mateq([f-mgroup+1:f],:);

[fa,ca]=size(mttestvc);

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mttrainvc(:,vecvar),

mttrainvc(:,vectar));

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mttestvc(:,vecvar),mttestvc(:,vectar));

precisio(1)=100*(infotst(1)/fa);

mitjanatmp=precisio(1);

for ii=2:(nfolds-1)

mttrainvc= mateq([1:(mgroup*(ii-1)) ((mgroup*ii)+1:f)],:);

mttestvc=mateq([(mgroup*(ii-1)+1):mgroup*ii],:);

[fa,ca]=size(mttestvc);

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mttrainvc(:,vecvar),

mttrainvc(:,vectar));

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mttestvc(:,vecvar),mttestvc(:,vectar));

precisio(ii)=100*(infotst(1)/fa);

mitjanatmp=precisio(ii)+mitjanatmp;

end

mttrainvc= mateq([mgroup+1:f],:);

mttestvc=mateq([1:mgroup],:);

[fa,ca]=size(mttestvc);

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mttrainvc(:,vecvar),

mttrainvc(:,vectar));

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mttestvc(:,vecvar),mttestvc(:,vectar));

precisio(nfolds)=100*(infotst(1)/fa);

mitjanatmp=precisio(nfolds)+mitjanatmp;

mitjana=mitjanatmp/nfolds;

end

%FI VALIDACIO CREUADA

%---------------------------------

Page 131: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

131

%---------------------------------

%APLIQUEM VOTING amb XARXA FUZZY ARTMAP

%on guardem a2(:,3) en la primera desordenacio

a2aux=zeros(mesava,1);

%definim la matriu on guardem els resultats de les mesures d'avaluacio

en les vegades que l'entrenem desordenada

mres=zeros(mesava,numdes);

%definim el vector que indicara l'ordre real de cada categoria en cada

desordenacio

desordre=zeros(mesava,1);

if numdes==1

mtn([1:mestr],:)=mtnall([1:mestr],:);

%entrenem

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mtn(:,[vecvar]),

mtn(:,[vectar]));

%testegem

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

wijb2,wijab,mts(:,[vecvar]),mts(:,[vectar]));

%guardem la categoria predita

a2aux=a2(:,3);

for j=1:mesava

mres(j,1)=a2(j,2);

end

else

for i=0:(numdes-1)

%voting aleatori i mes d'una desordenacio

if i==0

mtn([1:mestr],:)=mtnall([1:mestr],:);

else

setb=randperm(mestr);

mtn([1:mestr],:)=mtnall(setb(1,:),:);

end

%entrenem

[ga,wija2,wijb2,wijab]=fzmaptnok(0,1,lr,1,0.001,mtn(:,[vecvar]),

mtn(:,[vectar]));

%testegem

[a1,a2,infotst,viga,wija,vigb,wijb]=fzmaptsexp3(ga,1,lr,1,0.001,wija2,

Page 132: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

132

wijb2,wijab,mts(:,[vecvar]),mts(:,[vectar]));

%desordreaux

if i==0

a2aux=a2(:,3);

end

%generem vector desordre per cada desordenacio. Ens basem amb a2(:,3)

for j=1:mesava

desordre(a2(j,3),1)=a2aux(j,1);

end

%generem matriu mres on guardem la categoria predita corregida per cada mesura en cada desordenacio

for j=1:mesava

mres(j,i+1)=desordre(a2(j,2),1);

end

end

end

%definim la matriu on guardem les vegades que s'obté cada una de les categories per cada mesura

maxmres=max(mres);

mammaxmres=max(maxmres);

totalres=zeros(mesava,mammaxmres);

%generem matriu totalres(te tantes files com mesures d'avaluacio i tantes columnes com categories)

for j=1:mesava

for k=1:numdes

if mres(j,k)~=0

totalres(j,mres(j,k))=totalres(j,mres(j,k))+1;

end

end

end

totalres;

%mostrem per pantalla els resultats

catguanyadora=0;

okvot=0;

Page 133: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

133

fid = fopen('resfuzzy.doc','w');

fprintf(fid,'RESULTATS: XARXA FUZZY ARTMAP i VOTING ALEATORI\n');

fprintf(fid,'-----------------------------------------------------\n');

%llistat de variables utilitzades

fprintf(fid,'Les variables utilitzades son:\n');

fprintf(fid,' - Fitxer amb les variables: %s\n',pathf);

fprintf(fid,' - Columnes de variables: %s\n',vecvarauxstr);

fprintf(fid,' - Columnes de targets: %s\n',vectarauxstr);

fprintf(fid,' - Eliminar mesures de calibració: %s\n',mescalstr);

fprintf(fid,' - Rang de les mesures de calibració: %s\n',rangcalstr);

fprintf(fid,' - Paràmetre de vigilància: %s\n',lrstr);

fprintf(fid,' - Paràmetre error: %s\n',errorstr);

fprintf(fid,' - Tipus de normalització: %s\n',tipnormstr);

fprintf(fid,' - Selecció de variables: %s\n',selvarstr);

if selvarauto==1

fprintf(fid,' - Variables amb resolucio major a: %s\n',selvarres);

end

if vc~=0

fprintf(fid,' - Tipus de validacio creuada: %s\n',valcrestr);

if vc==3

fprintf(fid,' - Ordre de la validacio creuada: %d\n',nfolds);

end

end

fprintf(fid,' - Tant per cent de les files entrenament: %d\n',selfil);

fprintf(fid,' - Numero de desordenacions: %d\n',numdes);

fprintf(fid,'\n');

if selvarauto==1

%resultats de la selecio de variables

fprintf(fid,'RESULTATS de la SELECCIO de VARIABLES\n');

fprintf(fid,'--------------------------------------------------------\n');

fprintf(fid,' - Seleccionant les variables amb resolucio major a %s, tenim %d variables enlloc de %d\n',selvarres,cv,cvold);

fprintf(fid,'\n');

end

if vc~=0

Page 134: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

134

%resultats de la selecio de variables

fprintf(fid,'RESULTATS de la VALIDACIO CREUADA\n');

fprintf(fid,'--------------------------------------------------------\n');

fprintf(fid,' - La precisio obtinguda amb la validacio creuada per les diferents simulacions es \n');

format short, precisio;

prec=num2str (precisio);

fprintf(fid,' %s\n',prec);

fprintf(fid,'\n');

format short, mitjana;

mitjanastr=num2str (mitjana);

fprintf(fid,' La mitjana resultant es %s\n',mitjanastr);

fprintf(fid,'\n');

end

%resultats del voting metode 1

fprintf(fid,'METODE 1: CATEGORIA GUANYADORA I CATEGORIA REAL\n');

fprintf(fid,'--------------------------------------------------------\n');

for j=1:mesava

fprintf(fid,'*La Mesura %d te:\n',j+mestr);

vegcatguanyadora=0;

for k=1:mammaxmres

if totalres(j,k)~=0

if totalres(j,k)>vegcatguanyadora

catguanyadora=k;

vegcatguanyadora=totalres(j,k);

end

tpctmp=(totalres(j,k)/numdes)*100;

format short, tpctmp;

tpc=num2str (tpctmp);

fprintf(fid,' - %s per cent de categoria %d.\n',tpc,k);

end

end

fprintf(fid,'Per tant, la categoria guanyadora es %d, sent %d la categoria real\n',catguanyadora,a2aux(j));

fprintf(fid,'\n');

if catguanyadora==a2aux(j)

okvot=okvot+1;

end

end

Page 135: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

135

%resultats del voting metode 2

fprintf(fid,'\n');

fprintf(fid,'METODE 2: TANT PER CENT ENCERT\n');

fprintf(fid,'--------------------------------------------------------\n');

for i=1:numdes

okind=0;

for j=1:mesava

if mres(j,i)==a2aux(j)

okind=okind+1;

end

end

okindtpctmp=((100*okind)/mesava);

format short, okindtpctmp;

okindtpc=num2str (okindtpctmp);

fprintf(fid,'En la desordenacio %d, encerta un %s per cent\n',i, okindtpc);

end

okvottpctmp=((100*okvot)/mesava);

format short, okvottpctmp;

okvottpc=num2str (okvottpctmp);

fprintf(fid,'Amb el voting encerta un %s per cent\n',okvottpc);

fclose(fid);

open('resfuzzy.doc')

end

%---------------------------------

8.3.4 SVM_gui.m

SVM_gui.m conté la part de codi associada a la GUI SVM_gui.fig. Aquest codi s’executa quan anem al menú “SVM”->”Obrir” des de la pantalla d’inici del programa i ens porta a la pantalla “ANÀLISIS de RESULTATS mitjançant SVM i el VOTING Strategy” que ens permet analitzar la classificació de dades a través de les Support Vector Machines aplicant l’estratègia del Voting Strategy.

El llistat del programa s’adjunta a continuació: function varargout = svm_gui(varargin)

% SVM_GUI Application M-file for svm_gui.fig

% FIG = SVM_GUI launch svm_gui GUI.

% SVM_GUI('callback_name', ...) invoke the named callback.

Page 136: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

136

% Last Modified by GUIDE v2.0 17-Jan-2006 09:02:49

if nargin == 0 % LAUNCH GUI

fig = openfig(mfilename,'reuse');

% Use system color scheme for figure:

set(fig,'Color',get(0,'defaultUicontrolBackgroundColor'));

% Generate a structure of handles to pass to callbacks, and store it.

handles = guihandles(fig);

guidata(fig, handles);

if nargout > 0

varargout1 = fig;

end

elseif ischar(varargin1) % INVOKE NAMED SUBFUNCTION OR CALLBACK

try

[varargout1:nargout] = feval(varargin:); % FEVAL switchyard

catch

disp(lasterr);

end

end

% ----------------------------------------------------

function varargout = pushbutton4_Callback(h, eventdata, handles, varargin)

dirpath=uigetfolder_win32_compiler_test;

set(handles.dirdades,'String',dirpath);

%-----------------------------------------------------

% ----------------------------------------------------

function varargout = pushbutton1_Callback(h, eventdata, handles, varargin)

% Stub for Callback of the uicontrol handles.pushbutton1.

dirpath1= get (handles.dirdades,'string');%ok

pathfitxer = get (handles.fitxerdades,'string');%ok

Page 137: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

137

pathf=strcat(dirpath1,'\',pathfitxer);%ok

vecvarauxstr = get (handles.colvar,'string');%ok

vecvaraux = str2num(get (handles.colvar,'string'));%ok

vectarauxstr = get (handles.coltar,'string');%ok

vectaraux = str2num(get (handles.coltar,'string'));%ok

rangcalstr = get (handles.mescallist,'string');%ok

rangcaltmp = str2num(get (handles.mescallist,'string'));%ok

selfil = str2num(get (handles.filent,'string'));%ok

numdes = str2num(get (handles.numvot,'string'));%ok

selvarres = get (handles.res,'string');%ok

Value = get(handles.mescal,'Value');

String = get(handles.mescal,'String');

mescalstr=(StringValue);

Value = get(handles.tipnorm,'Value');

String = get(handles.tipnorm,'String');

tipnormstr=(StringValue);

Value = get(handles.selvar,'Value');

String = get(handles.selvar,'String');

selvarstr=(StringValue);

Value = get(handles.tipsvmlist,'Value');

String = get(handles.tipsvmlist,'String');

tipsvmstr=(StringValue);

Value = get(handles.valcre,'Value');

String = get(handles.valcre,'String');

valcrestr=(StringValue);

C = str2num(get (handles.cvvar,'string'));%ok

Gamma = str2num(get (handles.gammavar,'string'));%ok

Degree = str2num(get (handles.degreevar,'string'));%ok

Coeff = str2num(get (handles.coefvar,'string'));%ok

Value = get(handles.tipkernlist,'Value');

String = get(handles.tipkernlist,'String');

kernelstr=(StringValue);

Page 138: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

138

if strcmp(mescalstr, 'Si')

mescal=0;

elseif strcmp(mescalstr, 'No')

mescal=1;

end

if strcmp(tipnormstr, 'Autoescalat')

tipusnorm=1;

elseif strcmp(tipnormstr, 'Per Files')

tipusnorm=2;

elseif strcmp(tipnormstr, 'Per Columnes')

tipusnorm=3;

end

if strcmp(selvarstr, 'Cap')

selvarauto=0;

elseif strcmp(selvarstr, 'Per ressolucio')

selvarauto=1;

end

if strcmp(tipsvmstr, 'Tipus 1 (C-SVM)')

tipsvm=0;

elseif strcmp(tipsvmstr, 'Tipus 2 (nu-SVM)')

tipsvm=1;

end

if strcmp(kernelstr, 'Linear')

tipker=0;

elseif strcmp(kernelstr, 'Polynomial')

tipker=1;

elseif strcmp(kernelstr, 'Rbf')

tipker=2;

end

if strcmp(valcrestr, 'Cap')

vc=0;

elseif strcmp(valcrestr, 'Leave-one-out')

vc=1;

elseif strcmp(valcrestr, 'Holdout o validacio simple')

vc=2;

elseif strcmp(valcrestr, 'Validacio creuada ordre n')

vc=3;

end

nfolds = str2num(get (handles.ordren,'string'));%ok

Page 139: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

139

svmcode

% ---------------------------------------------------------------

8.3.5 SVMcode.m

SVMcode.m conté la part de codi per la classificació de dades a través de les Support Vector Machines. Aquest codi s’executa si ens trobem en la pantalla “ANÀLISIS de RESULTATS mitjançant xarxa SVM i el VOTING Strategy” prement el botó “Executar” un cop s’han seleccionat totes les variables.

El llistat del programa s’adjunta a continuació: %---------------------------------

%CARREGUEM MATRIU DE DADES

matriu=load(pathf);

matorg=matriu;

[f,c]=size(matorg);

if rangcaltmp(1)==1

rangcal=[((rangcaltmp(length(rangcaltmp)))+1):f];

else

rangcal=[1:(rangcaltmp(1)-1),((rangcaltmp(length(rangcaltmp)))+1):f];

end

%FI CARREGUEM MATRIU DE DADES

%---------------------------------

%---------------------------------

%CONSTRUIM LES NOVES MATRIUS

%eliminem les columnes de variable i de targets no seleccionats

mattot=matorg(:,[vecvaraux,vectaraux]);

[f,c]=size(mattot);

%nomes variables

[ftmp,ctmp]=size(vecvaraux);

vecvaraux=1:ctmp;

matvar=mattot(:,[vecvaraux]);

[fv,cv]=size(matvar);

%nomes targets

[ftmp,ctmp]=size(vectaraux);

Page 140: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

140

vectaraux=(cv+1):(cv+ctmp);

mattar=mattot(:,[vectaraux]);

[ft,ct]=size(mattar);

vecvar=1:cv;

vectar=cv+1:c;

%FI CONSTRUIM LES NOVES MATRIUS

%---------------------------------

%---------------------------------

%TRACTAMENT MATRIU DE DADES

if mescal==0

%ordenem la matriu de dades en funcio dels targets

matord=sortrows(mattot,[vectar]);

%eliminem mesures de calibracio

matnorok=matord(rangcal,:);

[f,c]=size(matnorok);

else

%ordenem la matriu de dades en funcio dels targets

matnorok=sortrows(mattot,[vectar]);

[f,c]=size(matnorok);

end

%nomes variables

matvar=matnorok(:,[vecvaraux]);

[fv,cv]=size(matvar);

%nomes targets

mattar=matnorok(:,[vectaraux]);

[ft,ct]=size(mattar);

%FI TRACTAMENT MATRIU DE DADES

%---------------------------------

%---------------------------------

%NORMALITZEM

nmatriz=matvar;

if tipusnorm==1

%a- autoescalat (fer la mitjana per columnes per referir tots els

Page 141: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

141

sensors a zero i dividim per la variança de cada columna)

mx = mean(nmatriz);

stdx = std(nmatriz);

matvarnor = (nmatriz-mx(ones(fv,1),:))./stdx(ones(fv,1),:);

elseif tipusnorm==2

%b- normalitzem per files o escalat de quantitat(dividim cada element de la fila pel sumatori de tots els elements de la fila)

mx = sum(nmatriz,2);

for i=1:fv

matvarnor(i,1:cv)=nmatriz(i,1:cv)/mx(i,1);

end

elseif tipusnorm==3

%b- normalitzem per columnes o centrat de dades(restem a cada una de les columnes el seu valor mig)

mx = mean(nmatriz);

matvarnor = (nmatriz-mx(ones(fv,1),:));

end

%treiem el valor mes negatiu i dividim cada columna pel valor maxim de cada una de les variables

%per les variables

%evitem components negatives

matnorauxvar=matvarnor;

auxmin=min(matnorauxvar);

%treiem el valor mes negatiu

auxmatrizvar = (matnorauxvar-auxmin(ones(f,1),:));

%dividim pel valor maxim

auxmax=max(auxmatrizvar);

matnorokvar=auxmatrizvar;

for i=1:cv

matnorokvar(:,i)=auxmatrizvar(:,i)/auxmax(i);

end

%pels targets

%evitem components negatives

matnorauxtar=mattar;

auxmin=min(matnorauxtar);

%treiem el valor mes negatiu

auxmatriztar = (matnorauxtar-auxmin(ones(f,1),:));

%dividim pel valor maxim

auxmax=max(auxmatriztar);

matnoroktar=auxmatriztar;

Page 142: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

142

for i=1:(c-cv)

matnoroktar(:,i)=auxmatriztar(:,i)/auxmax(i);

end

matnorok=[matnorokvar,matnoroktar];

%pause

%FI NORMALITZEM

%---------------------------------

%---------------------------------

%busquem el nombre de classes

m=0;

x=matnorok(1,[vectar]);

y=matnorok(1+m,[vectar]);

while x==y

m=m+1;

y=matnorok(1+m,[vectar]);

end

numfil=round(f/m);

mestr=fix((selfil/100)*f);

fmin=f/m;

fmintpc=fmin*100/f;

fmax=(f/m)*(m-1);

fmaxtpc=fmax*100/f;

if selfil<fmintpc

errortxt=sprintf('Nota: El tant per cent de les files del voting ha de ser major o igual a %d', fmintpc);

disp(errortxt)

elseif selfil>fmaxtpc

errortxt=sprintf('Nota: El tant per cent de les files del voting ha de ser menor o igual a %d', fmaxtpc);

disp(errortxt)

else

%---------------------------------

%SELECCIO DE VARIABLES

if selvarauto==1 %Intravariança, intervariança, ressolucio

%busquem la mitja de totes les classes

grup=[1:m];

for i=1:numfil

Page 143: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

143

mitja(i,:)=(sum(matnorok(grup,:))/m);

grup=(grup+m);

end

mitjatot=(sum(mitja))/numfil;

%trobem la variança externa (val mig variable)

for i=1:cv

vare(:,i)=(mitja(:,i)-mitjatot(i)).^2;

end

varext=(sum(vare))/numfil;

%trobem la variança interna

for i=1:cv

grup=[1:m];

for j=1:numfil

vari(grup,i)=((matnorok(grup,i)-mitja(j,i)).^2);

grup=(grup+m);

end

end

for i=1:cv

grup=[1:m];

for j=1:numfil

varint(j,i)=sum(vari(grup,i))/m;

grup=(grup+m);

end

end

for i=1:cv

varindef(:,i)=sum(varint(:,i))/numfil;

end

%calcul resolucio

resolucio=(varext./varindef);

resmax=fix(max(resolucio));

resmin=fix(min(resolucio));

j=1;

for i=1:cv

if resolucio (1,i)>str2double(selvarres)

Page 144: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

144

matselvaraux(:,j)=matnorok(:,i);

j=j+1;

end

end

if j~=1

[a,b]=size(matselvaraux);

cvold=cv;

ctar=c-cvold;

cv=b;

vecvar=1:cv;

vectar=(cv+1):(cv+ctar);

matseltot=[matselvaraux(:,:),matnorok(:,(cvold+1:c))];

else

errortxt=sprintf('Nota: No hi han variables amb ressolucio major a la indicada', selvarres);

disp(errortxt)

end

elseif selvarauto==0

matseltot=matnorok;

end

%FI SELECCIO DE VARIABLES

%---------------------------------

%---------------------------------

%REPARTIM DADES EQUITATIVAMENT

%repartim dades equitativament

t=numfil;

k=1;

for s=1:m

for i=k:t

if i<=f

mateq(i,:)=matseltot(s,:);

s=s+m;

end

end

k=t+1;

t=t+numfil;

end

%FI REPARTIM DADES EQUITATIVAMENT

%---------------------------------

Page 145: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

145

%---------------------------------

%MATRIU DE DADES (pel training i pel test)

%Seleccio Files d'entrenament i de test

mestr=fix((selfil/100)*f);

mesava=f-mestr;

%matriu trainning

vectar=vectar(1);

matseltot =mateq(:,1:vectar);

size(matseltot);

k=1;

for i=1:f

matseltot(i,vectar)=k;

if k==numfil

k=1;

else

k=k+1;

end

end

mtnall=matseltot([1:mestr],:);

%matriu test

mts=matseltot([mestr+1:f],:);

%FI MATRIU DE DADES

%---------------------------------

%---------------------------------

%VALIDACIO CREUADA leave one out

bien=0;

mal=0;

nsnc=0;

if vc==0

elseif vc==1 %leave one out

mttrainvc= matseltot([2:f],:);

mttestvc=matseltot([1],:);

[fa,ca]=size(mttestvc);

Samples1=mttrainvc(:,[vecvar]);

Samples=Samples1';

Labels1=mttrainvc(:,[vectar]);

Page 146: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

146

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

Page 147: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

147

end

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mttestvc(:,[vecvar]);

Labels1=mttestvc(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

prectmp=0;

for iii=1:fa

if Labels(iii)==PreLabels(iii)

prectmp=prectmp+1;

end

end

precisio(1)=100*(prectmp/fa);

mitjanatmp=precisio(1);

for ii=2:(f-1)

mttrainvc= matseltot([1:(ii-1) (ii+1):f],:);

mttestvc=matseltot([ii],:);

[fa,ca]=size(mttestvc);

Samples1=mttrainvc(:,[vecvar]);

Samples=Samples1';

Labels1=mttrainvc(:,[vectar]);

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

Page 148: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

148

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mttestvc(:,[vecvar]);

Labels1=mttestvc(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

prectmp=0;

Page 149: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

149

for iii=1:fa

if Labels(iii)==PreLabels(iii)

prectmp=prectmp+1;

end

end

precisio(ii)=100*(prectmp/fa);

mitjanatmp=precisio(ii)+mitjanatmp;

end

mttrainvc= matseltot([1:(f-1)],:);

mttestvc=matseltot(f,:);

[fa,ca]=size(mttestvc);

Samples1=mttrainvc(:,[vecvar]);

Samples=Samples1';

Labels1=mttrainvc(:,[vectar]);

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV,

Page 150: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

150

nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mttestvc(:,[vecvar]);

Labels1=mttestvc(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

prectmp=0;

for iii=1:fa

if Labels(iii)==PreLabels(iii)

prectmp=prectmp+1;

end

end

precisio(f)=100*(prectmp/fa);

mitjanatmp=precisio(f)+mitjanatmp;

mitjana=mitjanatmp/f;

elseif vc==2 %hold out o validacio simple

mttrainvc= matseltot([1:f/2],:);

mttestvc=matseltot([((f/2)+1):f],:);

[fa,ca]=size(mttestvc);

Page 151: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

151

Samples1=mttrainvc(:,[vecvar]);

Samples=Samples1';

Labels1=mttrainvc(:,[vectar]);

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

Page 152: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

152

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mttestvc(:,[vecvar]);

Labels1=mttestvc(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

prectmp=0;

for iii=1:fa

if Labels(iii)==PreLabels(iii)

prectmp=prectmp+1;

end

end

precisio(1)=100*(prectmp/fa);

mitjanatmp=precisio(1);

mttrainvc= matseltot([((f/2)+1):f],:);

mttestvc=matseltot([1:f/2],:);

[fa,ca]=size(mttestvc);

Samples1=mttrainvc(:,[vecvar]);

Samples=Samples1';

Labels1=mttrainvc(:,[vectar]);

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples,

Page 153: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

153

Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mttestvc(:,[vecvar]);

Labels1=mttestvc(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples,

Page 154: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

154

Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

prectmp=0;

for iii=1:fa

if Labels(iii)==PreLabels(iii)

prectmp=prectmp+1;

end

end

precisio(2)=100*(prectmp/fa);

mitjanatmp=precisio(2)+mitjanatmp;

mitjana=mitjanatmp/2;

elseif vc==3 %cross val per nfolds>2

mgroup=f/nfolds;

mttrainvc= matseltot([1:(f-mgroup)],:);

mttestvc=matseltot([f-mgroup+1:f],:);

[fa,ca]=size(mttestvc);

Samples1=mttrainvc(:,[vecvar]);

Samples=Samples1';

Labels1=mttrainvc(:,[vectar]);

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

Page 155: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

155

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mttestvc(:,[vecvar]);

Labels1=mttestvc(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

prectmp=0;

for iii=1:fa

if Labels(iii)==PreLabels(iii)

prectmp=prectmp+1;

end

end

precisio(1)=100*(prectmp/fa);

mitjanatmp=precisio(1);

for ii=2:(nfolds-1)

Page 156: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

156

mttrainvc= matseltot([1:(mgroup*(ii-1)) ((mgroup*ii)+1:f)],:);

mttestvc=matseltot([(mgroup*(ii-1)+1):mgroup*ii],:);

[fa,ca]=size(mttestvc);

Samples1=mttrainvc(:,[vecvar]);

Samples=Samples1';

Labels1=mttrainvc(:,[vectar]);

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

Page 157: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

157

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mttestvc(:,[vecvar]);

Labels1=mttestvc(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

prectmp=0;

for iii=1:fa

if Labels(iii)==PreLabels(iii)

prectmp=prectmp+1;

end

end

precisio(ii)=100*(prectmp/fa);

mitjanatmp=precisio(ii)+mitjanatmp;

end

mttrainvc= matseltot([mgroup+1:f],:);

mttestvc=matseltot([1:mgroup],:);

[fa,ca]=size(mttestvc);

Samples1=mttrainvc(:,[vecvar]);

Samples=Samples1';

Labels1=mttrainvc(:,[vectar]);

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

Page 158: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

158

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mttestvc(:,[vecvar]);

Labels1=mttestvc(:,[vectar]);

Page 159: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

159

Samples=Samples1';

Labels=Labels1';

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

prectmp=0;

for iii=1:fa

if Labels(iii)==PreLabels(iii)

prectmp=prectmp+1;

end

end

precisio(nfolds)=100*(prectmp/fa);

mitjanatmp=precisio(nfolds)+mitjanatmp;

mitjana=mitjanatmp/nfolds;

end

%FI VALIDACIO CREUADA

%---------------------------------

%---------------------------------

%APLIQUEM VOTING amb SVM

%on guardem valor predit

a2aux=zeros(mesava,1);

%definim la matriu on guardem els resultats de les mesures d'avaluacio en les vegades que l'entrenem desordenada

mres=zeros(mesava,numdes);

%definim el vector que indicara l'ordre real de cada categoria en cada desordenacio

desordre=zeros(mesava,1);

if numdes==1

% SVM-based classifier using OSU SVM CLASSIFIER TOOLBOX.

% load the training data

mtn([1:mestr],:)=mtnall([1:mestr],:);

Samples1=mtn(:,[vecvar]);

Samples=Samples1';

Labels1=mtn(:,[vectar]);

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] =

Page 160: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

160

LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

else

end

% Test the constructed linear SVM Classifier

% Load the constructed linear SVM classifier

Page 161: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

161

load SVMClassifier

% load test data

Samples1=mts(:,[vecvar]);

Labels1=mts(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

a2aux=Labels;

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

% Outputs:

% ClassRate - Classification rate, 1x1;

% DecisionValue - the output of the decision function (only meaningful for 2-class problem), 1xN;

% Ns - number of samples in each class, 1x(L+1), or 1xL;

% Note that the last element is for the Samples that are not in any

% classes in the training set.

% ConfMatrix - Confusion Matrix, (L+1)x(L+1), or LxL, where ConfMatrix(i,j) = P(X in j| X in i);

% Note that when (L+1)x(L+1), the last row and the last column are for the Samples

% that are not in any classes in the training set.

% PreLabels - Predicated Labels, 1xN.

PreLabels=PreLabels';

for j=1:mesava

mres(j,1)=PreLabels (j,1);

end

else

for i=0:(numdes-1)

%voting aleatori i mes d'una desordenacio

if i==0

mtn([1:mestr],:)=mtnall([1:mestr],:);

else

setb=randperm(mestr);

mtn([1:mestr],:)=mtnall(setb(1,:),:);

end

% load the training data

Samples1=mtn(:,[vecvar]);

Samples=Samples1';

Labels1=mtn(:,[vectar]);

Page 162: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

162

Labels=Labels1';

if tipsvm==0 %Tipus 1 (C-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel] = RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

else

end

elseif tipsvm==1 %Tipus 2 (nu-SVM)

if tipker==0 %Linear

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_LinearSVC(Samples, Labels, C);

% Save the constructed linear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==1 %Polynomial

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_PolySVC(Samples, Labels, Degree, C, Gamma, Coeff);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

elseif tipker==2 %Rbf

% Construct a linear SVM classifier using the training data

[AlphaY, SVs, Bias, Parameters, nSV, nLabel]=u_RbfSVC(Samples, Labels, Gamma, C);

% Save the constructed nonlinear SVM classifier

save SVMClassifier AlphaY SVs Bias Parameters nSV nLabel;

Page 163: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

163

else

end

else

end

% Load the constructed linear SVM classifier

load SVMClassifier

% load test data

Samples1=mts(:,[vecvar]);

Labels1=mts(:,[vectar]);

Samples=Samples1';

Labels=Labels1';

if i==0

a2aux=Labels1;

end

% Test the constructed SVM classifier using the test data

[ClassRate, DecisionValue, Ns, ConfMatrix, PreLabels]= SVMTest(Samples, Labels, AlphaY, SVs, Bias,Parameters, nSV, nLabel);

%generem vector desordre per cada desordenacio. Ens basem en Labels

for j=1:mesava

desordre(Labels1(j,1),1)=a2aux(j,1);

end

%generem matriu mres on guardem la categoria predita corregida per cada mesura en cada desordenacio

PreLabels=PreLabels';

for j=1:mesava

mres(j,i+1)=desordre(PreLabels (j,1),1);

end

end

end

%definim la matriu on guardem les vegades que s'obté cada una de les categories per cada mesura

maxmres=max(mres);

mammaxmres=max(maxmres);

totalres=zeros(mesava,mammaxmres);

%generem matriu totalres(te tantes files com mesures d'avaluacio i tantes columnes com categories)

for j=1:mesava

Page 164: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

164

for k=1:numdes

if mres(j,k)~=0

totalres(j,mres(j,k))=totalres(j,mres(j,k))+1;

end

end

end

%mostrem per pantalla els resultats

catguanyadora=0;

okvot=0;

fid = fopen('ressvm.doc','w');

fprintf(fid,'RESULTATS: SVM i VOTING ALEATORI\n');

fprintf(fid,'-----------------------------------------------------\n');

%llistat de variables utilitzades

fprintf(fid,'Les variables utilitzades son:\n');

fprintf(fid,' - Fitxer amb les variables: %s\n',pathf);

fprintf(fid,' - Columnes de variables: %s\n',vecvarauxstr);

fprintf(fid,' - Columnes de targets: %s\n',vectarauxstr);

fprintf(fid,' - Eliminar mesures de calibració: %s\n',mescalstr);

fprintf(fid,' - Rang de les mesures de calibració: %s\n',rangcalstr);

fprintf(fid,' - Tipus de SVM: %s\n',tipsvmstr);

fprintf(fid,' - Tipus de kernel: %s\n',kernelstr);

fprintf(fid,' - Parametre C: %d\n',C);

fprintf(fid,' - Parametre Gamma: %d\n',Gamma);

fprintf(fid,' - Parametre Degree: %d\n',Degree);

fprintf(fid,' - Parametre Coeficient: %d\n',Coeff);

fprintf(fid,' - Tipus de normalització: %s\n',tipnormstr);

fprintf(fid,' - Selecció de variables: %s\n',selvarstr);

if selvarauto==1

fprintf(fid,' - Variables amb resolucio major a: %s\n',selvarres);

end

fprintf(fid,' - Tipus de validacio creuada: %s\n',valcrestr);

if vc==3

fprintf(fid,' - Ordre de la validacio creuada: %d\n',nfolds);

end

fprintf(fid,' - Tant per cent de les files entrenament: %d\n',selfil);

fprintf(fid,' - Numero de desordenacions: %d\n',numdes);

Page 165: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

165

fprintf(fid,'\n');

if selvarauto==1

%resultats de la selecio de variables

fprintf(fid,'RESULTATS de la SELECCIO de VARIABLES\n');

fprintf(fid,'--------------------------------------------------------\n');

fprintf(fid,' - Seleccionant les variables amb resolucio major a %s, tenim %d variables enlloc de %d\n',selvarres,cv,cvold);

fprintf(fid,'\n');

end

if vc~=0

%resultats de la selecio de variables

fprintf(fid,'RESULTATS de la VALIDACIO CREUADA\n');

fprintf(fid,'--------------------------------------------------------\n');

fprintf(fid,' - La precisio obtinguda amb la validacio creuada per les diferents simulacions es \n');

format short, precisio;

prec=num2str (precisio);

fprintf(fid,' %s\n',prec);

fprintf(fid,'\n');

format short, mitjana;

mitjanastr=num2str (mitjana);

fprintf(fid,' La mitjana resultant es %s\n',mitjanastr);

fprintf(fid,'\n');

end

%resultats del voting metode 1

fprintf(fid,'METODE 1: CATEGORIA GUANYADORA I CATEGORIA REAL\n');

fprintf(fid,'--------------------------------------------------------\n');

for j=1:mesava

fprintf(fid,'*La Mesura %d te:\n',j+mestr);

vegcatguanyadora=0;

for k=1:mammaxmres

if totalres(j,k)~=0

if totalres(j,k)>vegcatguanyadora

catguanyadora=k;

vegcatguanyadora=totalres(j,k);

end

tpctmp=(totalres(j,k)/numdes)*100;

format short, tpctmp;

Page 166: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

166

tpc=num2str (tpctmp);

fprintf(fid,' - %s per cent de categoria %d.\n',tpc,k);

end

end

%fprintf(fid,'\n');

fprintf(fid,'Per tant, la categoria guanyadora es %d, sent %d la categoria real\n',catguanyadora,a2aux(j));

fprintf(fid,'\n');

if catguanyadora==a2aux(j)

okvot=okvot+1;

end

end

%resultats del voting metode 2

fprintf(fid,'\n');

fprintf(fid,'METODE 2: TANT PER CENT ENCERT\n');

fprintf(fid,'--------------------------------------------------------\n');

for i=1:numdes

okind=0;

for j=1:mesava

if mres(j,i)==a2aux(j)

okind=okind+1;

end

end

okindtpctmp=((100*okind)/mesava);

format short, okindtpctmp;

okindtpc=num2str (okindtpctmp);

fprintf(fid,'En la desordenacio %d, encerta un %s per cent\n',i,okindtpc);

end

okvottpctmp=((100*okvot)/mesava);

format short, okvottpctmp;

okvottpc=num2str (okvottpctmp);

fprintf(fid,'Amb el voting encerta un %s per cent\n',okvottpc);

fclose(fid);

open('ressvm.doc')

end

%---------------------------------

Page 167: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

167

8.4 Exemples de resultats

8.4.1 Resultats de la xarxa FUZZY ARTMAP RESULTATS: XARXA FUZZY ARTMAP i VOTING ALEATORI

-----------------------------------------------------

Les variables utilitzades son:

- Fitxer amb les variables: C:\matrix\matriu.txt

- Columnes de variables: 1:120

- Columnes de targets: 121:123

- Eliminar mesures de calibració: Si

- Rang de les mesures de calibració: [17:76]

- Paràmetre de vigilància: 0.9

- Paràmetre error: 0

- Tipus de normalització: Autoescalat

- Selecció de variables: Per ressolucio

- Variables amb resolucio major a: 10

- Tipus de validacio creuada: Holdout o validacio simple

- Tant per cent de les files entrenament: 75

- Numero de desordenacions: 10

RESULTATS de la SELECCIO de VARIABLES

--------------------------------------------------------

- Seleccionant les variables amb resolucio major a 10, tenim 49 variables enlloc de 120

RESULTATS de la VALIDACIO CREUADA

--------------------------------------------------------

- La precisio obtinguda amb la validacio creuada per les diferents simulacions es

62.5 62.5

La mitjana resultant es 62.5

METODE 1: CATEGORIA GUANYADORA I CATEGORIA REAL

--------------------------------------------------------

*La Mesura 181 te:

- 100 per cent de categoria 1.

Per tant, la categoria guanyadora es 1, sent 1 la categoria real

*La Mesura 182 te:

- 100 per cent de categoria 2.

Per tant, la categoria guanyadora es 2, sent 2 la categoria real

Page 168: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

168

*La Mesura 183 te:

- 100 per cent de categoria 3.

Per tant, la categoria guanyadora es 3, sent 3 la categoria real

*La Mesura 184 te:

- 100 per cent de categoria 4.

Per tant, la categoria guanyadora es 4, sent 4 la categoria real

*La Mesura 185 te:

- 100 per cent de categoria 5.

Per tant, la categoria guanyadora es 5, sent 5 la categoria real

*La Mesura 186 te:

- 100 per cent de categoria 6.

Per tant, la categoria guanyadora es 6, sent 6 la categoria real

*La Mesura 187 te:

- 100 per cent de categoria 7.

Per tant, la categoria guanyadora es 7, sent 7 la categoria real

*La Mesura 188 te:

- 100 per cent de categoria 13.

Per tant, la categoria guanyadora es 13, sent 8 la categoria real

*La Mesura 189 te:

- 100 per cent de categoria 29.

Per tant, la categoria guanyadora es 29, sent 9 la categoria real

*La Mesura 190 te:

- 100 per cent de categoria 10.

Per tant, la categoria guanyadora es 10, sent 10 la categoria real

*La Mesura 191 te:

- 100 per cent de categoria 11.

Per tant, la categoria guanyadora es 11, sent 11 la categoria real

*La Mesura 192 te:

- 100 per cent de categoria 12.

Per tant, la categoria guanyadora es 12, sent 12 la categoria real

*La Mesura 193 te:

Page 169: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

169

- 100 per cent de categoria 13.

Per tant, la categoria guanyadora es 13, sent 13 la categoria real

*La Mesura 194 te:

- 100 per cent de categoria 14.

Per tant, la categoria guanyadora es 14, sent 14 la categoria real

*La Mesura 195 te:

- 100 per cent de categoria 15.

Per tant, la categoria guanyadora es 15, sent 15 la categoria real

*La Mesura 196 te:

- 100 per cent de categoria 16.

Per tant, la categoria guanyadora es 16, sent 16 la categoria real

*La Mesura 197 te:

- 100 per cent de categoria 17.

Per tant, la categoria guanyadora es 17, sent 17 la categoria real

*La Mesura 198 te:

- 100 per cent de categoria 18.

Per tant, la categoria guanyadora es 18, sent 18 la categoria real

*La Mesura 199 te:

- 100 per cent de categoria 18.

Per tant, la categoria guanyadora es 18, sent 19 la categoria real

*La Mesura 200 te:

- 100 per cent de categoria 20.

Per tant, la categoria guanyadora es 20, sent 20 la categoria real

*La Mesura 201 te:

- 100 per cent de categoria 21.

Per tant, la categoria guanyadora es 21, sent 21 la categoria real

*La Mesura 202 te:

- 100 per cent de categoria 17.

Per tant, la categoria guanyadora es 17, sent 22 la categoria real

*La Mesura 203 te:

- 100 per cent de categoria 18.

Per tant, la categoria guanyadora es 18, sent 23 la categoria real

Page 170: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

170

*La Mesura 204 te:

- 100 per cent de categoria 24.

Per tant, la categoria guanyadora es 24, sent 24 la categoria real

*La Mesura 205 te:

- 100 per cent de categoria 25.

Per tant, la categoria guanyadora es 25, sent 25 la categoria real

*La Mesura 206 te:

- 100 per cent de categoria 27.

Per tant, la categoria guanyadora es 27, sent 26 la categoria real

*La Mesura 207 te:

- 100 per cent de categoria 27.

Per tant, la categoria guanyadora es 27, sent 27 la categoria real

*La Mesura 208 te:

- 30 per cent de categoria 28.

- 70 per cent de categoria 29.

Per tant, la categoria guanyadora es 29, sent 28 la categoria real

*La Mesura 209 te:

- 30 per cent de categoria 28.

- 70 per cent de categoria 29.

Per tant, la categoria guanyadora es 29, sent 29 la categoria real

*La Mesura 210 te:

- 100 per cent de categoria 30.

Per tant, la categoria guanyadora es 30, sent 30 la categoria real

*La Mesura 211 te:

- 100 per cent de categoria 31.

Per tant, la categoria guanyadora es 31, sent 31 la categoria real

*La Mesura 212 te:

- 100 per cent de categoria 32.

Per tant, la categoria guanyadora es 32, sent 32 la categoria real

*La Mesura 213 te:

- 100 per cent de categoria 42.

Per tant, la categoria guanyadora es 42, sent 33 la categoria real

Page 171: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

171

*La Mesura 214 te:

- 100 per cent de categoria 34.

Per tant, la categoria guanyadora es 34, sent 34 la categoria real

*La Mesura 215 te:

- 100 per cent de categoria 45.

Per tant, la categoria guanyadora es 45, sent 35 la categoria real

*La Mesura 216 te:

- 100 per cent de categoria 36.

Per tant, la categoria guanyadora es 36, sent 36 la categoria real

*La Mesura 217 te:

- 20 per cent de categoria 36.

- 80 per cent de categoria 38.

Per tant, la categoria guanyadora es 38, sent 37 la categoria real

*La Mesura 218 te:

- 100 per cent de categoria 38.

Per tant, la categoria guanyadora es 38, sent 38 la categoria real

*La Mesura 219 te:

- 100 per cent de categoria 30.

Per tant, la categoria guanyadora es 30, sent 39 la categoria real

*La Mesura 220 te:

- 100 per cent de categoria 40.

Per tant, la categoria guanyadora es 40, sent 40 la categoria real

*La Mesura 221 te:

- 100 per cent de categoria 41.

Per tant, la categoria guanyadora es 41, sent 41 la categoria real

*La Mesura 222 te:

- 100 per cent de categoria 42.

Per tant, la categoria guanyadora es 42, sent 42 la categoria real

*La Mesura 223 te:

- 100 per cent de categoria 43.

Per tant, la categoria guanyadora es 43, sent 43 la categoria real

Page 172: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

172

*La Mesura 224 te:

- 100 per cent de categoria 45.

Per tant, la categoria guanyadora es 45, sent 44 la categoria real

*La Mesura 225 te:

- 100 per cent de categoria 45.

Per tant, la categoria guanyadora es 45, sent 45 la categoria real

*La Mesura 226 te:

- 100 per cent de categoria 45.

Per tant, la categoria guanyadora es 45, sent 46 la categoria real

*La Mesura 227 te:

- 100 per cent de categoria 47.

Per tant, la categoria guanyadora es 47, sent 47 la categoria real

*La Mesura 228 te:

- 100 per cent de categoria 48.

Per tant, la categoria guanyadora es 48, sent 48 la categoria real

*La Mesura 229 te:

- 100 per cent de categoria 49.

Per tant, la categoria guanyadora es 49, sent 49 la categoria real

*La Mesura 230 te:

- 100 per cent de categoria 50.

Per tant, la categoria guanyadora es 50, sent 50 la categoria real

*La Mesura 231 te:

- 100 per cent de categoria 51.

Per tant, la categoria guanyadora es 51, sent 51 la categoria real

*La Mesura 232 te:

- 100 per cent de categoria 52.

Per tant, la categoria guanyadora es 52, sent 52 la categoria real

*La Mesura 233 te:

- 100 per cent de categoria 53.

Per tant, la categoria guanyadora es 53, sent 53 la categoria real

*La Mesura 234 te:

- 100 per cent de categoria 55.

Page 173: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

173

Per tant, la categoria guanyadora es 55, sent 54 la categoria real

*La Mesura 235 te:

- 100 per cent de categoria 55.

Per tant, la categoria guanyadora es 55, sent 55 la categoria real

*La Mesura 236 te:

- 100 per cent de categoria 56.

Per tant, la categoria guanyadora es 56, sent 56 la categoria real

*La Mesura 237 te:

- 100 per cent de categoria 57.

Per tant, la categoria guanyadora es 57, sent 57 la categoria real

*La Mesura 238 te:

- 100 per cent de categoria 58.

Per tant, la categoria guanyadora es 58, sent 58 la categoria real

*La Mesura 239 te:

- 100 per cent de categoria 59.

Per tant, la categoria guanyadora es 59, sent 59 la categoria real

*La Mesura 240 te:

- 10 per cent de categoria 51.

- 90 per cent de categoria 60.

Per tant, la categoria guanyadora es 60, sent 60 la categoria real

METODE 2: TANT PER CENT ENCERT

--------------------------------------------------------

En la desordenacio 1, encerta un 76.6667 per cent

En la desordenacio 2, encerta un 76.6667 per cent

En la desordenacio 3, encerta un 76.6667 per cent

En la desordenacio 4, encerta un 76.6667 per cent

En la desordenacio 5, encerta un 76.6667 per cent

En la desordenacio 6, encerta un 75 per cent

En la desordenacio 7, encerta un 76.6667 per cent

En la desordenacio 8, encerta un 76.6667 per cent

En la desordenacio 9, encerta un 76.6667 per cent

En la desordenacio 10, encerta un 76.6667 per cent

Amb el voting encerta un 76.6667 per cent

Page 174: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

174

8.4.2 Resultats de les SVM RESULTATS: SVM i VOTING ALEATORI

-----------------------------------------------------

Les variables utilitzades son:

- Fitxer amb les variables: C:\matrix\matriu.txt

- Columnes de variables: 1:120

- Columnes de targets: 121:123

- Eliminar mesures de calibració: Si

- Rang de les mesures de calibració: [17:76]

- Tipus de SVM: Tipus 2 (nu-SVM)

- Tipus de kernel: Rbf

- Parametre C: 100

- Parametre Gamma: 10

- Parametre Degree: 3

- Parametre Coeficient: 10

- Tipus de normalització: Autoescalat

- Selecció de variables: Per ressolucio

- Variables amb resolucio major a: 10

- Tipus de validacio creuada: Holdout o validacio simple

- Tant per cent de les files entrenament: 75

- Numero de desordenacions: 10

RESULTATS de la SELECCIO de VARIABLES

--------------------------------------------------------

- Seleccionant les variables amb resolucio major a 10, tenim 49 variables enlloc de 120

RESULTATS de la VALIDACIO CREUADA

--------------------------------------------------------

- La precisio obtinguda amb la validacio creuada per les diferents simulacions es

75 74.1667

La mitjana resultant es 74.5833

METODE 1: CATEGORIA GUANYADORA I CATEGORIA REAL

--------------------------------------------------------

*La Mesura 181 te:

- 100 per cent de categoria 1.

Per tant, la categoria guanyadora es 1, sent 1 la categoria real

*La Mesura 182 te:

- 100 per cent de categoria 3.

Per tant, la categoria guanyadora es 3, sent 2 la categoria real

Page 175: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

175

*La Mesura 183 te:

- 100 per cent de categoria 3.

Per tant, la categoria guanyadora es 3, sent 3 la categoria real

*La Mesura 184 te:

- 100 per cent de categoria 4.

Per tant, la categoria guanyadora es 4, sent 4 la categoria real

*La Mesura 185 te:

- 100 per cent de categoria 5.

Per tant, la categoria guanyadora es 5, sent 5 la categoria real

*La Mesura 186 te:

- 100 per cent de categoria 6.

Per tant, la categoria guanyadora es 6, sent 6 la categoria real

*La Mesura 187 te:

- 100 per cent de categoria 7.

Per tant, la categoria guanyadora es 7, sent 7 la categoria real

*La Mesura 188 te:

- 100 per cent de categoria 13.

Per tant, la categoria guanyadora es 13, sent 8 la categoria real

*La Mesura 189 te:

- 100 per cent de categoria 13.

Per tant, la categoria guanyadora es 13, sent 9 la categoria real

*La Mesura 190 te:

- 100 per cent de categoria 10.

Per tant, la categoria guanyadora es 10, sent 10 la categoria real

*La Mesura 191 te:

- 100 per cent de categoria 11.

Per tant, la categoria guanyadora es 11, sent 11 la categoria real

*La Mesura 192 te:

- 100 per cent de categoria 12.

Per tant, la categoria guanyadora es 12, sent 12 la categoria real

*La Mesura 193 te:

Page 176: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

176

- 100 per cent de categoria 13.

Per tant, la categoria guanyadora es 13, sent 13 la categoria real

*La Mesura 194 te:

- 100 per cent de categoria 14.

Per tant, la categoria guanyadora es 14, sent 14 la categoria real

*La Mesura 195 te:

- 100 per cent de categoria 15.

Per tant, la categoria guanyadora es 15, sent 15 la categoria real

*La Mesura 196 te:

- 100 per cent de categoria 16.

Per tant, la categoria guanyadora es 16, sent 16 la categoria real

*La Mesura 197 te:

- 100 per cent de categoria 17.

Per tant, la categoria guanyadora es 17, sent 17 la categoria real

*La Mesura 198 te:

- 100 per cent de categoria 18.

Per tant, la categoria guanyadora es 18, sent 18 la categoria real

*La Mesura 199 te:

- 100 per cent de categoria 19.

Per tant, la categoria guanyadora es 19, sent 19 la categoria real

*La Mesura 200 te:

- 100 per cent de categoria 20.

Per tant, la categoria guanyadora es 20, sent 20 la categoria real

*La Mesura 201 te:

- 100 per cent de categoria 21.

Per tant, la categoria guanyadora es 21, sent 21 la categoria real

*La Mesura 202 te:

- 100 per cent de categoria 17.

Per tant, la categoria guanyadora es 17, sent 22 la categoria real

*La Mesura 203 te:

- 100 per cent de categoria 18.

Per tant, la categoria guanyadora es 18, sent 23 la categoria real

Page 177: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

177

*La Mesura 204 te:

- 100 per cent de categoria 24.

Per tant, la categoria guanyadora es 24, sent 24 la categoria real

*La Mesura 205 te:

- 100 per cent de categoria 2.

Per tant, la categoria guanyadora es 2, sent 25 la categoria real

*La Mesura 206 te:

- 100 per cent de categoria 26.

Per tant, la categoria guanyadora es 26, sent 26 la categoria real

*La Mesura 207 te:

- 100 per cent de categoria 27.

Per tant, la categoria guanyadora es 27, sent 27 la categoria real

*La Mesura 208 te:

- 100 per cent de categoria 29.

Per tant, la categoria guanyadora es 29, sent 28 la categoria real

*La Mesura 209 te:

- 100 per cent de categoria 29.

Per tant, la categoria guanyadora es 29, sent 29 la categoria real

*La Mesura 210 te:

- 100 per cent de categoria 30.

Per tant, la categoria guanyadora es 30, sent 30 la categoria real

*La Mesura 211 te:

- 100 per cent de categoria 31.

Per tant, la categoria guanyadora es 31, sent 31 la categoria real

*La Mesura 212 te:

- 100 per cent de categoria 32.

Per tant, la categoria guanyadora es 32, sent 32 la categoria real

*La Mesura 213 te:

- 100 per cent de categoria 42.

Per tant, la categoria guanyadora es 42, sent 33 la categoria real

*La Mesura 214 te:

Page 178: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

178

- 100 per cent de categoria 34.

Per tant, la categoria guanyadora es 34, sent 34 la categoria real

*La Mesura 215 te:

- 100 per cent de categoria 44.

Per tant, la categoria guanyadora es 44, sent 35 la categoria real

*La Mesura 216 te:

- 100 per cent de categoria 36.

Per tant, la categoria guanyadora es 36, sent 36 la categoria real

*La Mesura 217 te:

- 100 per cent de categoria 38.

Per tant, la categoria guanyadora es 38, sent 37 la categoria real

*La Mesura 218 te:

- 100 per cent de categoria 38.

Per tant, la categoria guanyadora es 38, sent 38 la categoria real

*La Mesura 219 te:

- 100 per cent de categoria 30.

Per tant, la categoria guanyadora es 30, sent 39 la categoria real

*La Mesura 220 te:

- 100 per cent de categoria 40.

Per tant, la categoria guanyadora es 40, sent 40 la categoria real

*La Mesura 221 te:

- 100 per cent de categoria 41.

Per tant, la categoria guanyadora es 41, sent 41 la categoria real

*La Mesura 222 te:

- 100 per cent de categoria 42.

Per tant, la categoria guanyadora es 42, sent 42 la categoria real

*La Mesura 223 te:

- 100 per cent de categoria 43.

Per tant, la categoria guanyadora es 43, sent 43 la categoria real

*La Mesura 224 te:

- 100 per cent de categoria 45.

Per tant, la categoria guanyadora es 45, sent 44 la categoria real

Page 179: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

179

*La Mesura 225 te:

- 100 per cent de categoria 45.

Per tant, la categoria guanyadora es 45, sent 45 la categoria real

*La Mesura 226 te:

- 100 per cent de categoria 45.

Per tant, la categoria guanyadora es 45, sent 46 la categoria real

*La Mesura 227 te:

- 100 per cent de categoria 47.

Per tant, la categoria guanyadora es 47, sent 47 la categoria real

*La Mesura 228 te:

- 100 per cent de categoria 48.

Per tant, la categoria guanyadora es 48, sent 48 la categoria real

*La Mesura 229 te:

- 100 per cent de categoria 49.

Per tant, la categoria guanyadora es 49, sent 49 la categoria real

*La Mesura 230 te:

- 100 per cent de categoria 50.

Per tant, la categoria guanyadora es 50, sent 50 la categoria real

*La Mesura 231 te:

- 100 per cent de categoria 51.

Per tant, la categoria guanyadora es 51, sent 51 la categoria real

*La Mesura 232 te:

- 100 per cent de categoria 52.

Per tant, la categoria guanyadora es 52, sent 52 la categoria real

*La Mesura 233 te:

- 100 per cent de categoria 53.

Per tant, la categoria guanyadora es 53, sent 53 la categoria real

*La Mesura 234 te:

- 100 per cent de categoria 55.

Per tant, la categoria guanyadora es 55, sent 54 la categoria real

*La Mesura 235 te:

Page 180: Estratègia del Voting Strategy aplicat a una xarxa FUZZY ARTMAP …deeea.urv.cat/public/PROPOSTES/pub/pdf/781pub.pdf · 2009-09-22 · 3.1.2 Funcionament de la xarxa FUZZY ART ...

Annexes

180

- 100 per cent de categoria 55.

Per tant, la categoria guanyadora es 55, sent 55 la categoria real

*La Mesura 236 te:

- 100 per cent de categoria 56.

Per tant, la categoria guanyadora es 56, sent 56 la categoria real

*La Mesura 237 te:

- 100 per cent de categoria 57.

Per tant, la categoria guanyadora es 57, sent 57 la categoria real

*La Mesura 238 te:

- 100 per cent de categoria 58.

Per tant, la categoria guanyadora es 58, sent 58 la categoria real

*La Mesura 239 te:

- 100 per cent de categoria 59.

Per tant, la categoria guanyadora es 59, sent 59 la categoria real

*La Mesura 240 te:

- 100 per cent de categoria 2.

Per tant, la categoria guanyadora es 2, sent 60 la categoria real

METODE 2: TANT PER CENT ENCERT

--------------------------------------------------------

En la desordenacio 1, encerta un 75 per cent

En la desordenacio 2, encerta un 75 per cent

En la desordenacio 3, encerta un 75 per cent

En la desordenacio 4, encerta un 75 per cent

En la desordenacio 5, encerta un 75 per cent

En la desordenacio 6, encerta un 75 per cent

En la desordenacio 7, encerta un 75 per cent

En la desordenacio 8, encerta un 75 per cent

En la desordenacio 9, encerta un 75 per cent

En la desordenacio 10, encerta un 75 per cent

Amb el voting encerta un 75 per cent