RED NEURONAL DE KOHONEN

Documentos relacionados
REDES NEURONALES NO SUPERVISADAS

OPENCOURSEWARE REDES DE NEURONAS ARTIFICIALES Inés M. Galván José M. Valls. Preguntas y Ejercicios para Evaluación: Tema 4

Aprendizaje no supervisado

Redes Neuronales Artificiales

Hoja 4 Variables aleatorias multidimensionales

SOLUCIONES AL EXAMEN DE SEPTIEMBRE DE ESTADÍSTICA EXAMEN DE MATEMÁTICAS II

Métodos de Aprendizaje en Redes Neuronales

ESPACIOS VECTORIALES Y APLICACIONES LINEALES

Ejercicio 1. Ejercicio 2

TEMA V. Espacios vectoriales

Llamando: y = número de kg de B. La función objetivo a minimizar es: F (x, y) = 5x + 4y. con las restricciones: y 1,5x x 500 y 500 x + y 600 x 0 y 0

SEPTIEMBRE Opción A

CÁLCULO NUMÉRICO I (Tema 2 - Relación 1)

Self Organizing Maps. Self Organizing Maps. SOM/KOHONEN Network Mapas Auto-organizativos. Estructura de la Red. Estructura de la Red

Análisis de Datos. Red de función de base radial. Profesor: Dr. Wilfrido Gómez Flores

Tema 2 Primeros Modelos Computacionales

, obtén la expresión de la matriz X del apartado anterior. (0.5 ptos) 3 4. (0.5 ptos) (0.25 ptos por la inversa)

Área de Matemáticas orientadas a las enseñanzas académicas Funciones y Gráficas. Características.

Funciones y Gráficas. Área de Matemáticas. Curso 2014/2015

PARTE COMÚN MATERIA: FUNDAMENTOS DE MATEMÁTICAS

2 Obtener el término general de las siguientes sucesiones definidas por recurrencia: y0 = a > 0

Matemáticas Nivel Medio Matemáticas Ap.CC.SS.II

Fundamentos de la investigación en psicología

ENUNCIADO y SOLUCIONES. Problema 1

Redes Neuronales. Las redes neuronales son modelos computacionales que buscan imitar el funcionamiento

Apellidos: Nombre: Opción A

Selectividad Matemáticas II junio 2017, Andalucía

Examen extraordinario Ejercicio 4 (55 minutos) 4 de septiembre de 2006

LA CIRCUNFERENCIA. La circunferencia es la sección producida por un plano perpendicular al eje.

Práctica complementaria resuelta: Elipse e Hipérbola (2016)

Inteligencia Artificial (Curso ) Grado en Ingeniería Informática - Ingeniería del Software

Uso de una red neuronal multicapa para el reconocimiento de caracteres griegos. Skynet Reloaded

Algebra I Enero 2015

Álgebra Lineal Agosto 2016

Propuesta A. b) Resuelve el sistema planteado en el apartado anterior. (0 5 puntos)

PAU Madrid. Matemáticas II. Año Examen modelo. Opción A. Ejercicio 1. Valor: 2 puntos.

PRUEBA DE ACCESO A LA UNIVERSIDAD MATEMÁTICAS II DE ANDALUCÍA CURSO Opción A

Propuesta A. a) 0.25 por cada inecuación bien dibujada. Toda la región factible 1 punto.

1. La Distribución Normal

Ejercicios de optimización sin restricciones

APROXIMACION NUMERICA DE SISTEMA DE ECUACIONES NO LINEALES Profesor: Jaime Álvarez Maldonado

Cuáles son las características aleatorias de la nueva variable?

Relación 1. Espacios vectoriales

Influencia de la moda en dinámica social con interacción global

Relación 7 - Redes neuronales

Perceptrón simple y perceptrón multicapa

CASOS DE LA FUNCIÓN AFÍN

GENERACION DE NUMEROS ALEATORIOS Y VARIABLES ALEATORIAS

El sistema fue desarrollado bajo el sistema operativo Windows XP de Microsoft, utilizando

UNIVERSIDAD AUTÓNOMA DE SINALOA FACULTAD DE AGRONOMÍA HIDRÁULICA

CAPITULO 5 DISEÑO DE UN CLASIFICADOR DE

Tema 4: Variables Aleatorias

