Está en la página 1de 5

Universidad de Guadalajara

Maestra en Ciencias en Ingeniera Elctrica



Inteligencia Artificial






Mapas Autoorganizados de Kohonen







Profra.: Dra. Alma Yolanda Alanis Garca




Alumno: Jos A. Regalado Rojas





Fecha: 30 de Octubre de 2013


!"#$%&'(()*"+

Los mapas autooiganizauos (S0N poi sus siglas en ingls) fueion uesaiiollauos en su foima actual
poi el finlanus Teuvo Kohonen. En ueteiminauas zonas uel ceiebio se ha encontiauo
expeiimentalmente que las neuionas uetectoias ue iasgos se encuentian topologicamente
oiuenauas. Poi ejemplo, ante un estimulo pioveniente ue sensoies ue la piel pioximos entie si, se
estimulan neuionas uel ceiebio peitenecientes a una misma zona.

Los mapas autooiganizauos han uemostiauo su eficacia en taieas ue clasificacion, ieuuccion ue
uimensiones y extiaccion ue iasgos. Su utiliuau mas impoitante se ielaciona con la clasificacion ue
infoimacion o el agiupamiento ue pationes poi tipos o clases. Este mouelo neuional utiliza una
estiategia ue apienuizaje tipo no supeivisauo.

En la siguiente pictica se mostiai el compoitamiento ue los mapas autooiganizauos utilizauos
paia clasificai uatos aleatoiios. Se empieza poi colocai las neuionas en el centio ue masa uel espacio
ue clasificacion paia posteiioimente efectuai el pioceso ue enlace con los pationes que son
semejantes.
!")()-.)/-()*" &0 .- $0& 123+

Piimeio se ingiesan pationes semejantes ubicauos ue maneia que se obseiven clases uifeientes.
Bauo que la ieu neuional no iequieie entienamiento supeivisauo, ueteiminai la clasificacion ue los
uatos poi si sola, ue acueiuo a las caiacteiisticas ue los vectoies ue entiaua. El siguiente ejemplo
muestia una uistiibucion ue los vectoies uonue se obseivan agiupamientos en ties clases (Fig. 1).
Los vectoies ue pesos ue las ties neuionas que se necesitan estn ubicauos en el centio ue masa ue
los pationes ue entiaua. Este centio ue masa se calcula meuiante la funcion ue Natlab !"!#$%&'(.















Fig. 1. Pationes a clasificai y posicion inicial ue los pesos ue las neuionas.
Los elementos '+' son los pationes y las 'o' muestia la posicion inicial ue
las neuionas meuiante sus iespectivos vectoies ue pesos.
4$0-()*" &0 .- 123+

Paia cieai la S0N se emplea la funcion $)*+%,-&.' ue Natlab. Esta funcion iecibe como paimetio
las uimensiones ue la ieticula que estai foimaua ue n x m neuionas. La posicion inicial ue las
neuionas es impoitante poique eso peimite al mapa oiganizai los pesos mas auecuauamente con
iespecto a la uistiibucion ue los pationes a clasificai. Si los pationes estn muy uispeisos los pesos se
iin mouificanuo ue acueiuo a la uistancia eucliuiana entie la neuiona y los pationes en la vecinuau.
56078.% 9+

Paia el ejemplo ue la Fig. 1 la estiuctuia ue la ieu consta ue uos entiaua, ties neuionas en la capa
oculta y ties saliuas. En la siguiente figuia (Fig. 2) se muestia como los vectoies ue pesos se
uistiibuyen paia clasificai a los pationes ue entiaua.















Fig. 2. Posicion final ue las neuionas en la clasificacion
ue los pationes meuiante mapas autooiganizauos.

La posicion final ue las neuionas est uaua poi los vectoies ue pesos y son:

1. u.17uu u.1Suu
2. u.S4uu u.S6uu
S. u.82Su u.82uu

Bebiuo a que los valoies ue los pesos se mouifican ue acueiuo a la uistancia optima entie los
pationes y las neuionas, la estiuctuia ue la ieu S0N no iequieie ue un bias.
56078.% :+

