0% encontró este documento útil (0 votos)
7 vistas362 páginas

Introducción a la Lógica Difusa

Cargado por

232059
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas362 páginas

Introducción a la Lógica Difusa

Cargado por

232059
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Lógica Difusa ( Fuzzy Logic )

INTRODUCCIÓN:

z Fuzzy Logic tiene sus raíces en la teoría de conjuntos difusos


desarrollada por Zadeh en la década de los 60, la que propone que
un elemento siempre pertenece en un cierto grado a un
conjunto y nunca pertenece del todo al mismo, esto permite
establecer una manera eficiente para trabajar con incertezas, así
como para acondicionar el conocimiento en forma de reglas hacia
un plano cuantitativo, factible de ser procesado por
computadores.

z Toda lógica consiste en formalizar el pensamiento humano, desde


este punto de vista,
z Lógica Clásica:
Establece que cualquier enunciado o proposición puede tener un valor
lógico verdadero o falso, en definitiva 1 y 0.
De esta forma es posible desarrollar toda una lógica basada en leyes
de este tipo.

z Logica Difusa:
En vez de trabajar con el clásico concepto de inclusión o exclusión,
introduce una función que expresa el grado de “pertenencia” de una
variable hacia un atributo o “variable lingüística” tomando valores en
el rango de 0 a 1.
z Conjunto Difuso: Par Variable lingüística – funcion de pertenencia

A = {x / µA(x) ∀ x ∈ X}
Ejemplo: Descripción del estado de una puerta
z Lógica Clásica: z Logica Difusa:
De acuerdo a la lógica clásica Logica Difusa establece que una
existen dos estados posibles puerta no tiene por que estar
para una puerta. necesariamente abierta o cerrada,
existen además otros estados.
Una puerta está abierta (1)
Una puerta está cerrada (0) Puerta abierta (1)
Puerta bastante abierta (0.8)
Puerta abierta a medias (0.5)
Puerta casi cerrada (0.1)
Una puerta está cerrada (0)
Representación gráfica:

Donde:
ce :Puerta cerrada
casice :Puerta casi cerrada
amedias :Puerta a medias
basab :Puerta bastante abierta
abierta :Puerta abierta
Ventajas de Logica Difusa
z La principal ventaja de utilizar términos lingüísticos como:
a medias, bastante, casi, un poco, mucho, algo, etc, está en que
permite plantear el problema en los mismos términos en los que lo
haría un experto humano.

z El éxito de esta técnica radica en que “El mundo es Fuzzy”.


En otras palabras, no tiene sentido buscar la solución a un problema
no perfectamente definido por medio de un planteamiento
matemático muy exacto, cuando es el ser humano el primero que
razona empleando la inexactitud.
1. Proceso de Fuzzificación
z El proceso de fuzzificación consiste en convertir una variable real
en un grado de pertenencia que cuantifica el grado de posesión
hacia su correspondiente variable lingüística.

z Las variables lingüísticas son representativas de situaciones como:


Positivo, alrededor de, alto, medio, etc.

z El primer paso consiste en tomar las entradas y determinar el


grado al que ellos pertenecen a cada uno de los conjuntos fuzzy
apropiados.

z La entrada siempre es un valor numérico limitado al universo del


discurso de la variable de entrada (0-10).
Funciones de pertenencia
z Las funciones de pertenencia representan las coordenadas difusas del
atributo.
Son funciones continuas, que pueden ser básicamente de los tipos:

z Trapezoidales y Triangulares: Son funciones lineales por tramos,


pero representan una discontinuidad en la primera derivada que
hereda la acción de control.

z Exponenciales: (distribución normal), muestran un comportamiento


muy adecuado y no representan discontinuidad en la derivada.

z Polinómicas: Son funciones sencillas de calcular y tienen una forma


similar a la de las funciones de densidad normal.
Tipos de Funciones de Pertenencia
Operadores difusos
z Cuando una variable cubre el dominio de más de una variable
lingüística, la variable difusa final es inferida por alguna operación
que toma en cuenta el grado de pertenencia de cada una de las
variables.
z Los operadores más comunes son:
Operación Max(): asigna la correspondiente al valor máximo
Operación Min(): asigna la correspondiente al valor mínimo
que son equivalentes a las sentencias “or y “and” de la lógica
booleana. A B A and B A or B
A B A and B A or B
00 00 00 00
SENTENCIA VERDADERA = 1 00 11 00 11
SENTENCIA FALSA =0 11 00 00 11
11 11 11 11
Ejemplo de Aplicación:
z CLASIFICACIÓN DE UN RESTAURANT:
Se requiere catalogar los restaurantes de acuerdo a su precio.
Se considerarán dos variables: la calidad del servicio y de la
comida..
z Las variables linguisticas son por lo tanto:
z Variable Sevicio:
Pobre
Bueno z Variable Restaurant:
Excelente Barato
Promedio
Caro
z Variable Comida:
Mala
Rica
Esquema General de Logica Difusa:
Función de pertenencia para Servicio:
Función de pertenencia para Comida:
Función de pertenencia para Restaurant:
2. Definición de las reglas:
z ENUNCIADOS DE REGLAS:
1. Si (servicio es pobre) o (comida es mala) entonces (restaurant
es barato)
2. Si (servicio es bueno) entonces ( restaurant es promedio)
3. Si (servicio es excelente) o (comida es rica) entonces
(restaurant es caro)

z MÉTODO DE AGREGACIÓN DE REGLAS:


La agregación es cuando se unifican las salidas de cada regla en
forma paralela.
Posteriormente se realiza la defuzzificación del resultado.
3. Defuzzificación
z El proceso inverso llamado defuzzificación transforma un
conjunto difuso, es decir un conjunto de variables lingüísticas con
sus respectivos grados de pertenencia, en un número real.

z El método más común es asimilarlo al centro de gravedad de la


combinación de cada una de las reglas inferidas.

z También se usa el criterio máximo, que escoge el punto donde la


función inferida tiene su máximo o el criterio de la media de los
máximos.
Representación Tridimensional del problema:
Controlador Difuso
z En un controlador a partir del valor de referencia (setpoint) y del valor
de entrada del proceso, se calcula el error (E) y el cambio del error
(CE).

z El controlador difuso toma como variables de partida E y CE y tiene


como variable de salida el cambio en la acción de control a aplicar
(CU), o bien una acción de control absoluta (U).

z El controlador difuso se compone internamente de reglas lingüísticas,


que tienen como condiciones los valores posibles de las variables de
entrada, y que concluyen la variación a efectuar en la acción de
control, en términos también lingüísticos. Posteriormente se
transforma en un valor determinísta.
SUPERVISIÓN

DEFUZZIFICACIÓN
SETPOINT ERROR

FUZZIFICACIÓN

CONCLUSIÓN
APLICACIÓN
SELECCIÓN
CONTROL

CAMBIO ERROR
VALOR MEDIDO

TABLA DE REGLAS
CONTROL FINO

VARIABLES LINGÜÍSTICAS
FUNCIONES DE PERTENENCIA
MODELO LINGÜÍSTICO
RANGO DE VARIACIÓN DE ENTRADA

PROCESO
Configuración Básica de un Controlador Difuso
z FUZZIFICACIÓN:
Es la primera acción en el diseño del controlador difuso, a partir
de los valores deterministas de E y CE, se le adjudica su
correspondiente valor difuso.
Consideremos el diseño de un controlador fuzzy logic para
controlar el nivel de un estanque de agua el cual se regula a través
de un válvula de entrada-salida de flujo.
CONTROLADOR
FUZZY LOGIC
SENSOR

ENTRADA
ERROR Y
VELOCIDAD

SALIDA
SETPOINT
CFL ESTADO DE
Control del Nivel de Agua de un Estanque VÁLVULA
z En este caso, para las variables de entrada al controlador, es decir:
E (error en el nivel de agua) y CE (velocidad de cambio de nivel), se
establecen las siguientes variables lingüísticas, con su
correspondiente rango de variación.

z En cuanto a las funciones de pertenencia de las variables lingüísticas


representan el grado de asociación del valor numérico de E(t) o
CE(t). Por ejemplo para el valor 0 de error, le correspondería un
grado de certeza de 1 en la variable lingüística de Medio, y tendría
un grado de certeza casi 0 para las variables restantes (A Y B).

z Variable E [-1 1]:


Alto (A)
Medio (M)
Bajo (B)
z Variable CE [-0.1 0.1]:
Posit (P)
Cero (C)
Negat (N)

z El tipo de las funciones de pertenencia se eligen de acuerdo al tipo


de respuesta del sistema, aquí se eligieron funciones de densidad
normal tipo gaussiana, la forma de la curva es ajustable en función
del parámetro sigma de la normal. Así para la variable CE:
Posit tiene un valor σ=0.03 centrada en 1
Cero tiene un valor σ=0.03 centrada en 0
Neg tiene un valor σ=0.03 centrada en -1
z La variable de salida al controlador, es decir, CU (estado de la
válvula) tiene las siguientes variables lingüísticas.

z Variable CU [-1 1]:


Abrir (AF)
Abrir suavemente (AS)
Mantener (MA)
Cerrar Suavemente (CS)
Cerrar (CF)
z ELABORACIÓN DE LAS REGLAS:
Después de haber traducido los valores deterministas de las
variables de entrada a valores difusos, se plantean las reglas. Para
ello se construye una tabla de doble entrada ( E y CE ) por cada
variable de entrada al controlador. Como se muestra:
CE\E B M A

N AF CS CS

C AS MA CS

P AS AS CF

z Interpretación de enunciado de las reglas descritas en la tabla:


Si E es Bajo y CE es Negativa, entonces CU Abrir.
Si E es Medio y CE es Negativa, entonces CU Cerrar suavemente.
z Además es necesario cuantificar el peso de cada una de las reglas
frente a la acción de control, esto se puede hacer construyendo una
matriz de valoración o inferencia o simplemente agregando un
factor a cada regla.
z La acción de control que concluye cada regla es un conjunto
difuso al que se ha asignado un peso. Por lo tanto, el resultado
final de la aplicación de todas las reglas es otro conjunto difuso
con sus respectivas funciones de pertenencia.
La tabla de reglas está determinada por las características del
proceso y debe ser configurada por el experto. Además debe
cumplir algunas normas elementales:

z COMPLETITUD: Las reglas han de cumplir todas las


combinaciones posibles de entradas al controlador, con el fin de
que no queden fisuras en las cuales no se tome una acción.

z CONSISTENCIA: No pueden coexistir dos acciones de control


para la misma situación, lo que produciría una contradicción.

z INTERACCIÓN: Corresponde al peso propio que tiene una regla


entre las restantes, para esto se debe analizar el efecto de las reglas
en la acción de control.

z ROBUSTEZ: Es una medida de la reacción del controlador frente


a perturbaciones en las entradas.
z DEFUZZIFICACIÓN:
El método más usual para determinar la conclusión del conjunto
de funciones es el centro de gravedad, es interesante destacar que
en el resultado final sólo influye el área y no la forma de la curva.
n n Donde:
∑∑c ij ⋅ m ij ⋅ a ij cij es la media
CG = i
n
j
n mij es el factor peso
∑∑m
i j
ij ⋅ a ij
aij es el área de la función de transferencia asociada a
la conclusión de cada regla
z ACCIÓN DE CONTROL:
Una vez obtenido el valor numérico, éste puede ser multiplicado por
un factor de escala para ser aplicado como acción de control. Una
alternativa es utilizar un factor de ganancia Kc, el cual se utiliza en
el controlador como un parámetro de ajuste, así la acción de control
está dada por:
CU(k ) = CU(k − 1) + K C ⋅ ∆CU

z Respuesta del Proceso a un


cambio en el setpoint del
Controlador Fuzzy Logic

Main
Sistemas Expertos
Difusos
CONOCIMIENTO IMPRECISO
El conocimiento cuenta con predicados o
cuantificadores vagos (no precisos)

Ejemplos:

•Pedro tiene entre 20 y 25 años.


•Juan es joven
•Mucha gente juega al fútbol
•El espectáculo es para gente grande.
Ejemplo
• Una metáfora: el dibujo de un conjunto borroso se podría realizar
como si fuera una nebulosa (más densa en el centro y más ligera o
clara en los extremos)

0
0.
0. 1
0. 2
0. 4
0. 6
18
REPRESENTACION GRAFICA

ce :Puerta cerrada
casice :Puerta casi cerrada
amedias :Puerta a medias
basab :Puerta bastante abierta
abierta :Puerta abierta
Ejemplo
Si el predicado P es “Persona joven” y W = {Ana, Pepe}.
Además x, x  W. Edad(x)  U = {10, 20, 30, 40, 50, 60, 70}
Escogeremos como etiqueta del predicado la variable lingüística
“Joven”. Definimos extensionalmente la función de pertenencia:
Joven( Edad(x)=10 ) = 1
Joven( Edad(x)=20 ) = 1
Joven( Edad(x)=30 ) = 0.8
Joven( Edad(x)=40 ) = 0.6
Joven( Edad(x)=50 ) = 0.4
Joven( Edad(x)=60 ) = 0.2
Joven( Edad(x)=70 ) = 0

También se puede representar:


Joven(Edad(x)) = {10/1, 20/1, 30/0.8, 40/0.6, 50/0.4, 60/0.2, 70/0}
TERMINOLOGÍA

• Variable Lingüística
• Universo de Discurso
• Conjunto Difuso
• Valor Lingüístico
• Función de Pertenencia
Variable linguistica vs Grado de pertenencia
(Edad)

Edad

X
• EDAD:
10 ≤ Edad ≤ 30 JOVEN(Edad) = (30-Edad) / 20 =0.1 Edad=28

20 ≤Edad ≤ 30 MADURO(Edad) = (Edad-20) / 10 =0.8 Edad=28