FLORIDA Secundaria. 1º BACH MATEMÁTICAS CCSS -1- BLOQUE ESTADÍSTICA: ESTADÍSTICA VARIABLE UNIDIMENSIONAL. Estadística variable unidimensional

EJERCICIOS DE PRUEBA DE HIPOTESIS

1º BACHILLERATO MATEMÁTICAS CIENCIAS SOCIALES TEMA 4.- LÍMITES, CONTINUIDAD Y DERIVADAS

7. PARAMETRIZACIÓN SOBRE LA RED DE PRUEBA

PERCEPTRONES SIMPLE, MULTICAPA Y BACKPROPAGATION

MATEMÁTICAS. El alumno deberá responder únicamente a una de las cuestiones de cada bloque.

Bárbara Cánovas Conesa

Función de Green, método de imágenes y separación de variables.

Las Redes Neuronales Artificiales y su importancia como herramienta en la toma de decisiones. Villanueva Espinoza, María del Rosario CAPÍTULO V

CRITERIOS DE EVALUACIÓN 1º BACH. C. N. S. MATEMÁTICAS I

Un estudio estadístico consta de las siguientes fases: Recogida de datos. Organización y representación de datos. Análisis de datos.

Ejercicios N 3 (MAT 021)

Variables Aleatorias y Principios de Simulación.

LA CIRCUNFERENCIA. x y r. (x h) (y k) r. d(p; 0) x y r. d(p; C) (x h) (y k) r. Definición. Ecuación de la circunferencia. Geometría Analítica 3

no es función de distribución de un vector aleatorio (b) Mostrar que:

Aprendizaje no supervisado: Mapas Auto-organizados SOM - Inspiración y objetivos - Aprendizaje - Ejemplo y aplicaciones

Filtro de Partículas Luca Martino Juan Santaella Vallejo Tratamiento Digital de Señales Master Interuniversitario en Comunicaciones y Multimedia

Solución al Primer Parcial de Introducción a la Investigación de Operaciones Fecha: 11 de mayo de 2002

La ciencia que estudia los fenómenos balísticos en general se denomina «Balística».

Subspacios Vectoriales

3.7 IDENTIFICACION DE UN SISTEMA DINÁMICO NO LINEAL Descripción del Problema: La identificación de un sistema consiste en

Problemas en circuitos serie

INTRODUCCIÓN AL ANÁLISIS DE DATOS ORIENTACIONES (TEMA Nº 7)

EL ESPACIO EUCLÍDEO. 1.- Sean (R 3,R 3,f) el espacio afín usual tridimensional real, R ={P 0, P 1, P 2, P 3 } y R,

ESTADÍSTICA. Individuo. Es cada uno de los elementos que forman la población o muestra.

El método de la potencia para el cálculo del autovalor dominante de una matriz se basa en el siguiente teorema.

Matemáticas para la Empresa

Redes de Neuronas de Base Radial

Esquema Matemáticas CCSS

Universidad de Santiago de Chile Facultad de Ciencia Departamento de Matemática y Ciencias de la Computación

ESTADÍSTICA UNIDIMENSIONAL

C/ Fernando Poo 5 Madrid (Metro Delicias o Embajadores).

Manual de uso de SOM-PAK

TRABAJO PRÁCTICO 4 PROBLEMA DE ELASTICIDAD LINEAL

x = u + v 2 y = u v. Finalmente, volviendo a las variables típicas, es decir, cambiando u por x y v por y, se tiene: f(x, y) = x2 xy U de Talca

UNIDAD 3 : ELEMENTOS GEOMÉTRICOS

Problemas de Selectividad de Matemáticas II Comunidad de Madrid (Resueltos) Isaac Musat Hervás

Examen de Selectividad Matemáticas JUNIO Andalucía OPCIÓN A

Si llamamos: X: nº monedas 0.5 Y: nº monedas 0.2 Z: nº monedas 0.1

TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA

EXAMEN DE SEPTIEMBRE, MATEMÁTICAS I. 1. (2.5 ptos) Sean f y g funciones con derivadas primeras y segundas continuas de las que se sabe que

MATEMÁTICASII Curso académico BLOQUE GEOMETRÍA TEMA 2: Puntos, rectas y planos del espacio.

Transcripción:

