Как использовать самоорганизующиеся карты (SOM) для кластеризации в 2D местности (DEM) - PullRequest
0 голосов
/ 23 сентября 2019

Мне нужно знать, как использовать SOM для уменьшения размерности 2D пространственно изменяемой информации о местности

Я новичок в SOM и как ее использовать.Я изучал различные источники, которые объясняют, как работает SOM и как построить вывод (в Matlab)

Самоорганизующиеся карты (SOM) в MATLAB

MATLAB: кластеризация самоорганизующейся карты (SOM)

и даже как интерпретировать результаты ( Интерпретация самоорганизующейся карты ).

Iя пытаюсь сделать это в Matlab и, к сожалению, все доступные примеры на iris flower , и мне не удалось найти ничего, что имеет отношение к использованию SOM для информации о местности.

Iнаткнулся на эти две журнальные статьи (1) и (2) , которые очень похожи друг на друга, которые использовали SOM для кластеризации и интерполяции информации о местности, что в основном и являетсянужно сделать с частью SOM.Тем не менее, техническая часть о том, как они сделали SOM для кластеризации 2D-данных, недостаточно ясна.

Таким образом, у меня есть 2D пространственно изменяемая глубина воды над доменными ячейками.каждый столбец в прикрепленном файле представляет значение глубины для каждой ячейки, которое соответствует определенному событию (столбцы представляют собой просто линеаризованную форму данных 2D местности, каждый столбец имеет данные местности для всех ячеек, которые соответствуют определенной глубине затопленияи -9999 относится к неактивным / узловым клеткам).Затем мне нужно использовать SOM для классификации входных данных местности, а затем дать мне вывод для определенной глубины затопления.

следующий код был сделан в matlab

nrow=241;
ncol=236;
inun_depth=dlmread('combined_inun_depth.csv',',',1,1);

% Solve a Clustering Problem with a Self-Organizing Map
%   inun_depth - input data.


% Create a Self-Organizing Map
dimension1 = 5;
dimension2 = 5;
net = selforgmap([dimension1 dimension2]);

% Train the Network
[net,tr] = train(net,inun_depth);



%reshape the terrain data back to the 2d form
%selected_depth=reshape(inun_depth(:,5),[nrow,ncol]);
%plot
% replace the No_data with Nans for better visualization
%selected_depth(selected_depth==-9999)=nan;
%imagesc(selected_depth)

какНапример, входной файл имеет глубину затопления для ячеек сетки, соответствующую добавлению 1, 5, 10, 15, 20, 25 и 30 мм воды к местности.глубина затопления была получена из гидравлической модели.давайте предположим, что мне нужны глубины затопления, которые соответствуют случаю, когда было добавлено 18 мм (это будет интерполироваться и генерироваться SOM). Итак, мне нужно использовать SOM для кластеризации, интерполяции и воспроизведения выходных данных в 2D-данных местности длявизуализации.

...