Это первая модель, которая может быть решена методом динамических ядер, но не может быть получена с помощью обучения сети Кохонена, поскольку ядра не являются точками в пространстве объектов. Ядрами в данной модели являются прямые, а мерой близости — квадрат расстояния от точки (объекта) до прямой. Прямая в n —мерном пространстве задается парой векторов: a i = ( b i , c i ). Первый из векторов задает смещение прямой от начала координат, а второй является направляющим вектором прямой. Точки прямой задаются формулой x = b + tc , где t — параметр, пробегающий значения от минус бесконечности до плюс бесконечности. t имеет смысл длины проекции вектора x-b на вектор c . Сама проекция равна tc . При положительном значении вектор проекции сонаправлен с вектором c , при отрицательном — противоположно направлен. При условии, что длина вектора c равна единице, проекция вычисляется как скалярное произведение ( x–b,c ). В противном случае скалярное произведение необходимо разделить на квадрат длины c . Мера близости вектора (точки) x определяется как квадрат длины разности вектора x и его проекции на прямую. При решении задачи (4) необходимо найти минимум следующей функции:
Продифференцируем целевую функцию по неизвестным t q, c i r, b i r и приравняем результаты к нулю.
(10)
Выразим из последнего уравнения в (10) b i r :
(11)
В качестве b i можно выбрать любую точку прямой. Отметим, что для любого набора векторов x ij и любой прямой с ненулевым направляющим вектором c i на прямой найдется такая точка b i , что сумма проекций всех точек на прямую x = b + tc будет равна нулю. Выберем в качестве b i такую точку. Второе слагаемое в правой части (11) является r-й координатой суммы проекций всех точек на искомую прямую и, в силу выбора точки b i равно нулю. Тогда получаем формулу для определения b i :
(12)
Из первых двух уравнений (10) получаем формулы для определения остальных неизвестных:
(13)
Поиск решения задачи (4) для данного вида классификации осуществляется по следующему алгоритму:
1. Вычисляем b i по формуле (12).
2. Вычисляем t по первой формуле в (13).
3. Вычисляем c i по второй формуле в (13).
4. Если изменение значения c i превышает заданную точность, то переходим к шагу 2, в противном случае вычисления закончены.
Определение числа классов
До этого момента вопрос об определении числа классов не рассматривался. Предполагалось, что число классов задано исходя из каких-либо дополнительных соображений. Однако достаточно часто дополнительных соображений нет. В этом случае число классов определяется экспериментально. Но простой перебор различных чисел классов часто неэффективен. В данном разделе будет рассмотрен ряд методов, позволяющих определить «реальное» число классов.
Для иллюстрации будем пользоваться пространственной моделью в двумерном пространстве. На рис, 10 приведено множество точек, которые будут разбиваться на классы.
Идея метода состоит в том, что бы начав с малого числа классов постепенно увеличивать его до тех пор, пока не будет получена «хорошая» классификация. Понятие «хорошая» классификация может быть формализовано по разному. При простом подборе классов как правило оперируют таким понятием, как часто воспроизводящийся класс. Проводится достаточно большая серия классификаций с различным начальным выбором классов. Определяются классы, которые возникают в различных классификациях. Считаются частоты появления таких классов. Критерием получения «истинного» числа классов может служить снижение числа часто повторяющихся классов. То есть при числе классов k число часто повторяющихся классов заметно меньше чем при числе классов k – 1 и k + 1. Начинать следует с двух классов.
Рис. 10. Множества точек для классификации
Рис. 11. Разбиение множества на два (а) и три (б) класса
Рассмотрим два примера. На рис. 10 приведены множества точек, которые будут разбиваться на классы. При каждом числе классов проводится 100 разбиений на классы. В качестве начальных значений ядер выбираются случайные точки.
Сначала рассмотрим множество точек, приведенное на рис. 10а. При классификациях на два класса во всех 100 случаях получаем классификацию, приведенную на рис. 11. Таким образом, получено устойчивое (абсолютно устойчивое) разбиение множества точек на два класса.
Читать дальше