Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9306

.pdf
Скачиваний:
0
Добавлен:
25.11.2023
Размер:
2.5 Mб
Скачать

130

Обнаружение аномалий. Кластеризация применяется для выделения нетипичных объектов. Интерес здесь представляют кластеры (группы), в которые попадает крайне мало, скажем один-три, объектов.

Слово кластеризация происходит от английского cluster – пучок, сгусток.

Независимо от предмета изучения применение кластерного анализа

предполагает следующие этапы:

отбор выборки для кластеризации;

определение множества переменных, по которым будут оцениваться объекты в выборке;

вычисление значений той или иной меры сходства между объектами;

применение метода кластерного анализа для создания групп сходных объектов;

проверка достоверности результатов кластерного решения.

Исходные данные для процедуры кластеризации – набор объектов,

каждый из которых задается вектором своих характеристик (признаков). В ходе кластеризации происходит объединение «подобных» объектов в отдельные классы. Результатом кластеризации является набор классов, содержащих однородные объекты.

Проблема состоит в том, что оценка производится не по одному какомулибо признаку, а одновременно по их совокупности. Разработаны алгоритмы кластеризации, которые пересчитывают значения признаков в некоторую величину, характеризующую «расстояние» между объектами рассматриваемой совокупности и объединяют близкие объекты в кластеры. Наиболее популярные алгоритмы – сети Кохонена и k-means.

Сети Кохонена – это разновидность самоорганизующихся карт признаков, которые, в свою очередь, являются специальным типом нейронных сетей. Основные принципы работы данной нейросетевой модели были сформулированы финским ученым Тойво Кохоненом в 1982 году.

131

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

Рис.4.25. Сеть Кохонена.

В основе построения сети Кохонена лежит конкурентное обучение, когда выходные узлы (нейроны) конкурируют между собой за право стать «победителем». Говорят, что нейроны избирательно настраиваются для различных входных примеров или классов входных примеров в ходе соревновательного процесса обучения. Основным отличием данной технологии от рассмотренных выше нейросетей, обучаемых по алгоритму обратного распространения, является то, что при обучении используется метод обучения без учителя, то есть результат обучения зависит только от структуры входных данных. Обучение заключается не в минимизации ошибки, а в подстройке весов (внутренних параметров нейронной сети) для наибольшего совпадения с входными данными.

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

Карты Кохонена или самоорганизующиеся карты признаков (self organizing map – SOM) позволяют представлять результаты кластеризации в виде двумерных карт, где расстояния между объектами соответствуют расстояниям между их векторами в многомерном пространстве, а сами значения признаков отображаются различными цветами и оттенками.

132

Рис. 4.26. Пример карты Кохонена Каждой ячейке на карте назначается цвет в соответствии со значениями

признаков объектов в ней. Раскраска карты позволяет оценивать и сами результаты кластеризации. Если ячейки с примерно одинаковой расцветкой образуют обособленные области, то результаты кластеризации хорошие, т.е. алгоритму удалось выделить группы объектов с похожими признаками. Если ячейки с разными цветами разбросаны вперемешку по всей карте, то результаты плохие. Хотя возможна ситуация, когда по одним признакам объекты различаются хорошо, а по другим хуже.

Карта Кохонена состоит из сегментов прямоугольной или шестиугольной формы, называемых ячейками (рис. 4.26). Каждая ячейка связана с определенным выходным нейроном и представляет собой «сферу влияния» данного нейрона: в нее попадают объекты, «захваченные» нейроном в процессе кластеризации. Распределение векторов весов нейронов карты происходит так же, как и в обычной сети Кохонена, то есть на основе конкурентного обучения. Объекты, векторы которых оказываются ближе к вектору весов данного нейрона, попадают в ячейку, связанную с ним. Тогда распределение объектов на карте в целом будет соответствовать распределению векторов весов ее нейронов. Следовательно, если объекты на карте расположены близко друг к другу, то их векторы будут близки. Напротив, если объекты на карте находятся далеко друг от друга, то и векторы их признаков различаются сильно.

Чем отличаются понятия «сеть Кохонена» и «карта Кохонена»? Вопервых, сеть Кохонена используется только для кластеризации объектов, а

