Подтвердить что ты не робот

Как создать U-матрицу?

Я собираюсь вытащить свои волосы, пытаясь понять, как именно создается U-матрица для визуализации Self-Organizing-Maps. (SOMS, он же Kohonen Nets).

Каждый последний результат Google, который я нашел, не помогает, является противоречивым, имеет огромное количество опечаток или, в противном случае, очень широкий.

Я задаю простой вопрос: у меня есть выходная сетка выходных модулей 3x3: Как мне построить U-матрицу из этого?

Ссылки до сих пор (включая здесь, в обмене стеками):

1) Оригинальная бумага. (RIDDLED с ошибками, опечатками и вводящей в заблуждение информацией. Часть U-матрицы настолько полна ошибок я не знаю, как опубликован этот документ.)

2) руководство инструментария SOM, которое цитирует приведенный выше документ. (Объясняет, как это сделать для выходной строки, но не объясняет, как это сделать для выходной сетки).

3) Другая статья. (Объясняет, как сделать U-матрицу, но полностью противоречит его первой статье и панели инструментов SOM, на которой она основана).

4) A похожий вопрос на SE, который действительно никуда не денется.

5) Еще один похожий вопрос на SE, который хорош, но не объясняет, как именно сделать U-матрицу.

Чтобы облегчить это... Я составил очень простой пример:

У меня есть 3x3 выходная сетка, то есть 3x3 выходных нейронов, которые уже прошли обучение. Все нейроны имеют размерность, скажем, 4. Теперь я хочу сделать U-матрицу.

Как именно я это делаю?

4b9b3361

Ответ 1

U-матрица представляет собой визуальное представление расстояний между нейронами в пространстве измерений входных данных. А именно, вы вычисляете расстояние между соседними нейронами, используя их обученный вектор. Если ваше входное измерение было 4, то каждый нейрон на обученной карте соответствует 4-мерному вектору. Допустим, у вас есть гексагональная карта 3x3.

map lattice

umatrix будет матрицей 5x5 с интерполированными элементами для каждой связи между двумя нейронами, такими как

u-mat lattice

Элементы {x, y} - это расстояние между нейронами x и y, а значения в {x} - это средние значения окружения. например {4,5} = расстояние (4,5) и {4} = среднее ({1,4}, {2,4}, {4,5}, {4,7}). Для расчета расстояния вы используете обученный 4-мерный вектор каждого нейрона и формулу расстояния, которую вы использовали для обучения карты (обычно евклидова дистанция). Таким образом, значения umat - это только числа (без векторов). Затем вы можете назначить светло-серый цвет самому большому из этих значений и от темно-серого до наименьшего и других значений к соответствующим оттенкам серого. Вы можете использовать эти цвета для рисования клеток умата и визуализировать представление расстояний между нейронами.

также проверьте это

Ответ 2

В оригинальной статье, приведенной в вопросе, говорится:

Наивное применение алгоритма Кохонена, хотя сохранение топологии входных данных не может показать кластеры, присущие входным данным.

Во-первых, это правда, во-вторых, это глубокое неверное понимание ЗВОЛ, в-третьих, это также неверное понимание цели вычисления ЗВОЛ.

Просто возьмите цветовое пространство RGB в качестве примера: есть ли 3 цвета (RGB) или 6 (RGBCMY) или 8 (+ BW) или более? Как бы вы определили, что независимо от цели, то есть присущей самим данным?

Моя рекомендация заключалась бы в том, чтобы не использовать оценки максимального правдоподобия границ кластера вообще - даже такие примитивные, как U-Matrix, потому что основной аргумент уже ошибочен. Независимо от того, какой метод вы используете для определения кластера, вы наследуете этот недостаток. Точнее, определение границ кластеров вообще неинтересно, и оно лишает информацию об истинном намерении построить ЗВОЛ. Итак, почему мы собираем SOM ​​из данных? Начнем с некоторых основ:

  • Любой SOM представляет собой репрезентативную модель пространства данных, поскольку он уменьшает размерность последнего. Ибо это модель, которую можно использовать в качестве диагностического, а также прогностического инструмента. Тем не менее, оба случая не оправданы какой-то универсальной объективностью. Вместо этого модели сильно зависят от цели и принятого связанного с ней риска для ошибок.
  • Предположим на мгновение, что U-матрица (или аналогичная) была бы разумной. Поэтому мы определяем некоторые кластеры на карте. Это не только вопрос, как оправдать критерий для него (вне самой цели), это также проблематично, потому что любой дальнейший расчет уничтожает некоторую информацию (это модель о модели).
  • Единственная интересная вещь на ЗВОЛ - сама точность - ошибка классификации, а не ее оценка. Таким образом, оценка модели с точки зрения валидации и надежности - это единственное, что интересно.
  • Любое предсказание имеет цель, и принятие предсказания является функцией точности, которая, в свою очередь, может быть выражена ошибкой классификации. Обратите внимание, что ошибка классификации может быть определена для моделей с 2 ​​классами, а также для моделей с несколькими классами. Если у вас нет цели, вы не должны ничего делать с вашими данными.
  • И наоборот, понятие "количество кластеров" полностью зависит от критерия "разрешенная дивергенция внутри кластеров", поэтому он маскирует важнейшую структуру структуры данных. Он также зависит от риска и структуры риска (с точки зрения ошибок типа I/II), которые вы готовы принять.
  • Итак, как мы можем определить числовые классы в SOM? Если нет доступных внешних априорных рассуждений, единственный возможный путь - это а-апостериорная проверка доброты. На данном ЗВО, накладывают разные числа классов и измеряют отклонения с точки зрения стоимости ошибочной классификации, затем выбирают (субъективно) наиболее приятную (используя некоторые причудливые эвристики, такие как бритва Оккама).

Взятые вместе, U-матрица претендует на объективность, когда объективность не может быть. Это серьезное непонимание моделирования в целом. IMHO является одним из самых больших преимуществ SOM, что все параметры, которые он подразумевает, доступны и открыты для параметризации. Подходы, такие как U-матрица, уничтожают именно это, игнорируя эту прозрачность и снова закрывая ее непрозрачными статистическими рассуждениями.