UNIVERSIDAD DE BUENOS AIRES FACULTAD DE INGENIERÍA MAESTRÍA EN SIMULACIÓN NUMÉRICA Y CONTROL TRABAJO PRACTICO 3: RED NEURONAL DE KOHONEN Presentada como requisito parcial para la aprobación del curso Sistemas Adaptativos y Redes Neuronales. Estudiante: Fredy Andrés Mercado Navarro DNI: 94.872.342 Profesor titular: Sergio Lew Clases Prácticas: Ana Laura Vadnjal 16 de enero de 2014 Buenos Aires, Argentina

Resumen La red de Kohonen corresponde a una red de aprendizaje no supervisado, donde la intención es agrupar o categorizar los datos de entrada. Aquellas entradas similares son clasificadas por pertenecer a una misma categoría, lo que indica que deberían disparar la misma unidad de salida. Si por ejemplo tenemos varios vectores de entrada, donde podemos separarlos por pertenecer a regiones diferentes de un espacio, podemos encontrar pesos para cada grupo de vectores de entrada que corresponden a cada unidad o patrón que se desea agrupar. En este trabajo práctico se empleará esta red para demostrar el mapeo que se puede realizar sobre una distribución de puntos o muestras y para resolver el conocido Travelling salesman problem, donde debemos hallar el camino más óptimo para visitar 500 ciudades ubicadas en puntos distintos.

Índice general 1. Teoría 3 1.1. Red de Kohonen............................... 3 2. Ejercicio teórico 4 2.1. Punto A.................................... 4 2.1.1. Desarrollo............................... 4 3. Ejercicios prácticos 7 3.1. Punto B.................................... 7 3.1.1. Desarrollo............................... 7 3.2. Punto 1.................................... 8 3.2.1. Desarrollo............................... 9 4. Comentarios y Conclusiones 14 1

Índice de figuras 2.1. Pesos de cada unidad tras entrenamiento de la red con una sola entrada. α = 0,5..................................... 6 2.2. Pesos de cada unidad tras entrenamiento de la red con una sola entrada. α = 1,0..................................... 6 3.1. Mapa de topología inicial. Pesos aleatorios.................. 8 3.2. Mapa de topología tras haber entrenado la red desde σ = 20 hasta σ = 15. 9 3.3. Mapa de topología tras haber entrnado la red desde σ = 20 hasta σ = 3. 10 3.4. Mapa de topología tras haber entrnado la red desde σ = 20 hasta σ = 1. 11 3.5. Mapa de topología. Resultado final tras haber entrenado la red desde σ = 20 hasta σ = 0,05................................ 12 3.6. Distribución inicial de pesos (en rojo).................... 12 3.7. Camino del viajero tras haber entrenado la red desde σ = 10 hasta σ = 5. 13 3.8. Camino del viajero. Resultado final tras haber entrenado la red desde σ = 10 hasta σ = 0,25 en pasos de 0,25.................... 13 2

Capítulo 1 Teoría 1.1. Red de Kohonen El algoritmo de Kohonen tiene en cuenta las interacciones laterales entre los vecinos para actualizar los pesos de salida y las diferencias entre los vectores de pesos y los vectores de entrada. Tenemos N entradas contínuas ξ 1 a ξ N que definen un punto ξ en un espacio real N- dimensional. Las unidades de salida O i están contenidas en un arreglo de una o dos dimensiones, y están completamente conectadas a las entradas por los pesos w ij. La regla de aprendizaje utiliza un ganador i como unidad de salida con el vector de pesos más cercano a la entrada actual ξ: w i ξ w i ξ (para todo i) (1.1) La regla de aprendizaje estuvo dada por Kohonen (ver sus trabajos de 1982 y 1989): w ij = ηλ(i, i )(ξ j w ij ) (1.2) para todo i y j. La función vecindad Λ(i, i ) es 1 para i = i y cae mientras mayor es la distancia r i r i entre las unidades i e i a la salida (vector). Para construir un algoritmo práctico tenemos que especificar Λ(i, i )(ξ j w ij ) y η, los cuales pueden ser modificados durante el aprendizaje. Ambos pueden ser reducidos gradualmente. Tener η = 0 detendría el proceso de aprendizaje. Una elección típica para Λ(i, i ) es: ( ) Λ(i, i ri r i 2 ) = exp (1.3) 2σ 2 donde σ es un parámetro de ancho que decrece gradualmente. Nótese que la ecuación 1.3 es la regla de aprendizaje elegida por Kohonen. 3