SISTEMA EXPERTO DIFUSO
FUZZIFICACION
FUNCIONES DE PERTENENCIA
• Algunas de las funciones de pertenencia más utilizadas son:
• Función GAMMA ():
1
0 para x  a
 x  a
 ( x)   para a  x  m
m  a
1 para x  m a m

• Función L
1
Puede definirse simplemente como 1
menos la función GAMMA
a m

• Función LAMBDA o triangular


1
0 para x  a
 xa
 para a  x  m
m  a
( x)  
 bx para m  x  b
b  m a m b
0 para x  b 12
FUNCIONES DE PERTENENCIA
• Función PI o trapezoidal

0 para x  a
x  a 1
 para a  x  b
 b  a
 ( x)   1 para b  x  c
d  x
 para c  x  d a b c d
dc
0 para x  d

13
FUNCIONES DE PERTENENCIA
• Función S
0 para x  a
  x  a 2 ac
2   , para a  x 

 S (x)    c  a  2 2
1  2  x  a  , para a  c  x  c
  ca 2
1 para x  c a (a+c)/2 c

• Función Z (opuesta de la S)

Z(x) = 1- S(x)

• Función P

 S ( x) para x  b
 P (x)  
 Z ( x) para x  b
b-d b b+d

14
AIRE ACONDICIONADO
BASE DE REGLAS
Las reglas que regulan el aire acondicionado son los siguientes:
REGLA 1:
Si TEMP es FRIO entonces la velocidad es MÍNIMA
REGLA 2:
Si TEMP está FRESCO entonces la velocidad es LENTA
REGLA 3:
Si TEMP es AGRADABLE entonces la velocidad es MEDIA
Regla 4:
Si TEMP está TEMPLADA entonces velocidad es RÁPIDA
Regla 5:
Si TEMP está CALIENTE entonces la velocidad es MAXIMA
VARIABLE: TEMPERATURA
Las graduaciones de Temp COLD COOL PLEASANT WARM HOT
temperatura están (0C). (frio) (fresco) (Agradable) (Templad
o)
(Calie
nte)
relacionadas con la 0 Y* N N N N
percepción de Johnny de la 5 Y Y N N N
temperatura ambiente. 10 N Y N N N
12.5 N Y* N N N
Donde: 15 N Y N N N

Y : 0<A(x)<1 17.5 N N Y* N N
20 N N N Y N
22.5 N N N Y* N
Y* : A(x)=1
25 N N N Y N
27.5 N N N N Y
N : A(x)=0 30 N N N N Y*
VARIABLE: TEMPERATURA
Temperature Fuzzy Sets

1
0.9
0.8 Cold
Truth Value

0.7
0.6 Cool
0.5 Pleasent
0.4
0.3
Warm
0.2 Hot
0.1
0
0 5 10 15 20 25 30

Temperature Degrees C
• FRIO: • FRESCO:
0 ≤ t ≤ 10 0 ≤ t ≤ 12.5 FRESCO(t) = t / 12.5
FRIO(t) = 10– t / 10
12.5 ≤ t ≤ 17.5 FRESCO(t) = 17.5– t / 5
VARIABLE: VELOCIDAD
Las graduaciones de la Rev/sec MINIMAL SLOW MEDIUM FAST BLAST
(Mínima) (Lenta) (Media) (Rápi (Máxim
velocidad están relacionadas (RPM)
da) a)

con la acción de Johnny. 0 Y* N N N N


10 Y N N N N
20 Y Y N N N
Donde:
30 N Y* N N N
Y : 0<A(x)<1 40 N Y N N N
50 N N Y* N N

Y* : A(x)=1 60 N N N Y N
70 N N N Y* N
80 N N N Y Y
N : A(x)=0 90 N N N N Y

100 N N N N Y*
VARIABLE: VELOCIDAD
Speed Fuzzy Sets

1
0.8 MINIMAL
Truth Value

0.6 SLOW
MEDIUM
0.4
FAST
0.2 BLAST
0
0 10 20 30 40 50 60 70 80 90 100
Speed
MINIMAL:
for 0 ≤ v ≤ 30 MINIMAL(t) = – v / 30 + 1

SLOW:
for 10 ≤ v ≤ 30 SLOW(t) = v / 20 – 0.5
for 30 ≤ v ≤ 50 SLOW(t) = – v / 20 + 2.5
Las variables lingüísticas y
coberturas

Degree of
Membership
1.0
Short Short
Tall
0.8
0.6 Average

0.4
Very Short Very
VeryTall
Tall
0.2 Tall

0.0
150 160 170 180 190 200 210
Height, cm
Las variables lingüísticas y
coberturas
Mathematical
Hedge Graphical Representation
Expression

A little [A ( x )]1.3

Slightly [A ( x )]1.7

Very [A ( x )]2

Extremely [A ( x )]3


Las variables lingüísticas y
coberturas
Mathematical
Hedge Expression Graphical Representation

Very very [A ( x )]4

More or less A ( x )

Somewhat A ( x )

2 [A ( x )]2
if 0  A  0.5
Indeed
1  2 [1  A ( x )]2
if 0.5 < A  1
MECANISMO DE INFERENCIA
Intersección
AB(x) = min [A(x), B(x)] = A(x)  B(x)
Unión
AB(x) = max [A(x), B(x)] = A(x)  B(x)

Ejemplo: A = {1/a, 0.3/b, 0.2/c 0.8/d, 0/e, 0.1/f}


B = {0.6/a, 0.9/b, 0.1/c, 0.3/d, 0.2/e}

Solución: A  B = {0.6/a, 0.3/b, 0.1/c, 0.3/d, 0/e}

A  B = {1/a, 0.9/b, 0.2/c, 0.8/d, 0.2/e, 0.1/f}


INFERENCIA DE MAMDANI

REGLA 1: Si TEMP es FRIO entonces la velocidad es MÍNIMA


REGLA 2: Si TEMP está FRESCO entonces la velocidad es LENTA
REGLA 3: Si TEMP es AGRADABLE entonces la velocidad es MEDIA
REGLA 4: Si TEMP está TEMPLADA entonces velocidad es RÁPIDA
REGLA 5: Si TEMP está CALIENTE entonces la velocidad es MAXIMA
INFERENCIA DE MAMDANI
1 1 1
A3 B1 C1 C2 C3
0.1 OR 0.1
0.0
(max)
0 x1 X 0 y1 Y 0 Z
Rule 1: IF x is A3 (0.0) OR y is B1 (0.1) THEN z is C1 (0.1)
1 1 1
0.7
C1 C2 C3
A2 0.2 B2 AND 0.2
(min)
0 x1 X 0 y1 Y 0 Z
Rule 2: IF x is A2 (0.2) AND y is B2 (0.7) THEN z is C2 (0.2)
1 1
A1 0.5 0.5 C1 C2 C3

0 x1 X 0 Z
Rule 3: IF x is A1 (0.5) THEN z is C3 (0.5)
INFERENCIA DE TAKAGI SUGENO KANG

REGLA 1: Si TEMP es FRIO entonces la velocidad es 0


REGLA 2: Si TEMP está FRESCO entonces la velocidad es 30
FORMA I REGLA 3: Si TEMP es AGRADABLE entonces la velocidad es 70
REGLA 4: Si TEMP está TEMPLADA entonces velocidad es 50
REGLA 5: Si TEMP está CALIENTE entonces la velocidad es 100

REGLA 1: Si TEMP es FRIO entonces la velocidad = TEMP + 2


REGLA 2: Si TEMP está FRESCO entonces la velocidad = TEMP/4
FORMA II REGLA 3: Si TEMP es AGRADABLE entonces la velocidad = TEMP2/2

REGLA 4: Si TEMP está TEMPLADA entonces velocidad = TEMP - 2.5


REGLA 5: Si TEMP está CALIENTE entonces la velocidad es = √TEMP/2
INFERENCIA DE TAKAGI SUGENO KANG
1 1 1
A3 B1
0.1 OR 0.1
0.0
(max)
0 x1 X 0 y1 Y 0 k1 Z

Rule 1: IF x is A3 (0.0) OR y is B1 (0.1) THEN z is k1 (0.1)


1 1 1
0.7
A2 0.2 B2 AND 0.2
(min)
0 x1 X 0 y1 Y 0 k2 Z
Rule 2: IF x is A2 (0.2) AND y is B2 (0.7) THEN z is k2 (0.2)
1 1
A1 0.5 0.5

0 x1 X 0 k3 Z
Rule 3: IF x is A1 (0.5) THEN z is k3 (0.5)
DEFUZZIFICACION
Varios esquemas de defuzzificacion
Discretizando
Degree of
Membership
1.0
0.8
0.6
0.4
0.2
0.0
0 10 20 30 40 50 60 70 80 90 100
67.4 Z

(0  10  20)  0.1  (30  40  50  60)  0.2  (70  80  90  100)  0.5


COG   67.4
0.1  0.1  0.1  0.2  0.2  0.2  0.2  0.5  0.5  0.5  0.5
DEFUZZIFICACION DE MAMDANI
b

Método del Centroide   A x  x dx


COG  a
b
  A x  dx
z *

  ( z )  zdz
B
~

a

  ( z)dz
B
~

 1 4  z 3 
   
3.6 5.5 6 7 8
 0 (.3 z ) zdz  1 (.3 z ) dz  3.6  2  4
  zdz  (.5) zdz  5.5 z  5 zdz  6 zdz  7 8  z zdz 
 
 1 4  z 3 
   .3z dz   (.3)dz   
3.6 5.5 6 7 8
 dz   (.5)dz   ( z  5)dz   dz   (8  z )dz
0 1 3.6
 2  4 5.5 6 7

 4.9meters
Método del promedio ponderado

z *

.3  2.5  .5  5  1 6.5
 5.41meters
.3  .5  1

Método del promedio máximo: (6  7) / 2  6.5meters


DEFUZZIFICACION DE TAKAGI SUGENO KANG

Promedio ponderado

(k1)  k1  (k 2)  k 2  (k 3)  k 3 0.1 20  0.2  50  0.5  80


WA    65
(k1)  (k 2)  (k 3) 0.1  0.2  0.5

0 z1 Z

Crisp Output
z1
¿Mamdani o Sugeno?
• El Método de Mamdani es ampliamente aceptado para
elicitar el conocimiento del experto. Nos permite
describir la experiencia de manera más intuitiva y más
parecido al humano. Sin embargo, la inferencia de
Mamdani implica una carga computacional considerable.

• Por otro lado, el método de Sugeno es


computacionalmente eficaz y funciona bien con las
técnicas de optimización y adaptación, lo que lo hace
muy atractivo en los problemas de control, en particular
para los sistemas dinámicos no lineales.
Ejemplo. Aire acondicionado
Implementado en JAVA
INPUT

62
Ejemplo. Aire acondicionado
Implementado en JAVA
OUTPUT
Ejemplo. Aire acondicionado
Implementado en JAVA
Ejemplo. Aire acondicionado
Implementado en JAVA
Ejemplo. Aire acondicionado

Sensor
temperatura

Circuito
potencia
“La razón por la cual el lenguaje
natural se expresa en términos
difusos
no es porque el pensamiento
humano sea difuso, sino por que
el mundo es difuso”.

John F. Sowa, matemático norteamericano (1940-).


Base de datos Difusas
Miyamoto & Umano [1] distinguen dos tipos de técnicas difusas en las
Bases de Datos:
- Bases de Datos Difusas.
- Técnicas Difusas para la recuperación de la información.
En la primera de estas técnicas el concepto de Conjunto Difuso se
incorpora
en la estructura misma de la Base de Datos, mientras que en la segunda se
emplea en las estrategias de recuperación de la información.
Base de Datos tradicional del Ejemplo

Nombre Edad Salario Año de ingreso


Anderson 30 20000 1995
Brown 30 15000 1995
Long 25 40000 1993
Nelson 55 20000 1980
Smith 25 23000 1996

Variables linguísticas del ejemplo


Ante una consulta a la Base de Datos de la forma:

"Cuáles son los nombres de las personas jóvenes o recientemente


empleadas pero con sueldo alto"

Tahani propone evaluar la función de pertenecia de cada registro a cada uno de


los valores lingüísticos involucrados en la consulta, y entregar como resultado de
la búsqueda un conjunto difuso con funciones de pertenencia obtenidas
mediante la utilización de operadores AND, OR y NOT difusos [6]; los operadores
empleados por Tahani son el mínimo para el AND, el máximo para el OR y el
complemento para el NOT.

En donde “x” es la edad, “y” el año de ingreso, “z” el salario.


Resultados de la búsqueda del ejemplo en cada registro

Nombre µjoven(x) µreciente(y) µalto(z) µbúsqueda(x,y,z)


Anderson 0.5 0.6 0.5 0.5
Brown 0.5 0.6 0.0 0.0
Long 1.0 0.2 1.0 1.0
Nelson 0.0 0.0 0.5 0.0
Smith 1.0 0.8 0.8 0.8

Los nombres de las personas jóvenes o recientemente empleadas pero con sueldo alto
son:
Nombre µbúsqueda(x,y,z)
Anderson 0.5
Long 1.0
Smith 0.8
Ejemplo
Supongamos una clase Persona en la cual se pueden definir atributos tales como,
edad que puede tomar valores de “infantil”, “joven” y “adulto”, por otro lado, se
puede definir el atributo color del pelo que puede tomar valores de “Rubio”,
“Castaño” y “Pelirrojo”.

En una base de datos clásica, cada instancia sólo puede tomar uno de estos tres
valores, tanto para la edad, como para el color del pelo.

Pero es usual que los requerimientos del usuario van más allá de éstas
consideraciones, constantemente nos enfrentamos al hecho de que, una persona
describe su edad como “entre joven y adulto” o que su color del pelo es “entre
rubio y castaño”, consideramos que el modelado de datos en UML, no es capaz de
representar este tipo de requerimientos.
Edad

