Está en la página 1de 5

SOM.

- Elf Organizing Maps es una clase especial de redes neuronales artificiales en el cual
se inspira en los patrones sensoriales del cerebro por las entradas de la retina del ojo.

Uno de los objetivos principales es de transformar un espacio de entrada discreto de alta


dimensión complejo en un espacio de salida discreto de baja dimensión más simple.
Podemos verificar que los SOM son más ventajosos de usar que otros algoritmos de
agrupación porque son más fáciles en su implementación y a la vez se pueden resolver
problemas no lineales de alta complejidad.
Aplican una regla de aprendizaje competitiva donde las neuronas de salida compiten entre
ellas por la oportunidad de representar patrones distintos dentro del espacio de entrada.
Implica tres procesos principales que incluyen:
1. Competencia.- compiten entre sí para representar mejor la muestra de entrada
particular.
2. Cooperación.- las ubicaciones cercanas en el espacio de salida representan entradas
con propiedades similares.
3. Adaptación.- Los vectores de peso de la UMB y sus unidades vecinas en el mapa se
ajustan a favor de los valores más altos de la función discriminante.
Estructura:
Consta de capa de entrada y la capa de salida.

Está representada por un vector de entrada m-dimensional.

La formación del SOM


comienza con la inicialización de los vectores de peso.
Paquetes
Este método nos indicara si hay fraude y la vez importamos las librerías.
import pandas as pd
import SimpSOM as sps
from sklearn.cluster import KMeans
import numpy as np

Las siguientes líneas de código python se pueden elaborar como. Primero construimos una
red ( 20x20) con un formato de pesos tomado de raw_data y activamos las Condiciones
Límite Periódicas. Luego entrenamos la red durante 10000 épocas y con una tasa de
aprendizaje inicial de 0.01. Luego guardamos los pesos para archivar e imprimir un mapa
de los nodos de la red y colorearlos de acuerdo con la primera característica (columna
número 0) del conjunto de datos y luego de acuerdo con la distancia entre cada nodo y sus
vecinos. Luego proyectamos los puntos de datos en el nuevo mapa de red 2D. Finalmente,
usamos k significa agrupar los puntos de datos en dos grupos que esperamos separen los
puntos de datos en grupos fraudulentos y grupos no fraudulentos.
net = sps.somNet(20, 20, train, PBC=True)
net.train(0.01, 20000)
net.save(‘filename_weights’)
net.nodes_graph(colnum=0)
net.diff_graph()

prj=np.array(net.project(x_train.values))
plt.scatter(prj.T[0],prj.T[1])
plt.show()

kmeans  = KMeans(n_clu
sters=3, random_state=0).fit(prj)
data[“clusters”]=kmeans.labels_
Resultados:
La combinacion que se realize con k significa me da el grupo 0 como
un grupo de aerolíneas más seguras.

También podría gustarte