Capítulo 2 Ejercicio teórico 2.1. Punto A Una red de Kohonen de una sola entrada, con las mismas neuronas una al lado de la otra (en una sola fila) es entrenada con patrones x con cierta función distribución P (x). Mostrar experimentalmente que, si la función densidad de probabilidad de las entradas es de la forma p(x) α x α, entonces los pesos w de las neuronas tendrán la forma w(x) α x β. Cuánto vale β? (Ver One-dimensional Equilibrium, Hertz, Krogh and Palmer, pág. 242). 2.1.1. Desarrollo En la red las neuronas están dispuestas unidimensionalmente, es decir, una al lado de la otra. Necesitamos calcular la constante de proporcionalidad c a partir de la función distribución de probabilidad, así: P (x) = x 0 p(x) dx Tenemos que la función densidad de probabilidad es proporcional a x α, luego Luego P (x) = p(x) = cx α x 0 cx α dx Ahora integramos la función densidad de probabilidad entre 0 y 1 para hallar la constante de proporcionalidad, que debe ser igual a 1: 1 cx α dx = cxα+1 1 = c α + 1 0 α + 1 = 1 Si despejamos obtenemos Luego 0 c = α + 1 p(x) = (α + 1)x α Dado que tenemos la función densidad de probabilidad, podemos calcular la función distribución de probabilidad, así: P (x) = y = x 0 p(x) dx = 4 x 0 (α + 1)x α dx = x α+1

Reescribiendo, tenemos y = x α+1 Requerimos los valores de la entrada x, que ahora proviene de entradas con una distribución uniforme y. Despejando obtenemos x = y 1 α + 1 Las ecuaciones empleadas en el cálculo de la neurona ganadora, para el cálculo de la función vecindad y los deltas de pesos corresponden a las ecuaciones 1.1, 1.3 y 1.2. Como el ejercicio pide demostrar experimentalmente el enunciado del problema, se realizó un programa de Matlab. El código tiene las siguientes variables: n: cantidad de neuronas de la red unidimensional. α: constante a elegir por el usuario. η: constante de aprendizaje. σ: parámetro de amplitud. MAXITER: cantidad de veces que se entrenará la red por cada σ. El funcionamiento del código es como sigue: primero, se llena un vector con pesos generados aleatoriamente en un intervalo [0,1]. Durante la corrida del programa se varía el parámetro sigma de un número grande (10) hasta uno pequeño (0.05) para permitir ajustes W grandes al inicio y luego ajustes más pequeños conforme σ disminuye y la red aprende. Se tiene un ciclo encargado de entrenar a la red MAXITER veces. Dentro de este ciclo se genera aleatoriamente una entrada y se halla la unidad ganadora, que corresponde a aquella que presente la menor norma de la diferencia entre el valor de la entrada x y el peso de una neurona W. Luego empleo el algoritmo de Kohonen para actualizar los pesos de todas las unidades, hallando primero el resultado de la función vecindad (ver ecuación 1.3). Por último se grafican en orden los pesos obtenidos para cada unidad. En las Figuras 2.1 y 2.2 se observan dos gráficas de los pesos (α = 0,5 y α = 1,0, respectivamente), teniendo escalados los números de las neuronas en el eje X para tenerlas todas en un intervalo [0,1] y poder comparar con la curva de w(x) = x β, donde β = 1 1 + (2/3)α (2.1) A ésta última curva se le asignó el color rojo, mientras que a la curva dada por los pesos que son resultado del entrenamiento de la red se le asignó el color azul. El número de neuronas n, la constante α y la constante de aprendizaje η no fueron modificadas durante las corridas del programa. Con esto demostramos que si la función densidad de probabilidad de las entradas es de la forma p(x) x α los pesos w de las neuronas tendrán la forma w(x) x β, con β dado por la Ecuación 2.1. 5

Figura 2.1: Pesos de cada unidad tras entrenamiento de la red con una sola entrada. α = 0,5. Figura 2.2: Pesos de cada unidad tras entrenamiento de la red con una sola entrada. α = 1,0. 6