Vista de definición difusa para el caso propuesto


Grados de similaridad entre color de pelo Rubio, Castaño y Pelirrojo.

Vista de Definición Difusa para atributos difusos tipo 3.


Ejemplo de consultas difusas

Consideremos que la base de datos difusa de personas posee la siguiente información, y


Se requiere a un joven pelirrojo
Persona Edad Color de pelo
P1 14 Pelirrojo
P2 19 Castaño
P3 28 Castaño
P4 35 Rubio

Consulta 1: Jóvenes con grado de pertenencia 0.2 de pelo pelirrojo con grado de
similitud 0.8

la consulta en dos partes, aunque se puede consultar de una vez:


Parte 1: Consulta FuzzyT2(Persona, Edad, "Joven", 0.2)

Persona Edad Color de Gp c/r Joven


pelo
P1 14 Pelirrojo 0.8
P2 19 Castaño 1
P3 28 Castaño 0.4
P4 35 Rubio 0

Respuesta Parte 1:

Persona Edad Color de Gp c/r Joven


pelo
P1 14 Pelirrojo 0.8
P2 19 Castaño 1
P3 28 Castaño 0.4
Parte 2: Consulta FuzzyT3(Persona, Color de Pelo, "pelirrojo", 0.8)
Persona Edad Color de Gs c/r pelirrojo
pelo
P1 14 Pelirrojo 1
P2 19 Castaño 0.7
P3 28 Castaño 0.7
P4 35 Rubio 0.5

Respuesta Parte 2:
Persona Edad Color de Gs c/r pelirrojo
pelo
P1 14 Pelirrojo 1
La respuesta a la consulta 1 está dada por la intersección de la respuesta de la
parte 1 y la respuesta de la parte 2 :

Persona Edad Color de


pelo
P1 14 Pelirrojo
TALLER DE LOGICA DIFUSA
TOOLBOX FUZZY LOGIC DE MATLAB.

1. Acceso:
Para acceder al toolbox fuzzy se debe digitar la palabra fuzzy en la línea de comandos y
luego oprimir enter. En el caso de encontrar un error, por no hallarse cargado el toolbox se debe
agregar el CD de instalación de Matlab. El menú al cual se debería acceder es el siguiente:

Figura 1. Menú principal del Fuzzy Toolbox, FIS Editor.

En el Menú 1, se podrá modificar los métodos de los operadores lógicos and y or, los
métodos de implicación, de agregación y de defuzificación.

En el Menú 2, se podrá cambiar el nombre de la variable que se encuentre seleccionada, por


ejemplo, modificar el nombre “input1” por “Fuerza”.

2. Elección de Modelo:

Para elegir el tipo de modelo a usar, Sugeno o Mamdani, se debe acceder al menú File ->
New FIS… -> Mamdani (Sugeno).
Figura 2. Elección de Modelo

3. Variables y Funciones de Pertenencia:

Para agregar alguna variable, ya sea de entrada o de salida, se debe seleccionar el menú
Edit -> Add Variable -> Input (Output).

Figura 3. Al agregar una variable, es posible visualizarla en el menú gráfico. La variable


actualmente seleccionada aparece enmarcada en rojo.

Las funciones de pertenencia, tanto para las variables de entrada como para las de salida,
se modifican en un menú especial Membership Function Editor que aparece al hacer doble click en
la variable de interés.
Figura 4. Editor de Funciones de Pertenencia, Membership Editor

En el Menú 1, se puede modificar el rango de la función de pertenencia, en el cual la


estará definida.

En el Menú 2, es posible modificar el nombre de la función de pertenencia, los parámetros


de la función de pertenencia y también su forma, la cual está seleccionada triangular en este caso,
siendo ésta la más común. Los parámetros se ingresan en un vector con 3 componentes (para el
caso de la función de pertenencia triangular), que corresponden a los 3 vértices del triángulo, de
menor a mayor.
Actividad
Propina a dejar en un restaurant

1. Se tiene las siguientes variables linguisticas Servicio con los conjuntos “Malo”, “Bueno” y
“Excelente”, Comida con los conjuntos “Fea” y ”Deliciosa”

2. En la variable de servicio agregamos el tipo gaussiano y el rango será de 0 – 10, y los


parámetros 1.5 – 0, para Malo, 1.5 – 5,para Bueno y 1.5 – 10 para Excelente
3. Para la variable comida agregamos el tipo trapezoidal y el rango será de 0 – 10 y los
parámetros para fea será de 0 0 1 3, para deliciosa será de 1 9 11 19

4. Para la variable de salida propina el rango será de 0 - 30 los parámetros Poca 0 5 10 Media
10 15 20 y Generosa 20 25 30
5. Luego agregamos la reglas

6. Para poder ver la reglas vamos a view, rules


TALLER DE LOGICA DIFUSA

INFERENCIA DIFUSA

EJEMPLO DE SISTEMA CON UNA ENTRADA

1. Ejemplo: Conducción de automóviles

A
B
d

Usted está conduciendo un coche en una carretera. Usted quiere mantener una distancia segura
para el coche B que está delante de usted.
Diseñar un (simplificado) sistema de lógica difusa, que cumpla los requisitos.

Proceda de la siguiente manera:


a) Determine las variables requeridas difusos (entrada / salida) y sus rangos.
b) Formar la base de reglas.
c) Usa el razonamiento difuso para comprobar la operatividad de la base de reglas.
Solución

a) Variables difusas. Comience con un simple caso

ENTRADA: distancia d

SALIDA: Fuerza de freno

Tres (3) funciones de pertenencia son elegidos para entrada y salida


Las funciones de pertenencia para la entrada: Distancia d (metros): cerca, medio, lejos
Las funciones de pertenencia de salida: Frenado (%): fuerte, mediano, ninguno,

Vamos a utilizar la caja de herramientas difusa para definir el sistema difuso dando valores
numéricos para las variables indicadas

Para utilizar el toolbox de matlab, se escribe:

Fuzzy
BASE DE REGLAS

Distancia cerca medio lejos


frenado fuerte medio ninguno
¿Qué falta?
2. VELOCIDAD

(velocidad relativa entre los vehículos A y B).

SOLUCIÓN:
Configurar una nueva base de reglas con dos entradas de distancia y velocidad, una salida, la
potencia de frenado.
Aquí solamente los pasos principales se muestran.

BASE DE REGLAS

Distancia Cerca Medio Lejos


Velocidad
Baja Ninguno Ninguno Ninguno
Media Medio Ninguno Ninguno
Alta Fuerte Medio Medio
frenado
Actividad
1. SELECCIÓN DE PERSONAL

Las variables de entrada son:

EDAD: muy joven (0,18,25), madura(18,30,35,45), muy madura(35,50,60,60)

EXPERIENCIA: Baja(0,0,3) media(0,3,6), alta(3,8, 10,10)

Las salidas son:

ELEGIBILIDAD: No apto (0,0,0.4), medio apto (0.1, 0.5, 0.9), apto (0.6,1,1)

Base de Reglas:

1. Si EXPERIENCIA es baja Y EDAD es muy joven ENTONCES ELEGIBILIDAD es No apto


2. Si EXPERIENCIA es media Y EDAD es muy joven ENTONCES ELEGIBILIDAD es Medio apto
3. Si EXPERIENCIA es alta Y EDAD es muy joven ENTONCES ELEGIBILIDAD es Medio apto
4. Si EXPERIENCIA es baja Y EDAD es madura ENTONCES ELEGIBILIDAD es No apto
5. Si EXPERIENCIA es media Y EDAD es madura ENTONCES ELEGIBILIDAD es Medio apto
6. Si EXPERIENCIA es alta Y EDAD es madura ENTONCES ELEGIBILIDAD es apto
7. Si EXPERIENCIA es baja Y EDAD es Muy madura ENTONCES ELEGIBILIDAD es No apto
8. Si EXPERIENCIA es media Y EDAD es Muy madura ENTONCES ELEGIBILIDAD es No apto
9. Si EXPERIENCIA es alta Y EDAD es Muy madura ENTONCES ELEGIBILIDAD es Medio apto

Evalué a las siguientes personas. ¿A quién elegiría?:

Edad Experiencia Elegibilidad


Maria 50 3
Eduardo 22 3
Carlos 37 3.5
Luis 38 4.5

Actividad 2. Lavadora

Hay varias máquinas de lavado en el mercado que utilizan la lógica difusa. La discusión aquí, sin
embargo, no se refiere a cualquier máquina de lavado en particular, sino más bien relacionadas
con una lavadora hipotética. El objetivo es proporcionar un simple ejemplo de las etapas iniciales
del diseño de un control difuso para una lavadora

La facilidad de uso es una característica deseable, junto con la capacidad para establecer los
parámetros de lavado según las características de lavandería de carga. Las características de la
carga de ropa (insumos) son: el peso real, los tipos de tela, y la cantidad de suciedad. Los
parámetros de lavado (salidas) son: cantidad de detergente, tiempo de lavado, la agitación, el nivel
del agua y la temperatura. El control de estos parámetros podría llevar a la lavandería a ser más
limpia, conservar el agua, ahorra detergente, energía eléctrica, tiempo y dinero.

El diseño de una máquina para cumplir con tales especificaciones puede ser una tarea exigente. Es
obvio que no existe un modelo matemático simple que pueda ser de utilidad práctica para
relacionar las entradas con las salidas, pero un operador experto puede hacer la tarea
manualmente. Aquí es donde entra en juego la lógica difusa, con una base de reglas se puede
crear la base en el conocimiento de que el operador controle el proceso. El Análisis será necesario
para asegurar que se alcanzan resultados plausibles.

Consideremos, por simplicidad, una máquina con dos entradas y una salida, las entradas son:

 La suciedad de la carga de una medida por la opacidad del agua de lavado mediante un
sistema de sensores ópticos.
 El peso de la carga de ropa, medido por un sistema de sensor de presión.
 La salida es la cantidad de detergente que dispensan.

La suciedad se define en el rango de 0 a 100, por definir subconjuntos borrosos: Casi limpio, sucio,
muy sucio, inmundo, como se muestra en la figura 6. El peso de la ropa se define en el rango de 0
a 100 por conjuntos difusos: muy ligero, ligero, pesado y muy pesado, como se muestra en la
figura 7. La salida, para simplificar, se define por los subconjuntos singleton muestra en la figura 8.

Figura 6. Variable Suciedad

Figura 7. Variable peso


Figura 8. Variable detergente

La base de reglas esta dada por la tabla N° 1.

Tabla N° 1. Reglas de control difuso para una lavadora


1. Probabilidad Total

𝑃(𝑇) = ∑ 𝑃(𝐴𝑖) ∗ 𝑃(𝐵/𝐴𝑖)

2. Probabilidad individual
𝑃(𝐴𝑖) ∗ 𝑃(𝐵/𝐴𝑖)
𝑃(𝐴𝑖/𝐵) =
𝑃(𝑇)
Ejercicio 1º: El parte meteorológico ha anunciado tres posibilidades para el fin de semana:

a) Que llueva: probabilidad del 50%.


b) Que nieve: probabilidad del 30%
c) Que haya niebla: probabilidad del 20%.
Según estos posibles estados meteorológicos, la posibilidad de que ocurra un accidente es la siguiente:
a) Si llueve: probabilidad de accidente del 20%.
b) Si nieva: probabilidad de accidente del 10%
c) Si hay niebla: probabilidad de accidente del 5%.
Primera forma
- Probabilidad total
P(accidente) = (0.50*0.20) + (0.30*0.10) + (0.20*0.05)
P(accidente) = 0.14
- Probabilidad individual
P(llueva/accidente) = P(llueva) x P(accidente/llueva)
P(accidente)
P(llueva/accidente) = (0.50 * 0.20) /0.14 = 0.14

P(nieve/accidente) = P(nieve) x P(accidente/nieve)


P(accidente)
P(nieve/accidente) =(0.30*0.10) /0.14 = 0.04
P(niebla/accidente) = P(niebla) x P(accidente/niebla)
P(accidente)
P(niebla/accidente) = (0.20*0.05) / 0.14 = 0.01
𝑃(𝑇) = ∑ 𝑃(𝐴𝑖) ∗ 𝑃(𝐵/𝐴𝑖)

Segunda forma
A Accidente
B/A AxB/A 𝑃(𝐴𝑖/𝐵) =
𝑃(𝐴𝑖) ∗ 𝑃(𝐵/𝐴𝑖)
𝑃(𝑇)
Si
0.20
0.1 0.71

llueva
0.50 No 0.80

0.30 0.10 0.03 0.21


Si
Clima nieve
0.14

0.20 No 0.90

niebla 0.05 0.01 0.07


Si

No 0.95
REDES BAYESIANAS
REDES BAYESIANAS
INTELIGENCIA ARTIFICIAL

Introducción a las Redes Neuronales


NEURONAS NATURALES

2 /73
Cerebro Humano
• 1011 Neuronas
(procesadores)
• Poder desconocido
• 1000 – 10000
conecciones por
neurona
• Capacidad basada en
las conexiones.
• Cada neurona es muy
compleja.
• Almacenamiento
redundante.
• No binario, no estable
y no síncrono.

3 /73
¿Cómo funciona ?

Neuronas

Sonido información
Conexiones
Sabor

Olor

Color

Tersura

acciones

4 /73
Unidad de Procesamiento: La Neurona

Dendritas
Axon

Señal
Cuerpo (Información)

Sinapsis

5 /73
6 /73
7 /73
8 /73
9 /73
10 /73
Conexiones del Sistema Nervioso.
GENÉTICO.
• El niño nace con un conjunto de conexiones por defecto
(definidas genéticamente)

EXPERIENCIA.
• Nuevas conexiones se crean en el proceso de aprendizaje.
• Las conexiones se refuerzan con la repetición.
• Las conexiones se refuerzan cuando se crean redes de
resonancia.