133

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

Одним из недостатков карт Кохонена является тот факт, что сами по себе карты задачу кластеризации не решают, а позволяют по раскраске карты выдвинуть гипотезы о наличии кластерной структуры и зависимостях в наборе данных. Выдвинутые гипотезы нужно подтверждать другими методами, потому что они могут оказаться ложными. Другой недостаток – это эвристический характер метода. Это связано с тем, что в большинстве случаев начальная инициализация карты, т.е. задание начальных векторов весов нейронов является произвольной, при этом возможна потеря однозначности результата. Иными словами, если обучать карту несколько раз, то всегда мы будем получать непохожие итоги из-за того, что устанавливаемые случайным образом начальные веса нейронов будут различны и обучение пойдет несколько поиному. Несмотря на эвристический характер метода карты Кохонена являются мощным средством кластеризации и визуализации.

Пример использования карт Кохонена для решения задачи классификации муниципальных районов Нижегородского региона.

В Deductor Studio сети и карты Кохонена реализованы в обработчике

Карта Кохонена, где содержатся сам алгоритм Кохонена и специальный

визуализатор Карта Кохонена.

134

Алгоритм Кохонена применяется к сети Кохонена, состоящей из ячеек, упорядоченных на плоскости. По умолчанию размер карты равен 16 х 12, что соответствует 192 ячейкам (нейронам).

Не существует строгих правил для выбора числа нейронов в карте Кохонена. Каждый раз аналитик должен сам определять (возможно, методом проб и ошибок) оптимальное количество нейронов, исходя из решаемой задачи и особенностей данных. Например, если разброс значений признаков в обучающей выборке сильный (то есть векторы объектов в пространстве признаков разрежены), то, возможно, следует уменьшить число нейронов карты, чтобы избежать большого количества пустых ячеек. И наоборот, если векторы объектов расположены в пространстве признаков плотно, то для получения лучших результатов можно увеличить число нейронов.

Ограничения использования карт Кохонена в Deductor: в Deductor Studio алгоритм Кохонена ориентирован на работу преимущественно с числовыми типами данных, а также с упорядоченными (ординальными) типами. Обработка данных в полях, значения которых нельзя упорядочить, будет приводить к некорректным результатам. Упорядочивание ординальных типов осуществляется на вкладке Настройка нормализации.

Импортируем в Deductor набор данных из файла показатели.txt или из созданного ранее ХД Регион.

Исходными данными являются следующие социально-экономические показатели (данные собраны на основе официальных данных федеральных и региональных органов государственной статистики):

Показатель промышленность – объем произведенной продукции (работ, услуг) в действующих ценах соответствующих лет по крупным и средним предприятиям, млн руб.;

Показатель с/х – продукция сельского хозяйства в хозяйствах всех категорий (в фактически действовавших ценах), тыс.руб.;

135

Показатель инвестиции – инвестиции в основной капитал крупных и средних предприятий, тыс.руб.;

Показатель зарплата – среднемесячная заработная плата работающих на крупных и средних предприятиях, руб.;

Показатель безработица – уровень официально зарегистрированной безработицы (в % от экономически активного населения);

Показатель доход – доходы бюджета, млн руб.;

Показатель расход – расходы бюджета, млн руб.

Запустим мастер обработки и выберем узел Карта Кохонена. Установим все поля, кроме дата, код_региона и код_региона-название, входными.

Рис. 4.27. Настройка назначений полей На этой же вкладке при нажатии кнопки Настройка нормализации

откроется окно, где можно задать значимость каждого входного поля. Оставим значимость одинаковой для всех полей без изменений.

Замечание: В обработчике карта Кохонена допускается задавать и выходное поле. Несмотря на такое название, это поле не будет принимать участие в алгоритме Кохонена, однако после построения по этому полю будет

136

собрана статистика. Это открывает возможности для решения картой Кохонена задачи классификации или регрессии.

Затем разбиваем входящее множество на обучающее и тестовое. Поскольку любой метод кластеризации, в том числе и алгоритм Кохонена, субъективен, смысл в выделении отдельного, тестового множества, как правило, отсутствует. Оставим в обучающем 100 % записей.