Capítulo 3 Ejercicios prácticos 3.1. Punto B Hacer una red de Kohonen de 2 entradas que aprenda una distribución uniforme en el círculo unitario. Mostrar el mapa de preservación de topología. 3.1.1. Desarrollo Se realizó un código en Matlab para mostrar el mapeo que realiza la red de Kohonen sobre los puntos aleatorios que están distribuidos dentro de un círculo de radio unitario. Las variables que determina el usuario del código son las siguientes: N: cantidad de neuronas por lado de la red. η: constante de aprendizaje. Se dejó constante. nmuestras: cantidad de muestras o puntos de distribución aleatoria que deseo que contenga el círculo de radio unitario. El funcionamiento del código es el siguiente: 1. Se genera una red de pesos tridimensional, que estará conformada por dos matrices de pesos de n n. Una matriz para la coordenada X y otra para la coordenada Y. Con las parejas correspondientes podemos entonces obtener las coordenadas (X,Y) que se irán modificando a medida que se entrene la red para generar un mapeo de los puntos que conforman la muestra. 2. Se tiene un primer ciclo for que varía el parámetro σ de mayor a menor para lograr cambios grandes al comienzo y ajustes cada vez más pequeños conforme se entrena la red. Este valor inicia en 20 y finaliza en 0.05, disminuyendo en pasos de 0.05. 3. Luego, para un σ fijo se recorren todas las muestras y se determina la neurona ganadora, es decir aquella para la cual es mínima la distancia entre un punto (muestra) y una neurona. 4. Teniendo la neurona ganadora calculamos la función vecindad (ver ecuación 1.3) y actualizamos los pesos de todas las neuronas luego de calcular el W correspondiente. Este procedimiento se repite hasta que queramos detener el proceso de aprendizaje, en este caso, hasta que σ = 0,05. 7

El resultado del entrenamiento de la red de Kohonen se puede apreciar graficando la topología de la red: en la Figura 3.1 se muestra el mapa de topología para el estado inicial de los pesos. Aquí la red aún no ha iniciado el proceso de aprendizaje, de modo que los pesos corresponden a los valores aleatorios iniciales que les fueron asignados. Figura 3.1: Mapa de topología inicial. Pesos aleatorios. En la Figura 3.2 se aprecia el mapa de topología cuando la red ha iniciado su aprendizaje. Como σ = 15 es un valor grande, el cambio sufrido por los pesos es significativo. Se observa una contracción de la red como producto de estos W grandes. En la figura 3.3, con σ = 3 el mapa ha comenzado a expandirse para adaptarse mejor a la distribución de la muestra. Se puede observar la red de 10 10 ordenada y sin ninguna superposición. En la figura 3.4, con σ = 1 el aprendizaje ha logrado que los pesos abarquen un area mayor, tratando de alcanzar las muestras más exteriores del círculo. Finalmente, en la Figura 3.5, con σ = 0,05 el entrenamiento de la red ha finalizado y el mapa de Kohonen ha logrado una distribución que cobija casi todo el cículo unitario y donde se observa que varias neuronas se sitúan en zonas donde se presentan concentraciones de puntos. 3.2. Punto 1 Resolver (aproximadamente) el Travelling salesman problem para 500 ciudades con una red de Kohonen. 8

Figura 3.2: Mapa de topología tras haber entrenado la red desde σ = 20 hasta σ = 15. 3.2.1. Desarrollo Se desarrolló un código donde las constantes que ingresa el usuario son: η: constante de aprendizaje. nmuestras: cantidad de puntos en el plano X-Y o muestras con las cuales se entrenará la red. σ: parámetro de amplitud presente en el cálculo de la función vecindad. MAXITER: cantidad máxima de iteraciones de entrenamiento por cada variación del paraámetro σ. N: cantidad de neuronas por lado de la red. El funcionamiento del código es como sigue: 1. Se calcula N, el cual elegimos que fuera el doble de la cantidad de muestras, debido a que durante el proceso de aprendizaje pueden coincidir dos o más neuronas en el mismo punto de muestra. 2. Se genera un aro con las neuronas, cuyas coordenadas están dadas por los pesos. A medida que los pesos se actualizan la forma del aro cambia, adaptándose al camino óptimo del viajero. El código se diseñó para evitar discontinuidades entre los extremos, de modo que todos los puntos están unidos sobre un camino que permanece cerrado. 3. Se generan los puntos o muestras aleatoriamente, los cuales poseen coordenadas x e y. 9