11 /73
Características del Sistema Nervioso
• adaptabilidad
• aprendizaje continuo

• distribución del procesamiento y del “almacenamiento”


• alta redundancia
• plasticidad (creación/modificación de sinapsis).
• tolerante a fallas

• 10 a 100 billones de neuronas, cada una conectado a otras


10.000 neuronas
• Los humanos pierden prox. 1000 neuronas por dia.

12 /73
REDES NEURONALES

13 /73
Redes Neuronales.
• Intento de producir sistemas de aprendizaje inspirados en
la naturaleza (basado en modelos abstratos de cómo
pensamos y cómo funciona el cerebro)
• Modelo matemático inspirado en el funcionamientos de las
neuronas biológicas
• Conformado por varias unidades de procesamiento
(neuronas) interligadas por conexiones (sinapsis)
• Eficiente donde los métodos tradicionales son considerados
inadecuados.
• El aprendizaje se logra en la actualización de esos pesos.

14 /73
Red Neuronal

Arquitectura

Neuronas intermedias

Neuronas de Neuronas de
Entrada salída

Conexiones

15 /73
Elemento Procesador
Entrada / Función de Transferencia / Salida

elemento
Entrada procesador Salida

Señal

16 /73
Elemento Procesador
Entrada / Función de Transferencia / Salida

17 /73
Elemento Procesador

1 X1
.. W1u
. Xk Wku
k u
.. Yu
. Xn
Wnu

n Yu = f (Entrada Neta u )
n

 Xi Wiu )
n
Entrada Neta u =  Xi Wiu
i 1
Yu = f (
i 1

18 /73
Función de Transferencia
Función de Activación o Transferencia

1 X1
.. W1u
. Xk Wku
k u
.. Yu
. Xn
Wnu

n Yu = f (Entrada Neta u )
n

 Xi Wiu )
n
Entrada Neta u =  Xi Wiu
i 1
Yu = f (
i 1

19 /73
Elemento Procesador
p

y=f(  Xi Wiu )
i 1

p
Entrada Neta u =  Xi Wiu
i 1

Na+ Na+
K+ K+
Valores de entrada / salida
• Las señales de e/s de una RNA son generalmente
números reales
• Estos números deben encontrarse dentro de un intervalo
• típicamente entre [0,1] o [–1,1]
• Técnica de codificación mas simples es la binaria

2 5 9 3 0 5

6 2 1 3 5 4 5 5 2 3 1 4

3 4 5 7 3 1

21 /73
Conexiones
• Semejantes a la sinapsis.

• Las unidades son conectadas a través de conexiones

• Codifican el conocimiento de la red


– conexiones poseen valores asociados (pesos)

• Tipos de conexiones wij


– excitatorias wij > 0
– inhibitorias wij < 0
– inexistentes wij = 0

22 /73
Aplicaciones
• Se usan para la clasificación y reconocimiento de
patrones.
• Problemas donde es importante el patrón más que los
datos exactos.

• Aplicaciones:
• Clasificación.
• Predicción
• Clustering
• Aproximación de curvas
• Optimización.
• Reconocimiento de patrones.

23 /73
Clasificación

24 /73
Predicción

25 /73
Clustering

26 /73
Aproximación de curvas

27 /73
Optimización

28 /73
TIPOS DE REDES
NEURONALES

29 /73
Topologia o Arquitectura de RN
Clasificación de RN por el tipo de sus Conexiones

A) Redes Feedforward (No recurrentes)


Conexiones unidireccionales:

Una Capa: Multicapa:


Perceptron, Adaline (ADAptive LInear Neuron), MLP

30 /73
Topologia o Arquitectura de RN
Clasificación de RN por el tipo de sus Conexiones

B) Redes Feedback (recurrentes)


Presenta conexiones de Retorno

Redes de kohonen Redes de Base Radial

31 /73
Tipos de Aprendizaje Artificial
Aprendizaje Supervisado

Aprendizaje No Supervisado

32 /73
Aprendizaje Supervisado
• Se logra comparando la salida de la red con la respuesta
correcta ya conocida por el MAESTRO.

• La diferencia de esta comparación permite ajustar los


pesos de las conexiones entre sus neuronas, para buscar
una salida mas aproximada a la correcta.

• El aprendizaje se da a través de un proceso iterativo de


ajuste aplicado a sus pesos sinápticos

33 /73
Aprendizaje No Supervisado
• No requiere influencia externa para ajustar sus pesos de
las conexiones entre sus neuronas.

• No recibe ninguna información del entorno que le indique si


la salida generada respecto a una determinada entrada es
o no correcta.

• Por ello se dice que estas RN son capaces de


Autoorganizarce.

34 /73
Tipos de Redes Neuronales
• Redes de nivel simple
• Redes de Multiple nivel
• Redes recurrentes

35 /73
REDES DE NIVEL SIMPLE

36 /73
Perceptrón
• Separa espacio con hiperplanos
y = f ( w1 u1 + w2 u2 + ... + wn un ), u2
f(s) = { 1 si s0, 0 si s<0 }
• Puede incluir offset w0. u1

• Importante históricamente wt.u=0


– estudiado muy detalladamente (Minsky y Papert ‘69)

• Es un clasificador lineal en 2 clases.


– bueno si patrones linealmente separables
– problema XOR

37 /73
Perceptrón

38 /73
Perceptrón

39 /73
Adaline
• Adaptive Linear Element y=0
• Estructura:
– Como un Perceptrón
pero con función lineal
a la salida.
• Permite trabajar con
problemas más generales
que usando el perceptrón. n
y   wi xi  w0
i 1

E p  t p  y p 
1 2

2
 p wi   t p  y p xi
40 /73
Perceptrón Multicapa
• Werbos (1972)
• Red lineal Wij2 Wij3
Wij 1 3
• Activaciones dependen: u1 1 6 y1
– entradas
4
– activaciones de neuronas y2
precedentes
u2 2 7
5
• Derivadas ordenadas 
backpropagation

y1
u1
1 2 3 4 5 6 7 y2
u2
 i 1 ni

xi  f i   wij x j   wik uk  i 
0

 j 1 k 1
41 /73

Aprendizaje
j i
entrada neta a i

salida de i

error de la salida k

error total

regla de aprendizaje

η: velocidad de aprendizaje

42 /73
REDES RECURRENTES

43 /73
Redes de Base Radial
• Red feed-forward
• Combinación lineal de funciones base
o receptores dadas. Wi
x1
• Funciones Base:
– Gaussianas, Logistic  y
– Normalizadas en gral x2
• Aplicaciones
– Aproximación funcional,
interpolación
– Clasificación de datos
x  i
2
– Clustering N N 
– Modelado y control de sistemas 
y ( x )  wi .Ri ( x )   w .e i
2 i 2

dinámicos i 1 i 1

44 /73
Redes de Hopfield
• Hopfield
– McCulloch-Pitts (1943): modelo discreto. u
y
– Recurrente, totalmente conectada
• Asociada con sistema dinámico
• Actualización de activaciones
 
– Extensiones: Neuronas con constante de X i  sgn  Wij X j  U i 
tiempo, uso de probabilidad en salida  j 
– Concepto de energía y entropía
 
desarrollado P  X i  1  g  Wij X j  U i 
• Aplicaciones  j 
– Descripción de sistemas cristalinos, y dX  
fenómenos físicos asociados i i   Xi  f  Wij X j  U i 

dt  j 
– Uso en optimización
1
• ej: TSP, distribución, despacho de carga E 
2 ij
Wij X i X j
– Memoria asociativa
• Deducir patrón asociado a partir de dato 1
parcial Wij 
N
X i
p
X jp
– Representables en hardware p

• VLSI
45 /73
Mapas Auto-Organizados
• Self-organizing maps (Kohonen, 1982)
• Identificar estructura en datos de trabajo
– conservan topología de datos
• Hipótesis:
– Entradas similares producen salidas similares
– Conjuntos entrada-salida similares agrupables
• Estructura
– red de una capa
• distribución espacial especificada
• capa competitiva
– entradas: dimensión de espacio
– Pueden usarse neuronas con dinámica
capa
• Neuronas competitivas - selección 2D
– Dada entrada, selecciona neurona con mayor
activación
– Uso de pesos para inhibición lateral
– Cooperación:
• Adaptación restringida a vecindad de neurona
seleccionada
• Aplicaciones
– Clasificación de datos, Clustering
– Componentes principales (PCA)
– Codificación
Entradas (u)

46 /73
MAPEADOR UNIVERSAL

47 /73
Mapeo Universal
• Pregunta:
– Qué tipo de funciones puedo representar con una ANN?
• La idea se remonta al problema #13 de Hilbert (1900).
– Representar función de N variables como combinación lineal de funciones
en una variable (bajar dimensionalidad del problema)
• Respuesta:
– Puedo representar el conjunto de funciones “suaves”.
– Hay varias pruebas para diferentes arquitecturas
– Kolgomorov (1957)
– Cybenko (1960)
– Hornik (1989)
– Chen (1991)

48 /73
CONCLUSIONES
• Las redes neuronales se aplican a resolver problemas de
reconocimiento de patrones.
• Las redes neuronales de nivel simple, permiten reconocer
patrones donde el espacio puede ser divido en dos por un
hiperplano.
• Las redes neuronales de múltiple nivel pueden reconocer
patrones del tipo XOR.
• El aprendizaje de la red se realiza modificando los pesos
de las conexiones.
• La arquitectura de la red es la disposición de las neuronas
(capas y elementos por capa)

49 /73
Machine Learging
No supervisado
REDES NEURONALES
MAPAS AUTO-ORGANIZADOS

Mario Aquino Cruz


Aprendizaje Supervisado
Hasta ahora, las redes neuronales estudiadas son usadas para el aprendizaje supervisado,
es decir, la base de conocimiento está formada por datos etiquetados (conjunto de
entrenamiento), y el objetivo es entrenar un modelo para predecir nuevos datos no
etiquetados.
A B

¿A o B?

B A
Aprendizaje No Supervisado
¿Qué pasaría si no tenemos la etiqueta en los datos? ¿Cómo saber en cuantas clases se
agrupan los datos? …. Es aquí en donde tenemos que hacer uso de técnicas no
supervisadas.

En el aprendizaje no supervisado el
modelo es ajustado
automáticamente a las datos.
Aprendizaje No Supervisado
En el siguiente conjunto de puntos nosotros podemos establecer visualmente una malla
de separación de puntos basándonos en la cohesión interna. Cada celda agrupa puntos
cercanos entre si.

Este modelo de
malla se adapta
mejor.
Aprendizaje No Supervisado
¿Y si tenemos más puntos que tienden a una distribución uniforme como sería nuestra
malla? … la topología de la malla debe adaptarse a los datos.

Para dos dimensiones,


hacerlo visualmente es
relativamente fácil,

¿Pero cómo sería para


puntos
multidimensionales?
Mapas Auto-Organizados
Mapas Auto-Organizados
Los Mapas Auto-Organizados (Self Organizing Maps, SOM) fueron
desarrollados por el finlandés Teuvo Kohonen en 1982, por el cual
también son conocidos como Redes de Kohonen.

Permiten encontrar individuos de una población que comparten


características comunes.

Esto los hace ideales para explorar espacios vectoriales en los que se
desconoce la estructura de clasificación de los vectores.
Mapas Auto-Organizados: Arquitectura

Estructura de un mapa auto-organizado


Mapas Auto-Organizados
❖La idea básica del modelo es crear una imagen de un espacio multidimensional de
entrada en un espacio de salida de menor dimensionalidad.
❖Se trata de un modelo con dos capas de neuronas, una de entrada y otra de salida
(procesamiento).
❖Las neuronas de la primera capa se limitan a recoger y canalizar la información.
❖La segunda capa está conectada a la primera a través de los pesos sinápticos y realiza
la tarea importante: una proyección no lineal del espacio multidimensional de
entrada, preservando las características esenciales de estos datos en forma de
relaciones de vecindad.
❖El resultado final es la creación del llamado mapa auto-organizado donde se
representan los rasgos más sobresalientes del espacio de entrada
Algoritmo de Aprendizaje: resumen
1. Inicializar todas las neuronas de la capa de salida.

2. Repetir mientras las neuronas no cambien mucho o se exceda un umbral

3. Escoger la siguiente entrada

4. Determinar la neurona más cercana a la entrada

5. Actualizar los pesos de esta neurona y las neuronas cercanas (en una vecindad
especificada)

6. Finalmente, formar los grupos asignando cada entrada a su neurona más cercana.
Algoritmo de Aprendizaje: paso a paso
1. Todos los pesos de las neuronas Wi de salida reciben, inicialmente,
valores aleatorios.

2. Se presenta el vector de entrenamiento X(t) a la red.

3. Se determina cuál de las neuronas está más cerca de la entrada. La


neurona ganadora es también llamada BMU (Best Matching Unit)
Algoritmo de Aprendizaje: paso a paso

X(1)

neuronas (Wi) BMU(1)

BMU(2) X(2)
Algoritmo de Aprendizaje: paso a paso
3. Para medir la cercanía entre el vector de pesos de las neuronas y el vector de
entrenamiento, normalmente se usa la distancia euclidiana:
Esta sujeto al tipo
𝐷
de aplicación.
Ej. En text-mining
𝑋 − 𝑊 = 𝑑 𝑋, 𝑊 = ෍(𝑥𝑗 − 𝑤𝑗 )2
𝑗=1
se suele usar la
distancia coseno.

El BMU 𝑊𝑐 (𝑡) es la que obtiene la mínima distancia a 𝑋(𝑡):

𝑋(𝑡) − 𝑊𝑐 (𝑡) = min{ 𝑋(𝑡) − 𝑊𝑖 (𝑡) }


𝑖
Algoritmo de Aprendizaje: paso a paso
4. Los vectores de pesos del BMU y sus vecinos (en sentido topológico) se actualizan
para moverse cerca del vector X(t) en el espacio de datos:

