NeuroPro

нейронные сети
и анализ данных

Начало
Новости
Услуги
Нейронные сети
Программы
Статьи
Заметки
Ссылки
Вопросы и ответы
Об авторе / контакты
Заметки

Пригодность самоорганизующихся нейронных сетей (карт) Кохонена для задач визуализации и разведочного анализа данных

Самоорганизующаяся нейронная сеть (карта) Кохонена выполняет проецирование многомерных данных в пространство меньшей размерности (обычно двумерное) и применяется обычно на практике при визуализации данных, чтобы человек смог "увидеть" наличие или отсутствие кластерной структуры в данных, число кластеров, законы совместного распределения признаков, зависимости между переменными. Сети Кохонена (квантующий слой нейронов без латеральных взаимодействий) в заметке не рассматриваются - их поведение не отличается от действия метода динамических ядер (k-means). Рассматриваются именно самоорганизующиеся карты Кохонена - нейросети, при обучении нейронов которых учитывается топология сети и используется функция, задающая влияние нейрона на его соседей. Хотя в литературе термины "сеть Кохонена" и "карта Кохонена" при рассмотрении именно карт достаточно часто употребляют равноправно, но здесь я в случаях, когда будут возникать слова "сеть", "нейросеть", прошу понимать под ними не квантующую сеть Кохонена, а именно топологическую карту Кохонена.

При использовании карт Кохонена никто обычно не задумывается, что сами по себе эти нейронные сети задачу кластерного анализа и идентификации зависимостей не решают. Они только позволяют по "раскраскам" карты выдвинуть гипотезы о наличии кластерной структуры и числе кластеров, зависимостях между значениями отдельных переменных. Выдвинутые гипотезы должны проверяться и подтверждаться иными способами. Более того, показано [1,2], что карты Кохонена могут приводить как к формированию ложных гипотез, так и к невозможности увидеть отдельные реально имеющиеся и статистически достоверные зависимости в данных. Но периодически возникающие критические работы (например, [1,2]) до сих пор не привлекли к себе широкого внимания. А жаль.

Заметка написана именно потому, что при первом же случае, когда я попытался реально использовать карты Кохонена (раньше пользовался иными способами визуализации и разведочного анализа данных), я в полной мере это безответственное поведение карт Кохонена прочувствовал на собственной шкуре. Хорошо, что под рукой были и другие методы визуализации данных, и специалист в той предметной области, из которой анализировалась выборка данных (этот специалист-эксперт теоретически мог оценить правдоподобность результатов и гипотез, полученных в процессе анализа данных). И не стоит грешить на ошибки в моем нейрософте - я сначала попробовал использовать широко распространенные стандартные нейропрограммы, и только после стабильного получения неудовлетворительных результатов сам запрограммировал несколько алгоритмов "картографирования", чтобы поглубже залезть "в потроха" карт и определить, где же зарыта собака.

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

Должна быть выстроена жесткая теоретическая методология выбора настроек карт Кохонена при моделировании и визуализации данных, проверки адекватности построенной сети-карты. Построение карты Кохонена предполагает выполнение следующих шагов:

  • выбор топологии нейронной сети-карты (например, вида ячеек - прямоугольных или гексагональных);
  • выбор размера карты (числа нейронов в нейросети Кохонена) и ее геометрии;
  • начальная инициализация положения карты (случайно, в плоскости двух главных компонент выборки данных, либо иным способом);
  • выбор критерия близости между точкой данных и нейроном нейронной сети (например, евклидова расстояния);
  • выбор алгоритма обучения и его настроек, правила останова процесса адаптации карты Кохонена;
  • подтверждение адекватности обученной сети, например, обоснование правильности выбора размера сети путем сравнения значений остаточных дисперсий и топологических ошибок для нескольких сетей разного размера;
  • анализ топологической ошибки построенной карты, т.е. чувствительности распределения векторов данных по нейронам нейросети и чувствительности раскрасок карты к малым изменениям положения точек данных - локализация областей с относительно высокой топологической ошибкой;
  • выбор способа проецирования данных на карту Кохонена: в узел (т.е. нейрон карты), на надстроенную над картой кусочно-линейную непрерывную аппроксимацию (например, путем триангуляции ячеек карты), на гладкую аппроксимацию карты, или иного способа;
  • повторение этапа анализа топологической ошибки, если для проецирования был выбран другой критерий близости, а не тот, который использовался на этапе построения карты;
  • выбор способа раскраски точек-проекций.