Figura 3.3: Mapa de topología tras haber entrnado la red desde σ = 20 hasta σ = 3. 4. Se calculan las distancias entre la posición de la neurona ganadora y las posiciones de las demás neuronas. Sólo se emplea la distancia menor. Esto permite que la red permanezca cerrada y que las neuronas de los extremos no terminen en posiciones alejadas. De no hacer esto las neuronas de los extremos terminarían en posiciones que no harían óptimo el camino del viajero, ya que éste debe iniciar y terminar el recorrido en la misma ciudad. 5. Se encuentra la neurona ganadora y con base en ella se actualizan los pesos de todas las neuronas. 6. Los últimos tres pasos se realizan para diferentes valores de σ y para MAXITER número de iteraciones. Para la solución del problema para 500 ciudades se empleó η = 0,2, MAXITER= 5 y un número de neuronas N = 1000. El parámetro σ fue variado desde 10 en pasos de 0.25 hasta 0.25, donde termina el proceso de actualización de los pesos (coordenadas de las neuronas). En la Figura 3.6 se aprecia la distribución inicial de las neuronas, donde las coordenadas son los pesos. Aquí el proceso de actualización aún no ha iniciado. En la Figura 3.7 tomamos una imagen del camino del viajero cuando se han actualizado los pesos al ir iterando y variando σ desde 10 hasta 5. Se observa como el camino se ha modificado tratando de adaptarse a las 500 ciudades que debe recorrer. Finalmente, en la Figura 3.8 el camino del viajero ha adoptado la forma más óptima que pudo hallar para los parámetros de simulación establecidos. El camino del viajero recorre prácticamente todas las ciudades. Muchas neuronas no están directamente sobre 10

Figura 3.4: Mapa de topología tras haber entrnado la red desde σ = 20 hasta σ = 1. una ciudad, pero si sobre los caminos más cortos entre dos de ellas. El camino hallado es un camino sin discontinuidades. 11

Figura 3.5: Mapa de topología. Resultado final tras haber entrenado la red desde σ = 20 hasta σ = 0,05. Figura 3.6: Distribución inicial de pesos (en rojo). 12

Figura 3.7: Camino del viajero tras haber entrenado la red desde σ = 10 hasta σ = 5. Figura 3.8: Camino del viajero. Resultado final tras haber entrenado la red desde σ = 10 hasta σ = 0,25 en pasos de 0,25. 13

Capítulo 4 Comentarios y Conclusiones Se mostró experimentalmente que si entrenamos una red de Kohonen unidimensional con una sola entrada, donde las entradas x tienen una función densidad de probabilidad proporcional a x α, entonces los pesos w de las neuronas serán proporcionales a x β, donde β está dado por la ecuación 2.1. Se desarrolló un mapeo de una distribución de puntos aleatorios dentro del círculo unitario. El progreso de la red muestra la adaptación a los puntos de la distribución. Al comienzo del entrenamiento el mapa de la topología de la red está totalmente desordenado. El comienzo de la actualización de los pesos en un número alto σ = 20 produce una contracción inmediata de la red. A medida que la red se actualiza la red se expande hasta cobijar casi todo el círculo. Las neuronas se ubican en aquellas zonas donde hay una mayor densidad de puntos de muestra. Se resolvió el problema del viajero utilizando una red de Kohonen, donde se empleó el método del anillo elástico para el inicio de la actualización de los pesos. El camino obtenido no posee discontinuidades. El problema del viajero se resolvió en forma aproximada sin variar la constante de aprendizaje, aunque el texto de Hertz, Krogh y Palmer sugiere que también se puede variar de mayor a menor, como se hizo con σ, para obtener mejores resultados. El mapeo de características utilizado en la actualización de pesos de la red de Kohonen está ligado a la actualización de pesos que se realiza una vez obtenida la neurona ganadora. Allí se emplea la función vecindad, que carga con mayor peso a las neuronas cercanas a la neurona ganadora, resta peso a las neuronas que se alejan y deja prácticamente iguales los pesos de las neuronas muy lejanas. Esto se puede apreciar gráficamente en la Figura 9.9 del texto de Hertz, Krogh y Palmer (también conocida con el nombre de sombrero mexicano ). 14