Нейроинформатика

       

Сети Кохонена для кластер-анализа и классификации без учителя


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

Естественно, прежде, чем приступать к решению этой задачи, нужно ответить на один вопрос: зачем производится это разбиение и что мы будем делать с его результатом? Ответ на него позволит приступить к формальной постановке задачи, которая всегда требует компромисса между сложностью решения и точностью формализации: буквальное следование содержательному смыслу задачи нередко порождает сложную вычислительную проблему, а следование за простыми и элегантными алгоритмами может привести к противоречию со здравым смыслом.

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

Для каждого нового объекта мы должны сделать два дела:

  1. найти класс, к которому он принадлежит;
  2. использовать новую информацию, полученную об этом объекте, для исправления (коррекции) правил классификации.

Какую форму могут иметь правила отнесения к классу? Веками освящена традиция представлять класс его "типичным", "средним", "идеальным" и т.п. элементом. Этот типичный объект является идеальной конструкцией, олицетворяющей класс.

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


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

Сетевые алгоритмы классификации без учителя строятся на основе итерационного метода динамических ядер. Опишем его сначала в наиболее общей абстрактной форме. Пусть задана выборка предобработанных векторов данных {xp}. Пространство векторов данных обозначим E. Каждому классу будет соответствовать некоторое ядро a. Пространство ядер будем обозначать A. Для каждых
и
определяется мера близости d(x,a). Для каждого набора из k ядер a1,...,ak и любого разбиения {xp} на k классов
определим критерий качества:



(16)
Требуется найти набор a1,...,ak и разбиение
, минимизирующие D.



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

Мы не оговариваем специально существование априорных ограничений, налагаемых на новые объекты - естественно, что "вселенная" задачи много 'уже и гораздо определеннее Вселенной.

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

Если число классов m заранее определено, то задачу классификации без учителя можно поставить следующим образом.

Пусть {xp} - векторы значений признаков для рассматриваемых объектов и в пространстве таких векторов определена мера их близости ?{x,y}. Для определенности примем, что чем ближе объекты, тем меньше ?. С каждым классом будем связывать его типичный объект. Далее называем его ядром класса. Требуется определить набор из m ядер y1, y2, ... ym и разбиение {xp} на классы:



минимизирующее следующий критерий



(14)
где для каждого (i-го) класса
- сумма расстояний от принадлежащих ему точек выборки до ядра класса:



(15)
Минимум Q берется по всем возможным положениям ядер
и всем разбиениям {xp} на m классов Yi.

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

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





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

Сетевые алгоритмы классификации без учителя строятся на основе итерационного метода динамических ядер. Опишем его сначала в наиболее общей абстрактной форме. Пусть задана выборка предобработанных векторов данных {xp}. Пространство векторов данных обозначим E. Каждому классу будет соответствовать некоторое ядро a. Пространство ядер будем обозначать A. Для каждых
и
определяется мера близости d(x,a). Для каждого набора из k ядер a1,...,ak и любого разбиения {xp} на k классов
определим критерий качества:



(16)
Требуется найти набор a1,...,ak и разбиение
, минимизирующие D.

