Как построить U-Matrix, Sample Hit и Input Planes из обученных данных SOM

Я написал простой алгоритм SOM ​​в MATLAB. Моя большая проблема заключается в том, как я могу визуализировать / отображать данные в формате U-Matrix, Sample Hits и Component / Input Planes? Эти три графика существуют в наборе инструментов SOM в MATLAB. Но проблема в том, что я не могу вызвать их для визуализации моих данных поверх моего написанного кода. Потому что им нужна «сеть» в качестве входных данных, в которой мой код не создает никакой «сети».

Есть ли какое-нибудь руководство?


person BlueBit    schedule 12.08.2014    source источник


Ответы (1)


Вы можете создавать свои собственные функции, так как они не слишком сложны. Для объяснения я возьму SOM размером 20x20x10 (400 узлов, 4 функции).

Hit-Map — это не более чем предоставление каждой выборки уже изученному SOM и приращение +1 к узлу, который был выбран как Best Matching Unit (BMU). Затем вы составляете эту карту. Итак, если узел (1,1) срабатывает 10 раз, а узел (1,2) срабатывает 100 раз, то у вас будет изображение, в котором узел (1,2) имеет более высокую интенсивность, чем узел (1,1).

U-матрица представляет собой карту, представляющую среднее расстояние между вектором веса узла и его ближайшими соседями. Итак, здесь вы можете рассчитать евклидово расстояние между вектором признаков узла X до каждого соседа. Итак, если у вас есть вектор признаков для node(1,1,:)=[1,1,2,3], node(1,2,:)=[2,2,1,1] и node(2 ,1,:)=[1,1,1,1], то значение U-матрицы для node(1,1) может быть U(1,1)=norm(squeeze(node(1,1, :)-узел(1,2,:)))+норма(сжать(узел(1,1,:)-узел(2,1,:))=4,8818

Компонентные/входные плоскости являются самыми простыми и не требуют никакой обработки. Вы просто выбираете каждую особенность карты SOM и сюжета. Таким образом, в нашем примере SOM 20x20x4 у вас будет 4 функции и, следовательно, 4 компонента, которые вы можете построить через imagesc(node(:,:,1)) для функции 1.

person ASantosRibeiro    schedule 14.11.2014