𝑊𝑖 𝑡 + ℎ𝑖 𝑡 [𝑋(𝑡) − 𝑊𝑖 (𝑡)] 𝑖 ∈ 𝑁𝑐 (𝑡)


𝑊𝑖 𝑡 + 1 = ቊ
𝑊𝑖 𝑡 𝑖 ∉ 𝑁𝑐 (𝑡)

En donde la magnitud de dicha atracción está regida por la tasa de aprendizaje


ℎ, el cual depende tanto del tiempo 𝑡 como de la distancia entre 𝑊𝑖 y 𝑊𝑐 .
𝑁𝑐 representa el conjunto de las neuronas vecinas de 𝑊𝑐 para el tiempo 𝑡.
Algoritmo de Aprendizaje: paso a paso
4. La tasa de aprendizaje ℎ se calcula de la siguiente forma:

ℎ𝑖 𝑡 = 𝛼 𝑡 ∗ 𝑑(𝑊𝑖 , 𝑊𝑐 )
distancia entre el BMU
y la neurona vecina
taza de aprendizaje

𝑡
𝛼 𝑡 = 1.0 −
𝑚𝑎𝑥 maximo número de iteraciones

Rango de distancia

𝜎 𝑡 = 𝐻+𝑊 𝛼 𝑡
alto y ancho del mapa neuronal
Algoritmo de Aprendizaje: ejemplo

Dada la siguiente
topología del SOM

Y los pesos para cada


neurona:
AlgoritmoUsing
deEuclidean
Aprendizaje:
distance || x − w ||= ( x − w ) ejemplo
+ ( x − w ) , we can find out the winn
1 1
2
2 2
2

node for the input pattern x = ( x = 2, x = −4) as,


Usando la distancia Euclideana, nosotros podemos
1
encontrar
2
la neurona ganadora
para el dato de entrada 𝑥 = {𝑥1 = 2, 𝑥2 = −4}

|| x − wP ||= (2 + 1) 2 + (−4 − 2) 2 = 45,


|| x − wQ ||= (2 − 0) 2 + (−4 − 4) 2 = 68,

|| x − wR ||= (2 − 3) 2 + (−4 + 2) 2 = 5,
|| x − wS ||= (2 + 2) 2 + ( −4 + 3) 2 = 17,
|| x − wT ||= (2 − 3) 2 + (−4 − 2) 2 = 37,
|| x − wU ||= (2 − 4) 2 + (−4 + 1) 2 = 13.
Algoritmo de Aprendizaje: ejemplo
Therefore, the winner node is R, since it has the smallest distance from x. As a ne
Por lo tanto, la neurona ganadora es R, ya que éste tiene la distancia mas pequeña a x.
El siguienteweights of the en
paso consiste nodes in SOM
actualizar losmust bede
pesos adjusted usingcon
la vecindad thelaformula
fórmulagiven
vista in
enequatio
el paso 4. En donde la tasa de aprendizaje queda definido de la siguiente manera:
Let the neighborhood function be defined as,

0.5 if nodeesiselthe
Si la neurona winner
BMU.

hck (t ) = 0.25 if nodeesiselimmediate
Si la neurona neighbor
vecino inmediato al [Link] the winner
0 En otros casos.
 otherwise
Algoritmo de Aprendizaje: ejemplo
Let node
Let us begin with the winner us begin
R. with the winner node R.
Vamos a empezar con el BMU, es decir la neurona R, los nuevos pesos serían:
The new weight of R willThe
be new weight of R will be

3   2   3   3 3       3 
 2 −1   3 2.5  −1   2.5 
  + 0.5 − = + +
                
0.50.5 − = =
. + 0.5   =  .
− − − −
     −2   − −
   −  4  −  2    −2   −2   −3 
2 4 2 2 2 3

 2.5   0.5 
=  . The immediate neighborsThe
of Rimmediate
are Q andneighbors
S, thereforeofnew weights for Q and S are  weights

 −3 Los vecinos inmediatos de R son Q y S, entonces los nuevos pesos serían:
R are Q and S, therefore new f
2 

 −1  0.5 
therefore new weights for Q and −S3.25
and are  respectively.  −1 other
Since  nodes in the given SOM have a neighborhood
  2  and   respectively. Since other nodes in the given SOM
−3.25 
function value zero, their weights do not change.
function value zero, their weights do not change.
es in the given SOM have a neighborhood
Presentando el SOM
Matriz de neuronas: para cada neurona visualizamos su vector de pesos Wi (datos en
3D, colores, espacios continuos)

Entonces, para un mapa de color con 3 entradas, si los pesos de la neurona son (0.7,
0.2, 0.3), mostraríamos un color rojizo con 0.7 de rojo, 0.2 de verdes y 0.3 de azul.

Para un mapa de puntos en el plano con dos entradas, dibujaríamos un punto para
cada neurona en posición (Wx, Wy).
Presentando el SOM
Matriz de neuronas: para cada neurona visualizamos su vector de pesos Wi (datos en
3D, colores, espacios continuos)
Presentando el SOM
Mapa de centroides: representar cada neurona por un elemento del conjunto de
entrenamiento X que está más cerca del vector Wi. Dicho elemento también se le conoce
como centroide.
Presentando el SOM
Matriz Unificada De Distancias

Cuando se genera la matriz se calcula, a su vez,


una matriz de distancias entre los vectores de
referencia de neuronas adyacentes en el mapa
bidimensional.

Después se selecciona algún tipo de


representación gráfica, por ejemplo una escala de
grises. Los colores en la figura se seleccionan de
modo que cuanto más oscuro es el color entre dos
neuronas, menor es la distancia entre ellas.
Presentando el SOM
Grupos de objetos y estructura del
SOM

Umatrix y thumbnails escogidos de objetos


3D CAD

Objetos son mapeados a los nodos


SOM de acuerdo al vecino más cercano
Presentando el SOM
Grupos de objetos y densidad de
objetos

Mapa de densidad suavizado y algunos


thumbnails de una colección de datos 3D
genérica

(color indica densidad relativa suavizada del


vecino más cercano)
Aplicación: Estudio de la quiebra
Aplicación: Estudio de la quiebra
En el mapa se observa cómo aquellos bancos que quebraron al año
siguiente, se ubican en la zona derecha del mapa, y los solventes se
alojan en la parte izquierda del mapa.

Esta figura recibe el nombre de "mapa de solvencia", Serrano y Martín


(1994). Otros mapas auxiliares del modelo permiten conocer qué
rasgos financieros dominan en cada zona del mapa: zonas de alta y
baja rentabilidad, liquidez, endeudamiento, etc, véase Serrano (1996).
Aplicación: Estudio de la quiebra

El siguiente mapa muestra los


rasgos financieros que
caracterizan a cada zona del
mapa.
Aplicación: Estudio de la quiebra
La red de kohonen descrita puede ser de gran utilidad en el análisis de
información contable de empresas. Al introducir información contable
de un conjunto de empresas se producirá una autoorganización de las
mismas, de forma que empresas con características financieras
similares se colocarán próximas en el mapa. La situación de una
empresa vendrá determinada por su ubicación en el mapa,
teniendo en cuenta que una empresa puede excitar a más de una
neurona y esto con diferentes intensidades
Aplicación: Estudio de la quiebra
Además, este modelo permite, estudiar la evolución temporal de
una empresa introduciendo información procedente de varios
ejercicios, situarla en relación con sus competidores, elaborar mapas
sectoriales, introducir ratios financieros o partidas como la cifra de
ventas o el activo, información cualitativa, etc. A priori, son muchas las
aplicaciones que puede tener, como análisis exploratorio de datos o
mediante su integración en un sistema de ayuda a la toma de
decisiones.
Aplicación: Mapa de Movimientos
Mapa de movimiento: recuperacion basado en imagenes y segmentacion de datos de
movimiento.

◦ Sakamato, Kuriyama, Kenko


◦ SCA: Symposium on Computer Animation 2004
Objetivo:
Presentar al usuario una cuadrícula de posturas para seleccionar un clip de datos de
movimiento de una gran base de datos.
Realice la agrupación en el SOM en lugar de los datos abstractos.
Aplicación: Mapa de Movimientos
Ejemplo:

436 muestras de postura a partir de 55K


frames de 51 archivos de movimiento.
Aplicación: Mapa de Movimientos
Ejemplo de resultado:

Clustering basado en SOM


Aplicación: Mapa de Movimientos
Proceso:
Se crea un mapa de muestras de postura a partir de todos los archivos de movimiento
juntos.
Cada muestra similar a su muestra más cercana supera un umbral determinado para
reducir el tiempo de cálculo.
Se calcula un SOM estándar.
Cada postura se conecta a una tabla hash de los archivos de movimiento que contienen
posturas similares.
Agrupar el SOM permite mostrar un mapa simplificado al usuario.
Aplicación: Mapa de Movimientos
Mapa simplificado después de la
agrupación de SOM:

17 estilos de baile
Fin
Redes Neuronales
PERCEPTRON MULTICAPA
BACKPROPAGATION

Mario Aquino Cruz


Perceptrón Multicapa
Perceptrón Multicapa
❖ En la sesión anterior hemos visto las limitaciones del perceptrón simple,
ya que con él tan sólo podemos discriminar patrones que pueden ser
separados por un hiperplano, una recta en el caso de dos neuronas de
entrada.
❖ Una manera de solventar estas limitaciones del perceptrón simple es por
medio de la inclusión de capas ocultas, obteniendo de esta forma una red
neuronal que se denomina perceptrón multicapa.
❖ Cybenko Hornik en 1989 demostró que el perceptrón multicapa es un
aproximador universal. Cualquier función continua sobre ℜ𝑛 , puede ser
aproximada, con al menos una capa oculta.
Perceptrón Multicapa
La imagen muestra las
regiones de decisión que se
obtienen para distintas
arquitecturas de redes
neuronales considerando dos
neuronas en la capa inicial.

Se puede observar que


perceptrón multicapa con
dos capas de neuronas
ocultas es capaz de
discriminar regiones de
forma arbitraria.
Perceptrón Multicapa

❖ El perceptrón multicapa o MLP (Multi-Layer Perceptron) se suele


entrenar por medio de un algoritmo de retropropagación de errores o
BP (Back Propagation) de ahí que dicha arquitectura se conozca
también bajo el nombre de red de retropropagación.
Perceptrón Multicapa: Arquitectura
❖ La estructura del MLP con una única capa oculta se muestra en la
siguiente imagen:

Función de
activación sigmoidal
Perceptrón Multicapa: Arquitectura
❖ Todas las neuronas transmiten información hacia delante: se
denominan redes feedforward.
❖ Cada neurona posee un umbral independiente. Se considera
como una entrada más cuya entrada es 1.
❖ Generalmente se utilizan redes completamente conectadas.
Perceptrón Multicapa: Arquitectura

Ilustración de las dos


direcciones básicas de
flujos de señal en un
MLP.

Feed forward

Back propagation
Perceptrón de tres capas
Cálculo de las salidas en cada capa
o Capa I
Perceptrón de tres capas
Cálculo de las salidas en cada capa
o Capa II

o Capa III
Perceptrón de tres capas
Cálculo del error: Suma del error cuadrático instantáneo
Algoritmo Backpropagation
1. Inicialización aleatoria
2. Propagación hacia adelante de la entrada
3. Propagación hacia atrás del error 𝛿
4. Adaptación de los pesos
5. Repetir desde el 2 hasta convergencia o finalización
Algoritmo Backpropagation: ejemplo gráfico

Ejemplo de un MLP de 3 capas


Backpropagation: Cálculo de las salidas en cada capa

Cálculo salida capa I, neurona 1.


Backpropagation: Cálculo de las salidas en cada capa

Cálculo salida capa I, neurona 2.


Backpropagation: Cálculo de las salidas en cada capa

Cálculo salida capa I, neurona 3.


Backpropagation: Cálculo de las salidas en cada capa

Cálculo salida capa II, neurona 1.


Backpropagation: Cálculo de las salidas en cada capa

Cálculo salida capa II, neurona 2.


Backpropagation: Cálculo de las salidas en cada capa

Cálculo salida capa III, neurona 1.


Backpropagation: Retropropagación en la capa III

Cálculo del error en capa III, neurona 1.


Backpropagation: Retropropagación en la capa III

Propagación del error a la capa II, neurona 1.


Backpropagation: Retropropagación en la capa III

Propagación del error a la capa II, neurona 2


Backpropagation: Retropropagación en la capa III

Propagación del error a la capa I, neurona 1


Backpropagation: Retropropagación en la capa III

Propagacion del error a la capa I, neurona 2


Backpropagation: Retropropagación en la capa III

Propagación del error a la capa I, neurona 3


Backpropagation: Actualizando los pesos de la red

Actualización de pesos capa I, neurona 1


Backpropagation: Actualizando los pesos de la red

Actualización de pesos capa I, neurona 2.


Backpropagation: Actualizando los pesos de la red

Actualización de pesos capa I, neurona 3.


Backpropagation: Actualizando los pesos de la red

Actualización de pesos capa II, neurona 1.


Backpropagation: Actualizando los pesos de la red

Actualización de pesos capa II, neurona 2.


Backpropagation: Actualizando los pesos de la red

Actualización de pesos capa III, neurona 1.


Backpropagation: Consideraciones
❖ Se debe comenzar siempre con pesos iniciales aleatorios pequeños,
tanto positivos como negativos.
❖ Éste es un método de aprendizaje general que presenta como ventaja
principal el hecho de que se puede aplicar a gran número de problemas
distintos, proporcionando buenas soluciones con no demasiado tiempo de
desarrollo.
❖ Sin embargo si se pretende afinar más y obtener una solución más óptima
habría que ser cuidadoso en no caer en el sobreajuste del modelo.
Fin
Redes Neuronales
Redes Neuronales
PROPAGACIÓN DEL ERROR