En el siguiente ejemplo, se tienen 2uu pationes uistiibuiuos aleatoiiamente alieueuoi ue cuatio
puntos en el plano. Se empleaian 4, 8 y 16 neuionas paia veiificai la uistiibucion ue la S0N.
Noimalmente los vectoies ue pesos se inicializan en el centio ue masa ue la uistiibucion ue los
pationes ue entiaua (Fig. S).















Fig. S. 2uu pationes aleatoiios uistiibuiuos en la vecinuau ue cuatio puntos.
Be acueiuo a la uistiibucion mostiaua en la Fig. S, se espeia que la S0N iealice cuatio
clasificaciones. En la siguiente figuia (Fig. 4) se pueuen vei las clasificaciones iealizauas paia 4, 8 y
16 neuionas.






(a) (b)


















(c)
Fig. 4. Se obseivan los S0N paia 4 (a), 8 (b) y 16 (c) neuionas.
2;<0$=-()%"0< > (%"(.'<)%"0<+

En los ejemplos mostiauos se concluye que los S0N son capaces ue clasificai conjuntos ue uatos
gianues ue maneia eficiente y peimiten visualizai estiuctuias bien uefiniuas. Be acueiuo al
apienuizaje ue Kohonen, las neuionas ganauoias iepiesentan las iespectivas saliuas ue la ieu y estas
se oiganizan ue acueiuo a la uistiibucion ue los pationes ue entiaua, lo que significa que si los
pationes aleatoiios son uistiibuiuos unifoimemente, caua agiupamiento tenui el mismo nmeio ue
neuionas.

La posicion inicial uel vectoi ue pesos tambin es impoitante poique si se encuentian alejauos ue
la vecinuau ue alguno ue los agiupamientos pueuen habei clases que contengan ms neuionas que
otias, esto se uebe a que la topologia ue la ieu est pieuefiniua. Bauo que la ieu tiene un
entienamiento no supeivisauo, la topologia se uefine paia un caso paiticulai.




!"#$%& () *+,-+./

01(23-& 4

% Mapas auto-organizados
clear all; close all; clc;
% Patrones de entrada
x = [0.1 0.1 0.3 0.5 0.55 0.6 0.8 0.9 0.85 0.2...
0.25 0.15 0.6 0.58 0.45 0.8 0.85 0.75;...
0.1 0.2 0.15 0.57 0.6 0.5 0.8 0.8 0.85 0.15...
0.12 0.15 0.55 0.58 0.58 0.75 0.82 0.9];
plot(x(1,:),x(2,:),'+')
axis([0 1 0 1])
% Inizializacin de la red y los pesos
net = selforgmap([1 3]);
win = initsompc('configure',x);
hold on
% Posicin inicial de los pesos
plot(win.posMean(1),win.posMean(2),'go',...
'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',8)
hold off
net = train(net,x);
wend = net.iw{1}';
figure; plot(x(1,:),x(2,:),'+')
axis([0 1 0 1])
hold on
% Posicin final de los pesos
plot(wend(1,:),wend(2,:),'go',...
'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',8)

01(23-& 5

clear all; close all; clc;
a = ones(1,50); b = a;
% Distribucin de los patrones de entrada
c = 0.55;
x1 = rand(2,50)+[c*a;c*b];
x2 = rand(2,50)+[-c*a;c*b];
x3= rand(2,50)+[-c*a;-c*b];
x4 = rand(2,50)+[c*a;-c*b];
x = [x1 x2 x3 x4];
plot(x(1,:),x(2,:),'+')
% Inicializacin de la SOM y los pesos
net = selforgmap([16 1]);
win = initsompc('configure',x);
hold on
plot(win.posMean(1),win.posMean(2),'go',...
'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',8)
hold off
net = train(net,x);
figure;
plot(x(1,:),x(2,:),'+')
hold on
% Posicin final de los pesos
wend = net.iw{1}';
plot(wend(1,:),wend(2,:),'go',...
'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',8)

También podría gustarte