¿Es correcto normalizar datos y / o vectores de peso en un SOM?

Así que estoy siendo sorprendido por algo que (debería) ser simple:

He escrito un SOM para un conjunto de datos bidimensionales de 'juego' simple. Aquí están los datos:

Puedes distinguir 3 grupos por ti mismo.

Ahora, hay dos cosas que me confunden. La primera es que el tutorial que tengo, normaliza los datos antes de que SOM trabaje en ellos. Esto significa que normaliza cada vector de datos para que tenga la longitud 1. (norma euclidiana). Si hago eso, entonces los datos se ven así:

(Esto se debe a que todos los datos se han proyectado en el círculo unitario).

Entonces, mi (s) pregunta (s) son las siguientes:

1) ¿Es esto correcto? Proyectar los datos hacia abajo en el círculo de la unidad parece ser malo, porque ya no se pueden distinguir 3 grupos ... ¿Es esto un hecho de la vida de los SOM? (es decir, que solo funcionan en el círculo unitario).

2) La segunda pregunta relacionada es que los datos no solo se normalizan para tener la longitud 1, sino que también lo son los vectores de peso de cada unidad de salida después de cada iteración. Entiendo que hacen esto para que los vectores de peso no "exploten", pero a mí me parece incorrecto, ya que todo el punto de los vectores de peso es retener la información de distancia. Si los normalizas, pierdes la capacidad de "agrupar" correctamente. Por ejemplo, ¿cómo puede el SOM distinguir entre el grupo en la parte inferior izquierda y el grupo en la parte superior derecha, ya que se proyectan hacia el círculo unitario de la misma manera?

Estoy muy confundido por esto. ¿Deberían normalizarse los datos a la unidad de longitud en los SOM? ¿Deberían normalizarse también los vectores de peso?

¡Gracias!

EDITAR

Aquí están los datos., guardado como un archivo .mat para MATLAB. Es un simple conjunto de datos bidimensionales.

Respuestas a la pregunta(2)

Su respuesta a la pregunta