Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Epoch 30
Epoch 60
Epoch 80
Mapa Auto Organizante para mapeo de una circunferencia, con 1000 epoch y topologa cuadrada
Epoch 1000
Mapa Auto Organizante para mapeo de una funcin cuadrtica, con 1000 epoch y topologa cuadrada
INTRODUCCIN
El
mapa
auto-organizativo
es
uno
de
los
modelos
ms
populares
de
redes
neuronales. Pertenece a la categora de las redes de aprendizaje competitivo. El mapa autoorganizativo se basa en el aprendizaje no supervisado, lo que significa que no es necesaria la
intervencin humana durante el aprendizaje y que los pequeos se necesita saber acerca de
las caractersticas de los datos de entrada. Podramos, por ejemplo, utilizar el SOM para los
datos de agrupacin sin conocer la pertenencia de clase de los datos de entrada.
El mapa auto-organizacin fue desarrollado por el profesor de Kohonen. El SOM se ha
demostrado ser til en muchas aplicaciones.
El algoritmo de SOM se basa en el aprendizaje no supervisado y competitivo. Proporciona una
topologa de preservar cartografa del espacio dimensional de alta a las unidades del
mapa. Las unidades de mapa, o neuronas, por lo general forman una red de dos dimensiones y
por lo tanto el mapeo es un mapeo de alta espacio tridimensional sobre un plano. La propiedad
de la topologa de la preservacin de los medios que la aplicacin conserva la distancia relativa
entre los puntos. Los puntos que estn cerca unos de otros en el espacio de entrada se
asignan a las unidades del mapa cercanos en el SOM. El SOM puede servir as como un
conjunto de herramientas de datos de grandes dimensiones de anlisis.
Arquitectura de SOM
Topologa de Vecindad
Algoritmo
1. Inicializar pesos
6. Si alpha se mantiene por encima del umbral de parada, volver a 2, en caso contrario
PROGRAMACION
AVION DE COMBATE
clear all;
close all;
clc
W1=0;
W2=0;
a=[
0.98 ...
0.96 ...
0.94 ...
0.92 0.92 0.92...
0.90 0.90 0.90...
0.88 0.88 0.88...
0.86 0.86 0.86 0.86 0.86...
0.84 0.84 0.84 0.84 0.84...
0.82 0.82 0.82 0.82 0.82 0.82 0.82...
0.80 0.80 0.80 0.80 0.80 0.80 0.80...
0.78 0.78 0.78 0.78 0.78 0.78 0.78 0.78
0.76 0.76 0.76 0.76 0.76 0.76 0.76 0.76
0.74 0.74 0.74 0.74 0.74 0.74 0.74 0.74
0.72 0.72 0.72 0.72 0.72 0.72 0.72 0.72
0.70 0.70 0.70 0.70 0.70 0.70 0.70 0.70
0.68 0.68 0.68 0.68 0.68 0.68 0.68 0.68
0.68 0.68 0.68 0.68 0.68...
0.66 0.66 0.66 0.66 0.66 0.66 0.66 0.66
0.66 0.66 0.66 0.66 0.66 0.66 0.66...
0.64 0.64 0.64 0.64 0.64 0.64 0.64 0.64
0.64 0.64 0.64 0.64 0.64 0.64 0.64...
0.62 0.62 0.62 0.62 0.62 0.62 0.62...
0.60 0.60 0.60 0.60 0.60 0.60 0.60...
0.58 0.58 0.58 0.58 0.58 0.58 0.58 0.58
0.56 0.56 0.56 0.56 0.56 0.56 0.56 0.56
0.54 0.54 0.54 0.54 0.54 0.54 0.54 0.54
0.52 0.52 0.52 0.52 0.52 0.52 0.52 0.52
0.50 0.50 0.50 0.50 0.50 0.50 0.50 0.50
0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
0.46 0.46 0.46 0.46 0.46 0.46 0.46 0.46
0.44 0.44 0.44 0.44 0.44 0.44 0.44 0.44
0.42 0.42 0.42 0.42 0.42 0.42 0.42 0.42
]
0.78...
0.76...
0.74 0.74
0.72 0.72
0.70 0.70
0.68 0.68
0.74...
0.72 0.72 0.72...
0.70 0.70 0.70 0.70 0.70...
0.68 0.68 0.68 0.68 0.68 0.68
0.58...
0.56 0.56
0.54 0.54
0.52 0.52
0.50 0.50
0.48 0.48
0.46 0.46
0.44 0.44
0.42...
0.56...
0.54...
0.52 0.52
0.50 0.50
0.48 0.48
0.46 0.46
0.44...
0.52...
0.50...
0.48 0.48 0.48...
0.46 0.46 0.46...
b = [
0.78 ...
0.78 ...
0.78 ...
0.76
0.78
0.76
0.78
0.76
0.78
0.74
0.76
0.74
0.76
0.72
0.74
0.72
0.74
0.70
0.72
0.70
0.72
0.80 ...
0.80 ...
0.80 ...
0.78
0.80
0.78
0.80
0.76
0.78
0.76
0.78
0.74
0.76
0.74
0.76
0.82 ...
0.82 ...
0.80
0.82
0.80
0.82
0.78
0.80
0.78
0.80
0.84 ...
0.84 ...
0.82
0.84
0.82
0.84
0.86 ...
0.86 ...
0.68
0.70
0.72
0.74
0.88 ...
0.66
0.68
0.70
0.72
0.86
0.88
0.90 ...
0.64
0.66
0.68
0.70
0.84
0.86
0.88
0.90
0.58
0.60
0.62
0.64
0.78
0.80
0.82
0.84
...
0.56
0.58
0.60
0.62
0.76
0.78
0.80
0.82
0.98
1.00 ...
0.56
0.58
0.60
0.62
0.76
0.78
0.80
0.82
0.98
1.00 ...
0.72
0.74
0.76
0.78
0.72
0.74
0.76
0.78
0.70
0.72
0.74
0.76
0.68
0.70
0.72
0.74
0.88 ...
0.68
0.70
0.72
0.74
0.88 ...
0.66
0.68
0.70
0.72
0.86
0.88
0.90 ...
0.66
0.68
0.70
0.72
0.86
0.88
0.90 ...
0.64
0.66
0.68
0.70
0.84
0.86
0.88
0.90
0.64
0.66
0.68
0.70
0.84
0.86
0.88
0.90
0.62
0.64
0.66
0.68
0.94 ...
0.62
0.64
0.66
0.74
0.76
0.78
0.80
0.82
0.84
0.86
0.74
0.76
0.78
0.80
0.82
0.84
0.72
0.74
0.92 ...
0.66
0.68
0.86
0.88
0.76
0.78
0.80
0.82
0.70
0.90
0.72
0.92
0.74
0.94
0.76
0.96
0.98
0.64
0.84
0.66
0.86
0.68
0.88
0.70
0.90
0.72
0.92
0.74
0.94
0.96
0.64
0.84
0.66
0.86
0.68
0.88
0.70
0.90
0.72
0.92
0.74
0.94
0.96
0.80
0.80
0.78
0.76
0.82
0.82
0.80
0.78
0.84 ...
0.84 ...
0.82
0.84
0.80
0.82
0.86 ...
0.84
0.86
0.76
0.78
0.80
0.82
0.84
0.86
0.74
0.76
0.78
0.80
0.82
0.84
0.74
0.76
0.78
0.80
0.82
0.84
0.72
0.74
0.92 ...
0.72
0.74
0.92 ...
0.74
0.78
0.76
0.78
0.80
0.82
0.76
0.78
0.80
0.82
0.82
0.88
0.90
0.92
0.90
0.92
0.94];
0.78
%% Pesos
pair(:,1)=b;
pair(:,2)=a;
counter=0;
while counter<100
W1=rand(1);
if W1(1,1)<=1 & W1(1,1) >= 0.9
counter=counter+1;
w1(counter)=W1;
end
end
counter=0;
while counter<100
W2=rand(1);
if W2(1,1)<=1 & W2(1,1) >= 0.9
counter=counter+1;
w2(counter)=W2;
end
end
%step 0
0.82
M=100;
weight=[w1;w2];
rate=0.6;
radius=5;
g=weight;
%cluster units
%initial weight w
%initial learning rate
%radius
%step 1
%STEP 1
disp('Aprendiendo')
epoch = 0;
while epoch < 1000
epoch = epoch + 1;
for i = 1:1:281
%STEP 2 3
for j = 1:1:M
D(j)=sum((weight(:,j)'-pair(i,:)).^2);
end
%STEP 4
[Y,J] = min(D);
%Neighborhoods of radi
K=J;
neibor = J-radius:1:J+radius;
neibor1 = K-radius:1:K+radius;
for v1=1:1:size(neibor1,2)
for v=1:1:size(neibor,2)
J=neibor(v);
K=neibor1(v1);
if J>0 & J<100
if K>0 & K<100
weight(:,J)=weight(:,J)+rate*((pair(i,:)'-weight(:,J)));
end
end
end
end
we0 = g;
if epoch == 100
we100=weight;
rate100=rate;
elseif epoch == 200
we200=weight;
rate200=rate;
elseif epoch == 300
we300=weight;
rate300=rate;
elseif epoch == 600
we600=weight;
rate600=rate;
elseif epoch == 800
we800=weight;
rate800=rate;
elseif epoch == 1000
we1000=weight;
rate1000=rate;
end
end
rate = rate - 0.0006;
if epoch == 1
radius = 5;
elseif epoch == 100
radius =
elseif epoch
radius =
elseif epoch
radius =
elseif epoch
radius =
elseif epoch
radius =
end
4;
==
3;
==
2;
==
1;
>=
0;
200
300
600
800
end
%plotting initial training points
axis([0 1 0 1]);
axis(axis);
grid on;
hold on
figure(2)
plot(pair(:,1)',pair(:,2)','go')
hold on
axis([0 1 0 1]);
axis(axis);
hold
title('kohonen net input')
xlabel('X1');
ylabel('X2');
pause
clf
%plotting cluster for different epochs
disp('Ready to plot . . ')
plot(we0(1,:),we0(2,:))
hold
plot(we0(1,:),we0(2,:),'go')
title('kohonen self organitazing map
xlabel('W1');
ylabel('W2');
epoch10
alpha = 0.6')
grid on;
hold on
axis([0 1 0 1]);
axis(axis);
%print g2.ps
pause
hold off
clf
plot(we100(1,:),we100(2,:))
hold
plot(we100(1,:),we100(2,:),'go')
title(['konohen self organizing map epoch 100 alpha= ' ,num2str(rate100)])
xlabel('W1');
ylabel('W2');
grid on;
hold on
axis([0 1 0 1]);
axis(axis);
%print g3.ps
pause
hold off
clf
axis([0 1 0 1]); axis(axis)
plot(we200(1,:),we200(2,:))
hold
plot(we200(1,:),we200(2,:),'go')
title(['konohen self organizing map epoch 200 alpha= ' ,num2str(rate200)])
xlabel('W1');
ylabel('W2');
grid on;
hold on
axis([0 1 0 1]);
axis(axis);
%print g4.ps
pause
hold off
clf
clf
= ' ,num2str(rate1000)])
Redes Neuronales
Profesor:
Alumno:
Arrieta Gallegos, Juan