Mario Aquino Cruz


Propagación del error
Recordar la red ADALINE
Si queremos aplicar la fuerza bruta para hallar
los mejores pesos W, ¿Cómo seria el
procedimiento?:
• Definir una iteración máxima
• En cada iteración elegir aleatoriamente
valores para W
• Evaluar la salida de la Red 𝑦
• Al final, nos quedamos con los pesos
que minimizan el error.

Problema:
• Asignación ciega de los pesos
𝑦 = 𝑤1 𝑥1 + ⋯ + 𝑤𝑛 𝑥𝑛 + 𝜃 • Demasiadas iteraciones
• Difícil convergencia
Recordar la red ADALINE
¿Cómo lo mejoramos?
Usaremos el error cuadrático para poder aplicar el método del gradiente
descendiente.
Gradiente Descendente
Gradiente descendiente
En la ADALINE, la salida puede representarse de la siguiente manera:

En donde:
𝑁 es la cantidad de entradas
𝑁 + 1 representa el umbral

El error cuadrático:
En donde:
𝑝 es la cantidad total de ejemplos
𝑧 𝑘 es la salida deseada para el ejemplo 𝑘
Gradiente descendiente
Vamos a seguir el método del gradiente descendiente, es decir, los pesos se actualizarán
por la dirección opuesta a la dirección del gradiente del error.

En donde:

η representa la taza de aprendizaje, controla la longitud del paso que vamos a dar en la dirección opuesta
del gradiente. Conforme mayor sea η mayor será la cantidad por la que se modificarán los pesos
sinápticos. Dicho parámetro debe ser un valor pequeño para evitar dar pasos demasiado largos, es decir,
que nos lleven a soluciones peores que la que teníamos.
Gradiente descendiente
En el caso anterior se aplicó el método de gradiente sobre la función de activación de identidad. Como
seria la derivación para las funciones sigmoidales.

a) Función logística:

b) Función tangente hiperbólica:


Gradiente descendiente
Resolución del método del gradiente descendiente para cualquier función de activación.
Entonces:

Donde:
Gradiente descendiente
Fin
Redes Neuronales
• Perceptron simple
• Adaline
Mario Aquino Cruz
Introducción
Introducción
Las redes neuronales artificiales emulan el comportamiento de las neuronas
humanas.
◦ Las neuronas son las células del sistema nervioso encargadas de transmitir información
mediante impulsos nerviosos.
◦ Una red neuronal es la unión entre dos o más neuronas, estas se relacionan entre si y
pueden transmitir la información de manera eficaz.

Modelo Biológico de una neurona


Características de una red neuronal
➢ Método general y práctico para aprendizaje supervisado.
➢ Aprenden una función 𝑓 ∶ 𝑋 → 𝑌 , donde no es necesario conocer
apriori su "forma".
➢ No tienen una interpretabilidad clara, funcionan como cajas negras.
➢ Requiere muchos recursos computacionales para ser entrenadas.
➢ La aplicación del modelo es eficiente y requiere pocos recursos
computacionales.
➢ Funcionan con datos de entrada ruidosos y complejos.
Características de una red neuronal
➢ La estructura de una red neuronal es paralela, por lo cual si esto es
implementado sobre un cluster de computadoras, se pueden obtener
respuestas en tiempo real.
➢ Aplicaciones Comunes:
o Reconocimiento de fonemas en señales de voz.
o Reconocimiento de caracteres desde escritura manual.
o Clasificación de imágenes.
o Predicción financiera.
Estructura de una red neuronal
➢ En términos generales, una red consiste en un gran número de unidades simples de
proceso, denominas neuronas, que actúan en paralelo, están agrupadas en capas y
están conectadas mediante vínculos ponderados. Finalmente una red neuronal junto
con los interfaces de entrada y salida constituyen el sistema global de proceso.
El modelo estándar de neurona artificial
➢ Se va a introducir el denominado modelo estándar de neurona artificial según los principios descritos en
Rumelhart y McClelland (1986) y McClelland y Rumelhart (1986).

➢ Siguiendo dichos principios, la i-ésima neurona artificial estándar consiste en:

1. Un conjunto de entradas 𝑥𝑗 y unos pesos sinápticos 𝑤𝑖,𝑗 , con 𝑗 = 1, … , 𝑛

2. Una regla de propagación hi definida a partir del conjunto de entradas y los pesos sinápticos. Es
decir:
ℎ𝑖 (𝑥1 , … , 𝑥𝑛 , 𝑤𝑖,1 , … , 𝑤𝑖,𝑛 )

o La regla de propagación más comúnmente utilizada consiste en combinar linealmente las


entradas y los pesos sinápticos, obteniéndose:
𝑛

ℎ𝑖 𝑥1 , … , 𝑥𝑛 , 𝑤𝑖,1 , … , 𝑤𝑖,𝑛 = ෍ 𝑤𝑖,𝑗 𝑥𝑗


𝑗=1
El modelo estándar de neurona artificial
o Suele ser habitual añadir al conjunto de pesos de la neurona un parámetro adicional 𝜃𝑖 , que se
denomina umbral, el cual se acostumbra a restar al potencial pos-sináptico. Es decir:
𝑛

ℎ𝑖 𝑥1 , … , 𝑥𝑛 , 𝑤𝑖,1 , … , 𝑤𝑖,𝑛 = ෍ 𝑤𝑖,𝑗 𝑥𝑗 − 𝜃𝑖


𝑗=1

3. Una función de activación, la cual representa simultáneamente la salida de la neurona y su estado


de activación. Si denotamos por 𝑦𝑖 dicha función de activación, se tiene:
𝑛

𝑦𝑖 = 𝑓(ℎ𝑖 ) = 𝑓 ෍ 𝑤𝑖,𝑗 𝑥𝑗 − 𝜃𝑖
𝑗=1
Funciones de activación de neurona artificial
El modelo estándar de neurona artificial
Tipos de Redes Neuronales
PERCEPTRÓN SIMPLE
Perceptron Simple
❖ Fue introducido por Rosenblatt en 1962.
❖ Se concibió como un sistema capaz de realizar tareas de clasificación de forma
automática.

A partir de un número de elementos


etiquetados, el sistema determina
la ecuación del hiperplano
discriminante.
𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 = 0
Perceptron Simple: Arquitectura
❖ Es un modelo unidireccional compuesto por dos capas de neuronas, una de entrada y
otra de salida.

+1, 𝑠𝑖 𝑤1 𝑥1 + ⋯ + 𝑤𝑛 𝑥𝑛 + 𝜃 > 0
𝑦=ቊ
−1, 𝑠𝑖 𝑤1 𝑥1 + ⋯ + 𝑤𝑛 𝑥𝑛 + 𝜃 ≤ 0
Perceptron Simple: Arquitectura
❖ El perceptron equivale a un hiperplano de dimensión 𝑛 − 1 capaz de
separar las clases
o Si la salida del perceptron es +1, la entrada pertenecerá a una clase (estará situada a
un lado del hiperplano)
o Si la salida es -1, la entrada pertenecerá a la clase contraria (estará situada al otro lado
del hiperplano)

❖ La ecuación del hiperplano es:

𝑤1 𝑥1 + 𝑤2 𝑥2 + ⋯ + 𝑤𝑛 𝑥𝑛 + 𝜃 = 0
Perceptron Simple: Ejemplo 2 dimensiones
+1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 > 0
𝑦=ቊ
−1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 ≤ 0

𝑥1
La ecuación del hiperplano es: 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 = 0

𝑥2
𝑤1 𝜃
𝑥2 = − 𝑥1 − Punto de corte
𝑤2 𝑤2
Pendiente de la recta
Perceptron Simple: Aprendizaje
❖ Se dispone de un conjunto de observaciones (patrones, ejemplos, datos) de los que
se sabe su categoría o clase.
❖ Los ejemplos o datos son puntos en un espacio multidimensional:
ℜ𝑛 : (𝑥1 , … , 𝑥𝑛 )
❖ Hay que determinar la ecuación del hiperplano que deja a un lado los ejemplos de
una clase y a otro lado los de la otra clase.
❖ La ecuación del hiperplano se deduce a partir de los ejemplos o datos.
❖ Proceso iterativo supervisado.
Perceptron Simple: Aprendizaje

❖ Dado: ❖ Hiperplano discriminante:


o Conjunto de patrones 𝑤1 , … , 𝑤𝑛 , 𝜃 tales que
o Vector de entrada: 𝑥1 , … , 𝑥𝑛
𝑤1 𝑥1 + 𝑤2 𝑥2 + ⋯ +𝑤𝑛 𝑥𝑛 + 𝜃 = 0
o Salida: 𝑑(𝑥)
𝑑 𝑥 = +1 𝑠𝑖 𝑥 ∈ 𝐴 Separe las clases 𝐴 y 𝐵.

𝑑 𝑥 = −1 𝑠𝑖 𝑥 ∈ 𝐵
Perceptron Simple: Aprendizaje
1. Comenzar con valores aleatorios para pesos y umbral
2. Modificación de los pesos y umbral hasta encontrar el hiperplano discriminante
a. Seleccionar un ejemplo 𝑥 del conjunto de entrenamiento
b. Se calcula la salida de la red: y = 𝑓(𝑤1 𝑥1 + 𝑤2 𝑥2 , … , 𝑤𝑛 𝑥𝑛 + 𝜃)
c. Si 𝑦 ≠ 𝑑(𝑥) (clasificación incorrecta) se modifican los pesos y el umbral:
𝑤𝑖 𝑡 + 1 = 𝑤𝑖 𝑡 + 𝑑(𝑥) ∗ 𝑥𝑖
𝜃 𝑡 + 1 = 𝜃(𝑡) + 𝑑(𝑥)

d. Repetir desde el paso 2.a hasta completar el conjunto de patrones de entrenamiento o


hasta alcanzar el criterio de parada.
Perceptron Simple: Ejemplo
❖ Función lógica AND
X1 X2 AND
-1 -1 -1
1 -1 -1
-1 1 -1
1 1 1

𝑥1
𝑤1 = 1

Inicialmente al azar

𝑥2 𝑤2 = 1
𝜃 = 0.5
Perceptron Simple: Ejemplo
❖ Función lógica AND
x1 x2 AND 𝑥1
𝑤1 = 1
-1 -1 -1 𝑦 +1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 > 0
𝑦=ቊ
−1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 ≤ 0
1 -1 -1
-1 1 -1 𝑥2 𝑤2 = 1
1 1 1 𝜃 = 0.5

𝒙 = (−𝟏, −𝟏), 𝒅(𝒙) = −𝟏 𝒚 = 𝒇(−𝟏. 𝟓) = −𝟏 Bien clasificado


Perceptron Simple: Ejemplo
❖ Función lógica AND
x1 x2 AND 𝑥1
𝑤1 = 1
-1 -1 -1 𝑦 +1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 > 0
𝑦=ቊ
−1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 ≤ 0
1 -1 -1
-1 1 -1 𝑥2 𝑤2 = 1
1 1 1 𝜃 = 0.5

𝒙 = (𝟏, −𝟏), 𝒅(𝒙) = −𝟏 𝒚 = 𝒇(𝟎. 𝟓) = 𝟏 Mal clasificado (nuevos pesos)

𝑤1 = 𝑤1 + 𝑑 𝑥 ∗ 𝑥1 = 1 − 1 = 0
𝒚 = 𝒇 −𝟐. 𝟓 = −𝟏 Bien clasificado
𝑤2 = 𝑤2 + 𝑑 𝑥 ∗ 𝑥2 = 1 + 1 = 2
𝜃 = 𝜃+ 𝑑 𝑥 = 0.5 − 1 = −0.5
Perceptron Simple: Ejemplo
❖ Función lógica AND
x1 x2 AND 𝑥1
𝑤1 = 0
-1 -1 -1 𝑦 +1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 > 0
𝑦=ቊ
−1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 ≤ 0
1 -1 -1
-1 1 -1 𝑥2 𝑤2 = 2
1 1 1 𝜃 = −0.5

𝒙 = (−𝟏, 𝟏), 𝒅(𝒙) = −𝟏 𝒚 = 𝒇(𝟏. 𝟓) = 𝟏 Mal clasificado (nuevos pesos)

𝑤1 = 𝑤1 + 𝑑 𝑥 ∗ 𝑥1 = 0 + 1 = 1
𝒚 = 𝒇 −𝟏. 𝟓 = −𝟏 Bien clasificado
𝑤2 = 𝑤2 + 𝑑 𝑥 ∗ 𝑥2 = 2 − 1 = 1
𝜃 = 𝜃+ 𝑑 𝑥 = −0.5 − 1 = −1.5
Perceptron Simple: Ejemplo
❖ Función lógica AND
x1 x2 AND 𝑥1
𝑤1 = 1
-1 -1 -1 𝑦 +1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 > 0
𝑦=ቊ
−1, 𝑠𝑖 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝜃 ≤ 0
1 -1 -1
-1 1 -1 𝑥2 𝑤2 = 1
1 1 1 𝜃 = −1.5

𝒙 = (𝟏, 𝟏), 𝒅(𝒙) = 𝟏 𝒚 = 𝒇(𝟐) = 𝟏 Bien clasificado

Un hiperplano solución es: 𝒙𝟏 + 𝒙𝟐 − 𝟏. 𝟓 = 𝟎


Perceptron Simple: Ejemplo
❖ Función lógica AND

El hiperplano se mueve de una


iteración a otra para clasificar
correctamente los patrones.
Tipos de Redes Neuronales
REDES ADALINE
ADALINE
❖ ADALINE (ADAptive LInear NEuron): Desarrollado en 1960 por Widrow y Hoff
❖ Las entradas pueden ser continuas y se utiliza una neurona similar a la del Perceptron
Simple, pero en este caso de respuesta lineal.