На третьей вкладке задаются размер и форма карты Кохонена (рис.4.28). Согласимся с настройками по умолчанию – шестиугольные ячейки, размер 16х12.

Рис.4.28. Параметры будущей карты Кохонена

Замечание: Обычно строят несколько моделей с разными настройками. Например, карта с увеличенным масштабом 24х18 может оказаться лучше, так как позволит «разглядеть» кластер, который не удавалось обнаружить при размере карты 16х12. Поэтому здесь универсальных рецептов нет. Понять, лучше или хуже карта Кохонена, можно, только сравнив ее с картами, построенными при других настройках, сравнив матрицы ошибок квантования и матрицы плотности попадания.

Важным этапом является Настройка параметров остановки обучения.

Устанавливаем параметры остановки обучения и устанавливаем эпоху, по достижению которой обучение будет прекращено.

137

Рис. 4.29. Настройка параметров остановки обучения Наконец, на последнем шаге, предшествующем обучению, настраиваются

параметры обучения карты Кохонена (рис. 4.30).

Рис. 4.30. Параметры обучения сети Кохонена Здесь задаются следующие опции:

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

Случайными значениями – начальные веса нейронов будут инициированы случайными значениями.

Из обучающего множества – в качестве начальных весов будут использоваться случайные примеры из обучающего множества.

138

Из собственных векторов – начальные веса нейронов карты будут проинициализированы значениями подмножества гиперплоскости, через которую проходят два главных собственных вектора матрицы ковариации

входных значений обучающей выборки.

При выборе способа начальной инициализации (рис. 4.30) следует

руководствоваться следующей информацией:

объемом обучающей выборки;

количеством эпох, отведенных для обучения;

размером карты.

Между указанными параметрами и способом начальной инициализации

существует много зависимостей. Выделим несколько главных.

1. Если объем обучающей выборки значительно (в 100 и более) превышает число ячеек карты и время обучения не играет первоочередной роли, то лучше выбрать инициализацию случайными значениями, так как это даст меньшую вероятность попадания в локальный минимум ошибки кластеризации.

2. Если объем обучающей выборки не очень велик, время обучения ограниченно или необходимо уменьшить вероятность появления после обучения пустых ячеек, в которые не попало ни одного экземпляра обучающей выборки, то следует использовать инициализацию примерами из обучающего множества.

3. Инициализацию из собственных векторов можно использовать при любом стечении обстоятельств. Единственное замечание: вероятность появления пустых ячеек после обучения выше, чем при инициализации примерами из обучающего множества. Именно этот способ лучше выбирать при первом ознакомлении с данными.

Скорость обучения – задается скорость обучения в начале и в конце обучения сети Кохонена. Рекомендуемые значения: 0,1–0,3 в начале и 0,05– 0,005 в конце обучения.

139

Радиус обучения – задается радиус обучения в начале и в конце обучения сети Кохонена. Радиус в начале должен быть достаточно большой – примерно половина или меньше размера карты (максимальное линейное расстояние от любого нейрона до другого любого нейрона). а в конце – достаточно малым, примерно 1 или меньше. Начальный радиус в Deductor подбирается автоматически в зависимости от размера карты.

В этом же блоке задается Функция соседства: Гауссова или Ступенчатая. Если функция соседства Ступенчатая, то «соседями» для нейрона-победителя будут считаться все нейроны, линейное расстояние до которых не больше текущего радиуса обучения. Если используется Гауссова функция соседства, то «соседями» для нейрона-победителя будут считаться все нейроны карты, но в разной степени полноты. При использовании Гауссовой функции соседства обучение проходит более плавно и равномерно, так как одновременно изменяются веса всех нейронов, что может дать немного лучший результат, чем если бы использовалась ступенчатая функция. Однако время, необходимое на обучение, требуется немного большее по причине того, что на каждой эпохе корректируются все нейроны.

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

После окончания ввода параметров, запускаем процесс обучения сети – необходимо нажать на кнопку Пуск и дождаться окончания процесса обучения. В открывшемся окне можно будет увидеть динамику процесса обучения сети Кохонена (рис. 4.31). По умолчанию алгоритм делает 500 итераций (эпох). Если

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]