Все эти шаги обычно выполняются некритически (а некоторые вообще не выполняются), не принимая во внимание свойств анализируемой выборки и другие моменты. А именно четкое понимание того, какими плохими и хорошими свойствами обладает выбранный набор настроек и алгоритмов, и позволяет оценить, какие ложные гипотезы могут быть сформированы, мимо каких свойств данных можно пройти и их не заметить, и как нужно проверять набор сформированных при анализе карты Кохонена гипотез.

Востребованы карты Кохонена, оперирующие в гетерогенных пространствах (термин взят из работы [3], где под гетерогенным пространством понимается комбинация непрерывнозначных, дискретнозначных, булевых и номинальных переменных и показано, что специальные метрики близости объектов позволяют работать алгоритмам кластеризации, kNN-классификаторам более точно и адекватно, чем по сравнению со случаем, когда в таких пространствах для вычисления близости между объектами используется евклидово расстояние). Для этого нужно доработать алгоритмы обучения карты, алгоритмы проецирования данных на карту и раскраски карты. Может быть, это уже сделано - я не слишком глубоко изучал весь спектр научных работ по картам Кохонена, т.к. нельзя изучить около тысячи работ в год (да-да, Т.Кохонен с помощниками раз в пять лет выпускают библиографию работ в этой области - и за каждую пятилетку набирается около 5000 научных статей). Это поможет наступать на меньшее число граблей безответственным пользователям, применяющим карты Кохонена там, где их применять некорректно (за пределами непрерывнозначных признаков), повысит устойчивость решения к выбросам в данных и различным законам распределения значений признаков.

Думается, даже все теоретические доработки и практические приемы не снимут главной проблемы - возможности порождения неадекватных гипотез о свойствах данных по раскраскам карты, и возможности не отразить в виде раскрасок (и поэтому не увидеть) действительно имеющихся зависимостей и свойств. Поэтому карты Кохонена будут проигрывать другим, не нейросетевым (!) методам визуализации многомерных данных, например, parallel coordinates, которые визуализируют реальные значения данных, не вводя и не используя никакой модели, описывающей или трансформирующей данные. Поэтому сразу снимаются вопросы выбора вида модели (размеров и топологии карты Кохонена) и настроек алгоритма построения модели, проверки адекватности построенной модели. Да и если захочется посмотреть, как увиденные для всей выборки основные тенденции в свойствах данных изменяются при разных значениях одного дискретнозначного признака (или при разных комбинациях значений двух и более дискретнозначных признаков), то набор картинок-визуализаций будет построен мгновенно, а при использовании карт Кохонена придется обучить карту для каждой такой подвыборки и решать все перечисленные проблемы (построение сети-карты и доказательство ее адекватности) многократно. Там, где карты Кохонена хорошо работают, обычно приемлемые результаты получаются и с использованием классической визуализации данных на плоскости первых двух главных компонент.

Поэтому перспективы карт Кохонена представляются достаточно туманными. Минусов больше, чем плюсов, при наличии альтернативных методов визуализации данных, многими минусами не обладающих.

Литература.
1. Pal N.R., Bezdek J.C. Extentions of self-organizing feature maps for improved visual displays / Proc. Int. Joint Conf. on Neural Networks (IJCNN'1993), Nagoya, Japan, 1993. Vol.3. - pp.2441-2447.
2. Lampinen J., Kostiainen T. Self-organizing map in data analysis - notes on overfitting and overinterpretation / Proc. European Symposium on Artificial Neural Networks (ESANN'2000), Bruges, Belgium, 2000. - pp.239-244.
3. Wilson D.R., Martinez T.R. Improved heterogeneous distance functions / Journal of Artificial Intelligence Research, 1997. Vol.6. - pp.1-34.

PS. Авторы [2] - из Хельсинского технологического университета (Т.Кохонен, автор карт Кохонена и сетей Кохонена, как раз оттуда). Jouko Lampinen писал совместные статьи и с таким авторитетом теории обучения нейросетей без учителя, как Erkki Oja, поэтому на некомпетентность и надуманность его критики грешить нельзя. Соавтор статьи [1] James Bezdek - человек тоже известный, хоть и специализируется преимущественно на fuzzy-технологиях.