Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Perceptrón multicapa
Conocer el problema
Entradas
Salidas
Patrones
Binario
Bipolar
Real
Algoritmos de entrenamientos
Regla Delta
Regla Delta Modificada
Función de Activación (afectan la salida)
Esta función de activación debe ser la misma para cada capa, pero a la vez
cada capa independiente de la otra puede utilizar una distinta, es decir que si la
capa 1 utiliza la función sigmoide, la capa 2 puede utilizar Gaussiana.
Parámetros de entrenamientos
Sigmoide
1
𝑓 𝑥 =
1 + 𝑒 −𝑥
𝑒 −𝑥
𝑓′ 𝑥 =
1 + 𝑒 −𝑥 2
Tangente Hiperbólica
1 − 𝑒 −𝑥
𝑓 𝑥 =
1 + 𝑒 −𝑥
′
𝑒 −𝑥 1 − 𝑒 −𝑥 𝑒 −𝑥
𝑓 𝑥 = +
1 + 𝑒 −𝑥 1 + 𝑒 −𝑥 2
Lineal
𝑓 𝑥 =𝑥
𝑓′ 𝑥 = 1
Gaussiana
2
𝑓 𝑥 = 𝑒 −𝑥
2
𝑓′ 𝑥 = −2𝑥 ∗ 𝑒 −𝑥
Salidas de las neuronas de la primera capa oculta
𝐸𝑝 = 𝐸𝑙𝑘
Cuando hay más de una salida
𝐸𝑙𝑘
𝐸𝑝 =
𝑘
Pesos
𝑢1𝑖 𝑘+1 = 𝑢1 𝑘 + 𝛼 ∗ 𝐸𝑝
𝑢2𝐿 𝑘+1 = 𝑢2 𝑘 + 𝛼 ∗ 𝐸𝑝
Pesos
Umbrales
𝐸𝑝
𝐸𝑟𝑚𝑠 =
# 𝑝𝑎𝑡𝑟𝑜𝑛𝑒𝑠
Hay que validar siempre que
4 entradas
2 capas ocultas
1 capa de salida
la primera capa oculta contiene 9 neuronas por lo tanto contiene 9
umbrales
la segunda capa oculta contiene 5 neuronas por lo tanto contiene 5
umbrales
la capa de salida contiene 2 neuronas por lo tanto contiene 2 umbrales
Por lo general este tipo de redes presentan los datos de entradas y las salidas
correspondientes, de lo único que debemos preocuparnos en de cómo
configuramos nuestra red, de tal manera que sea mucho más eficiente.
Para el caso de los pesos y umbrales de forma inicial son aleatorios los datos.
Por eso solo debemos elegir que valores queremos que tomen al principio. Por
ejemplo como estos valores no deben salir del rango de -1 y 1.
Para el caso de los pesos 𝐼𝑤 notamos que son en total 36 pesos que
salen de las combinaciones posibles de las entradas con la primera capa
oculta (4x9).
Para el caso de los pesos L𝑤 notamos que son en total 45 pesos que
salen de las combinaciones posibles de la primera capa oculta con la
segunda capa oculta (9x5).
Para el caso de L𝑤𝑤 notamos que son en total 10 pesos que salen de
las combinaciones posibles de la segunda capa oculta con la capa de
salida (5x2).
Para realizar este tipo de abstracción es indispensable tener una noción clara
de algunos temas de programación como: ciclos repetitivos, manejo de
vectores y matrices, manejo de funciones. No se necesita estrictamente un
lenguaje de programación específico sino que cualquiera puede funcionar, solo
basta que tengamos claro como es la sintaxis de cada lenguaje. Es por eso que
se recomienda que el programador realice sus avances en el lenguaje que
mejor domine.
Ejemplo
𝐼𝑤𝑗𝑖 ∶ Son los valores de los pesos de la primera capa oculta con las entradas.
Los índices indican que peso hay que tomar específicamente.
𝑢1𝑖 ∶ Indica el umbral y al igual que los pesos el índice indica el umbral
específico. El primer número indica la capa a la que pertenece.
Pero como podemos notar fuera de los corchetes hay otro subíndice lo cual nos
indica inmediatamente que es necesario otro ciclo repetitivo que tiene como
limite el subíndice de la capa siguiente.
Digamos que tenemos la siguiente tabla que representa una compuerta lógica
cualquiera
X1 X2 X3 X4 Yd1 Yd2
1 1 0 0 1 1
1 0 1 0 0 0
0 1 0 1 0 0
0 0 1 1 0 0
Como en Visual Basic los índices comienzan desde la posición cero entonces
debemos restar 1 a cada una de las posiciones que tenemos planteada en
nuestro sistema. Ejemplo como tenemos en la primera capa 9 neuronas al
momento de ser declaradas debemos poner 8, porque para visual basic seria
0,1,2,3,4,5,6,7,8 y en total tendría las 9 posiciones.
Como ya conocemos los valores de la entradas y las salidas, las
inicializamos directamente dentro de nuestro formulario de arranque
Debemos iniciar esta función al formulario de arranque para que las pueda
cargar al iniciar.
Hemos adicionado para que nos muestre los pesos y umbrales iniciales,
también al final hemos declarado para que nos presente los nuevos valores
que ha tomado las primera capa h1 dependiendo de la función de activación
que hayamos elegido. Cabe recordar que no estamos validando todo ya que
solamente nos estamos enfocando en la forma de cómo se interpretan este tipo
de sistemas neuronales.
Como nos hemos dado cuenta el planteamiento para resolver el sistema para
las salidas de la primera capa oculta ha funcionado. Las demás salidas se
hacen de manera análoga a esta, solo basta con tener claro que índices se
deben tomar.
Código completo
God bless