You are on page 1of 25

Electricidad,

Electrónica

Control Inteligente y Algoritmos Genéticos


AUIC07
Aplicaciones de Inteligencia Artificial
AUIC08
juan.letelier05@inacapmail.cl
Aprendizaje Esperado

• 2.1.-Aplica simulaciones con caja herramienta


(Toolbox de Matlab) sistemas de control de redes
neuronales artificiales a una planta, a través de
prácticas de laboratorio o taller.
Criterios de Evaluación

• 2.1.2 Simula el sistema de control en lazo cerrado


con controlador de Redes Neuronales Artificiales
usando Simulink , a través de prácticas de laboratorio
o taller.
• 2.1.3 Comprueba simulaciones del sistema de control
en lazo cerrado con controlador de redes neuronales
artificiales usando Simulink, a través de prácticas de
laboratorio o taller.
Entrenamiento de las redes neurales

• Se denomina entrenamiento al proceso de


configuración de una red neuronal para que las
entradas produzcan las salidas deseadas a través del
fortalecimiento de las conexiones.
• Una forma de llevar esto a cabo es a partir del
establecimiento de pesos conocidos con
anterioridad, y otro método implica el uso de
técnicas de retroalimentación y patrones de
aprendizaje que cambian los pesos hasta encontrar
los adecuados.
Entrenamiento de las redes neurales

APRENDIZAJE

Supervisado o No supervisado o
asociativo autoorganizado

Se introducen entradas El entrenamiento se


que corresponden a enfoca a encontrar
determinadas salidas Por características estadísticas
un agente externo o por el entre agrupamientos de
mismo sistema patrones en las entradas.
Entrenamiento de las redes neurales

• REGLA DE HEBB
• Cuando una neurona i repetida y persistentemente excita a
una neurona j algún proceso de crecimiento o metabólico se
produce en una o ambas neuronas de modo que la eficiencia
de excitación de i sobre j aumenta (cambio de pesos
sinápticos)
𝐖𝐤+𝟏 = 𝐖𝐤 + 𝛂𝐞𝐤 𝐱𝐢
• Donde: Wk+1 = Nuevo peso calculado
Wk = Peso antiguo
 = Taza de aprendizaje 0 <   1
ek = Error
xi = Valor de la entrada i
Percerptrón

• Los perceptrones de una capa pueden clasificar


correctamente los conjuntos de datos que son linealmente
separables, esto es, que pueden ser separados por un
hiperplano.
Perceptrón

• Un perceptrón convencional tiene una función de no


linealidad binaria. El algoritmo de aprendizaje del perceptrón
funciona para aprender funciones binarias linealmente
separables, ya que de otra manera el algoritmo no
convergería ni produciría la mejor solución. Debido a que las
salidas son binarias, se emplean unidades lineales de umbral.
Perceptrón

Valor del bias

𝐸𝑐𝑢𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑠𝑎𝑙𝑖𝑑𝑎: 𝑎 = 𝑥1 𝑤1 + 𝑥2 𝑤2 + 𝑏 = 𝜃

𝐴𝑐𝑡𝑢𝑎𝑙𝑖𝑧𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑝𝑒𝑠𝑜𝑠: 𝑤𝑘+1 = 𝑤𝑘 + 𝛼𝑒𝑥𝑖 Valor de Umbral


𝐴𝑐𝑡𝑢𝑎𝑙𝑖𝑧𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑏𝑖𝑎𝑠: 𝑏𝑘+1 = 𝑏𝑘 + 𝛼𝑒 De activación
Ejemplo: función AND

Condiciones iniciales: 𝑤1 = −1; 𝑤2 = 0.5; b = 0.3; α = 0.3; 𝜃 = 1.5

X1 X2 Y= X1 AND X2 𝐸𝑐𝑢𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑠𝑎𝑙𝑖𝑑𝑎:


0 0 0 −1𝑥1 + 0.5𝑥2 + 0.3 = 1.5
⇒ 𝑥2 = 2𝑥1 + 2.4
0 1 0
1 0 0 En Matlab:
1 1 1 >> plotpv(x,t)
>> w=[-1 0.5];
>> b=[0.3];
>> plotpc(w,b)
Activación para el punto (0,0):
−1 × 0 + 0.5 × 0 + 0.3 = 0.3 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (0,1):
−1 × 0 + 0.5 × 1 + 0.3 = 0.8 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (1,0):
−1 × 1 + 0.5 × 0 + 0.3 = −0.7 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (1,1):
−1 × 1 + 0.5 × 1 + 0.3 = −0.2 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 1
Ejemplo: función AND

Iteración 1)
Nuevos pesos:
𝑤1 = −1 + 0.3 × 1 × 1 = −0.7
𝑤2 = 0.5 + 0.3 × 1 × 1 = 0.8
𝑏 = 0.3 + 0.3 × 1 = 0.6

Activación para el punto (0,0):