𝑦 = 𝑤1 𝑥1 + ⋯ + 𝑤𝑛 𝑥𝑛 + 𝜃
ADALINE
❖ La diferencia con el perceptron es la manera de utilizar la salida en la regla de
aprendizaje.
o El perceptron utiliza la salida de la función umbral (binaria) para el aprendizaje. Sólo
se tiene en cuenta si se ha equivocado o no.
o En Adaline se utiliza directamente la salida de la red (real) teniendo en cuenta cuánto
se ha equivocado.
❖ La regla de aprendizaje de ADALINE considera el error entre la salida lograda 𝒚 versus
la salida deseada 𝒅: 𝑑𝑝 − 𝑦 𝑝
❖ Esta regla se conoce como REGLA DELTA. La constante α se denomina TASA DE
APRENDIZAJE. ∆𝑤𝑖 = 𝛼 𝑑𝑝 − 𝑦 𝑝 𝑥𝑖
❖Se busca minimizar la desviación de la red para todos los patrones de entrada, eligiendo
una medida del error global. Normalmente se utiliza el error cuadrático medio:
ADALINE : Aprendizaje
1. Inicializar los pesos y umbral de forma aleatoria
2. Seleccionar un ejemplo 𝑥 del conjunto de entrenamiento
3. Calcular la salida de la red: y = 𝑓(𝑤1 𝑥1 + ⋯ + 𝑤𝑛 𝑥𝑛 + 𝜃)
y obtener la diferencia 𝑑𝑝 − 𝑦 𝑝

4. Para todos los pesos y para el umbral, calcular


∆𝑤𝑖 = 𝛼 𝑑 𝑝 − 𝑦 𝑝 𝑥𝑖 ∆𝜃𝑖 = 𝛼 𝑑 𝑝 − 𝑦 𝑝
5. Modificar los pesos y el umbral del siguiente modo
𝑤𝑖 𝑡 + 1 = 𝑤𝑖 𝑡 + ∆𝑤𝑖
𝜃 𝑡 + 1 = 𝜃(𝑡) + ∆𝜃𝑖
6. Repetir para todos los patrones de entrenamiento hasta cumplir el criterio de parada.
ADALINE : Ejemplo
❖ Decodificador binario a decimal
𝑥1 𝛼 = 0.3
𝑤1 = 0.84
x1 x2 x3 d(X)
𝑤2 = 0.394 𝑦
0 0 1 1 𝑥2
0 1 0 2 𝑤3 = 0.783
𝑥3
0 1 1 3
1 0 0 4
1 0 1 5 𝒚 = 𝟎. 𝟖𝟒 ∗ 𝟎 + 𝟎. 𝟑𝟗𝟒 ∗ 𝟎 + 𝟎. 𝟕𝟖𝟑 ∗ 𝟏 = 𝟎. 𝟕𝟖𝟑
1 1 0 6 𝐸 = 𝑑 𝑝 − 𝑦 𝑝 = 1 − 0.783 = 0.217
1 1 1 7
𝑤1 = 𝑤1 +𝛼 ∗ 𝐸 ∗ 𝑥1 = 0.84 + 0.3 ∗ 0.217 ∗ 0 = 𝟎. 𝟖𝟒𝟎
𝑤2 = 𝑤2 +𝛼 ∗ 𝐸 ∗ 𝑥2 = 𝟎. 𝟑𝟗𝟒
𝑤3 = 𝑤3 +𝛼 ∗ 𝐸 ∗ 𝑥3 = 𝟎. 𝟖𝟒𝟖
ADALINE : Ejemplo
❖ Decodificador binario a decimal
𝑥1 𝛼 = 0.3
𝑤1 = 0.84
x1 x2 x3 d(X)
𝑤2 = 0.394 𝑦
0 0 1 1 𝑥2
0 1 0 2 𝑤3 = 0.848
𝑥3
0 1 1 3
1 0 0 4
1 0 1 5 𝒚 = 𝟎. 𝟖𝟒 ∗ 𝟎 + 𝟎. 𝟑𝟗𝟒 ∗ 𝟏 + 𝟎. 𝟖𝟒𝟖 ∗ 𝟎 = 𝟎. 𝟑𝟗𝟒
1 1 0 6 𝐸 = 𝑑 𝑝 − 𝑦 𝑝 = 2 − 0.394 = 1.61
1 1 1 7
𝑤1 = 𝑤1 +𝛼 ∗ 𝐸 ∗ 𝑥1 = 0.84 + 0.3 ∗ 0.161 ∗ 0 = 𝟎. 𝟖𝟒𝟎
𝑤2 = 𝑤2 +𝛼 ∗ 𝐸 ∗ 𝑥2 = 𝟎. 𝟖𝟕𝟔
𝑤3 = 𝑤3 +𝛼 ∗ 𝐸 ∗ 𝑥3 = 𝟎. 𝟖𝟒𝟖
ADALINE : Ejemplo
❖ Decodificador binario a decimal
𝑥1 𝛼 = 0.3
𝑤1 = 3.09
x1 x2 x3 d(X)
𝑤2 =1.966 𝑦
0 0 1 1 𝑥2
0 1 0 2 𝑤3 = 1.825
𝑥3
0 1 1 3
1 0 0 4
1 0 1 5 𝒚 = 𝟑. 𝟎𝟗 ∗ 𝟏 + 𝟏. 𝟗𝟔𝟔 ∗ 𝟏 + 𝟏. 𝟖𝟐𝟓 ∗ 𝟏 = 𝟔.881
1 1 0 6 𝐸 = 𝑑 𝑝 − 𝑦 𝑝 = 7 − 6.881 = 0.12
1 1 1 7
𝑤1 = 𝑤1 +𝛼 ∗ 𝐸 ∗ 𝑥1 = 3.09 + 0.3 ∗ 0.12 ∗ 1 =3.126
Resultado después de la 𝑤2 = 𝑤2 +𝛼 ∗ 𝐸 ∗ 𝑥2 = 𝟐. 𝟎𝟎𝟐
primera iteración del 𝑤3 = 𝑤3 +𝛼 ∗ 𝐸 ∗ 𝑥3 = 𝟏. 𝟖𝟔𝟏
entrenamiento
ADALINE : Ejemplo
❖ Decodificador binario a decimal. Visualización de los pesos según iteraciones.
Iteración w1 w2 w3
1 3.12 2.00 1.86
> La tasa de aprendizaje 𝛼 también puede
2 3.61 1.98 1.42
ser adaptativa.
3 3.82 1.98 1.2
4 3.92 1.98 1.1 > Por ejemplo al inicio el valor puede ser alto,
5 3.96 1.99 1.02 para dar “grandes pasos” de corrección del error
6 3.99 2.00 1.01 y para salir de mínimos locales.
7 4.00 2.00 1.00
> Sin embargo al final del entrenamiento debe
8 4.00 2.00 1.00
disminuir para hacer correcciones finas.
9 4.00 2.00 1.00
10 4.00 2.00 1.00
Conclusión
❖ El uso del Perceptrón o de las redes ADALINE permite aproximar de manera
fácil, cualquier tipo de función o sistemas, sólo conociendo un conjunto de
ejemplos.
❖ De esta manera cualquier sistema (caja negra), se puede representar por una
red.
❖ Sin embargo, también se demostró que estas técnicas poseen grandes
limitaciones.
o Un ejemplo clásico es el OR Exclusivo
❖En conclusión: éstas técnicas sólo pueden resolver sistemas donde los ejemplos
son linealmente separables.
Conclusión
Problemas no linealmente separables
Ejemplo XOR: No existe un hiperplano.

Solución: Combinar varios Perceptrones

Multicapas
Fin
INTELIGENCIA
ARTIFICIAL
TEMA: REDES NEURONALES

Docente: Ing. Mario Aquino Cruz


« En medio de la dificultad, reside el
nacimiento de la OPORTUNIDAD»
AGENDA
 Definición
 Estructura
 Ventaja
 Aprendizajes
 Terminología
¿QUÉ SON LAS REDES
NEURONALES ARTIFICIALES
(RNA)?
 Son modelos matemáticos compuestos por un gran
número de elementos procesales organizados en niveles
que intentan reproducir el comportamiento del cerebro.
Tal como lo hace el cerebro, realizan simplificaciones,
obteniendo los elementos relevantes del sistema, bien
porque la cantidad de información de que se dispone es
excesiva o bien porque es redundante.
 Las RNA son una tecnología matemático-computacional,
inspirada en modelos biológicos, que puede utilizarse en
un gran número y variedad de aplicaciones.
LA RNA REPRESENTADA COMO UN
SISTEMA NO LINEAL

Patrón de salida
Patrón de entrada X o vector Y
RNA
Y = f(X,W)
W = vector de pesos
¿CÓMO ES LA ESTRUCTURA DE
UNA RNA?
NEURONAS

X1 y1

X2 y2

X3 . . y3
. . .
. . . . .
.
. . .
.
X.N .
. .
yM
. .
Capa de Capa de
. entrada salida
Regiones de Problema de Clases con Formas de regiones
Estructwa
decisión la XOR regiones mezcladas mÁ generales

Medio plano
limitado por
2 Capas
hiperplano

[Link]
3 Capas cerradas o
convexas

Arbitraria
complejidad
4 Capas limitada por
el nímero de
neuronas
La Neurona
dendrita axón
terminal
Dendritas de entradas nódulo de
Ravier
Un axón de salida neuron
a
Sinapsis de conexión.
104 sinapsis por neurona célula de
Comunicación mediante Potenciale s axón
schwann

de Acción (PA) envoltura


núcleo de mielina
Generación de conexiones.
Consolidación de conexiones.
FORMA DE UNA NEURONA
ARTIFICIAL
Unidad Uh

yh

wjh

