Documente Academic
Documente Profesional
Documente Cultură
FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA EN INFORMATICA
AUTOR:
1 Resumen
2 Objetivos
3.1 Motivación
Por otro lado respecto a artículos relacionados con redes neuronales y la base de datos
ZOO destaca el trabajo de investigación de Karabulut E., Özel S. & Ibrikci (2012) sobre el
efecto de la selección de características de precisión de NaïveBayes, Red Neural Artificial
como el Perceptrón Multicapa, y el clasificador de árboles de decisión J48, en donde ambos
clasificadores son comparados. También, destaca lo hecho por Jiang, Y. & Zhou, Z.(2004)
en donde proponen utilizar un conjunto de redes neurales para editar los datos de
entrenamiento para los clasificadores kNN, así pues sus experimentos demuestran que su
enfoque es mejor que los enfoques derivados de la depuración
• ¿Cuáles son las reglas más representativas para avalar y probar la hipótesis?
• ¿Los parámetros escogidos para el algoritmo perceptron multicapa son los óptimos
para encontrar morfologías relevantes?
Al termino del trabajo de investigación y una vez analizados los resultados obtenidos
de cada experimento se espera encontrar los atributos más relevantes del dataset para
caracterizar dentro de la base de datos ZOO y así determinar patrones entre las especies de
animales y sus agrupaciones según sus características morfológicas, y también poder realizar
un comparativo con las conclusiones dadas en el laboratorio 4 referentes a los árboles de
decisión y contrastarlas con los resultados obtenidos de las redes neuronales.
REDES NEURONALES
PERCEPTRON MULTICAPA
Este tipo de redes se caracterizan por su facilidad de implementación. Su aprendizaje
se basa en la retro propagación: se parte de unos pesos iniciales en las conexiones inter
neuronales. Para un conjunto de entradas se obtiene una cierta salida. Basándose en que se
conoce la salida que deberíamos haber obtenido (patrón catalogado – aprendizaje
supervisado), calculamos el error. A partir de este error se modifican los pesos siguiendo el
sentido inverso al de evolución de la Red (se parte de la salida hasta llegar a la entrada). De
la misma manera se opera con el resto de entradas de entrenamiento. Se puede observar que
el error irá disminuyendo a medida que se aplique el algoritmo.
Sin embargo un entrenamiento reiterado con las mismas entradas acaba provocando
un sobre-entrenamiento a la Red Neuronal, memorizando características de un conjunto,
impidiendo así que aprenda a generalizar. Por eso tras cada iteración hay que evaluar:
introducir nuevos valores distintos a los de entrenamiento y calcular el error de salida. De
esta manera se obtiene una función (error de evaluación) de la que nos interesa hallar su
mínimo absoluto (puede haber mínimos locales). Determinando el número de iteraciones con
que se alcanza dicho valor, nos aseguramos, en cierta forma, obtener un bajo error para
cualquier conjunto de datos de entrada. Después, se puede aplicar un test con un conjunto
nuevo de entradas que nos dará una medida de la capacidad de discriminación de la Red.
Perceptrón
De acuerdo a lo definido por Rosenblatt, F. (1958), un perceptrón es una estructura
neuronal más una regla de aprendizaje. Como se explicaba anteriormente, una neurona se
compone de un conjunto de entradas, cada una con un peso, que se introducen en el cuerpo
de la misma para su procesamiento. Ese procesamiento puede consistir en:
- Combinación lineal:
y i xi
i
- Distancia euclídeana:
y x
2
i i
i
Wk 1 Wk X t y d y
Dónde:
W = vector de pesos
k = iteración actual
h = factor de aprendizaje
X = vector de entradas
yd = salida deseada
y = salida obtenida en la iteración k
Una propiedad muy importante de este algoritmo es la convergencia en presencia de
solución y la posibilidad de implementar ciclos límite en ausencia de la misma.
El factor de aprendizaje h determina la rapidez del algoritmo pero también su
exactitud. Cuanto mayor sea, necesitaremos menos iteraciones (antes alcanzaremos las
cercanías del mínimo error de evaluación) pero el aprendizaje es muy grosero (es más
probable que nos quedemos oscilando en las cercanías del mínimo error de evaluación que
lo alcancemos realmente). Cuanto menor sea, más lento es pero más fino en el aprendizaje.
BACKPROPAGATION
Conforme a lo indicado se desarrolla el algoritmo Backpropagation como un
mecanismo de aprendizaje para el perceptrón multicapa. De alta popularidad para la
solución de problemas de clasificación y pronóstico.
Es un método de entrenamiento general para redes multicapas, requiriendo la
diferencia en la capa de salida. Es decir la función debe ser diferenciable (sigmoide). En la
siguiente figura podemos observar una neurona básica en backpropagation, con sus capas de
entrada, oculta y de salida. La de salida activada con una función sigmoidal que describe
valores de z entre 0 y 1.
Los errores del modelo se calculando según la ponderación de la media aritmética de las
sumas de los errores de cada iteración, tal que:
𝑛
1
E = ∑ 𝐸𝑖
𝐾
𝑘=1
Matriz de Confusión
predicciones de cada clase, mientras que cada fila representa a las instancias en la clase real.
Uno de los beneficios de las matrices de confusión es que facilitan ver si el sistema está
confundiendo dos clases.
Si en los datos de entrada el número de muestras de clases diferentes cambia mucho la tasa
de error del clasificador no es representativa de lo bien que realiza la tarea el clasificador. Si
por ejemplo hay 990 muestras de la clase 1 y sólo 10 de la clase 2, el clasificador puede tener
fácilmente un sesgo hacia la clase 1. Si el clasificador clasifica todas las muestras como clase
1 su precisión será del 99%. Esto no significa que sea un buen clasificador, pues tuvo un
100% de error en la clasificación de las muestras de la clase 2.
El Dataset ZOO cuenta con 101 animales extraídos desde una colección Zoológica.
Hay 23 variables con una serie de rasgos que describen a los animales. Se definen 7 Tipos de
Clases: Mamíferos, Aves, Reptiles, Peces, Anfibios, Insectos (voladores) e Invertebrados.
Originalmente, las características disponibles para esta dataset era un conjunto de 16
morfologías, las cuales son dicotómicas, excepto la cantidad de patas las que pueden ir desde
0 hasta 8 patas. Sin embargo, con el propósito de poder disponer de datos normalizados, se
ha llevado esta variable a nominal.
Con la finalidad de disponer del contenido del Dataset ZOO, y hacer más fácil su
análisis en interpretación de estos, se dispone del siguiente archivo, el cual se detalla a
continuación:
zoo.arff: Corresponde a una muestra de 101 animales. Por otro lado, este archivo comienza
por el encabezado, el cual corresponde a las características más relevantes de cada especie,
pues cobra sentido al momento de agrupar y clasificar cada animal según sus especies por
medio de estas características morfológicas.
o 1 = Mamífero
o 2 = Ave
o 3 = Reptil
o 4 = Pez
o 5 = Anfibio
o 6 = Insecto (volador)
o 7 = Invertebrado
5.3 Experimentación.
En esta sección se verán principalmente las funcionalidades que son abordadas en la
herramienta con la finalidad de realizar el laboratorio.
Cada una de las funcionalidades será mostrada por medio de imágenes las cuales
representan el proceso que se siguió para extraer el conocimiento:
Una vez se hayan encontrado los parámetros correctos para diseñar la red neuronal,
por medio de la pantalla que se muestra en la ilustración 3, se eliminaran las variables
que menos influyan en la clasificación de especies.
Una vez encontrado los parámetros adecuados, se realizara la poda de las variables
que menos influyan en la clasificación de las clases de animales. Para ello se
seleccionara en la sección “Attribute Evaluator” el método que permitirá realizar la
selección de tales variables. Para efectos de este laboratorio, se utilizara el método el
método de correlación entre variables y la clase (“CorelationAttributeEval”).
Esto permitirá visualizar un ranquin de variables donde se ira descartando una por una
cada una de las variables hasta el momento en que el error comience a aumentar.
Tal como se mencionó anteriormente, los parámetros que serán modificados son:
• Learning Rate: Son los pesos iniciales de la red neuronal. Debido a que la retro
propagación del error es abordado desde la perspectiva de la optimización, los valores
iniciales son puntos en el plano de los errores donde comenzara el descenso hasta
encontrar óptimos de mejor calidad que el valor dado en un comienzo. A este valor
inicial también se le llama óptimo inicial, el cual de forma frecuente no es un opimo
de buena calidad.
• Momentum: Hace referencia al porcentaje de amplitudes anteriores que se dan como
impulso a los siguientes pasos landa sobre el plano de los errores. Esto permite salir
Por medio de la tabla 2, es posible observar que los mejores parámetros tanto para el
“momentum” como para “learning rate” son 0.1. Sin embargo resta por analizar el desempeño
de la red neuronal con el parámetro “training time”.
El siguiente análisis se ha efectuado con medidas del parámetro anteriormente
mencionado que van desde 500 a 10.000. Cada prueba ha sido con un intervalo de entre 2.000
de dicho parámetro.
Como es posible observar, no hay gran cambio en los resultados por medio de este parámetro.
El único cambio visible es el área de ROC que mejoró substancialmente en tiempos más
bajos.
En resumen, los parámetros que serán abordados para las siguientes etapas de diseño del
perceptrón multicapa son:
• Momentum = 0.1
• Training Time = 500
Por medio de la tabla 4 es posible observar que los cuatro animales mal clasificados que se
mencionaron anteriormente en el test de selección de parámetros corresponden a dos
animales de la clase reptil, a uno de la clase anfibio y el último de la clase insectos.
Reducción de variables
Índice de Correlación
Para realizar la reducción de variables se ha utilizado el índice de correlación el cual
representa la relación que existe entre cada una de las variables y la clase. Con este índice se
obtiene las siguientes medidas:
Este proceso se realizara hasta que el error (área de ROC y correctamente clasificados
disminuya) aumente. Al momento en que el error aumente se corroborara que las variables
que siguen son importantes en la clasificación de especies.
En la tabla 6 es posible observar que solo se pueden eliminar las variables “depredador” y
“domestico” sin que aumente el error. Ante esto, se verificara el mismo proceso con el
método de reducción de variables “razón de ganancia”.
Razón de ganancia
Se utilizara este método para verificar si es posible realizar una reducción mayor a la obtenida
anteriormente. Por medio de este método se obtiene el siguiente ranking, el cual representa
cuan significante o ganancia de información al momento de considerar cada una de las
variables con respecto a la clase.
Por medio de la tabla 8 es posible observar que al eliminar las cuatro primero variables el
error disminuye, sin embargo al seguir eliminando variables tales como “acuático” y
“volador” el error aumenta. También es posible inferir que los resultados obtenidos por
medio de “razón de ganancia” han sido mejores que los obtenidos por medio de “índice de
correlación”. Sin embargo, no se prosiguiera el análisis sin antes corroborar el siguiente
método con el cual se obtuvieron sus resultados en el laboratorio 4.
Este método no está presente en como funcionalidad de reducción de variables en Weka, sin
embargo mencionado en clases como técnica de reducción de variables al igual que clustering
y análisis de componentes principales.
Por medio de las reglas que se observan en la tabla 9, es posible determinar las variables que
más caracterizan a cada especie, las cuales se muestran a continuación:
Por medio de la eliminación de todas las demás variables, y tan solo incluyendo como
entradas a la red neuronal las variables presentes en la tabla 10 se obtuvieron los siguientes
resultados:
• Correctamente clasificados = 97
• Incorrectamente clasificados = 4
• Área ROC = 0.995
Por último, se aumentó el número de neuronas en la capa oculta de 6 (valor por defecto
ajustado al mismo número de entradas) a 7, obteniendo los siguientes resultados:
• Correctamente clasificados = 98
• Incorrectamente clasificados = 3
• Área ROC = 0.995
Mamíferos 41
Aves 20
Reptiles 5
Peces 13
Anfibios 1 3
Insectos 6 2
Invertebrados 10
Ilustración 6. Red neuronal generada con tan solo 6 variables que caracterizan a la clase.
Según los resultados obtenidos, se tuvo exactamente tres animales que fueron
clasificados incorrectamente. Específicamente, al visualizar los valores entregados en la
medición de la bondad del modelo se tiene que:
Como se puede observar, en la tabla 12, hay tres especies que fueron correctamente
clasificadas las cuales son mamíferos, aves y peses, sin embargo como se vio anteriormente
en la matriz de confusión (tabla 11), hay exactamente tres animales que fueron clasificados
incorrectamente, los cuales perteneces al grupo de insectos y anfibios y que se ve
representado en las ilustraciones 7 y 8 en un área ROC menor que los clasificados
correctamente. Por otro lado, ya se tenía indicio en laboratorios anteriores que la clasificación
tanto de insectos como de anfibios es una tarea compleja, ya que cada uno de estos grupos
tiene cualidades morfológicas muy parecidas con otras especies. Tal es el caso de los anfibios
con los reptiles mencionado por Alibardi L. (2003), o los insectos con los invertebrados
mencionado por Baran Mandal (2012). Sin embargo es una mejora notable en la clasificación
de las redes neuronales en comparación a tanto los arboles de decisión como de la
clusterización.
un óptimo de mejor calidad que el haber escogido un valor mayor a este como solución
inicial, ya que por ejemplo al escoger el valor “0.5” no se obtuvieron grandes resultados tanto
en el área de ROC, como en los verdaderos positivos y negativos.
Con respecto al parámetro “Training Time” se escogió el menor valor del rango se
propuso, el cual es 500. Al aumentar este parámetro el error aumento debido a que las
iteraciones con las cuales el modelo se entrenan son demasiadas, lo cual provoca un
sobreajuste a los dato de entrenamiento. A esto se le llama “La gran varianza” lo cual provoca
que el modelo se ajuste demasiado a unos datos determinados pero luego cuando se prueba
el modelo con los datos de test el modelo no es capaz de clasificarlos debido a que esta
sobreentrenado con un conjunto de datos determinado.
Como último parámetro, la cantidad de capas ocultas por defecto en el software Weka
es del mismo número que las entradas a la neurona, es decir para el modelo de clasificación
de animales es de 6 neuronas en esta capa. A medida que la cantidad de neuronas en esta
capa disminuía, los resultados de clasificación empeoraban, sin embargo al aumentar a 7, los
valores mejoraban. Esto es posible entenderlo debido a que una de las maneras para disminuir
el sesgo o la baja capacidad de clasificar de un modelo debido a su simplicidad, es aumentar
de manera prudente el número de neuronas en la capa oculta. Es decir, el modelo era muy
simple por lo que fue necesario agregar tan solo una neurona más, de esta manera el error es
mejorado al proveer más pesos y una función más de procesamiento lo cual ayuda al proceso
de optimización del error cuadrático.
Por otro lado, en cuanto a la reducción de direccionalidad se produjo algo bastante
interesante, ya que después que se escogieron los parámetros se comenzó a determinar las
variables que no eran influyentes o que obstaculizaban en el proceso de clasificación de la
red neuronal, por lo cual se intentó detectar las variables con menor ranking de relación con
la clase. Por tal motivo se empleó dos principales métodos que provee el software Weka los
cuales son “índice de correlación” y “relación de ganancia”. Entre estos dos métodos, el que
entrego mejores resultados fue “relación de ganancia”, sin embargo en este punto es donde
se une el conocimiento encontrado en el laboratorio anterior, debido a que se optó por tomar
las variables (tabla 10) que componen las reglas de asociación procedentes del árbol de
decisión (tabla 9).
Esto hace referencia a que muchas de las características de los animales son distintivas
y propias de cada especie, por lo cual incluir variables al modelo para la gran mayoría de
especies seria redundante.
Un ejemplo de lo anteriormente mencionado es la especie mamíferos, el cual solo
integrantes de este grupo amamantan. También está el caso de las aves las cuales solo ellas
poseen plumas. Sin embargo hay algunas especies que tienen similitudes en común tales
como las mencionadas por Baran Mandal (2012). La especie “insecto” es una subcategoría
de invertebrados, con lo cual se entiende porque dos de los insectos fueron clasificados como
invertebrados (tabla 11 de matriz de confusión). Otra característica muy interesante que
presentan los insectos, lo cual es mencionado por James Gould (1986), es la transversalidad
de una característica que se aplica a la gran mayoría de insectos, es la capacidad de realizar
mapas marcando rutas por medo de feromonas, lo cual es una de las grandes diferencias entre
“insectos” y otros animales pertenecientes al grupo de los “invertebrados”.
Otro ejemplo que de similitudes que se ve plasmado en el error de clasificación de la
red neuronal en tan solo un animal que correspondía a los reptiles y fue clasificado como
anfibio. Una similitud muy interesante es la mencionada por Alibardi L. (2003), el cual
encontró que en la etapa embrionaria de los anfibios y reptiles tenían algunas similitudes que
algunas de ellas permanecían después de su desarrollo como otras no. Por ejemplo el
desarrollo de la córnea en estas dos especies permanece similar e inalterable entre estas dos
especies incluso hasta la adultez del espécimen. Por otra parte, la piel en la etapa embrionaria
es muy similar entre estas dos especies.
Conclusiones
duda caracterizan mejor a sus respectivas clases, pero por otro lado las clases anfibio e
invertebrado, en el árbol de decisión, tienen atributos que posiblemente no sean los más
representativos de su clase, así se tiene que el atributo “ser depredador” aunque es el que
mejor caracteriza a los invertebrado, está presente en muchas especies de animales distintas
a los invertebrados. Por otro lado, el atributo “posee espina dorsal” es la que mejor caracteriza
a la clase reptil, aun cuando existen muchas especies de animales que poseen espina dorsal
y no son clasificados como reptil. También, es interesante mencionar que existen 2 instancias
de ranas en la base de datos ZOO, y que una de ellas fue clasificada como reptil y la otra
como anfibio, y que la única diferencia entre ellas es que una posee cola y la otra no.
8 Referencias
1. Rosenblatt, F. (1958). The Perceptron: A probabilistic Model For Information Storage And
Organization. Cornell Aeronautical Laboratory School. Vol. 65, No. 6, 19S8
2. Karabulut E., Özel S. & Ibrikci T (2012). A comparative study of feature selection for
classification accuracy . Procedia TechnologyI , Elsevier. Vol. 2, pp. 323 – 327.
3. Jiang, Y. & Zhou, Z. H. (2004). Editing training data for kNN classifiers with neural network
ensemble. Advances in Neural Networks. ISNN 2004, 356-361.
4. Sankar K. & Sushmita M. (1992).Multilayer perceptron, fuzzy sets, and classification. IEEE
Transactions on Neural Networks. Vol. 3, No. 5.
5. Le Cun, Y., Touresky, D., Hinton, G., & Sejnowski, T. (1998). A Theoretical Framework for
Back-Propagation. In The Connectionist Models Summer School (Vol. 1, pp. 21-28).
8. Randall D.J., Burggren W.W., Farrell A.P. & Haswell M.S. (1981) The Evolution
of Air Breathing in Vertebrates. Cambridge University Press, p 133.
10. Gould, James L. (1986) The locale map of honey bees: do insects have cognitive
maps?. Science, vol. 232, p. 861.