Шаг алгоритма разбивается на два этапа:

  • 1-й этап - для фиксированного набора ядер a1,...,ak ищем минимизирующее критерий качества D разбиение
    ; оно дается решающим правилом:
    , если d(x, ai)<d(x, aj) при
    , в том случае, когда для x минимум d(x,a) достигается при нескольких значениях i, выбор между ними может быть сделан произвольно;
  • 2-й этап - для каждого Pi (i=1,...,k), полученного на первом этапе, ищется
    , минимизирующее критерий качества (т.е. слагаемое в D для данного


Начальные значения a1,...,ak,
выбираются произвольно, либо по какому-нибудь эвристическому правилу.

На каждом шаге и этапе алгоритма уменьшается критерий качества D, отсюда следует сходимость алгоритма - после конечного числа шагов разбиение
уже не меняется.

Если ядру ai сопоставляется элемент сети, вычисляющий по входному сигналу x функцию d(x,ai), то решающее правило для классификации дается интерпретатором "победитель забирает все": элемент x принадлежит классу Pi, если выходной сигнал i-го элемента d(x,ai) меньше всех остальных



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


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

В простейшем случае пространство ядер A совпадает с пространством векторов x, а мера близости d(x,a) - положительно определенная квадратичная форма от x-a, например, квадрат евклидового расстояния или другая положительно определенная квадратичная форма. Тогда ядро ai, минимизирующее Di, есть центр тяжести класса Pi:



(17)
где |Pi| - число элементов в Pi.

В этом случае также упрощается и решающее правило, разделяющее классы. Обозначим d(x,a) =(x-a,x-a), где (.,.) - билинейная форма (если d - квадрат евклидового расстояния между x и a, то (.,.) - обычное скалярное произведение). В силу билинейности

d(x,a)=(x-a,x-a)=(x,x)-2(x,a) +(a,a).

Чтобы сравнить d(x,ai) для разных i и найти среди них минимальное, достаточно вычислить линейную неоднородную функцию от x:

d1(x,ai) = (ai,ai)-2(x,ai).

Минимальное значение d(x,ai) достигается при том же i, что и минимум d1(x,ai), поэтому решающее правило реализуется с помощью k сумматоров, вычисляющих d(x,a) и интерпретатора, выбирающего сумматор с минимальным выходным сигналом. Номер этого сумматора и есть номер класса, к которому относится x.

Пусть теперь мера близости - коэффициент корреляции между вектором данных и ядром класса:



где
- координаты векторов,
(и аналогично
), n - размерность пространства данных,
(и аналогично
).

Предполагается, что данные предварительно обрабатываются (нормируются и центрируются) по правилу:



Точно также нормированы и центрированы векторы ядер a. Поэтому все обрабатываемые векторы и ядра принадлежат сечению единичной евклидовой сферы (||x||=1) гиперплоскостью (
). В таком случае
.

Задача поиска ядра для данного класса P имеет своим решением



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


В определении ядер a для сетей Кохонена входят суммы
. Это позволяет накапливать новые динамические ядра, обрабатывая по одному примеру и пересчитывая ai после появления в Pi нового примера. Сходимость при такой модификации, однако, ухудшается.

Закончим раздел рассмотрением различных способов использования полученных классификаторов.

  1. Базовый способ: для вектора данных xi и каждого ядра ai вычисляется yi=d(x,ai) (условимся считать, что правильному ядру отвечает максимум d, изменяя, если надо, знак d); по правилу "победитель забирает все" строка ответов yi преобразуется в строку, где только один элемент, соответствующий максимальному yi, равен 1, остальные - нули. Эта строка и является результатом функционирования сети. По ней может быть определен номер класса (номер места, на котором стоит 1) и другие показатели.
  2. Метод аккредитации: за слоем элементов базового метода, выдающих сигналы 0 или 1 по правилу "победитель забирает все" (далее называем его слоем базового интерпретатора), надстраивается еще один слой выходных сумматоров. С каждым (i-м) классом ассоциируется q-мерный выходной вектор zi с координатами zij. Он может формироваться по-разному: от двоичного представления номера класса до вектора ядра класса. Вес связи, ведущей от i-го элемента слоя базового интерпретатора к j-му выходному сумматору определяется в точности как zij. Если на этом i-м элементе базового интерпретатора получен сигнал 1, а на остальных - 0, то на выходных сумматорах будут получены числа zij.
  3. Нечеткая классификация. Пусть для вектор данных x обработан слоем элементов, вычисляющих yi=d(x,ai). Идея дальнейшей обработки состоит в том, чтобы выбрать из этого набора {yi} несколько самых больших чисел и после нормировки объявить их значениями функций принадлежности к соответствующим классам. Предполагается, что к остальным классам объект наверняка не принадлежит. Для выбора семейства G наибольших yi определим следующие числа:



    где число
    характеризует отклонение "уровня среза" s от среднего значения
    , по умолчанию обычно принимается
    .



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



    (при
    и f = 0 в противном случае)

    интерпретируются как значения функций принадлежности этим классам.

  4. Метод интерполяции надстраивается над нечеткой классификацией аналогично тому, как метод аккредитации связан с базовым способом. С каждым классом связывается q-мерный выходной вектор zi. Строится слой из q выходных сумматоров, каждый из которых должен выдавать свою компоненту выходного вектора. Весовые коэффициенты связей, ведущих от того элемента нечеткого классификатора, который вычисляет fi, к j-му выходному сумматору определяются как zij. В итоге вектор выходных сигналов сети есть





В отдельных случаях по смыслу задачи требуется нормировка fi на единичную сумму квадратов или модулей.

Выбор одного из описанных четырех вариантов использования сети (или какого-нибудь другого) определяется нуждами пользователя. Предлагаемые четыре способа покрывают большую часть потребностей.

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

Работа над лекцией была поддержана Красноярским краевым фондом науки, грант 6F0124.

  1)

  Напомним, что для векторов x, y матрица
имеет своими элементами
.

© 2003-2007 INTUIT.ru. Все права защищены.

Содержание раздела