Unidad Ui
F(aj(t), Netj)
yi wji = fj(aj(t+1) yj
Netj aj(t+1) =
yj

. ..
wjg

yg
Unidad Ug
Unidad Uj
¿CUÁLES SON LAS VENTAJAS DE
UTILIZAR LAS RNA?
 Aprendizaje adaptativo. Es la capacidad que tiene para aprender a
realizar tareas basadas en un entrenamiento o experiencias iniciales.
 Autoorganización. Las RNA crean su propia organización o forma
de representar la información que recibe en la etapa previa de
aprendizaje.
 Tolerancia a fallos. Si esta red sufre algún daño en forma parcial,
conlleva a una degradación en su estructura; pero a pesar de esto, se
conserva algunas de las capacidades de esta.
 Operación en tiempo real. Para minimizar el tiempo de
funcionamiento requerido en una RNA, esta puede ser descompuesta
en sub-redes y así acoplarlas de manera que su funcionamiento se
realice en forma paralela, disminuyendo ostensiblemente el tiempo
requerido.
¿CUÁLES SON LAS VENTAJAS DE
UTILIZAR LAS RNA?

 Fácil inserción en las tecnologías existentes. Las RNA, son


de fácil implementación en muchas tecnologías existentes,
aumentando la eficiencia y eficacia de cualquier de estas.
 Una de las aplicaciones más extendidas de las RNA, y de la que
se ha comprobado que es un campo apropiado, es la clasificación
y reconocimiento de patrones que se deriva a partir de la
capacidad de la generalización de la red, la cual aprende una
serie de modelos originales de diferente clase, para que
posteriormente sea capaz de determinar a la clase a la que
pertenecen otras entradas distintas a los patrones aprendidos.
FUNCIÓN DE SALIDA O
TRANSFERENCIA

Entre las unidades o neuronas que forman una red neuronal


artificial existe un conjunto de conexiones que unen unas a
otras. Cada unidad transmite señales a aquellas que están
conectadas con su salida. Asociada con cada unidad U i hay
una función de salida f i ai t  , que transforma el estado actual
de activación ai ten una señal de salida yi t ; es decir:

yi t  f i ai t


TIPOS DE FUNCIONES DE
TRANSFERENCIA

Existen muchas funciones de transferencia, pero las más


típicas que determinan distintos tipos de neuronas:

Función escalón
Función lineal y mixta
Función sigmoidal
Función gaussiana.
FUNCIÓN DE TRANSFERENCIA
CENTRADA DE CADA NEURONA

Neurona (Ficticia)
0
Neuron
a 1 y1,wi
1 wi0 = i
y0 = 1
.
.
yi
. y2, wij
Neuron Neuron
a .j a f, i
.
. y3, w
. i
k
[Link]
k
.
.
¿QUÉ ES EL APRENDIZAJE DE
UNA RNA?
El aprendizaje es el proceso por el cual una red modifica sus pesos
en respuesta a una información de entrada. Los cambios que se
producen durante el proceso de aprendizaje se reducen a la
destrucción, modificación y creación de conexiones entre las
neuronas.
Durante el proceso de aprendizaje, los pesos de las conexiones de la
red sufren modificaciones, por tanto se puede afirmar que este
proceso ha terminado (la red ha aprendido) cuando los valores de
dwij
los pesos permanecen estables 0
dt
Superficie del error para la búsqueda de
gradiente descendiente en el espacio de
pesos
¿CUÁLES SON LAS REGLAS DE
APRENDIZAJE?

Distintos criterios determinan lo que se conoce como la


regla de aprendizaje de la red. De forma general, se
suelen considerar dos tipos de reglas: las que responden a lo
que habitualmente se conoce como aprendizaje
supervisado, y las correspondientes a un aprendizaje no
supervisado.
Tipo de Aprendizaje
Depende si se necesita o no un conjunto de entrenamiento
supervisado

 Aprendizaje supervisado: necesitan datos clasificado


perceptrón simple, red Adaline, perceptrón multicapa y memoria
asociativa bidireccional.

 Aprendizaje no supervisado o autoorganizado: no necesitan


de tal conjunto previo. Memorias asociativas, redes de Hopfield,
máquina de Bolzman y máquina de Cauchy, redes de aprendizaje
competitivo, redes de Kohonen, redes de resonancia adaptativa
(ART)

 Redes híbridas: son un enfoque mixto en el que se utiliza una


función de mejora para facilitar la convergencia. Redes de base
radial.
APLICACIONES
Se usan para el reconocimiento de patrones.
Problemas donde más importante es el patrón que los datos exactos.

Aplicaciones:

[Link]ón.
[Link]ón
[Link] (Agrupamiento)
[Link]ón de curvas
EQUIVALENCIAS EN LA TERMINOLOGÍA
ESTADÍSTICA Y DE RNA
EQUIVALENCIAS ENTRE MODELOS
ESTADÍSTICOS Y MODELOS DE RNA
Inteligencia Artificial
Mario Aquino Cruz
Inteligencia Artificial
• Aprendizaje Supervisado, Aprendizaje No Supervisado y por refuerzo

• Redes Neuronales

• Python para Machine Learning (Tensor Flow)

• Laboratorio: Programación del “Hola Mundo” en Aprendizaje supervisado


Programación tradicional vs Aprendizaje Automático
Programación tradicional

Datos
Computadora Resultado
Reglas

Aprendizaje Automático

Datos
Computadora Reglas
Resultado
6
Ejemplos Aprendizaje Automático

7
Aprendizaje Automático
Suponga que su programa de correo electrónico observa qué mensajes de correo electrónico marcao
no como spam, y en base a eso aprende cómo filtrar mejor el spam. ¿Cuál es la tarea T en este
entorno?
a. Clasificar los correos electrónicos como spam o no spam.
b. Observar etiquetar correos electrónicos como spam o no spam.
c. El número (o fracción) de correos electrónicos clasificados correctamente como spam / no spam.
Ninguno de los anteriores, este no es un algoritmo de aprendizaje automático.
Ejemplos Aprendizaje automático

9
Otros ejemplos de aplicación

• Anuncios orientados en aplicaciones móviles


• Análisis de sentimiento en las redes sociales
• Monitorización climática para detectar patrones estacionales
• Detección de patrones en la lucha contra el crimen
• Aplicación en sanidad

10
Aprendizaje supervisado
En el aprendizaje supervisado, se nos da un conjunto de datos y
ya sabemos cómo debería ser nuestra salida correcta, teniendo la
idea de que existe una relación entre la entrada y la salida. Los
problemas de aprendizaje supervisado se clasifican en problemas
de "regresión" y "clasificación".

11
Aprendizaje supervisado: Regresión
En un problema de regresión, estamos tratando de predecir
resultados dentro de una salida continua, lo que significa que
estamos tratando de asignar variables de entrada a alguna
función continua.

12
Regresión
Objetivo: Predecir un valor numérico

13
Otros ejemplos de regresión

• Pronóstico de ventas
• Valor de cliente a futuro
• Predecir cantidad de lluvia

14
Aprendizaje supervisado: Clasificación
En un problema de clasificación, en cambio, estamos tratando de
predecir resultados en una salida discreta. En otras palabras,
estamos tratando de mapear variables de entrada en categorías
discretas.

15
Clasificación
Objetivo: Predecir una categoría
Soleado

Ventoso

Lluvioso

Nublado
Otros ejemplos de clasificación

• Propensión de compra
• Clasificación de un tumor como benignos o malignos (Binaria)
• Determinación de riesgo (alto, medio, bajo) para una solicitud
de préstamo.
• Sentimiento en las redes sociales como positivo, negativo o
neutro

17
Aprendizaje supervisado
Ejemplo 1: Teniendo en cuenta los datos sobre el tamaño de las
casas en el mercado inmobiliario, intente predecir su precio. El
precio en función del tamaño es una salida continua, por lo que
este es un problema de regresión. Podríamos convertir este
ejemplo en un problema de clasificación al hacer nuestra salida
sobre si la casa "se vende por más o menos que el precio de
venta". Aquí clasificamos las casas según el precio en dos
categorías discretas.

18
Aprendizaje supervisado
Ejemplo 2: (a) Regresión: dada una imagen de una persona,
tenemos que predecir su edad sobre la base de la imagen dada
(b) Clasificación: dado un paciente con un tumor, tenemos que
predecir si el tumor es maligno o benigno

19
Aprendizaje no supervisado
El aprendizaje no supervisado nos permite abordar los problemas
con poca o ninguna idea de cómo deberían ser nuestros
resultados. Podemos derivar la estructura de datos donde no
necesariamente conocemos el efecto de las variables. Podemos
derivar esta estructura agrupando los datos en función de las
relaciones entre las variables en los datos. Con el aprendizaje no
supervisado, no hay retroalimentación basada en los resultados
de la predicción.

20
Aprendizaje no supervisado: Segmentación

Objetivo: Organizar en grupos homogéneos


Poco valor

Valor Medio

21

A l t o valo r
© Copy rig h t VIEW N EX T2 016
Genes

Individuals
Organize computing clusters Social network analysis

Market segmentation Astronomical data analy”sis


Otros ejemplos de segmentación

• Identificar áreas de similar topografía

• Buscar tipologías de clientes

24
Aprendizaje no supervisado: Asociación

Objetivo: Identificación de eventos que ocurren


juntos o en secuencia

25
Otros ejemplos de asociación
• Recomendaciones de compra basado en historial de compras y
navegación

• Venta de artículos que se suelen vender juntos.

26
Aprendizaje supervisado y no supervisado

Supervisado No Supervisado
Target Sin Target

Clasificación Segmentación

Regresión Asociación

27
Aplicaciones
Tipologías de problemas

28
ML vs. Deep Learning
La mayoría de los métodos de aprendizaje automático funcionan bien debido a las
representaciones y características de entrada diseñadas por humanos.

ML se convierte simplemente en optimización de pesos para hacer mejor una predicción final
¿Qué es Deep Learning (DL) ?
Es un subcampo de aprendizaje automático de representaciones de datos de aprendizaje.
Excepcional eficacia en los patrones de aprendizaje.
Los algoritmos de aprendizaje profundo intentan aprender (múltiples niveles de) representación
mediante el uso de una jerarquía de múltiples capas.
Si le proporciona al sistema toneladas de información, comienza a comprenderla y a responder
de manera útil.
¿Por qué DL es util?
• Las características diseñadas manualmente a menudo están sobreespecificadas, están
incompletas y requieren mucho tiempo para diseñarlas y validarlas.
• Las funciones aprendidas son fáciles de adaptar, rápidas de aprender
• El aprendizaje profundo proporciona un marco de aprendizaje muy flexible (¿casi?) universal para
representar información mundial, visual y lingüística. Puede aprender tanto sin supervisión como
supervisado
• Aprendizaje eficaz del sistema conjunto de principio a fin
• Utiliza grandes cantidades de datos de entrenamiento
Inteligencia Artificial..
• Neural Networks (Redes Neuronales)
• Genetic Algorithms (Algoritmos Genéticos)
• Genetic Programming(Programación Genética)
• Behavior-Based Systems (Sistemas basados en Comportamiento)
Redes Neuronales
Una neurona artificial Una neurona biológica
La neurona artificial
La neurona es la unidad de procesamiento básica de una red neuronal.
Consiste de:

• Un conjunto de sinapsis o conexiones, cada conexión caracterizada por un


peso:
La neurona artificial
• Una función sumatoria que calcula la suma pesada de las entradas:
La neurona artificial

• Una función de activación que limita la amplitud de la salida de la neurona:


Morfología de una neurona artificial

Modelo de McCulloch-Pitts (1949)


Neurona artificial
Modelo matemático de la neurona
• La salida de una neurona ( j ) esta dada por

Funcion de activacion

• wij : determina la fortaleza con que la entrada i contribuye en


la la salida

• bj : determina el nivel de umbral o de activación de la neurona


La “Bias” de la neurona
• La polarizacion b tiene el efector de aplicar una transformacion affine a u:

v=u+b

v
 es el campo local inducido
por la neurona
Funciones de activación
Selección de la función de activación y los parámetros

• El diseñador escoge la función de activación para satisfacer alguna


especificación del problema que la neurona intenta resolver.

• Los pesos y bias son determinados mediante un proceso de


aprendizaje
Representación de una neurona

El termino b es la polarizacion o bias,


o umbral
Laboratorio: “Hola Mundo”
• Se desea conocer el precio de una vivienda de 70 m2, teniendo los
siguientes datos:

Tamaño(m2) Precio($)
20 22000
30 35000
40 41000
50 52000
60 63000
Machine Learning

Regresión Lineal

Mario Aquino Cruz


Caso de Estudio
• Quiero vender mi casa, ¿cuánto vale?

Fuente: [Link] 2
Caso de Estudio
• Observar las ventas recientes de casas en mi
vecindario
– ¿A cuánto las vendieron?

3
Caso de Estudio
• Graficar las ventas de casas más recientes

Y Terminología:

x – atributo (feature)
precio ($)

y – respuesta (target)

metros cuadrados (mc) X

4
Caso de Estudio
• Predecir el precio de la casa considerando
casas similares
Y

Niguna casa vendida


precio ($)

recientemente tenía
exactamente el
mismo tamaño

metros cuadrados (mc) X

5
Caso de Estudio
• Considerar el precio promedio en el rango

Y Problema
• ¡Solo dos casas!
• Descartas la
información de todas
precio ($)

las otras ventas

metros cuadrados (mc) X

6
Regresión Lineal
• Solución: usar un modelo de regresión lineal
– Ajustar una línea a los datos
Y
precio ($)

f(x) = w0 + w1x

Parámetros del
modelo

metros cuadrados (mc) X

7
Regresión Lineal
• Solución: usar un modelo de regresión lineal
– Ajustar una línea a los datos
Y
precio ($)

fw(x) = w0 + w1x

Función
parametrizada por
w = (w0, w1)
metros cuadrados (mc) X

8
Regresión Lineal
• ¿Cuál linea usar?

Y
precio ($)

fw(x) = w0 + w1x

diferentes parámetros w

metros cuadrados (mc) X

9
Método de Mínimos Cuadrados
• “Costo” de usar una determinada línea

Ec (w0, w1)=
Y
($casa1 – [w0 + w1mccasa1])2
+ ($casa2 – [w0 + w1mccasa2])2
+ ($casa3 – [w0 + w1mccasa3])2
precio ($)

+ … [incluir todas las casas]

Minimizar el costo para


todas las posibles w0, w1

metros cuadrados (mc) X Ŵ = (ŵ0, ŵ1)

10
Mejor Predicción

fŵ(x) = ŵ0 + ŵ1x
Y

Mejor predicción de
precio de casa:
precio ($)

ŷ = ŵ0 + ŵ1mccasa

metros cuadrados (mc) X

11
Formalizando…
• Se desea ajustar el siguiente modelo lineal a
los datos observados
f(x) = w0 + w1x
– w0, w1 son parámetros del modelo y se llaman
coeficientes de regresión
• Método de mínimos cuadrados
– Encontrar los parámetros (w0, w1) que minimizan
la suma del error cuadrático:
N N

 i i
[y – f(x )]2=
[yi – w0 – w1x]2
i1 i1
12
Añadir un orden mayor a lineal
• ¿Y si se intenta ajustar una función cuadrática?
Y
precio ($)

fw(x) = w0 + w1x + w2x2

metros cuadrados (mc) X

13
¿Un polinomio aún mayor?
• Puede minimizar el
error, pero ¿la casa
Y vale tan poco en
verdad?

• ¿Se le puede creer a


precio ($)

este modelo?

metros cuadrados (mc) X

14
Evaluación de overfitting
con conjuntos de
entrenamiento/prueba
Overfitting
• ¿Se le puede creer a este modelo?

Y
• Minimiza el error,
pero se obtendrían
malas predicciones
precio ($)

metros cuadrados (mc) X


¿Cómo escoger el orden del modelo?

• Se desean buenas predicciones, pero no se


puede observar el futuro
• Simular predicciones:
– Separar algunos ejemplos
– Ajustar el modelo en los restantes
– Predecir en los ejemplos separados inicialmente
• Terminología:
– Conjunto de entrenamiento
– Conjunto de prueba
17
Curvas de Entrenamiento/Prueba

Error de Prueba (ŵ)


Error

Error de Entrenamiento (ŵ)

Complejidad del modelo

18
Agregar más Atributos
fw(x) = w0 + w1mc + w2nb
Y
precio ($)

X2

metros cuadrados (mc) X1

19
¿Cuántos atributos usar?
• Algunas posibilidades:
– Tamaño en metros cuadrados
– Número de baños
– Número de habitaciones
– Año de construcción
–…

20
Otros Ejemplos de Regresión
• Sueldo después del curso de IA
– ¿Cuánto será tu sueldo? (y = $$)
– Depende de:
• Desempeño en exámenes
• Calidad del trabajo final
• Estudio independiente

ŷ = ŵ0 + ŵ1examenes + ŵ2trabajo + ŵ3independiente

Informado por otros alumnos


que hayan llevado el curso
21
Otros Ejemplos de Regresión
• Predicción en bolsa de valores
– Predecir el precio de acciones en la BV
– Depende de:
• Historia reciente del precio de las acciones
• Noticias
• Productos relacionados
• …

22
Otros Ejemplos de Regresión
• Popularidad de Tweets
– ¿Cuántas personas le derán “retweet” a mi tweet?
– Depende de:
• Número de seguidores
• Número de seguidores de mis seguidores
• Características del texto tweeteado
• Popularidad del hashtag
• …

23
Otros Ejemplos de Regresión
• Casas inteligentes
– Tienes varios sensores distribuidos
– ¿Cuál es la temperatura en la biblioteca? (no hay
sensor)
• Aprender una función espacial para predecir
temperatura
– Depende de:
• Configuración del termostato
• Ventanas abiertas o cerradas
• Temperatura en el exterior
• Hora del día
24
Fin

25

También podría gustarte