489

Click here to load reader

Tesis Redes Neuronales

Embed Size (px)

DESCRIPTION

wsedtfghjkl

Citation preview

  • Universidad Jaume I

    Departamento de Ingeniera y Cienciade los Computadores

    Hacia un Diseo ptimode la Arquitectura

    Multilayer Feedforward

    Tesis DoctoralRealizada por: Mercedes Fernndez RedondoDirigida por: Carlos A. Hernndez Espinosa

    Castelln, 11 de Septiembre de 2001

  • Esta Tesis Doctoral ha sido realizada parcialmente con el apoyo delos siguientes proyectos:

    P1A97-19 de la Fundaci Caixa-Castell y la UniversidadJaume I, titulado Redes neuronales: comparacin de mtodos deseleccin de informacin de entrada y algoritmos de aprendizajeque varan el nmero de unidades ocultas

    GV99-75-1-14 de la Generalitat Valenciana, tituladoOptimizacin de la Capacidad de Generalizacin en redesneuronales de tipo Multilayer Feedforward.

  • Agradecimientos

    Quiero expresar mi agradecimiento a todas aquellaspersonas que me han apoyado y me ayudaron durante larealizacin de esta Tesis Doctoral.

    En especial a Dr. Carlos Hernndez Espinosa, director deesta Tesis Doctoral, sin cuyos consejos y colaboracin nohubiese sido posible este trabajo. Tambin quiero expresarlemi agradecimiento por su inters en la creacin y desarrollodel Grupo de Investigacin de Redes Neuronales yComputacin Suave, al cual pertenezco.

    Gracias tambin a mi familia y amigos.

  • - i-

    NDICE

    PRLOGO. Objetivos y Resumen de la Tesis Doctoral

    CAPTULO 1. Introduccin1.1. Introduccin 11.2. Definicin de Red Neuronal y algoritmo de aprendizaje 21.3. Motivaciones de la Investigacin 51.4. Arquitectura MF y algoritmo Backpropagation 111.5. Descripcin de las Bases de Datos 181.6. Herramientas de trabajo: PC, SUN, Matlab 241.7. Bibliografa del Captulo 26

    CAPTULO 2. Procedimientos para el uso de entradas desconocidas2.1. Introduccin 282.2. Procedimientos de utilizacin de entradas desconocidas: 30

    2.2.1. Codificacin mediante un valor 302.2.2. Codificacin utilizando Aritmtica de Intervalos 30

    2.2.2.1 Operaciones con aritmtica de intervalos 322.2.2.2 Multilayer Feedforward c on aritmtica de

    intervalos 332.2.2.3 Backpropagation con arit mtica de intervalos 37

    2.2.2.3.1 Algoritmo de Hernndez 382.2.2.3.2 Algoritmo de Ishibuchi 422.2.2.3.3 Medidas de eficiencia 46

    2.2.3. Codificacin mediante Probabilidades 472.2.4. Codificacin de entradas binarias, que no utiliza

    entradas desconocidas en el entrenamiento 502.3. Metodologa 51

    2.3.1. Eleccin de bases de datos 512.3.2. Eleccin de la arquitectura 532.3.3. Proceso de entrenamiento y test 57

    2.4. Resultados experimentales 582.5. Conclusiones 752.6. Bibliografa del Captulo 77

  • NDICE

    - ii -

    CAPTULO 3. Mtodos de seleccin de la informacin de entrada a lared neuronal

    3.1. Introduccin 803.2. Mtodos de seleccin de entradas basados en ARNMF 85

    3.2.1. Primer grupo 873.2.2. Segundo grupo 883.2.3. Tercer grupo 933.2.4. Cuarto grupo 943.2.5. Quinto grupo 953.2.6. Sexto grupo 993.2.7. Sptimo grupo 100

    3.3. Mtodos de seleccin de entradas basados en ACE 1063.3.1. Teora de la Informacin 1063.3.2. Distancias dentro y entre clases 1123.3.3. Lgica difusa 115

    3.4. Mtodos de seleccin de entradas basados en ARE 1173.5. Algoritmo de aprendizaje mediante gradientes conjugados 1173.6. Uso de Weight Decay en los mtodos ARNMF 1213.7. Metodologa 1233.8. Resultados Experimentales 1313.9. Aplicacin a un problema real: patologa de la voz 1453.10. Conclusiones 1553.11. Bibliografa del Captulo 1573.12. Apndice del Captulo 161

    CAPTULO 4. Algoritmos de aprendizaje para la seleccin del nmerode unidades de la capa oculta de la red durante elproceso de aprendizaje

    4.1. Descripcin del Problema 1654.2. Descripcin de los diferentes mtodos 172

    4.2.1. Fase constructiva: determinacin de nuevos pesos 1754.2.2. Fase de podado: eleccin de la neurona a podar 176

    4.3. Metodologa 1884.4. Desarrollo Experimental 1924.5. Conclusiones 1984.6. Bibliografa del Captulo 1994.7. Apndice del Captulo 201

    CAPTULO 5. Estudio de la influencia en la capacidad de generaliza-cin de la red del nmero de capas ocultas

    5.1. Descripcin del Problema 2075.2. Arquitectura Multilayer Feedforward con dos capas ocultas 2105.3. Metodologa 2135.4. Desarrollo Experimental 2155.5. Conclusiones 2185.6. Bibliografa del Captulo 219

  • NDICE

    - iii -

    CAPTULO 6. Mtodos de inicializacin de pesos para RedesMultilayer Feedforward

    6.1. Descripcin del Problema 2216.2. Descripcin de los diferentes mtodos 226

    6.2.1. Mtodo 1 2266.2.2. Mtodo 2 2266.2.3. Mtodo 3 2276.2.4. Mtodo 4 2306.2.5. Mtodo 5 2316.2.6. Mtodo 6 2336.2.7. Mtodo 7 2346.2.8. Mtodo 8 2366.2.9. Mtodo 9 2406.2.10. Mtodo 10 2436.2.11. Mtodo 11 2486.2.12. Mtodo 12 2536.2.13. Mtodo 13 256

    6.3. Metodologa 2616.4. Desarrollo Experimental 2656.5. Conclusiones 2736.6. Bibliografa del Captulo 2746.7. Apndice del Captulo 277

    CAPTULO 7. Conclusiones y trabajos futuros 285

    CAPTULO 8. Referencias bibliogrficas 291

    APNDICES

    I. Apndices del Captulo 2 305I.1. Resultados de los mtodos 1,4 y 5 305I.2. Resultados de los mtodos 2 y 3 312I.3. Comparacin entre los mtodos 2 y 3 350

    II. Apndices del Captulo 3 361II.1. Ordenacin de las entradas para ARNMF y ACE 361II.2. Ordenacin de las entradas para ARNMF&WD 378II.3. Eficiencias para los mtodos ARNMF y ACE 383II.4. Eficiencias para los mtodos ARNMF&WD 413II.5. Comparacin entre mtodos ARNMF y ACE 424II.6. Comparacin entre mtodos ARNMF con y sin WD 459

  • NDICE

    - iv -

  • - v-

    Prlogo

    OBJETIVOS Y RESUMEN DE LA TESIS DOCTORAL

    Objetivos y Resumen de la Tesis DoctoralEl objetivo de esta Tesis Doctoral ha sido bsicamente el de realizar un

    estudio comparativo sobre los diferentes mtodos existentes para resolver diversosaspectos referentes al diseo de la arquitectura de red neuronal MultilayerFeedforward, en problemas de clasificacin. Hemos elegido la arquitecturaMultilayer Feedforward por que es una de las ms utilizadas a la hora de realizaraplicaciones en el campo de las Redes Neuronales.

    Los aspectos de diseo de la arquitectura de red neuronal estudiados hansido:

    Codificacin de la informacin o entradas desconocidas en la red. Seleccin de la informacin de entrada a la red. Seleccin del nmero de unidades ocultas de la red. Influencia en la capacidad de generalizacin del nmero de capas ocultas. Inicializacin de la red.

    En cada uno de los aspectos se ha realizado un estudio comparativo de losdiferentes mtodos existentes para resolver dicho problema. Todos los aspectosestn ampliamente relacionados entre s, puesto que en todos ellos el objetivofinal es seleccionar una arquitectura de red idnea para realizar una determinadaaplicacin; entendiendo por idnea, la seleccin del nmero apropiado de capasocultas, de unidades de la capa oculta, de unidades en la capa de entrada y laobtencin de una buena capacidad de generalizacin.

  • OBJETIVOS Y RESUMEN DE LA TESIS DOCTORAL

    - vi -

    En el primer captulo, se encuentra una pequea introduccin a conceptos deRedes Neuronales (definicin, problemas de diseo, arquitecturas usadas) y a lasherramientas de trabajo utilizadas en el desarrollo de esta Tesis Doctoral, talescomo bases de datos, equipamiento y software. En l se justifica de forma msdetallada la motivacin de esta investigacin.

    En el segundo captulo, se describe la investigacin realizada sobre elproblema de codificacin de entradas desconocidas. Se ha realizado un estudiocomparativo de 5 mtodos diferentes para la utilizacin de entradas desconocidasy tras un estudio experimental bastante meticuloso se ha propuesto uno de estosmtodos como el ms eficiente.

    En el tercer captulo, se realiza un estudio sobre la importancia de lainformacin de entrada, analizndose diferentes mtodos existentes de seleccionarde forma automtica la informacin de entrada a la red. Se han comparado 26mtodos: 19 basados en el anlisis de la red neuronal Multilayer Feedforward y 7basados en el anlisis del conjunto de entrenamiento. Se ha medido la eficienciade los mismos aplicndolos a 15 problemas de clasificacin. Como resultado,obtenemos la ordenacin de los mtodos segn su eficiencia, recomendandofinalmente el uso de los mejores a la hora de realizar una aplicacin concreta. Enel captulo tambin se menciona un ejemplo de aplicacin real.

    En el captulo 4, se muestra un estudio comparativo entre los algoritmos deaprendizaje avanzados, que seleccionan de forma dinmica el nmero de unidades(neuronas) de la capa oculta de la red durante el proceso de aprendizaje. Sediferencia entre dos tipos de procedimientos: constructivos y de podado.Experimentalmente, se combin el uso de los mismos de forma que la seleccinfinal de la arquitectura se realiz aadiendo primero neuronas a la capa oculta yluego testeando si durante este proceso constructivo se excedi el nmero deneuronas idneo y en su caso eliminndolas. Tambin concluimos cul es el mejorprocedimiento a seguir para resolver este problema.

    En el captulo 5, se estudia de qu manera influye en la capacidad degeneralizacin de la red el nmero de capas ocultas seleccionado para laarquitectura de la misma. La conclusin final fue que la introduccin de ms deuna capa oculta deteriora la capacidad de generalizacin.

    En el captulo 6, se aborda el problema de inicializacin de la red neuronalprevia a su entrenamiento, en concreto de los pesos. Como veremos, lainicializacin de los pesos influye en diferentes aspectos de la red como son: sucapacidad de generalizacin, la velocidad de convergencia y el xito en laconvergencia. Mediante un estudio comparativo entre los diferentes mtodos que

  • OBJETIVOS Y RESUMEN DE LA TESIS DOCTORAL

    - vii -

    se encuentran en la bibliografa concluiremos qu procedimientos resultan msventajosos desde los tres puntos de vista y recomendaremos su utilizacin.

    En el captulo 7, se encuentra un resumen ms extenso de las conclusiones yaportaciones de esta Tesis Doctoral, as como posibles trabajos de investigacinfuturos y reas de aplicabilidad experimental de los resultados obtenidos.

    Finalmente, en el captulo 8, se recogen las referencias bibliogrficas que seaportaron el final de cada captulo ordenadas alfabticamente.

    En el apndice general de la Tesis se ha incluido debido a su extensinalgunos resultados experimentales correspondientes al segundo y tercer captulos.

  • OBJETIVOS Y RESUMEN DE LA TESIS DOCTORAL

    - viii -

  • - 1 -

    Captulo 1

    INTRODUCCIN

    1.1. Introduccin1.2. Definicin de Red Neuronal y algoritmo de

    aprendizaje1.3. Motivaciones de la Investigacin1.4. Arquitectura MF y algoritmo Backpropagation1.5. Descripcin de las Bases de Datos1.6. Herramientas de trabajo: PC, SUN, Matlab1.7. Bibliografa del Captulo

    1.1. IntroduccinEn este captulo nos ocuparemos slo de aquellas cuestiones sobre redes

    neuronales que son imprescindibles para la investigacin que pretendemosrealizar, puesto que nuestro inters se centra en mejorar diversos aspectos deldiseo de la red neuronal Multilayer Feedforward.

    Veremos en primer lugar algunas definiciones clsicas de red neuronal conla intencin de aportar una pequea base sobre el tema. En segundo lugar,describiremos detalladamente las motivaciones de esta investigacin destacandoel gran inters de realizar estudios comparativos entre diversos mtodos existentespara resolver un determinado problema. Posteriormente, se describir laarquitectura Multilayer Feedforward y el algoritmo ms empleado usualmente ensu entrenamiento, Backpropagation.

    Finalmente, se presentan las herramientas de trabajo empleadas en eldesarrollo de la Tesis Doctoral: bases de datos, software y equipamiento (PCs).

  • 1.2. DEFINICIN DE RED NEURONAL Y ALGORITMO DE APRENDIZAJE

    - 2 -

    As mismo tambin, incluimos una seleccin bibliogrfica bsica sobre redesneuronales de inters general.

    1.2. Definicin de Red Neuronal y algoritmo deaprendizaje

    En la bibliografa pueden encontrase muchas y variadas definiciones de redneuronal. Citamos aqu dos de las que a nuestro parecer son ms representativas.

    La primera de ellas, podemos encontrarla en la referencia [4] y es lasiguiente:

    Una definicin de Red Neuronal:

    Una Red Neuronal es un sistema computacional, implementado bien porhardware o software, que trata de imitar las habilidades computacionales de lossistemas biolgicos, mediante el uso de un gran nmero de simples neuronasartificiales interconectadas.

    Las neuronas artificiales son emulaciones sencillas de las neuronasbiolgicas, toman la informacin de un sensor u otra neurona artificial, realizanoperaciones muy elementales con estos datos y pasan los resultados de estainformacin a otras neuronas artificiales.

    Las redes neuronales operan procesando los datos mediante sus neuronasen la manera descrita. Usan a la vez una propagacin en paralelo y en serie de lainformacin.

    Las tres principales caractersticas que describen a una red neuronal son:estructura, dinmica y aprendizaje.

    En esta definicin, se observa el inters por modelar el comportamiento denuestro cerebro mediante unidades que realicen operaciones sencillas y que estnmuy interconectadas entre s al igual que nuestras neuronas. Tambin se da unanocin de su uso, es decir, es necesario definir una estructura que indique de quforma se comunican entre s las unidades de la red, hay que especificar comorealizan la comunicacin y para que simulen el comportamiento del cerebro esnecesario hacerlas aprender de alguna manera (algoritmo de aprendizaje).

    En la referencia [5] podemos encontrar la segunda definicin.

  • 1.2. DEFINICIN DE RED NEURONAL Y ALGORITMO DE APRENDIZAJE

    - 3 -

    Otra definicin de Red Neuronal.

    Una red neuronal es una estructura de procesado de la informacindistribuida y en paralelo, compuesta de elementos que realizan el tratamiento dela informacin.

    Dichos elementos pueden poseer una memoria local, y deben llevar a cabooperaciones de proceso de la informacin localizadas. Adems, estarninterconectadas entre s va canales unidireccionales de propagacin de lainformacin, llamados conexiones.

    Cada elemento procesador, tiene una nica salida que se divide en muchasconexiones colaterales, transportando cada una de ellas la misma seal (la sealde salida del elemento procesador). Esta seal puede ser de cualquier tipomatemtico; el tratamiento de la informacin que se lleva a cabo dentro de cadaelemento procesador, puede ser definido arbitrariamente con la restriccin deque debe ser completamente local. Es decir, debe depender slo de los valoresactuales de las seales de entrada que llegan a ese elemento procesador, vaconexiones, o de valores acumulados en la memoria del elemento procesador.

    Esta definicin es mucho ms abstracta, tiene una visin ms matemtica.Se habla de unidades de proceso de informacin que tratan seales. Se insistesobre la amplia interconexin, una unidad calcula su salida (la cual propaga aotras unidades) usando informacin interna (que le lleg de otras unidades).

    En ambas definiciones se habla principalmente de la estructura de la redpero no se dice nada sobre su aprendizaje, podramos utilizar como algoritmo deaprendizaje cualquiera que permita variar los parmetros libres de la red (valoresde las conexiones o los pesos). As como tambin, en ambas definiciones se hablade procesado serie y paralelo de la informacin.

    Podemos deducir varias ideas a partir de estas definiciones.

    Una red neuronal posee una estructura. Se entiende por estructura ladescripcin matemtica de la red y su funcionamiento, no la manera en que seimplementa (que puede ser por software o hardware).

    En la descripcin matemtica, se debe determinar la configuracin de lasunidades (neuronas) e interconexiones entre ellas y describir de que forma sepropagan las seales en la estructura indicando las operaciones que realizan.

    Adems, en la estructura habr unidades de entrada (por las que se recibeinformacin externa) y unidades de salida (por las que se proporciona lainformacin resultante de la red).

  • 1.2. DEFINICIN DE RED NEURONAL Y ALGORITMO DE APRENDIZAJE

    - 4 -

    Internamente, la red puede poseer otras neuronas o unidades que seagruparn en diferentes capas (transmisin paralela de la informacin) segn seala funcin matemtica que realicen.

    Las unidades de la red se comunican entre s mediante conexiones, a lascuales como veremos ms adelante, se les asocia un valor denominado peso.

    Con esto, tenemos bsicamente determinados los elementos de una redneuronal.

    Sin embargo, necesitamos un mecanismo que ayude a que la red neuronalaprenda a realizar o resolver una cierta tarea, como ocurre con las neuronas denuestro cerebro. Para ello, se utiliza lo que se llama algoritmo de aprendizaje. Latarea del algoritmo ser adaptar los valores de las interconexiones de las neuronas(pesos) durante el llamado proceso de aprendizaje para que al final del proceso lared sea capaz de solucionar un problema de forma ms o menos eficiente.

    El proceso de aprendizaje de la red puede ser generalmente de varios tipos:supervisado o no supervisado. En el primer caso la red adapta sus parmetrosutilizando en el proceso de aprendizaje lo que se llaman ejemplos deentrenamiento, es decir, un conjunto de datos de entrada de los cuales se conoce larespuesta (o salida) que deseamos que proporcione la red. En el segundo, se tienenpatrones de entrada a la red pero no se usa ninguna respuesta o salida deseada(objetivo del patrn).

    En esta tesis, nos hemos centrado en el uso de la red neuronal MultilayerFeedforward generalmente usando el algoritmo Backpropagation. Ambos, estndescritos en el apartado 1.4 de este captulo.

  • 1.3. MOTIVACIONES DE LA INVESTIGACIN

    - 5 -

    1.3. Motivaciones de la InvestigacinLa investigacin sobre Redes Neuronales ha experimentado un gran auge

    desde el ao 1987 en el que se celebr la primera conferencia internacional abiertasobre redes neuronales (International Joint Conference on Neural Networks,IJCNN87).

    En los ltimos aos, se han realizado con xito un gran nmero deaplicaciones basadas en Redes Neuronales en campos tan variados comocomercio, ciencia, industria, medicina, etc.

    Una revisin amplia sobre estos aspectos puede encontrarse en la referencia[4]. Se trata de un texto bastante antiguo (del ao 1990) pero da una idea de lagran variedad y cantidad de aplicaciones sobre este tema.

    Las aplicaciones sobre Redes Neuronales van adquiriendo progresivamentegran inters comercial de forma que se van transfiriendo a los sectoresproductivos o las reas socioeconmicas. Al mismo tiempo que la calidad ycorreccin de las soluciones basadas en redes neuronales es en general igual osuperior a la que puedan aportar sistemas basados en otras tecnologas.

    Si hacemos una clasificacin muy general, mediante redes neuronalespueden resolverse bsicamente dos tipos de problemas.

    - Problemas de clasificacin

    - Problemas de aproximacin funcional.

    En los primeros, se pretende distinguir entre categoras, clases de objetos osituaciones. Ejemplos de problemas de clasificacin son la identificacin de falloso defectos, el diagnstico mdico de enfermedades, etc.

    Ejemplos del segundo tipo son la prediccin de series temporales (deutilidad en la prediccin de demandas como la energa elctrica, o la prediccin devalores burstiles), la identificacin de sistemas, la realizacin de sistemas decontrol, etc.

    Como vemos, el mbito de aplicacin de las redes neuronales es muyamplio, puesto que casi cualquier problema se puede encuadrar como un caso declasificacin o de aproximacin funcional.

    Las redes neuronales (en sistemas que utilizan algoritmos supervisados)tienen adems la caracterstica de ser capaces de llegar a resolver un problema tanslo basndose en ejemplos concretos (informacin concreta) de resolucin de

  • 1.3. MOTIVACIONES DE LA INVESTIGACIN

    - 6 -

    dicho problema. Solo necesitan una muestra representativa de los ejemplos deresolucin del problema, esto es lo que se denomina conjunto de entrenamiento.

    Tras un proceso de aprendizaje con dichas muestras las redes neuronalestienen la capacidad de responder correctamente a otros ejemplos del problemarelativamente similares a los del conjunto de entrenamiento pero que jams hansido utilizados antes por la red. A esa capacidad de aprendizaje de la red es a loque se denomina capacidad de generalizacin, y como veremos ms adelante, esprobablemente la caracterstica ms importante de una red neuronal y lo que lashace verdaderamente tiles. A mayor capacidad de generalizacin ms eficiente seconsidera la solucin suministrada por la red neuronal.

    Como estudiaremos ms adelante, los factores que influyen en la capacidadde generalizacin de una red neuronal son muchos, aunque bsicamente se puedenresumir en tres: su arquitectura (o estructura interna), el algoritmo de aprendizajeque se emplee para realizar el entrenamiento y el conjunto de datos (ejemplos)que se incluyan en el conjunto de entrenamiento.

    El algoritmo de aprendizaje es el que hace que la red adapte de unadeterminada forma sus parmetros para llegar a una cierta solucin con losejemplos que se le suministran. Parece evidente que la eleccin de estosparmetros influir en el comportamiento final de la red y por tanto en sueficiencia.

    Ocurrir lo mismo con la eleccin del conjunto de entrenamiento. Este debecontener datos verdaderamente representativos para la resolucin del problema. Sila calidad de los datos (informacin sobre el problema) es baja, los datos no sernrepresentativos de todos los aspectos del problema, es decir, se estar incluyendoinformacin no til, por lo que no podemos esperar que la red resuelva bien elproblema.

    El otro factor que influye en la eficiencia que proporcione la red es laarquitectura de la misma. Dicha estructura fija el modelo que a priori hemosdecidido que usaremos para resolver el problema. Segn el modelo, se obtendrnresultados diferentes y por tanto la eficiencia obtenida por la red ser distinta.

    Si se revisa la bibliografa sobre redes neuronales, la arquitectura msutilizada es Multilayer Feedforward (MF). Por ello, esta investigacin se hacentrado en el estudio detallado sobre varios aspectos de la misma.

    La red neuronal Multilayer Feedforward est constituida bsicamente portres capas de neuronas, una capa de entrada, una capa oculta y otra de salida. Msadelante realizaremos una descripcin detallada de la misma.

  • 1.3. MOTIVACIONES DE LA INVESTIGACIN

    - 7 -

    Por otra parte, si revisamos la bibliografa, se puede ver que en la mayorade casos se utilizan en el diseo de la red tcnicas de las primeras que sepropusieron, como por ejemplo algoritmos de aprendizaje muy bsicos. Sinembargo, a lo largo de los aos se han propuesto muchos algoritmos deaprendizaje ms avanzados con el objetivo de aumentar la capacidad degeneralizacin de las redes neuronales.

    Por qu entonces se utilizan en muchas aplicaciones actuales algoritmos deaprendizaje o procedimientos ya superados (los ms bsicos)? La respuesta esmltiple.

    En primer lugar, para una persona que solo tenga unos conocimientosmnimos sobre redes neuronales puede ser imposible utilizar algo avanzado,simplemente por desconocimiento de su existencia. Sin embargo, an suponiendoque la persona que realiza la aplicacin sea un experto en redes neuronales, puedeencontrarse con el problema de no saber que procedimiento escoger entre lamultitud de los existentes. Si dicha persona revisa la bibliografa se encontrarque en general no existen comparaciones entre los diferentes procedimientos quele indiquen cual debe ser su eleccin.

    En definitiva, se encontrar ante una multitud de alternativas, con escasainformacin que le permita seleccionar la ms idnea o ms eficiente. Comomucho, puede seleccionar uno o varios mtodos avanzados y esperar que algunofuncione bien, o simplemente usar los procedimientos ms clsicos, ampliamenteconocidos. Esta es una situacin bastante habitual en el campo de redesneuronales.

    Actualmente, en este campo se estn proponiendo nuevas arquitecturas,nuevos algoritmos, nuevas implementaciones fsicas, etc. Sin embargo, cuando sepropone, por ejemplo un nuevo algoritmo de aprendizaje o un procedimiento paraaumentar la eficiencia, las comparaciones que se realizan con algoritmos oprocedimientos conocidos anteriores, son bastante exiguas o prcticamenteinexistentes.

    Adems, en el caso de que se incluya alguna comparacin se suele realizarrespecto a procedimientos bsicos y no respecto a procedimientos avanzados quepersigan el mismo objetivo que lo que se propone.

    Por ello, pensamos que el inters de proponer nuevos algoritmos se reducebastante si no se sabe exactamente cul es su eficiencia con respecto aprocedimientos ya existentes.

  • 1.3. MOTIVACIONES DE LA INVESTIGACIN

    - 8 -

    As, este es el momento apropiado para realizar un estudio comparativoamplio sobre mtodos y algoritmos ya existentes, ya que todo procedimientonuevo presentar los problemas que hemos comentado anteriormente.

    En la bibliografa [2], podemos encontrar algunos aspectos interesantes eneste sentido, los cuales avalan plenamente lo que se ha expuesto aqu.

    En la referencia, se presenta un estudio detallado de 190 artculos referentesa nuevos algoritmos de aprendizaje de redes neuronales que fueron publicados enlos aos 1993 y 1994. En dicho estudio, se mide por una parte la cantidad decomparaciones realizadas con otros algoritmos ya existentes y por otro lado, seevala el nmero de problemas utilizados para medir la eficiencia de los nuevosalgoritmos.

    Los artculos utilizados en el estudio de la referencia se obtuvieron de cuatroconocidas revistas dedicadas a la investigacin sobre redes neuronales: NeuralNetworks, Neural Computation, Neurocomputing y IEEE Transactions on NeuralNetworks.

    En la figura 1 sepresentan algunos resultadosde dicho estudio.

    En ella, se clasificande forma porcentual losalgoritmos de aprendizajeque se proponen en dichosaos en funcin del nmerode comparaciones realizadaspor el autor de la referencia,con otros algoritmos yaexistentes. Se puede ver que aproximadamente un 33% de los nuevos algoritmospropuestos en estos aos no se compararon con ningn otro algoritmo conocido.

    La comparacin con otros algoritmos de aprendizaje conocidos y la propiaevaluacin experimental de los algoritmos propuestos segn la calidad y cantidadde problemas que se utiliza para evaluarlo, resultan exiguas.

    En la referencia [2], como hemos mencionado antes, se realiza tambin unestudio cuantitativo sobre las evaluaciones experimentales que se suelen emplearpara los nuevos algoritmos propuestos.

    Fig. 1. Porcentaje de algoritmos de aprendizajeen funcin del nmero de comparacionescon otros algoritmos conocidos.

  • 1.3. MOTIVACIONES DE LA INVESTIGACIN

    En la figura 2 semuestra una clasificacinporcentual de los nuevosalgoritmos de aprendizajepropuestos en los aos1993-1994, en funcin delnmero de problemas realesque se usaron para suevaluacin experimental.Como se aprecia en la figuratan slo en un 2% de losnuevos algoritmos que seproponen utilizaron seis oms problemas reales. Todoesto, lleva a la situacin de tener varios procedimientos para realizar unadeterminada cosa, y no saber cul es el ms eficiente o idneo, dificultando laeleccin de uno por aquella persona que pretenda realizar una aplicacin. Ladeterminacin de cules son los procedimientos ms eficientes o idneos, es deespecial importancia tanto para el transvase de tecnologa avanzada existente almbito industrial, como para el progreso en s del campo de redes neuronales.

    Hemos usado la referencia [2], del ao 1996, para mostrar que la situacinrespecto al nmero de comparaciones realizadas y el nmero de problemas a losque se aplican los nuevos algoritmos no ha variado mucho a lo largo de los aos,la situacin pues est estancada, por lo que consideramos de gran inters realizarcomparaciones entre diferentes tcnicas existentes para el diseo de aspectosconcretos de la red.

    Tambin consideraremosproblemas para medir la eficienc

    Esta Tesis Doctoral se titMultilayer Feedforward. Comoptimizar algunos aspectos sobrno pretendemos expresar que sediseo de la red, sino que se existentes y se justificar cual dde diseo que trataremos. Nuediversos aspectos sobre el disediferentes mtodos existentePosteriormente, se llevar a cestudiados.

    Fig.2. Porcentaje de algoritmos de aprendizajeen funcin del nmero de problemasreales usados para su comparacin. importante utilizar un nmero suficiente deia de los mtodos que estudiemos.

    ula: Hacia un diseo ptimo de la Arquitecturao indica el ttulo, se trata en ella de intentare el diseo de la red. Con la palabra optimizar realizarn nuevos procedimientos para mejorar elhar un estudio detallado de procedimientos yae ellos resulta ptimo en cada uno de los aspectosstro principal inters, ser estudiar por separadoo de la red, realizando para ello un estudio de loss para solucionar ese aspecto concreto.- 9 -

    abo un anlisis comparativo entre los mtodos

  • 1.3. MOTIVACIONES DE LA INVESTIGACIN

    - 10 -

    Para comparar las eficiencias de los mtodos se aplicarn los mismos a unnmero considerable de problemas de clasificacin, la mayor parte de ellos reales,cuyos datos han sido obtenidos del repositorio UCI [1].

    Por ltimo, se concluir que mtodos resultan ms eficientes para cada unode los aspectos del diseo de la red que hemos estudiado.

    Como introduccin a nuestra investigacin se describe en el apartadosiguiente la arquitectura de la red Multilayer Feedforward (MF) y el algoritmo deaprendizaje ms bsico y ms usado en su entrenamiento, Backpropagation.

  • 1.4. ARQUITECTURA MF Y ALGORITMO BACKPROPAGATION

    - 11 -

    1.4. Arquitectura MF y algoritmo BackpropagationComo hemos dicho antes en esta investigacin nos centraremos en la

    arquitectura Multilayer Feedforward, en general de tres capas y realizaremos unestudio detallado sobre varios aspectos relativos a su diseo.

    Existen muchos algoritmos de aprendizaje para esta red neuronal, pero unode los ms bsicos, descrito y usado en la bibliografa es el conocido comoBackpropagation. Por ello, en este primer captulo vamos a describir cul es laarquitectura (estructura) de la red neuronal Multilayer Feedforward yobtendremos las ecuaciones y funcionamiento del algoritmo de aprendizajeBackpropagation.

    La red Multilayer Feedforward est constituida por tres capas diferentes deneuronas (o unidades), la capa de entrada, la capa oculta y la capa de salida.

    La capa de entrada est formada por un nmero de neuronas fijado por elnmero o cantidad de informacin que queremos procesar con la red(caractersticas de la informacin). Esta capa simplemente transmite lainformacin de entrada al interior de la red, sus neuronas estn totalmenteinterconectadas con las de la capa oculta.

    La capa oculta (formada por un cierto nmero de neuronas) realiza unprocesado de la informacin de entrada a sus neuronas mediante una funcin detransferencia de tipo sigmoide (aunque en ocasiones puede usarse otro tipo defunciones). Las neuronas estn totalmente interconectadas con las neuronas de lacapa de entrada y cada conexin lleva asociada un peso, de forma que la entrada auna neurona oculta ser una combinacin lineal de las entradas ponderadas por lospesos que entran en dicha neurona oculta. La salida de cada neurona se obtendraplicando la funcin de transferencia sobre cada combinacin.

    Por ltimo, la capa de salida est totalmente interconectada con la capaoculta, hay un peso asociado a cada conexin y el procesado de la informacin delas neuronas de salida es la suma de las seales de salida de la capa ocultaponderada por los pesos. Las entradas a las neuronas de salida sern tambin unacombinacin lineal de la salida de las neuronas ocultas y la salida de la red seobtendr aplicando la funcin de transferencia sobre dicha combinacin.

    En la figura 3 se observa el comportamiento de la funcin de transferenciade tipo sigmoide y los modos de activacin de la misma.

  • 1.4. ARQUITECTURA MF Y ALGORITMO BACKPROPAGATION

    La expresin de la funcin de transferencia sigmoide viene dada por laecuacin siguiente.

    xexf

    11)( (1.1)

    Para cada capa tendremos un vector formado por los valores de entrada yotro por los de salida de las neuronas de dicha capa.

    RED MULTILAYER FEEDFORWARD CON UNA CAPA OCULTA

    En la figura 4 se encuentra dibujada la estructura de una red MultilayerFeedforward de tres capas.

    de la los pe

    Fig.3. Funcin de transferencia sigmoide y sus modos de activacin.

    -10 -5 0 5 100

    0.2

    0.4

    0.6

    0.8

    1

    A

    f(A

    )

    modo lineal

    Saturacin (entradas negativas)

    Saturacin (entradas positivas) Llamemos a los vectores de salida de las diferentes capas como sigue.- 12 -

    Capa de entrada NNN aaaioioioiii ,,,,,,,,, 212121

    Capa oculta )(,),(),(,,, 2121 NhNh hifhifhifhohoho

    Capa de salida )(,),(),(,,, 2121 NsNs oifoifoifoooooo

    Veamos cuales son las ecuaciones de la red.

    En la ecuacin (1.2) mostramos la expresin de la entrada a una neurona jcapa oculta como una combinacin de las entradas a la red ponderadas consos.

    N

    ijiijj awihi

    1 (1.2)

  • 1.4. ARQUITECTURA MF Y ALGORITMO BACKPROPAGATION

    - 13 -

    Fig.4. Estructura de Red Neuronal Multilayer Feedforward.

    Hj HNh 1H1

    O NsOO1

    Ii IN 1

    ......

    ....

    k

    I1 .........i N

    ...

    ......

    k

    j N h1

    N s1

    i 1 i i

    i Ni 1 i i

    o o k

    h i j h i 1 h i N h

    h o j h o 1 h o N h

    o o N s o o 1

    o i 1 o i N s

    w h j ,N s

    o i k

    w h N h ,N s w h 1 ,N s

    w h j ,1 w h N h ,1

    w i N ,N h

    w h j ,k

    w h N h ,k w h 1 ,k

    w h 1 ,1

    w i 1 ,N h w i i ,N h

    w i N ,1w i 1 ,1

    w i i ,1

    w i N , j w i 1 ,j w i i ,j

  • 1.4. ARQUITECTURA MF Y ALGORITMO BACKPROPAGATION

    - 14 -

    La ecuacin (1.3) expresa la entrada a una neurona k de la capa de salida enfuncin de una combinacin lineal de las salidas de las neuronas de la capa ocultaponderadas con sus pesos.

    Nh

    jkjjkk howhoi

    1 (1.3)

    La ecuacin (1.4) nos da la salida de una neurona j de la capa oculta,obtenida aplicando la funcin de transferencia sobre la entrada (1.2) a la misma.

    )exp(11

    jj hi

    ho

    (1.4)

    La ecuacin (1.5) describe la salida de una neurona k de la capa de salida,obtenida aplicando la funcin de transferencia sobre la entrada (1.3) a la misma.

    )exp(11

    kk oi

    oo

    (1.5)

    En las ecuaciones anteriores y son los vectores de threshold oumbrales que intervienen en la capa oculta y en la capa de salida de la red. Estosse consiguen introduciendo una neurona con salida constante de valor 1 en la capainferior a la estudiada.

    En las ecuaciones anteriores wiij y whjk son los pesos que representan lasconexiones entre capas diferentes (ver figura 4).

    Una vez definida la arquitectura de la red para poder utilizarla en laresolucin de un problema concreto es necesario entrenar la red para que aprendaa resolver dicho problema.

    Para ello, ser necesario disponer de un conjunto suficiente de ejemplos(patrones) de entrenamiento con sus correspondientes objetivos. Es decir, cadapatrn de entrada lleva asociado un objetivo o resultado que sera la solucincorrecta al problema.

    Para realizar el entrenamiento se van presentando los diferentes ejemplos ala red y mediante un algoritmo de aprendizaje esta debe de acercarse cada vez msal objetivo que corresponde al ejemplo que se le presenta. Cuando los resultadosque suministre la red sean lo suficientemente cercanos a los objetivos podremosconsiderar como acabado el entrenamiento.

    Llamamos I al vector que representa un ejemplo y T al vector del objetivoasociado a dicho ejemplo. Sea P el nmero total de ejemplos, N el nmero de

  • 1.4. ARQUITECTURA MF Y ALGORITMO BACKPROPAGATION

    - 15 -

    neuronas de entrada a la red (dimensin de I), Ns el nmero de neuronas de salidade la red (dimensin de T) y Nh el nmero de neuronas ocultas.

    Veamos el funcionamiento del algoritmo Backpropagation. En primer lugarse define el Error Cuadrtico Medio que mide la diferencia entre el resultadoque proporciona la red para un cierto ejemplo P y el objetivo de dicho ejemplo.

    Ns

    kkPkPP ootE

    1,, )(2

    1 (1.6)

    El error total ser la suma para todos los patrones de los errores obtenidosen la ecuacin (1.6).

    El proceso de aprendizaje consiste en minimizar (respecto de los pesos) lafuncin de error para todos los patrones del conjunto de entrenamiento, los cualesse van presentando a la red en iteraciones sucesivas hasta conseguir laconvergencia de la funcin de error.

    Para cada iteracin los pesos de la red se irn modificando y modificarn lasentradas y salidas de las neuronas y el error en la siguiente iteracin.

    El procedimiento a seguir ser:

    1)Inicializar aleatoriamente o mediante algn mtodo los pesos de la red.

    2)Introducir un patrn y modificar los pesos de la red segn las ecuaciones:

    11

    ;1

    ,,,

    ,,

    ,

    twhtwhtwh

    twhwhEtwh

    kjkjkj

    kjkj

    Pkj

    (1.7)

    11

    ;1

    ,,,

    ,,

    ,

    twitwitwi

    twiwiEtwi

    jijiji

    jiji

    Pji

    (1.8)

    Donde es el paso de adaptacin y es el momento.

    3)Calcular el Error despus de acabada la iteracin. Tomar el resultadofinal de los pesos obtenidos como la nueva inicializacin de pesos para lasiguiente iteracin.

    4)Repetir los pasos 2 y 3 durante un nmero determinado de iteracionesque permita la convergencia de la funcin de error (hacia un mnimo), esdecir, que el Error calculado en 3 alcance un mnimo.

  • 1.4. ARQUITECTURA MF Y ALGORITMO BACKPROPAGATION

    - 16 -

    Para realizar el clculo de los pesos en cada iteracin, vemos que esnecesario obtener las expresiones de las derivadas de la funcin de error respectode los pesos.

    Primero calculamos las derivadas para los pesos entre la capa oculta y la desalida. A partir de la ecuacin (1.6) vemos la dependencia de Ep con ooP,k y la deesta (ecuacin (1.5)) con la variable oiP,k.

    Aplicando la regla de la cadena para derivar obtenemos:

    kj

    kP

    kP

    kP

    kP

    P

    kj

    P

    whoi

    oioo

    ooE

    whE

    ,

    ,

    ,

    ,

    ,,

    (1.9)

    A partir de la ecuacin (1.6) se tiene:

    kPkPkP

    P ootooE

    ,,,

    (1.10)

    De la ecuacin (1.1) podemos deducir la derivada de la funcin detransferencia de nuestra red.

    ))(1()(

    1)( 2 xfxfe

    exfx

    x

    (1.11)

    De las ecuaciones (1.5), (1.11) y (1.3) se puede deducir que:

    kPkPkP

    kP oooooi

    oo,,

    ,

    , 1

    (1.12)

    jPkj

    kP howhoi

    ,,

    ,

    (1.13)

    Definimos la siguiente variable

    kPkPkPkPkP oooooot ,,,,, 1 (1.14)

    Sustituimos en (1.9) y el resultado final de la derivada respecto de los pesoswhj,k ser:

    kPkPkj

    P howhE

    ,,,

    (1.15)

  • 1.4. ARQUITECTURA MF Y ALGORITMO BACKPROPAGATION

    - 17 -

    Calcularemos ahora la derivada respecto de los pesos entre las unidades dela capa oculta y la de entrada. Para ello vemos que depende de las variables ooP,k,oiP,k y hoP,j. Tendremos:

    k ji

    kP

    kP

    kP

    kP

    P

    ji

    P

    wioi

    oioo

    ooE

    wiE

    ,

    ,

    ,

    ,

    ,,

    (1.16)

    A su vez:

    ji

    kP

    kP

    kP

    kP

    kP

    ji

    kP

    wihi

    hiho

    hooi

    wioi

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    (1.17)

    Sustituyendo la ecuacin anterior en la derivada que queremos calcular seobtiene la siguiente ecuacin.

    k ji

    kP

    kP

    kP

    kP

    kP

    kP

    kP

    kP

    P

    ji

    P

    wihi

    hiho

    hooi

    oioo

    ooE

    wiE

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,,

    (1.18)

    Solo queda calcular la ltima derivada que ser:

    kPji

    kP iwihi

    ,,

    ,

    (1.19)

    Sustituyendo las derivadas en la ecuacin (1.18) el valor final ser:

    kiPjPjPkjkPkPkPkP

    ji

    P ihohowhooooootwiE

    ,,,,,,,,,

    )1()1()( (1.20)

    Definimos la siguiente variable:

    )1( ,,,,, jPjPk

    kjkPjP hohowhh

    (1.21)

    Sustituyendo se obtiene finalmente la derivada respecto de los pesos wii,j :

    jPjPji

    P ihwiE

    ,,,

    (1.22)

  • 1.5. DESCRIPCIN DE LAS BASES DE DATOS

    - 18 -

    1.5. Descripcin de las Bases de DatosEn las investigaciones que se han llevado a cabo en esta Tesis se han

    utilizado problemas obtenidos del UCI repository of machine learning databases(http://www.ics.uci.edu/~mlearn/MLRepository.html) que estn a disposicinpblica.

    Se trata en general de problemas reales de clasificacin. A continuacindamos una descripcin detallada de dichos problemas. Para poder utilizarlos ennuestros experimentos se han transformado los datos de los mismosconvirtindolos en datos numricos normalizados en el intervalo [0,1].

    En cada captulo explicaremos con ms detalle qu bases de datos oproblemas hemos utilizado y el tipo de transformacin sobre los datos que ha sidonecesario aplicar.

    Veamos la descripcin de las bases de datos escogidas.

    Abalone Data:

    El problema consiste en predecir la edad de un abalone. Bajo dichonombre se agrupa a un conjunto de moluscos gastrpodos marinos comestibles1.

    Se debe determinar si la edad est entre 25 y 95 aos, entre 105 y 115, oes 125 o ms aos. Hay pues tres clases.

    Para ello se utilizan ocho entradas, como son su sexo, la longitud y eldimetro de la concha, el peso de la concha, el peso de la parte comestible, el pesototal, etc. Los datos son reales y fueron obtenidos por los Laboratorios deInvestigacin de la Marina de Tasmania, en Australia.

    El nmero de datos disponibles es de 4177. Hemos usado 3300 en elentrenamiento y 877 en el test.

    Balance Scale Weight & Distance Database:

    Se trata de predecir si una balanza estar equilibrada, inclinada a laizquierda o a la derecha, por lo tanto es un problema con tres clases.

    Las cuatro entradas que se utilizan para resolver el problema son: los dospesos situados a la derecha e izquierda de la balanza y las dos distancias de dichospesos al centro de la balanza.

    1 En Castellano "abuln", caracol marino de California de concha grande, gruesa, auriculada ymuy nacarada.

  • 1.5. DESCRIPCIN DE LAS BASES DE DATOS

    - 19 -

    Los datos disponibles son 625. Hemos usado 500 ejemplos para elentrenamiento y 125 para el test.

    Cylinder Bands:

    En este problema se trata de predecir si se producirn retardos en el procesoconocido en ingls como cylinder bands, en una mquina de impresin derotograbado.

    La prediccin se realiza en funcin de 39 parmetros distintos que intentandescribir las condiciones de operacin de la mquina. Los datos son reales y elproblema tiene pues 39 atributos de entrada numricos.

    Se utilizarn dos clases, una para indicar que hay retardos en el proceso y laotra para indicar que no los hay.

    Aunque la base de datos dispone de 512 ejemplos gran parte de ellos tienenatributos desconocidos, por lo que al final nos quedamos con solo 277 ejemplos.De ellos utilizaremos 190 para el entrenamiento y 87 para el test.

    BUPA Liver Disorders:

    El problema es determinar si un paciente tiene algn problema de hgado ono. Las entradas son los resultados de cinco tests realizados en la sangre y elconsumo medio de alcohol por da. Los datos son reales y fueron obtenidos por lacompaa BUPA Medical Research Ltd.

    Tenemos seis atributos o entradas numricas y dos clases: si hay o noproblemas en el hgado.

    Los datos disponibles son 345. Hemos usado 245 ejemplos para elentrenamiento y 100 ejemplos para el test.

    Credit Approval:

    El problema consiste en determinar si una peticin de una tarjeta de crditodebe ser concedida o no. Se trata de un problema de clasificacin de dos clases.

    El nmero de entradas es 15 y su significado se desconoce, puesto que setrata de datos reales en los que se ha pretendido garantizar la confidencialidad.

    La base de datos consta de 690 ejemplos pero 37 de ellos tienen entradasdesconocidas o perdidas. Hemos usado 653 ejemplos, 453 para el entrenamiento y200 para el test.

  • 1.5. DESCRIPCIN DE LAS BASES DE DATOS

    - 20 -

    Display1:

    El problema es determinar el nmero que est representando en un displayled de 7 segmentos, sabiendo si cada uno de los leds est encendido o apagado.

    Se trata de un problema de clasificacin con diez clases (cada uno de losdiez dgitos) y siete entradas binarias, una por cada led. Para complicar elproblema se han seleccionado aleatoriamente un 10% de los valores de lasentradas y se ha invertido su valor binario.

    La base de datos generada consta de 2900 ejemplos, 900 para elentrenamiento y 2000 para el test.

    Display2:

    Es exactamente el mismo problema que Display1, solo que se han aadidoun total de 7 entradas binarias adicionales cuyos valores son totalmente aleatoriosy por lo tanto absolutamente irrelevantes. En total tendremos 14 entradas.

    La base de datos generada consta de 2900 ejemplos, 900 para elentrenamiento y 2000 para el test.

    Glass Identification Database:

    El problema consiste en clasificar trozos de vidrio como pertenecientes auna de las seis clases siguientes: artculos de mesa, recipientes, faros, ventanas deedificios, ventanas de edificios tipo float processed y ventanas de vehculos tipofloat processed (no existen ventanas de vehculos que no sean tipo floatprocessed por lo que no se considera como una clase). Parece ser que estaclasificacin tiene mucho inters en mbitos de investigacin criminolgica.

    Los datos son reales y para realizar la clasificacin se utiliza diez entradas,entre ellas el valor del ndice de refraccin y la cantidad porcentual de diversoselementos en su composicin, Na, Mg, Al, Si, K, Ca, Ba, Fe.

    El problema consta de 214 ejemplos, hemos usado 150 ejemplos para elentrenamiento y 64 para el test.

    Heart Disease Database:

    El problema consiste en determinar si un paciente tiene alguna enfermedadde corazn, ser pues un problema de dos clases. Para predecirlo, se utilizan 13entradas de ndole diversa, desde algn parmetro del ECG, hasta el hecho de queel paciente sea o no fumador.

  • 1.5. DESCRIPCIN DE LAS BASES DE DATOS

    - 21 -

    Los datos son reales y fueron recopilados por varias clnicas especializadasinternacionales.

    El nmero de ejemplos total de la base de datos es 920 pero entre ellos haymuchos que tienen entradas desconocidas, por lo que finalmente usamos 297, 210como ejemplos para el entrenamiento y 87 para el test.

    Image Segmentation Data:

    Los ejemplos de esta base de datos fueron obtenidos aleatoriamente de unconjunto de imgenes exteriores. Las imgenes fueron segmentadas manualmentepara obtener la clasificacin de cada ejemplo. Un ejemplo representa una reginde 3x3 puntos de la imagen. El objetivo es determinar a cul de las siete siguientesclases pertenece el ejemplo: csped, ventana, cemento, follaje, nieve, ladrillo ocamino, es decir siete clases.

    Para la clasificacin se utilizan un total de 19 entradas que representancaractersticas del conjunto de puntos que forman el ejemplo. Los datos sonreales.

    Utilizamos un total de 2311 ejemplos, 1500 para el entrenamiento y 811para el test.

    Mushroom Database:

    El problema consiste en clasificar una seta como comestible o venenosa(dos clases).

    Para ello se utilizan un total de 22 caractersticas generales de la seta y suhbitat, siendo los datos reales.

    Se dispone en la base de datos de 8124 ejemplos, de los cuales 2480 tienenentradas desconocidas o perdidas. Nos quedamos finalmente con 5644 ejemplos yse usaron 4144 para el entrenamiento y 1500 para el test.

    The Monk's Problems 1, 2 y 3:

    Se trata de tres problemas artificiales con entradas binarias. No obstante,tienen inters porque fueron utilizados para realizar la primera comparacininternacional entre algoritmos de aprendizaje de mquinas. En los problemas haydos clases y seis entradas.

    Se dispone de 432 ejemplos, 332 para el entrenamiento y 100 para el test.

  • 1.5. DESCRIPCIN DE LAS BASES DE DATOS

    - 22 -

    Musk Clean2 Database:

    El problema consiste en clasificar si una molcula sintetizada artificialmenteser de tipo musk o no, es decir, tiene dos clases. Como musk se conoce a unasecrecin glandular de fuerte olor del venado macho que es usada en perfumera,tambin a cualquier otra sustancia que tenga un olor similar. Dado que es de granutilidad en perfumera, se trata de sintetizar dicho olor artificialmente.

    Como entradas se utiliza un total de 166 caractersticas de la molcula quese va a sintetizar. Los datos son reales y fueron obtenidos por la corporacinfarmacutica Arris de USA.

    Se dispone de 6598 ejemplos, hemos utilizado 5098 para entrenamiento y1500 para test.

    Pima Indians Diabetes Database:

    El problema consiste en diagnosticar si un paciente tiene o no diabetes. Setrata pues de un problema con dos clases. En concreto lo que se pretende esdistinguir si el paciente muestra o no signos de diabetes de acuerdo con loscriterios de la Organizacin Mundial de la Salud. Para el diagnstico se usan untotal de ocho entradas y los datos son reales.

    El problema consta de 768 ejemplos, hemos empleado 518 paraentrenamiento y 250 para test.

    Thyroid Domain:

    El problema consiste en clasificar si el funcionamiento de la glndulatiroides del paciente es normal, tiene una hiperfuncin o una hipofuncin,tendremos tres clases.

    El nmero de entradas que se utilizan son 21 (15 atributos binarios y 6continuos) y los datos son reales.

    Se tiene un total de 7200 ejemplos, de los cuales se utilizan 5700 para elentrenamiento y 1500 para el test.

    Voting Records:

    El problema es determinar si una persona es republicana o demcrata apartir de las contestaciones a un total de 16 preguntas. Los datos son reales yfueron recogidos de las votaciones del congreso de los Estados Unidos, USA, enel ao 1987.

  • 1.5. DESCRIPCIN DE LAS BASES DE DATOS

    - 23 -

    El problema consta de dieciseis entradas y dos clases. Se dispone de 435ejemplos, hemos utilizado 335 para el entrenamiento y 100 para el test.

    Wisconsin Diagnostic Breast Cancer:

    El problema consiste en determinar si un tumor de mama es maligno obenigno, tendremos dos clases.

    La determinacin se hace con 32 entradas que describen las caractersticasde los ncleos de las clulas encontradas en una biopsia. Los datos son reales yfueron recogidos en la Universidad de Wisconsin.

    Se tienen un total de 569 ejemplos y usaremos 409 para el entrenamiento y160 para el test.

  • 1.6. HERRAMIENTAS DE TRABAJO: PC, SUN, MATLAB

    - 24 -

    1.6. Herramientas de trabajo: PC, SUN, MatlabLa investigacin sobre Redes Neuronales implica una gran carga

    computacional en mquinas (PCs u otras). Es necesario ejecutar simulaciones delos diferentes algoritmos y mtodos estudiados, entrenando tambin las redesneuronales que se quieran finalmente utilizar.

    A lo largo de nuestro trabajo hemos necesitado un nmero elevado deprocesadores en donde poder realizar dicha tarea.

    Gracias al material disponible ya en la Universidad Jaume I y al apoyo dealgunos proyectos como: P1A97-19 de la Fundaci Caixa-Castell y laUniversidad Jaume I y GV99-75-1-14 de la Generalitat Valenciana, hemosdispuesto del material necesario para realizar nuestra investigacin.

    La primera necesidad fue la de mquinas con el mayor nmero deprocesadores posible, donde ejecutar nuestros programas.

    La siguiente necesidad fue la de un lenguaje de programacin queposibilitar un desarrollo de programas muy rpido y con cdigos fuentessencillos, de forma que se redujera considerablemente la posibilidad de errores enla programacin. Respecto a esta ltima necesidad optamos por la utilizacin deMATLAB. Toda la programacin realizada en esta Tesis se ha realizado conMATLAB.

    Respecto a la necesidad de mquinas, durante el primer ao de trabajo sedispuso tan slo de una estacin de trabajo SUN UltraSPARC. Para dichamquina compramos las licencias para MATLAB, Compilador de C (Matlab CCompiler) y biblioteca matemtica de C de Matlab (Matlab Math C Library). Condicho software tenamos resulto el problema de la programacin.

    Posteriormente, se llev a cabo la compra de PCs con dos procesadorescada uno y de licencias de MATLAB para los mismos. Con ello el trabajo se fueagilizando bastante, cada procesador (de cada PC) realizaba una tarea concreta deforma mucho ms rpida y el reparto de trabajo fue mucho ms productivo.

    En la actualidad el Grupo de Redes Neuronales y Computacin Suave dela Universidad Jaume I, dispone de una estacin de trabajo SUN UltraSPARC yde 15 PCs (con dos procesadores cada uno) con diferentes velocidades, ya que sucompra se realiz en diferentes aos.

    Otro aspecto importante en la investigacin sobre Redes Neuronales es elalmacenamiento de los resultados que se obtienen.

  • 1.6. HERRAMIENTAS DE TRABAJO: PC, SUN, MATLAB

    - 25 -

    Los resultados de las simulaciones realizadas en Redes Neuronales suelenser ficheros de gran tamao, por ello a lo largo de la realizacin de lainvestigacin nos hemos encontrado con el problema de tener que almacenar todala informacin que generbamos. Para ello, hemos dispuesto de una unidad dediscos magnetopticos removibles Sony de 2,6 Gb, de una unidad de cinta DATDDS-3 de HP de capacidad 12GB, CD-ROM (aqu grabamos datos de especialimportancia que ya han sido analizados para poder disponer de ellos con rapidez)y discos ZIP de 100Mb (en ellos solemos guardar programas, artculos, etc.).

    Actualmente tambin disponemos de una unidad RAID-5 con capacidad de50Gb.

  • 1.7. BIBLIOGRAFA DEL CAPTULO

    - 26 -

    1.7. Bibliografa del Captulo[1] Merz, C. J., Murphy, P. M., (1998). UCI repository of machine learning

    databases. Available at: http://www.ics.uci.edu/~mlearn/MLRepository.html.[2] Prechelt, L., A quantitative study of experimental evaluations of neural

    network learning algorithms: current research practice. Neural Networks,vol. 9, no. 3, pp. 457-462, 1996.

    [3] Rumelhart, D. E., McClelland, J. L., Parallel Distributed Processing:Explorations in the Microstructure of Cognition. Vol. I, II y III. Cambridge,MA: MIT Press, 1986, 1987.

    [4] Maren, A., Harston, C., Pap, R., Handbook of Neural ComputingApplications. Academic Press, Inc. 1990.

    [5] Hecht-Nielsen, R., Neurocomputing, Addison Wesley, 1991.[6] Haykin, S., Neural Networks. A comprehensive Foundation. IEEE Press.

    Macmillan College Publishing Company, Inc. 1994.[7] Yoh-Han Pao, Adaptative Pattern Recognition and Neural Networks.

    Addison-Wesley Publishing Company, Inc. 1989.[8] Devroye, L., Gyrfi, L., Lugosi, G., A Probabilistics Theory of Pattern

    Recognition. Springer-Verlag New York, Inc. 1996.[9] Schalkoff, R. J., Pattern Recognition: Statistical, Structural and Neural

    Approaches. John Wiley & Sons, Inc. 1992.[10] Golden, R. M., Mathematical methods for Neural Network Analysis and

    Design. Cambridge, MA: MIT Press. 1996.[11] Deco, G., Obradovic, D., An information Theoretic Approach to Neural

    Computing. Springer-Verlag New York, Inc. 1996.[12] Reed, R. D., Marks, R. J., Neural Smithing. Supervised Learning in

    Feedforward Artificial Neural Networks. Cambridge, MA: MIT Press. 1999.[13] Fine, T.L., Feedforward Neural Network Methodology. Springer-Verlag

    New York, Inc. 1999.[14] Mller, B., Reinhardt, J., Strickland, M.T., Neural Networks. An

    Introduction. Springer-Verlag Berlin Heidelberg. 1st Ed. 1990-2nd Ed. 1995.

  • - 27 -

    Captulo 2

    PROCEDIMIENTOS PARA EL USO DE ENTRADASDESCONOCIDAS

    2.1. Introduccin2.2. Procedimientos de utilizacin de entradas

    desconocidas2.2.1. Codificacin mediante un valor2.2.2. Codificacin utilizando Aritmtica de Intervalos

    2.2.2.1 Operaciones con aritmtica de intervalos2.2.2.2 Multilayer Feedforward c on aritmtica de

    intervalos2.2.2.3 Backpropagation con arit mtica de intervalos

    2.2.2.3.1 Algoritmo de Hernndez2.2.2.3.2 Algoritmo de Ishibuchi2.2.2.3.3 Medidas de eficiencia

    2.2.3. Codificacin mediante Probabilidades2.2.4. Codificacin de entradas binarias, que no

    utiliza entradas desconocidas en elentrenamiento

    2.3. Metodologa2.3.1. Eleccin de bases de datos2.3.2. Eleccin de la arquitectura2.3.3. Proceso de entrenamiento y test

    2.4. Resultados experimentales2.5. Conclusiones2.6. Bibliografa del Captulo

  • 2.1. INTRODUCCIN

    - 28 -

    2.1. IntroduccinEl objetivo de este captulo es realizar, para la arquitectura de Red Neuronal

    Multilayer Feedforward, un estudio comparativo entre los procedimientos queexisten para utilizar entradas desconocidas.

    Veamos en primer lugar, cul es el significado de una entrada desconocida.

    Supongamos que se quiere resolver un cierto problema utilizando redesneuronales. Lo primero que necesitamos conocer es qu informacin queremosque procese la red (informacin de entrada en las neuronas de la red). En generalla informacin de entrada a la red (ejemplos) suele estar bien determinada. Sinembargo, puede ocurrir que tras el entrenamiento, nos encontremos algn caso(ejemplo de entrada) en el cual no toda la informacin de entrada est definida, esdecir, la entrada a una o ms neuronas de la red no se conozca, y, an as,queramos obtener cul ser la clasificacin ms probable que proporcione la redcon la informacin de que disponemos.

    Este problema es un caso muy tpico en aplicaciones de diagnstico mdico,en donde uno o varios de los sntomas o pruebas en un determinado paciente(entradas a ciertas neuronas de entrada de la red) pueden no conocerse. En [1] sedescriben algunos ejemplos.

    Como se describe en la referencia [1], es de esperar que la red neuronal seacapaz de proporcionar algn diagnstico para ese paciente (clasificacin deejemplos con entradas desconocidas), a pesar de que la informacin de entrada seaincompleta. El problema es cmo obtener la clasificacin de un ejemplo cuyainformacin es incompleta, es decir, cmo codificar estas entradas desconocidas ocmo decirle a la red neuronal que una cierta entrada se desconoce. La solucinms simple podra ser codificar las entradas desconocidas con un valor, perocul?

    Existen diferentes mtodos en la bibliografa para abordar el problema decodificacin de las entradas desconocidas y no se conoce cul es el ms eficiente.El objetivo de este captulo es realizar una comparacin experimental entre dichosmtodos para ver cul de ellos resuelve mejor el problema.

    Para algunos de los mtodos los autores proponen incluir entradasdesconocidas dentro de los ejemplos del conjunto de entrenamiento. As, razonanque no ser posible que la red responda adecuadamente ante entradasdesconocidas si no se han usado antes en el entrenamiento. Sin embargo, lainclusin de entradas desconocidas en el conjunto de entrenamiento puede generardiversos problemas.

  • 2.1. INTRODUCCIN

    - 29 -

    En primer lugar, el tamao del conjunto de entrenamiento crececonsiderablemente, por lo que el esfuerzo computacional para desarrollar unaaplicacin ser mayor.

    En segundo lugar, la eficiencia de la red puede verse afectada. Si fijamos unvalor determinado para la entrada desconocida de un ejemplo el cual est asociadoa un cierto objetivo (clase de clasificacin correcta para el ejemplo), estamosforzando a la red a que nos d cmo resultado una clase concreta para ese valor dela entrada desconocida. Esto puede suponer una prdida de eficiencia en la redcuando no se usen entradas desconocidas.

    Nosotros pensamos que es interesante medir de qu manera puede afectar laintroduccin de entradas desconocidas tanto en el entrenamiento como en el test.Para ello, en nuestros experimentos, a partir de varios problemas de clasificacingeneraremos otros nuevos introduciendo en los problemas iniciales diferentesporcentajes de entradas desconocidas en los conjuntos de datos para elentrenamiento y para el test.

    Para medir la eficiencia de los mtodos de codificacin de entradasdesconocidas con los nuevos problemas, se entrenarn y testearn diferentes redesy al final podremos ver en que medida influye el uso de entradas desconocidas enel entrenamiento, para mejorar o no la eficiencia de la red (capacidad degeneralizacin).

    Es el siguiente apartado se describen detalladamente los mtodos sobrecodificacin de entradas desconocidas que vamos a estudiar.

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 30 -

    2.2. Procedimientos de utilizacin de entradasdesconocidas

    Se han propuesto diversos mtodos para abordar el problema de lacodificacin de entradas desconocidas para la red Multilayer Feedforward.Algunos de ellos utilizan entradas desconocidas en el proceso de entrenamiento dela red y otros no. A continuacin describimos los mtodos que consideramos msrepresentativos y que son los que se usarn finalmente para realizar lacomparacin.

    2.2.1. Codificacin mediante un valor

    En la bibliografa podemos ver la descripcin de este mtodo en [1].

    La codificacin para entradas binarias se suele tomar, si o presentecomo 1 y no o ausente como 0. Segn este mtodo una entrada desconocidase codificar con el valor 0.5.

    En el caso de entradas no binarias el problema se complica [1]. En losproblemas que usaremos los valores de las entradas estn normalizadas en elintervalo [0,1]. Para este caso, lo que se propone en este mtodo es sustituir lasentradas desconocidas por el valor 0 y desplazar el intervalo de los valoresconocidos a [0.25, 1].

    Este mtodo requiere que se genere un conjunto de entrenamiento conentradas desconocidas y por lo tanto que se incluyan entradas desconocidas en elproceso de aprendizaje.

    En [18], [19], [20] y [21], se encuentran algunos ejemplos de utilizacin deeste mtodo de codificacin de entradas desconocidas.

    2.2.2. Codificacin utilizando Aritmtica de Intervalos

    Con este mtodo, se propone un concepto diferente para tratar las entradasdesconocidas. En primer lugar, se hace una Generalizacin de la red MultilayerFeedforward y el algoritmo de aprendizaje Backpropagation a Aritmtica deIntervalos. Esta generalizacin permitir mezclar en un vector de entrada, entradasrepresentadas por un intervalo y entradas puntuales dadas por un valor. As lasentradas desconocidas se codifican usando el intervalo [0,1] si el conjunto de

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 31 -

    posibles valores de la entrada est contenido en [0,1] y las entradas conocidaspueden ser representadas por su valor.

    El mtodo adems requiere que se realice un aprendizaje con un conjunto deentrenamiento que contenga entradas desconocidas.

    En la bibliografa, podemos encontrar dos generalizaciones de MultilayerFeedforward y Backpropagation a Aritmtica de Intervalos [3], [4] y [5], [6]. Enambas, la extensin de Multilayer Feedforward a Aritmtica de Intervalos es lamisma pero el algoritmo de aprendizaje Backpropagation que se propone difiereen la funcin de error utilizada, ms adelante describiremos ambas con detalle.

    Veamos en que consiste la generalizacin de la arquitectura MultilayerFeedforward a Aritmtica de Intervalos.

    En el captulo primero, se describi brevemente la arquitectura MultilayerFeedforward y el algoritmo de aprendizaje Backpropagation. Partiendo de ellasurge una primera aproximacin a la utilizacin de aritmtica de intervalos tal ycomo se describe en la referencia [2]. La introduccin de aritmtica de intervalosen la red permite que se empleen vectores puntuales e intervalos vectoriales comoentradas en los ejemplos para el entrenamiento de la red neuronal.

    Se entiende por vector puntual: {a1,a2, ...,aN} , ai

    Un intervalo vectorial se definir como:

    {[a1I,a1S], [a2I,a2S], ..., [aNI,aNS]}, aiI,aiS y aiIaiS i

    Donde los superndices I y S denotan los extremos inferior y superior delintervalo respectivamente.

    Tenemos as un vector compuesto por intervalos como entradas a la red(ejemplos de entrada). Si en algn intervalo el extremo inferior y superiorcoinciden, tendremos como ejemplo de entrada a la red un vector que ser unamezcla de puntos e intervalos.

    La red propuesta en [2] es capaz utilizar dichos vectores como ejemplos deentrada a la red, tanto en el entrenamiento como despus.

    Sin embargo, la red descrita en [2] era bastante limitada, solo posea unaunidad de salida, con lo que solo serva para resolver problemas de clasificacincon dos clases. Adems, los objetivos de la salida de la red eran valores reales, porlo que no exista la posibilidad de utilizar tambin intervalos como objetivos delentrenamiento de la misma.

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 32 -

    Por ello, surge una nueva propuesta descrita en las referencias [3] y [4]. Setrata de introducir la aritmtica de intervalos, tanto en la estructura MultilayerFeedforward, como en el algoritmo de aprendizaje Backpropagation de forma mseficiente y general que la propuesta en [2].

    En dichas referencias, se propone una forma de permitir la introduccin deintervalos vectoriales tanto en la capa de entrada (ejemplos de entrada), como enla de salida (objetivos), por lo que la propagacin de la seal de una capa a otra sehar tambin con intervalos vectoriales.

    El algoritmo de aprendizaje deber de adaptarse a esta estructura, de formaque se salvarn los inconvenientes que presentaba el mtodo descrito en [2]. Elalgoritmo final ser una verdadera generalizacin de Backpropagation a aritmticade intervalos, ya que s utilizamos vectores de entrada y salida puntuales todas lasecuaciones se reducirn a las clsicas utilizadas en Multilayer Feedforward conBackpropagation.

    2.2.2.1. Operaciones con Aritmtica de intervalos

    Primero veremos algunas operaciones que pueden realizarse con aritmticade intervalos y que nos sern de utilidad. En la referencia [7] puede encontrarseuna exposicin ms detallada.

    Sean dos intervalos cerrados A y B en los cuales denotaremos consuperndices I y S a los extremos inferior y superior respectivamente.

    SISI bbBaaA ,,

    Definiremos las siguientes operaciones:

    Suma de intervalos:

    SSIISISI bababbaaBA ,,, (2.1)

    Producto de un nmero real positivo o negativo por un intervalo:

    0,,0,,,

    msiamammsiamamaamAm IS

    SISI (2.2)

    Funcin exponencial de un intervalo:

    SISI aaaaA exp,exp,expexp (2.3)

    Derivada parcial respecto a variables de los lmites de los intervalos:

    axdycxsixaydxcdycxaxsiydxcxa

    ydxcxax 22,2,2

    22,2,2, 22 (2.4)

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 33 -

    2.2.2.2. Multilayer Feedforward con aritmtica de intervalos

    En el primer captulo describimos con detalle la arquitectura de la redMultilayer Feedforward.

    Ahora vamos a ver cul es la generalizacin de Multilayer Feedforward quese propone en las referencias [3] y [4].

    Partimos de la funcin de transferencia o de activacin utilizada enMultilayer Feedforward para una neurona x:

    x

    xf

    exp11 (2.5)

    La generalizacin de la misma a aritmtica de intervalos ser:

    SISISI

    aaafafaafAf

    exp11,

    exp11,, (2.6)

    Esta definicin es consistente ya que se trata de una funcin montonacreciente, por lo cual, la nueva funcin de transferencia transformar un intervaloA=[aI,aS] a la entrada de la neurona en otro intervalo f(A)=[f(aI),f(aS)] a la salidade la misma.

    En la figura 1 podemos ver la representacin de la nueva funcin detransferencia.

    Fig.1. Funcin de transferencia para aritmtica de intervalos.

    Veamos ahora como se transforman el resto de parmetros de la estructurade la red neuronal.

    -10 -8 -6 -4 -2 0 2 4 6 8 100

    0.2

    0.4

    0.6

    0.8

    1

    A=[a ,a ]

    f(A

    )=[f

    (a )

    ,f(a

    )]SI

    SI

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 34 -

    Para Multilayer Feedforward tenamos que los vectores de salida de lasdiferentes capas son:

    Capa de Entrada: NN aaaioioio ,,,,,, 2121 (2.7)

    Capa Oculta: )(,),(),(,,, 2121 NhNh hifhifhifhohoho (2.8)

    Capa de Salida: )(,),(),(,,, 2121 NsNs oifoifoifoooooo (2.9)

    Las ecuaciones para la red eran:

    N

    ijiijj awihi

    1

    (2.10)

    Nh

    jkjjkk howhoi

    1 (2.11)

    )exp(11

    jj hi

    ho

    (2.12)

    )exp(11

    kk oi

    oo

    (2.13)

    Veamos como se transforman estas ecuaciones mediante el uso deAritmtica de Intervalos.

    Ahora tendremos vectores formado por intervalos, denotaremos por P a unpatrn de entrada concreto, por I al lmite inferior de un intervalo y por S al lmitesuperior de un intervalo.

    Sea S iPI iP ii ,, , el intervalo que representa a la coordenada i-sima del vectorde entrada a la red del patrn P (neurona de entrada i). La dimensin de dichovector es N y puede escribirse:

    S NPI NPSPIPSPIP iiiiii ,,2,2,1,1, ,,,,,, (2.14)

    Igual que en la estructura Multilayer Feedforward, los pesos entre las capasde la estructura de la red neuronal que relacionan la salida de una capa con laentrada de la siguiente tendrn valores reales.

    La entrada a una neurona que no pertenezca a la capa de entrada ser lasuma de las contribuciones (salidas ponderadas por los pesos) de las neuronas dela capa anterior. Estas operaciones siguen siendo iguales. La diferencia radica enque ahora se multiplicarn los pesos (nmeros reales) entre dos neuronas por elintervalo que representa la salida de la neurona de la capa anterior, por lo queaparecern tambin multiplicaciones y sumas de intervalos vectoriales.

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS- 35 -

    Fig.2. Estructura Multilayer Feedforward con aritmtica de intervalos.

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 36 -

    Utilizaremos la estructura de la red con una sola capa oculta. El inters o node usar ms de una capa oculta en la red se tratar en el captulo 5.

    En la figura 2 puede verse la generalizacin de la estructura MultilayerFeedforward a aritmtica de intervalos que hemos utilizado. Llamaremos:

    Salida de la neurona i de la capa de entrada:

    S iPI iPiP iiI ,,, , (2.15)

    Salida de la neurona j de la capa oculta:

    )(,)()(, ,,,,,, S jPI jPjPS jPI jPjP nethfnethfNethfhhH (2.16)

    Salida de la neurona k de la capa de salida:

    )(,)()(, ,,,,,, S kPI kPkPS kPI kPkP netofnetofNetofooO (2.17)

    Llamamos y a los vectores de threshold o umbrales que intervienen enla capa oculta y en la capa de salida respectivamente. Estos se consiguenintroduciendo una neurona de salida constante con valor 1 en la capa inferior a laque se este estudiando.

    La entrada a la unidad j de la capa oculta ser:

    jN

    iiPji

    SjP

    IjPjP IwinethnethNeth

    1,,,,, , (2.18)

    Donde:

    j

    N

    wii

    SiPji

    N

    wii

    IiPji

    IjP

    jiji

    iwiiwineth

    01

    ,,

    01

    ,,,

    ,,

    (2.19)

    j

    N

    wii

    IiPji

    N

    wii

    SiPji

    SjP

    jiji

    iwiiwineth

    01

    ,,

    01

    ,,,

    ,,

    (2.20)

    En las ecuaciones anteriores wii,j son los pesos que conectan la neurona j dela capa oculta con la neurona i de la capa de entrada. La aparicin en lasecuaciones de dos sumatorios se debe a la propiedad que vimos antes sobre elproducto de un intervalo por un nmero real, ecuacin (2.2).

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 37 -

    La entrada a la unidad k de la capa de salida ser:

    kN

    jjPkj

    SkP

    IkPkP

    h

    HwhnetonetoNeto 1

    ,,,,, , (2.21)

    Donde:

    k

    N

    whj

    SjPkj

    N

    whj

    IjPkj

    IkP

    h

    kj

    h

    kj

    hwhhwhneto

    01

    ,,

    01

    ,,,

    ,,

    (2.22)

    k

    N

    whj

    IjPkj

    N

    whj

    SjPkj

    SkP

    h

    kj

    h

    kj

    hwhhwhneto

    01

    ,,

    01

    ,,,

    ,,

    (2.23)

    En las ecuaciones anteriores whj,k son los pesos que conectan la neurona kde la capa de salida con la neurona j de la capa oculta.

    Cabe destacar que si en las ecuaciones anteriores nos restringimos avectores puntuales, es decir, las variables etiquetadas con los ndices I y Srepresentan el mismo valor, obtendremos exactamente las mismas ecuaciones quevimos en el captulo primero para Multilayer Feedforward.

    2.2.2.3. Backpropagation con aritmtica de intervalos

    Una vez definida la estructura de la red ser necesario un entrenamiento dela misma antes de poder usarla. Para ello, debemos disponer de un conjuntosuficiente de ejemplos de entrenamiento con sus correspondientes objetivos. Losejemplos (patrones) y objetivos como vimos en la seccin anterior vendrnrepresentados por vectores de intervalos.

    Para un cierto patrn P tendr que el ejemplo y su objetivo podrnexpresarse por las ecuaciones (2.24) y (2.25) respectivamente, siendo N el nmerode atributos de entrada y Ns el nmero de clases o unidades de salida.

    S NPI NPSPIPSPIPP iiiiiiI ,,2,2,1,1, ,,,,,, (2.24)

    S NsPI NsPSPIPSPIPP ttttttT ,,2,2,1,1, ,,,,,, (2.25)

    Ahora tenemos que realizar la generalizacin del algoritmo de aprendizajeBackpropagation a aritmtica de intervalos. Como vimos, dicho algoritmoconsiste bsicamente en ajustar los pesos de la red durante iteracionesconsecutivas, a la vez que se minimiza una cierta funcin de error.

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 38 -

    La generalizacin consiste, igual que el apartado anterior, en transformar lasecuaciones teniendo en cuenta que tanto las seales de las neuronas de entradacomo las de salida vienen representadas por intervalos y que si estos fuesenpuntuales deberamos obtener las ecuaciones tradicionales de Backpropagation.

    En la bibliografa se pueden encontrar dos generalizaciones diferentes deBackpropagation a aritmtica de intervalos. La diferencia bsica entre ellas es lafuncin de error de partida.

    En los siguientes apartados describiremos ambas generalizaciones ydesarrollaremos sus ecuaciones.

    2.2.2.3.1. Algoritmo de Hernndez

    En las referencias [3] y [4] Hernndez describe una generalizacin aaritmtica de intervalos desarrollada tanto para la red Multilayer Feedforwardcomo para el algoritmo Backpropagation.

    El primer paso para definir la generalizacin del algoritmo es definir unafuncin de error para el uso de intervalos. Para ello, se fija como objetivo quetanto el lmite inferior como superior de las unidades de salida coincidan con loslmites de los intervalos que representan los objetivos.

    Se define as el error cuadrtico medio para el patrn P como:

    Ns

    k

    SkP

    SkP

    IkP

    IkPP ototE

    1

    2,,

    2,,

    4

    1 (2.26)

    El proceso de aprendizaje consiste en minimizar la funcin de error paratodos los ejemplos del conjunto de entrenamiento, los cuales se presentan a la reden sucesivas iteraciones hasta conseguir la convergencia de la funcin de error.

    La minimizacin del error se har respecto de los pesos de la red. Dado whjkuno de los pesos entre las neuronas j de una capa y k de la capa siguiente, elalgoritmo consistir en adaptar los pesos a medida que hacemos que converja lafuncin de error. Despus de cada iteracin los pesos sern modificados segn lassiguientes ecuaciones:

    twhwh

    Etwh kj

    kj

    Pkj ,

    ,, 1

    (2.27)

    twiwiE

    twi jiji

    Pji ,

    ,, 1

    (2.28)

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 39 -

    Donde es el paso de adaptacin y es el momento.

    Las salidas de las neuronas estn limitadas entre los valores 0 y 1(positivos), por lo que al multiplicar por un peso segn el signo de este puedevariar el orden de los lmites de los intervalos.

    Clculo de las derivadas de la capa oculta

    Calculamos las derivadas de los pesos entre la capa oculta y la de salida.

    A partir de la ecuacin (2.26) vemos la dependencia de Ep con oIP,k y oSP,k yla de estas (ecuacin (2.17)) con las variables netoIP,k netoSP,k .

    Aplicando la regla de la cadena para derivar obtenemos:

    kj

    SkP

    SkP

    SkP

    SkP

    P

    kj

    IkP

    IkP

    IkP

    IkP

    P

    kj

    P

    wh

    neto

    neto

    o

    o

    E

    wh

    neto

    neto

    o

    o

    E

    wh

    E

    ,

    ,

    ,

    ,

    ,,

    ,

    ,

    ,

    ,,

    (2.29)

    kj

    SP

    kj

    IP

    kj

    P

    wh

    E

    wh

    E

    wh

    E

    ,,,

    (2.30)

    A partir de la ecuacin (2.26) obtenemos:

    I kPI kPI

    kP

    P oto

    E,,

    , 2

    1

    (2.31)

    De la ecuacin (2.5) podemos deducir la derivada de la funcin detransferencia utilizada en la red.

    ))(1()(

    )exp(1)exp(

    )(2

    xfxfx

    xxf

    (2.32)

    De las ecuaciones (2.17) y (2.32) se puede deducir que:

    I kPI kPI

    kP

    IkP oo

    neto

    o,,

    ,

    , 1

    (2.33)

    La ltima derivada va a depender del signo del peso. A partir de la ecuacin(2.22) se obtiene:

    0

    0

    ,,

    ,,

    ,

    ,

    kjS

    jP

    kjI

    jP

    kj

    IkP

    whsih

    whsih

    wh

    neto (2.34)

    Del mismo modo, a partir de la ecuacin (2.23) se obtiene:

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 40 -

    0

    0

    ,,

    ,,

    ,

    ,

    kjI

    jP

    kjS

    jP

    kj

    SkP

    whsih

    whsih

    wh

    neto (2.35)

    Definimos las siguientes variables:

    I kPI kPI kPI kPI kP ooot ,,,,, 12

    1 (2.36)

    S kPS kPS kPS kPS kP ooot ,,,,, 12

    1 (2.37)

    El resultado final de la derivada ser:

    0

    0

    ,,,,,

    ,,,,,

    , kjI

    jPS

    kPS

    jPI

    kP

    kjS

    jPS

    kPI

    jPI

    kP

    kj

    P

    whsihh

    whsihh

    wh

    E

    (2.38)

    Clculo de las derivadas de la capa de entrada

    Calcularemos ahora la derivada respecto de los pesos entre las unidades dela capa oculta y la de entrada.

    ji

    SP

    ji

    IP

    ji

    P

    wiE

    wiE

    wiE

    ,,,

    (2.39)

    Vemos que ahora depender de las variables oP,k, netoP,k y hP,j. Tendremos:

    k ji

    IkP

    IkP

    IkP

    IkP

    P

    ji

    IP

    wineto

    netoo

    oE

    wiE

    ,

    ,

    ,

    ,

    ,,

    (2.40)

    k ji

    SkP

    SkP

    SkP

    SkP

    P

    ji

    SP

    wi

    neto

    neto

    o

    o

    E

    wi

    E

    ,

    ,

    ,

    ,

    ,,

    (2.41)

    De la ecuacin (2.22) y teniendo en cuenta el signo de los pesos, tenemos:

    0

    0

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    kj

    ji

    SkP

    SkP

    SjP

    SjP

    IkP

    kj

    ji

    IkP

    IkP

    IjP

    IjP

    IkP

    ji

    IkP

    whsiwi

    neth

    neth

    h

    h

    neto

    whsiwi

    neth

    neth

    h

    h

    neto

    wi

    neto

    (2.42)

    Del mismo modo a partir de la ecuacin (2.23):

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 41 -

    0

    0

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    kj

    ji

    IkP

    IkP

    IjP

    IjP

    SkP

    kj

    ji

    SkP

    SkP

    SjP

    SjP

    SkP

    ji

    SkP

    whsiwi

    neth

    neth

    h

    h

    neto

    whsiwi

    neth

    neth

    h

    h

    neto

    wi

    neto

    (2.43)

    Sustituyendo las ecuaciones anteriores en la derivada que queremos calcularse obtiene la siguiente ecuacin.

    0, ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    0, ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    0, ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    0, ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,,

    ,

    ,

    ,

    ,

    kj

    kj

    kj

    kj

    whk ji

    IkP

    IkP

    IjP

    IjP

    SkP

    SkP

    SkP

    SkP

    P

    whk ji

    SkP

    SkP

    SjP

    SjP

    SkP

    SkP

    SkP

    SkP

    P

    whk ji

    SkP

    SkP

    SjP

    SjP

    IkP

    IkP

    IkP

    IkP

    P

    whk ji

    IkP

    IkP

    IjP

    IjP

    IkP

    IkP

    IkP

    IkP

    P

    ji

    P

    wi

    neth

    neth

    h

    h

    neto

    neto

    o

    o

    E

    wi

    neth

    neth

    h

    h

    neto

    neto

    o

    o

    E

    wi

    neth

    neth

    h

    h

    neto

    neto

    o

    o

    E

    wi

    neth

    neth

    h

    h

    neto

    neto

    o

    o

    E

    wi

    E (2.44)

    Utilizando las ecuaciones (2.32), (2.36) y (2.37) podemos sustituir en laecuacin anterior el valor de las derivadas.

    0, ,

    ,,,,,

    0, ,

    ,,,,,

    0, ,

    ,,,,,

    0, ,

    ,,,,,

    ,

    ,

    ,

    ,

    ,

    1

    1

    1

    1

    kj

    kj

    kj

    kj

    whk ji

    IkPI

    jPI

    jPkjS

    kP

    whk ji

    SkPS

    jPS

    jPkjS

    kP

    whk ji

    SkPS

    jPS

    jPkjI

    kP

    whk ji

    IkPI

    jPI

    jPkjI

    kP

    ji

    P

    wi

    nethhhwh

    wi

    nethhhwh

    wi

    nethhhwh

    wi

    nethhhwh

    wi

    E

    (2.45)

    Solo queda calcular la ltima derivada que depende del signo de los pesos:

    0

    0

    ,,

    ,,

    ,

    ,

    jiS

    iP

    jiI

    iP

    ji

    IjP

    wisii

    wisii

    wi

    neth (2.46)

    0

    0

    ,,

    ,,

    ,

    ,

    jiI

    iP

    jiS

    iP

    ji

    SjP

    wisii

    wisii

    wi

    neth (2.47)

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 42 -

    Definimos las siguientes variables:

    I jPI jPwhk

    kjS

    kPwhk

    kjI

    kPI

    jP hhwhwhhkjkj

    ,,0,

    ,,0,

    ,,, 1,,

    (2.48)

    S jPS jPwhk

    kjI

    kPwhk

    kjS

    kPS

    jP hhwhwhhkjkj

    ,,0,

    ,,0,

    ,,, 1,,

    (2.49)

    Utilizando (2.46), (2.47), (2.48) y (2.49) y sustituyendo en la ecuacin(2.45) queda:

    0

    0

    ,,,,,

    ,,,,,

    , jiS

    iPI

    jPI

    iPS

    jP

    jiS

    iPS

    jPI

    iPI

    jP

    ji

    P

    wisiihih

    wisiihih

    wi

    E

    (2.50)

    2.2.2.3.2. Algoritmo de Ishibuchi

    En esta generalizacin a aritmtica de intervalos, el vector de los objetivosno es un vector de intervalos, sino que cuando la entrada se clasifique en unacierta clase el objetivo ser 1 y si no ser cero.

    La funcin de error definida por Ishibuchi en las referencias [5] y [6] estambin diferente.

    Ishibuchi define la funcin de error que hay que minimizar como:

    Ns

    kkPkP

    kPkPP Ooquetal

    otmaxE

    1,,

    2,, :

    2(2.51)

    Donde oP,k es un nmero real, y OP,k es el intervalo de salida para la k-simaunidad de salida.

    Utilizaremos aqu la misma notacin que vimos para aritmtica deintervalos desde la ecuacin (2.15) hasta la (2.23).

    Dada una clase (unidad de salida) le restamos al objetivo de dicha clase elvalor oP,k del intervalo y nos quedamos con el mximo. Es decir, sea r una clase:

    Si el patrn es de la clase r tP,k=1 y oP,k debe ser mnimo, ser oIP,k.

    Si el patrn no es de la clase r tP,k=0 y oP,k debe ser mximo, ser oSP,k.

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 43 -

    La funcin max de la ecuacin (2.51) equivale simplemente a distinguir enla suma si la salida pertenece o no a la clase. Podemos reescribir as dichaecuacin como:

    2,,

    1

    2,,

    21

    2I

    rPrP

    Ns

    rkk

    SkPkP

    P otot

    E

    (2.52)

    Igual que en el algoritmo de Hernndez, despus de cada iteracin los pesossern modificados segn las siguientes ecuaciones:

    twhwhEtwh kj

    kj

    Pkj ,

    ,, 1

    (2.53)

    twiwiEtwi ji

    ji

    Pji ,

    ,, 1

    (2.54)

    Donde es el paso de adaptacin y el momento.

    Veamos como calcular las derivadas en las expresiones anteriores.

    Clculo de las derivadas de la capa oculta

    Calculamos las derivadas para los pesos entre la capa oculta y la de salida.

    A partir de la ecuacin (2.52) vemos que hay que distinguir entre s laentrada se clasifica en una cierta clase r o no.

    rksiwho

    otwho

    oE

    rksiwho

    otwho

    oE

    whE

    kj

    SkPS

    kPkPkj

    SkP

    SkP

    P

    kj

    IkPI

    kPkPkj

    IkP

    IkP

    P

    kj

    P

    ,

    ,,,

    ,

    ,

    ,

    ,

    ,,,

    ,

    ,

    ,

    ,)(

    )( (2.55)

    Para calcular las derivadas de oIP,k y oSP,k usamos las siguientes ecuaciones:

    kj

    IkPI

    kPI

    kPkj

    IkP

    IkP

    IkP

    kj

    IkP

    wh

    netooo

    wh

    neto

    neto

    o

    wh

    o

    ,

    ,,,

    ,

    ,

    ,

    ,

    ,

    , 1

    (2.56)

    kj

    SkPS

    kPS

    kPkj

    SkP

    SkP

    SkP

    kj

    SkP

    wh

    netooo

    wh

    neto

    neto

    o

    wh

    o

    ,

    ,,,

    ,

    ,

    ,

    ,

    ,

    , 1

    (2.57)

    Sustituyendo en la ecuacin (2.55) queda:

  • 2.2. PROCEDIMIENTOS DE UTILIZACIN DE ENTRADAS DESCONOCIDAS

    - 44 -

    rksiwh

    netoooot

    rksiwh

    netoooot

    whE

    kj

    SkPS

    kPS

    kPS

    kPkP

    kj

    IkPI

    kPI

    kPI

    kPkP

    kj

    P

    ,

    ,,,,,

    ,

    ,,,,,

    ,1)(

    1)( (2.58)

    Definimos las siguientes variables:

    I kPI kPI kPkPI kP ooot ,,,,, 1 (2.59)

    S kPS kPS kPkPS kP ooot ,,,,, 1 (2.60)

    Sustituimos las ecuaciones (2.34) y (2.35) en las ecuaciones (2.56) y (2.57)y para obtener el resultado final de la derivada sustituimos el resultado anteriorjunto con las ecuaciones (2.59) y (2.60) en la ecuacin (2.58). As tenemos:

    0

    0

    0

    0

    ,,,

    ,,,

    ,,,

    ,,,

    ,

    kjI

    jPS

    kP

    kjS

    jPI

    kP

    kjS

    jPS

    kP

    kjI

    jPI

    kP

    kj

    P

    whyrksih

    whyrksih

    whyrksih

    whyrksih

    whE

    (2.61)

    Clculo de las derivadas de la capa de entrada

    Calcularemos ahora la derivada respecto de los pesos entre las unidades dela capa oculta y la de entrada.

    Hay que distinguir de nuevo entre s los pesos son positivos o negativos.

    rksiwho

    otwio

    oE

    rksiwi

    oot

    wi

    o

    oE

    wiE

    Ns

    rkk ji

    SkPS

    kPkPji

    SkP

    SkP

    P

    ji

    IkPI

    kPkPji

    IkP

    IkP

    P

    ji

    P

    1 ,

    ,,,

    ,

    ,

    ,

    ,

    ,,,

    ,

    ,

    ,

    , )(

    )( (2.62)

    Teniendo en cuenta el signo de los pesos tenemos:

    0

    0

    ,,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,,

    ,

    ,

    ,

    ,

    ,

    ,

    ,

    ,