Post on 18-Jan-2021
FuzzificationM.C. Ana Cristina Palacios García
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Introducción
Es el proceso donde las cantidades clásicas se convierten a difusas.
Requiere el identificar la incertidumbre presente en valores finitos o
clásicos.
La conversión a valores difusos se representa a través de las funciones de
membresía.
La fuzificación involucra el asignar valores de membresía a cantidades
específicas.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Asignación de valores de membresía
Existen distintos métodos para asignar valores de función de membresía difusa.
La asignación puede hacerse únicamente por intuición o usando algoritmos oprocedimientos lógicos.
Los métodos para asignar valores de membresía se enlistan a continuación:
1. Intuición.
2. Inferencia
3. Rango de orden
4. Conjuntos difusos angulares
5. Algoritmos genéticos
6. Entre otros.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Intuición
Se basa en la inteligencia humana para entender y desarrollar funciones
de membresía.
Usa el conocimiento completo del problema que se tiene del problema, y
trata de generar valores de la función de membresía para las variables
lingüísticas que mejor se asemejen al problema.
Valores de ejemplo de una función de membresía difusa donde la variable lingüística esla “velocidad”, y corresponde al rango de velocidades de un motor DC según la intuiciónde un “experto en el área”.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Inferencia
Involucra el conocimiento para llevar a cabo razonamiento deductivo. La
función de membresía se forma de los hechos que se conocen sobre
algún conocimiento.
El ejemplo que vimos en esta parte permitió obtener funciones de
membresía para identificar entre triángulos (isósceles, equiláteros u otros).
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Rango de orden
Usa el concepto de votación para asignar valores de membresía a través del
proceso de rango de orden.
Considera que las preferencias están por encima de comparaciones por parejas, y
a través de esto se realiza el ordenamiento de las membresías.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Función de membresía para el mejor carro.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Conjuntos difusos angulares
Los conjuntos difusos angulares son diferentes de los conjuntos difusos
estándares en su descripción. Se definen en el universo de los ángulos, por
lo tanto repiten formas cada 2Pi ciclos.
Los conjuntos difusos angulares se aplican en descripciones cuantitativas
de variables lingüísticas conocidas como verdaderas. Cuando una
membresía es 1 es verdad y cuando es cero es falsa, entonces entre 0 y 1
es parcialmente verdad o parcialmente falsa.
Los valores lingüísticos se forman para variar con theta, el ángulo definido
en el circulo unitario, y sus valores de membresía están en mu(theta).
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Ejemplo: considere un motor, que se usa en periféricos de computadoras.
Obtenga las funciones de membresía basándose en su rotación
empleando conjuntos difusos angulares.
Solución: Los términos lingüísticos relacionados con la dirección de
movimiento del motor están dados por:
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Donde los valores de la
Función de membresía
Se obtienen de:
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Redes neuronales
Las redes neuronales se usan para simular el trabajo de las redes de
neuronas del cerebro humano.
En este caso la función de membresía puede ser creada por clases difusas
de un conjunto de datos de entrada.
El procedimiento es:
Seleccionar el número de valores o datos de entrada.
Dividir los datos entre dos conjuntos: el conjunto de datos de entrenamiento y
conjunto de datos de prueba.
El conjunto de datos de entrenamiento se utiliza para entrenar la red neuronal, y
los datos de prueba se emplean para evaluar el grado de aprendizaje de la red
neuronal.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Muestra los datos de entrenamiento,
tales que se hacen pasar a la red
neuronal. Los datos de entrenamiento
están divididos en tres regiones R1, R2,
y R3. Dependiendo de los datos,
se clasifican las regiones.
Si el dato está en la región 1, entonces
asignamos membresía completa en la
región 1 y membresía 0 en las regiones
2 y 3. De forma similar, si los datos están
en las regiones 2 y 3, tendrán
membresía
completa en regiones 2 y 3 y
membresía
igual a cero en regiones 1 y 3, y 1 y 2,
respectivamente.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Redes neuronales artificiales
Son un método de aprendizaje cuya finalidad inicial era la de emular los
procesadores biológicos de información.
Las RNA parten de la presunción de que la capacidad humana de
procesar información se debe a la naturaleza biológica de nuestro
cerebro.
Por tanto, para imitar esta característica, debemos estudiar y basarnos en el uso
de soportes artificiales semejantes a los existentes en nuestro cerebro.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Propiedades del procesamiento
neuronal humano
El procesamiento de información biológico es robusto y tolerante a fallos.
Al comienzo de nuestras vidas (semanas antes de nuestro nacimiento) poseemos el máximonúmero de neuronas. Desde ese momento, diariamente perdemos muchos miles. A pesarde eso, nuestro cerebro continua funcionando durante muchos años sin alcanzar un gradode deterioro que pueda afectar a nuestras capacidades.
Los procesadores de información biológicos son flexibles.
No necesitan volver a ser programados cuando se cambia de entorno o de ambiente, sinoque ellos mismos se reajustan al entorno. Por tanto, nos adaptamos a los nuevos entornos yaprendemos.
Son capaces de trabajar con información incompleta, con ruido o inconsistencias de unamanera semejante a la que se puede alcanzar empleando computadoras cuando se usauna gran cantidad de programación sofisticada y sólo cuando el contexto de eseconjunto de datos se ha analizado a detalle.
La maquinaria que realiza estas funciones es altamente paralela, pequeña, compacta ydisipa poca cantidad de energía.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Neuronas biológicas y artificiales
La neurona recibe información a través de las sinapsis de sus dentritas. Cadasinapsis representa la unión de un axón de otra neurona con una dentrita de laneurona representada.
Una transmisión electro-química tiene lugar en la sinapsis, la cual permite a lainformación ser transmitida desde una neurona a la próxima.
La información se transmite a lo largo de las dentritas hasta que alcanza elcuerpo de la célula. Allí tiene lugar el sumatorio de los impulsos eléctricos quelo alcanzan y se aplica algún tipo de función de activación a éste.
La neurona se activará si el resultado es superior a un determinado límite oumbral.
Esto significa que enviará una señal (en forma de onda de ionización) a lo largo de suaxón con la finalidad de comunicarse con otras neuronas.
Las sinapsis tienen diferente rendimiento y éste cambia al transcurrir el tiempo de vidade la neurona.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Tomado del libro de José Hernández Orallo de Introducción a la Minería de Datos.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Normalmente modelamos una neurona biológica de la manera que semuestra en la figura anterior (a la derecha). Esta figura incluye unaentrada externa adicional, denominada polarización o “bias” y se denotapor θk, cuya finalidad es la de poder aumentar o disminuir el umbral deexcitación de la neurona dependiendo de si es un valor positivo onegativo, respectivamente.
Las entradas se representan por el vector de entrada, x, y el rendimientode las sinapsis se modela mediante un vector de pesos, w.
El valor de salida de esa neurona está dado por:
𝑦 = 𝑓
𝑖
𝑤𝑖 ∗ 𝑥𝑖 = 𝑓 𝑤 ∗ 𝑥
Donde f es la función de activación.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
El aprendizaje en las RNA
Se ha dicho que las RNA no necesitan volver a ser programadas al
cambiar de entorno.
No implica que sus comportamientos no cambien con la finalidad de adaptarse
al nuevo entorno.
Los cambios son debidos a variaciones en los pesos de la red.
Los cambios en los pesos de una red neuronal dan lugar al aprendizaje.
Los ajustes en los pesos se producen para modelar los cambios en el
rendimiento de las sinapsis de las redes neuronales reales.
Hay dos tipos principales de aprendizaje en RNA:
Aprendizaje supervisado.
Aprendizaje no supervisado.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Aprendizaje supervisado
Proporciona a la RNA un conjunto de datos de entrada y la respuestacorrecta.
El conjunto de datos de entrada es propagado hacia adelante hasta quela activación alcanza las neuronas de la capa de salida (en caso de unared de neuronas).
Es posible comparar la respuesta calculada por la red neuronal conaquella que se desea obtener, el valor real, objetivo o “blanco”.
Se ajustan los pesos para asegurar que la red produzca de una maneramás probable una respuesta correcta en el caso de que se vuelva apresentar el mismo o similar patrón de entrada.
Este tipo de aprendizaje es útil especialmente para las tareas de regresióny clasificación.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Aprendizaje no supervisado
Sólo se proporciona a la red un conjunto de datos de entrada. La red
debe auto-organizarse (es decir, auto enseñarse) dependiendo de algún
tipo de estructura existente en el conjunto de datos de entrada.
Típicamente, esta estructura suele deberse a redundancia o
agrupamientos en el conjunto de datos.
Este tipo de aprendizaje será útil especialmente para las tareas de
agrupamiento y reducción de dimensionalidad.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
La característica más importante del aprendizaje no es sólo la posibilidad
de que los patrones de entrada puedan ser
aprendidos/clasificados/identificados sino la capacidad de generalización
que posee.
Mientras que el aprendizaje tiene lugar en un conjunto de patrones o
datos de entrenamiento, una propiedad importante de éste es que la red
pueda generalizar sus resultados en un conjunto de patrones de prueba los
cuales no han sido vistos durante el aprendizaje.
Uno de los grandes problemas que existen es el sobreaprendizaje,
denominado técnicamente como “sobreajuste”.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Aprendizaje supervisado: perceptrón
simple (1)
El perceptrón fue investigado por Rosenblatt en 1962.
Tiene una estructura de varios nodos de neuronas de entrada y uno o más
de salida.
No tiene capa oculta ni intermedia, y su estructura es como la red
neuronal de la figura 13.2.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Aprendizaje supervisado: perceptrón
simple (2)
Asociado a un patrón de entrada particular, xP, tenemos una salida yP y un“blanco” o salida correcta tP. El algoritmo tiene la siguiente forma:
1. La red comienza con un estado aleatorio. Los pesos entre neuronas poseenvalores pequeños y aleatorios entre -1 y 1.
2. Seleccionar un vector de entrada xP, a partir del conjunto de ejemplos deentrenamiento.
3. Se propaga la activación hacia adelante a través de los pesos en la red paracalcular la salida yP = w* xP.
4. Si yP = tP (es decir, si la salida de la red es correcta), volver al paso 2.
5. En caso contrario, el cambio de los pesos se realiza atendiendo a la siguienteexpresión: Δwi = ηxi
P(tP - yP), donde η es un número pequeño positivo conocidocomo coeficiente de aprendizaje (en el ejemplo visto en clase, η = 1). Volver alpaso 2.
M.C. Ana Cristina Palacios García Febrero – Junio 2016
Práctica de clase
Programar el algoritmo del perceptrón simple usando Matlab para generar etiquetas -1 o1 para puntos en el plano cartesiano que cumplan las siguientes características.
Si el punto está sobre la recta y = 4x+1, deberá tener etiqueta igual a 1, misma quecorresponde a un punto positivo “+”.
Si el punto está debajo de la recta y = 4x+1, deberá tener etiqueta igual a -1, misma quecorresponde a un punto negativo “-”.
Usar los datos de entrenamiento usados en clase (correspondientes a puntos en el eje decoordenadas cartesiano), mismos que se usaron para el entrenamiento manual, y conellos verificar que se obtienen correctamente los mismos pesos en las variables w1 y w2 ensu programa.
Graficar los puntos de la matriz (datos) marcando con un símbolo “+” aquellos valoresetiquetados (valor en la columna 3) con un 1, y con un símbolo “*” aquellos puntos cuyovalor en esa misma columna es -1.
El código del gráfico fue proporcionado en clase.
El programa deberá generar 100 puntos aleatorios positivos y 100 negativos, y graficarlospara usarlos como datos de entrenamiento.