−0.7 × 0 + 0.8 × 0 + 0.6 = 0.6 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (0,1):
−0.7 × 0 + 0.8 × 1 + 0.6 = 1.4 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (1,0):
−0.7 × 1 + 0.8 × 0 + 0.6 = −0.1 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (1,1):
−0.7 × 1 + 0.8 × 1 + 0.6 = 0.7 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 1
Ejemplo: función AND

Iteración 2)
Nuevos pesos:
𝑤1 = −0.7 + 0.3 × 1 × 1 = −0.4
𝑤2 = 0.8 + 0.3 × 1 × 1 = 1.1
𝑏 = 0.6 + 0.3 × 1 = 0.9

Activación para el punto (0,0):


−0.4 × 0 + 1.1 × 0 + 0.9 = 0.9 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (0,1):
−0.4 × 0 + 1.1 × 1 + 0.9 = 2 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 1
Activación para el punto (1,0):
−0.4 × 1 + 1.1 × 0 + 0.9 = 0.5 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (1,1):
−0.4 × 1 + 1.1 × 1 + 0.9 = 1.6 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 0
Ejemplo: función AND

Iteración 3)
Nuevos pesos:
𝑤1 = −0.4 + 0.3 × 1 × 0 = −0.4
𝑤2 = 1.1 + 0.3 × 1 × 1 = 1.4
𝑏 = 0.9 + 0.3 × 1 = 1.2

Activación para el punto (0,0):


−0.4 × 0 + 1.4 × 0 + 1.2 = 1.2 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (0,1):
−0.4 × 0 + 1.4 × 1 + 1.2 = 2.6 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 1
Activación para el punto (1,0):
−0.4 × 1 + 1.4 × 0 + 1.2 = 0.8 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (1,1):
−0.4 × 1 + 1.4 × 1 + 1.2 = 2.2 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 0
Ejemplo: función AND

Iteración 4)
Nuevos pesos:
𝑤1 = −0.4 + 0.3 × 1 × 0 = −0.4
𝑤2 = 1.4 + 0.3 × 1 × 1 = 1.7
𝑏 = 1.2 + 0.3 × 1 = 1.5

Activación para el punto (0,0):


−0.4 × 0 + 1.7 × 0 + 1.5 = 1.5 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (0,1):
−0.4 × 0 + 1.7 × 1 + 1.5 = 3.2 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 1
Activación para el punto (1,0):
−0.4 × 1 + 1.7 × 0 + 1.5 = 1.1 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (1,1):
−0.4 × 1 + 1.7 × 1 + 1.5 = 3.2 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 0
Ejemplo: función AND

Iteración 5)
Nuevos pesos:
𝑤1 = −0.4 + 0.3 × 1 × 0 = −0.4
𝑤2 = 1.7 + 0.3 × 1 × 1 = 2
𝑏 = 1.5 + 0.3 × 1 = 1.8

Activación para el punto (0,0):


−0.4 × 0 + 2 × 0 + 1.8 = 1.8 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 1
Activación para el punto (0,1):
−0.4 × 0 + 2 × 1 + 1.8 = 3.8 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 1
Activación para el punto (1,0):
−0.4 × 1 + 2 × 0 + 1.8 = 1.4 < 1.5 ⇒ 𝑦 = 0 ⇒ 𝑒 = 0
Activación para el punto (1,1):
−0.4 × 1 + 2 × 1 + 1.8 = 3.4 > 1.5 ⇒ 𝑦 = 1 ⇒ 𝑒 = 0
Ejemplo: función AND

Iteración ?)
Nuevos pesos:
𝑤1 = 2
𝑤2 = 1.5
𝑏 = −2.7
Ejemplo: función AND

En Matlab:

>> x=[0 0 1 1;0 1 0 1];


>> t=[0 0 0 1];
>> nntool
Ejemplo: función AND

En Matlab:
Ejemplo: función AND

En Matlab:
Ejemplo: función AND

En Matlab:
Ejemplo: función AND

En Matlab:
Ejemplo: función AND

En Matlab:
Ejemplo: función AND

En Matlab:
Ejercicios:

1. Encuentre los pesos adecuados para entrenar una red neuronal tipo perceptrón
que realice una función OR de dos entradas.

2. Utilice un Perceptrón para clasificación de patrones linealmente separables.


Compare los resultados obtenidos.

(0,2) clase A
(1,2) clase A
(-2,1) clase B
(1,1) clase A
(2,1) clase A
(0,0) clase B
(-2,-1) clase B
(2,-1) clase A
(-1,-2) clase B
(1,-2) clase B
Ejercicios:

3. Utilice un Perceptrón para la clasificación de números binarios en pares e impares


desde el 0 al 7. Realice la grafica final del problema.

4. Entrene una red neuronal tipo perceptrón de tres entradas que resuelva la
siguiente ecuación Booleana

𝐴 𝑂𝑅 𝐵 𝐴𝑁𝐷 𝐶 𝑂𝑅 𝐴 𝐴𝑁𝐷 𝐵

You might also like