Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MAG_SShI_15_1_Kushvid_poyasnyuvalna_zapiska.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

2 Методы извлечения, анализа и хранения данных

2.1 Методы классификации

Методы классификации, можно разделить на несколько групп проиллюстрированных на рисунке 2.1. По способу задания показателя качества классификации методы делятся на эвристические и оптимизационные. По способу объединения – на дивизимные, агломеративные и итеративные.

Рисунок 2.1 – Иерархия методов классификации

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

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

В общем случае в любом оптимизационном алгоритме классификации можно выделить следующие элементы:

  • показатель качества классификации;

  • ограничения;

  • механизм поиска результирующего разбиения.

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

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

2.1.1 Анализ формальных концептов (FCA)

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

Первым из них является концепция решетки. Концепция решетки представляет собой набор формальных понятий, полученный из данных, которые иерархически упорядоченных по отношению «подконцепт – суперконцепт». Формальные понятия в данном случае являются частными кластерами, которые представляют естественные для любого человека понятия. Примером таких понятий может быть:«организмы, которые живут в воде», «автомобиль с системой полного привода», «число, которое делится на 3 и 4» и т.д.

Вторым вариантом результата анализа данных с помощью FCA является коллекция так называемых следствий из атрибутов. В данном случае подразумевается атрибут, который описывает определенную зависимость, которая действительна на текущей выборке данных. Типичные примеры таких следствий: «каждое число, которое делится на 3 и 4,также делится и на 6», «каждый сотрудник, возрастом более 60 лет, подлежит выходу на пенсию» и т.д.

Отличительной особенностью FCA является неотъемлемая интеграция трех компонентов концептуальной обработки данных и знаний, а именно: исследование и анализ понятий в представленной выборке данных, обнаружение и анализ возможных зависимостей, и последующее их представление[6].

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

Теория формальных концептов в ее нынешнем виде восходит к исследовательской группе из города Дармштадт во главе с Рудольфом Вилле, Бернхардом Гантером и Питером Бурмайстером. Считается, что первые наработки в области формального анализа понятий возникли еще в начале 1980-х годов. Однако математической основой для них послужила уже созданная в 1930 году Гарретом Биркгофом теория решеток.

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

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

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

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

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

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

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

Таблица логических атрибутов показанная на рисунке 2.2 может быть представлена в виде триплета <X, Y, I>, где I – это бинарное отношение между Х и Y. Элементы X называются объектами и соответствуют строкам таблицы, а элементы Y, соответственно, называются атрибутами и соответствуют столбцам таблицы. Для х∈X и у∈Y,<x, y>∈I означает, что объекту х принадлежит атрибут у, в то время как <x, y>∉I показывает, что х не имеет атрибут у.

Рисунок 2.2 – Таблицы с логическими атрибутами: четкие атрибуты (слева), нечеткие атрибуты (справа).

Например, на рисунке выше (слева) изображена таблица с логическими атрибутами. Соответствующий триплет <X, Y, I> представлен с помощью X = { x1, x2, x3, x4 } , Y ={ y1 , y2, y3 } , и полученного <x1, y1>∈I, <x2, y3>∉I и т.д.

Так как представленная таблицы с логическими атрибутами, поделенными на тройки, является общим понятием в FCA, ее часто называют просто «таблица <X, Y, I>», а не «триплет <X, Y, I>, представляющий данную логическую таблицу».

Анализ формальных концептов направлен на получение двух видов вывода из данной таблицы. Первый, называемый решеткой концептов, будет представлять собой частично упорядоченную коллекцию определенных кластеров объектов и атрибутов. Второй состоит из формул, представляющих последствия атрибутов и описания конкретных зависимостей атрибутов, которые являются правдивыми в таблице. Кластеры, называемые формальными понятиями, являются парами <A, B>, где А ⊆X является набором объектов, а B⊆Y представляет собой набор атрибутов, таких, что А – это набор всех объектов, которые имеют все атрибуты из В, а В – это множество всех атрибутов, которые являются общими для всех объектов из A.

Например, <{ x1, x2 }, { y1, y2 }> и <{x1, x2, x3 }, { y2 }> являются примерами формальных понятий левой таблицы на рис. 1.1. Следствием атрибута является выражение A⇒B, при том, что А и В является наборами атрибутов. А ⇒ В верно в таблице<X, Y, I>, если каждый объект, имеющий все атрибуты из А, также имеет все атрибуты из B.

Например, { y3 } ⇒ { y2 } верно для левой таблицы на рис. 1.1, в то время как {y1, y2 } ⇒ { y3 } – нет ( x2 является контрпримером).

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

2.1.2 Полиномиальная модель метода Naive Bayes

Первый метод обучения, который будет рассматриваться, называется полиномиальный метод Байеса или полиномиальная модель метода Naive Bayes, который сам по себе является вероятностным методом обучения. Вероятность того, что документ d принадлежит классу с вычисляется как

,

(2.1)

где P(tk|c) является условной вероятностью того, что терм tk встретится в документе класса с. Можно сказать, что P(tk|c) показывает степень того, насколько tk способствует тому, чтобы с являлся правильным классом. P(с) является априорной вероятностью того, что документ относится к классу с.

В классификации текста основной целью является найти лучший класс, соответствующий документу. Лучший класс cmap в классификации по методу Naive Bayes является тот, который наиболее вероятный, и имеет наибольшую оценку апостериорного максимума:

(2.2)

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

(2.3)

Для оценки параметра вероятности Р(с) используется следующая формула:

(2.4)

где Nc – количество документов класса с, а N – количество документов вобщем. Условная вероятность P(tk|c) вычисляется как относительная частота слова t в документах, принадлежащих к классу с:

(2.5)

В данном случае принимается предположение о том, что позиция слова в тексте никак не влияет на вероятность его появления. То есть, условная вероятность слова, стоящего в двух разных позиция х k1 и k2, находящихся в разных местах документа, будет одинаковой:

(2.6)

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

(2.7)

где B = |V| и является числом элементов словаря.

2.1.3 Модель Бернулли метода Naive Bayes

Альтернативой полиномиальной модели является многофакторная модельили модель Бернулли. Модель Бернулли оцениваетP(t|c)как часть документов класса с, которые содержат термин t по отношению ко всем документам класса с.Полиномиальная жемодель оцениваетP(t|c)как количество вхождений слова t в документах класса cпо отношению ко всему количеству слов, содержащихся в документах класса с.

При классификации тестового документа модель Бернулли игнорирует количество вхождений слова в документ, в то время как полиномиальная модель отслеживаетвсе вхождения терма.В результате этого, модель Бернулли обычно делает много ошибок при классификации длинных документов. Условная вероятность P(t|c) в методе Бернулли рассчитывается по формуле

(2.8)

где Nct – количество документов класса с, содержащих слово t, a Nc – общее количество документов класса с. Аналогично полиномиальному методу в знаменателе была добавлена единица для избегания нулевой вероятности путем применения сглаживания Лапласа [7].

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

2.1.4 Байесовская классификация текстов

Байесовская классификация текстов – метод для классификации текстов, основанный на применении наивного байесовского классификатора, в основе которого лежит применение теоремы Байеса.

При обучении классификатора для каждого встреченного в текстах слова высчитывается и сохраняется его «вес» – оценка вероятноститого, что текст с этим словом – принадлежит к одному из возможных классов. В простейшем случае в качестве оценки используется частота: «появлений в одной из категорий / появлений всего». В более сложных случаях возможна предварительная обработка текста:

  • приведение слов в начальную форму;

  • удаление служебных слов;

  • вычисление «веса» для целых фраз;

  • транслитерация и прочее.

При проверке вновь пришедшего текста вероятность «определенного класса» вычисляется по указанной выше формуле для множества гипотез[8]. В данном случае «гипотезы» – это слова, и для каждого слова «достоверность гипотезы»:

(2.9)

где Nword – доля этого слова в тексте, а P(Ai) – зависимость события от гипотезы.

Отнесение текста к одному из классов производится по тому, превышает ли его «вес» некую планку, заданную пользователем (обычно берут 60-80 %). После принятия решения по тексту в базе данных обновляются «веса» для вошедших в него слов.

Предположим, что проверяемый текст содержит слово «Закон». Большинство людей, знает, что этот текст, скорее всего, будет юридическим, а точнее новым изданным Законом Верховного Совета Украины. Программа классификации текстов не в состоянии определить такие факты, все, что она может сделать – вычислить вероятности.

Формула, используемая программным обеспечением, чтобы определить принадлежность слова к определенному классу, получена из теоремы Байеса и формулы полной вероятности:

(2.10)

Недавние статистические исследования показали, что на сегодняшний день вероятность любой книги быть художественной, составляет по меньшей мере 80%:

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

О классификаторах, которые используют эту гипотезу, говорят, как о классификаторах «без предубеждений». Это означает, что у них нет никакого предубеждения относительно входящей выборки. Это предположение позволяет упрощать общую формулу до:

(2.11)

Значение весов слова называют значимостью слова, при этом число Pr(S|W), используемое в формуле (1.11), приближенно равно относительной частоте книг, содержащих слово в текстах, идентифицированных как художественная литература во время обучения:

(2.12)

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

(2.13)

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

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

Данный метод прост (алгоритмы элементарны), удобен (позволяет обходиться без «списков исключений» и подобных искусственных приемов), эффективен (после обучения на достаточно большой выборке классифицирует данные с точностью до 95—97 %, и в случае любых ошибок его можно дообучать). В общем, есть все показания для его повсеместного использования, что и имеет место на практике – на его основе построены практически все современные классификаторы текстов.

2.2 Методы кластеризации

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

Например, если каждый наблюдаемый объект характеризуется двумя признаками P1 и P2, то при выполнении комбинационной группировки вся совокупность объектов будет разбита на группы по P1, а затем внутри каждой выделенной группы будут образованы подгруппы по P2. Такой подход получил название монотетического. Определить принадлежность каждого объекта к той или иной группе можно, последовательно сравнивая его значения P1 и P2 с границами выделенных групп. Образование группы в этом случае всегда связано с указанием ее границ по каждому группировочному признаку отдельно.

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

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

Методы кластерного анализа позволяют решать следующие задачи:

  • сжатие данных – если исходная выборка избыточно большая, то можно сократить её, оставив по одному наиболее типичному представителю от каждого кластера.

  • проверка выдвигаемых предположений о наличии некоторой структуры в изучаемой совокупности объектов, т.е. поиск существующей структуры;

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

  • остроение новых классификаций для слабоизученных явлений, когда необходимо установить наличие связей внутри совокупности и попытаться привнести в нее структуру;

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

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

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

Если алгоритм кластеризации основан на измерении сходства между переменными, то в качестве мер сходства могут быть использованы:

  • линейные коэффициенты корреляции;

  • коэффициенты ранговой корреляции;

  • коэффициенты контингенции и т.д.

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

Объекты, с которыми оперируем – это тексты или части документов, т.е. некоторые фрагменты текстов. Каждый из документов представляется набором слов (или словосочетаний, или других единиц языка). В этом наборе могу встречаться конструкции, которые не должны влиять на результаты поиска: некоторые слова общей лексики, предлоги и другие строки. Имеются также слова, которые непосредственно влияют на отнесение документа в какую-либо категорию, – это термины. Каждый термин является элементарным признаком, множество терминов составляет пространство. Множество документов – это множество точек или векторов этого пространства. Координатами точки являются величины значимости каждого термина для данного документа. Величина значимости может оцениваться различными моделями. Часто используются следующие модели оценки значимости: − Хэммингово расстояние, 0 означает, что термин в данном документе не встречается, 1 – встречается, − относительная частота встречаемости слова, − модель TF-IDF. При кластеризации документов следует стремится к тому, чтобы схожесть документов, попадающих в кластер, была смысловой. При этом численно схожесть задается следующими способами:

Множество документов, значения близости между любыми двумя элементами которого не меньше определённого порога i j min 2 d ( X ,X ) ≥ D , где Xi ,X j ∈ X – множество всех векторов признаков;

Значение близости между любым документом множества и центроидом кластера не меньше определённого порога, центроид кластера рассчитывается как среднее арифметическое между всеми документами кластера: ∑∈ = Xi Sl i l S X S 1 C , где Sl ∈ S – множеству кластеров;

В качестве критерия качества разбиения для алгоритмов с заданным числом кластеров используются критерии: ∑ ∑= ∈ = k j S 1 X i j 2 D i l Q ( S ) d ( X ,X ) – сумма внутриклассовых дисперсий, ∑ ∑= ∈ = k j S 1 X i j 2 M i l Q ( S ) d ( X ,X ) – сумма попарных внутриклассовых расстояний между элементами. Для разбиения с заранее неизвестным числом классов критерий качества задают в виде комбинации двух критериев, один из которых характеризует внутриклассовый разброс наблюдений, второй – возрастающей (или неубывающей) функцией числа классов k.

2.2.1 Алгоритм k-средних

Метод k-средних – это метод кластерного анализа, цель которого является разделение m наблюдений на k кластеров, при этом каждое наблюдение относится к тому кластеру, к центру (центроиду) которого оно ближе всего.

В качестве меры близости используется Евклидово расстояние:

(2.14)

Метод k-средних разделяет m наблюдений на k групп (или кластеров) (k ≤ m), чтобы минимизировать суммарное квадратичное отклонение точек кластеров от центроидов этих кластеров:

(2.15)

При mi - центроид для кластера, если мера близости до центроида определена, то разбиение объектов на кластеры сводится к определению центроидов этих кластеров.

Число кластеров k задается исследователем заранее. Рассмотрим первоначальный набор k средних (центроидов) в кластерах. На первом этапе центроиды кластеров выбираются случайно или по определенному правилу (например, выбрать центроиды, максимизирующие начальные расстояния между кластерами).

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

Затем центроид каждого i-го кластера перевычисляется по следующему правилу:

(2.16)

Таким образом, алгоритм k-средних заключается в перевычислении на каждом шаге центроида для каждого кластера, полученного на предыдущем шаге.

Алгоритм останавливается, когда значения mi не меняются.

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

Особенности метода k-средних:

  • в качестве метрики используется Евклидово расстояние;

  • число кластеров заранее не известно и выбирается исследователем заранее;

  • качество кластеризации зависит от первоначального разбиения.

Проблемы алгоритма k-mean общеизвестны и их нужно учитывать при использовании данного алгоритма на реальных данных.

Необходимо заранее знать количество кластеров. Был предложен метод определения количества кластеров, который основывался на нахождении кластеров, распределенных по некоему закону (в данном случае все сводилось к нормальному закону). После этого выполнялся классический алгоритм k-means, который давал более точные результаты.

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

2.2.2 Алгоритм FOREL

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

Как входные данные необходимы кластеризуемая выборка которая может быть задана признаковыми описаниями объектов – линейное пространство либо матрицей попарных расстояний между объектами.

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

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

В модификациях возможно введение параметра k – количества кластеров.

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

Обязательными условиями является выполнение гипотезы компактности данных.

Гипотеза компактности – в задачах классификации предположение о том, что схожие объекты гораздо чаще лежат в одном классе, чем в разных; или, другими словами, что классы образуют компактно локализованные подмножества в пространстве объектов. Это также означает, что граница между классами имеет достаточно простую форму.

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

Еще одним необходимым условием является наличие линейного или метрического пространства кластеризуемых объектов.

Данный алгоритм обладает рядом преимуществ и недостатков которые необходимо и обязательно учитывать перед применением на анализируемых данных поскольку от этого будет очень сильно зависеть результат исследования

Преимущества:

  • точность минимизации функционала качества (при удачном подборе параметра R);

  • наглядность визуализации кластеризации;

  • сходимость алгоритма;

  • возможность операций над центрами кластеров – они известны в процессе работы алгоритма;

  • возможность подсчета промежуточных функционалов качества, например, длины цепочки локальных сгущений;

  • возможность проверки гипотез схожести и компактности в процессе работы алгоритма.

Недостатки:

  • относительно низкая производительность (решается введение функции пересчета поиска центра при добавлении 1 объекта внутрь сферы);

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

  • неустойчивость алгоритма (зависимость от выбора начального объекта);

  • произвольное по количеству разбиение на кластеры;

  • необходимость априорных знаний о ширине (диаметре) кластеров.

Сильные и слабые стороны данного алгоритма перечислены в систематизированном виде и определяют что данный алгоритм не подходит для решения поставленной задачи.

2.2.3 Нейронная сеть Кохонена

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

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

Нормализация входных переменных выполняется в пределах [–1, 1] или [0, 1].

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

(2.17)

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

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

В рассматриваемой архитектуре сигнал распространяется от входов к выходам в прямом направлении. Структура нейронной сети содержит единственный слой нейронов (слой Кохонена) без коэффициентов смещения изображенном на рисунку. 2.3. Общее количество весовых коэффициентов рассчитывается как произведение:

Основными недостатками данной нейронной сети есть эвристичность алгоритма обучения, предопределенность числа кластеров.

Главными преимуществами данного алгоритма есть Устойчивость к зашумленным данным, неуправляемое обучение, быстрое обучение, возможность визуализации, возможность упрощения многомерной структуры.

Рисунок 2.3 – Общая структура нейронной сети Кохонена

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

2.2.4 SOINN

SOINN представляет собой нейронную сеть с двумя слоями. Первый слой используется для определения топологической структуры кластеров, а второй для определения числа кластеров и выявления узлов-прототипов для них. Сначала обучается первый слой сети, а затем, используя данные полученные при обучении первого слоя, обучается второй слой сети как изображено на рисунке 2.4.

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

Алгоритм удовлетворяет следующим требованиям:

  • обучение в режиме онлайн, или lifetime;

  • разделение на кластеры без предварительных знаний о входных данных;

  • разделение данных с нечеткой границей и выявление основной структуры кластеров.

Для задачи кластеризации, необходимо определить, принадлежит ли входной образ одному из ранее полученных кластеров или представляет новый. Предположим, что два образа принадлежат одному кластеру, если расстояние(по заранее заданной метрике) между ними меньше порога расстояния T. Если T будет слишком большим, то все входные образы будут отнесены к одному кластеру. Если T слишком маленький, то каждый образ будет изолирован как отдельный кластер. Для получения разумного разбиения на кластеры, T должно быть больше, чем внутриклассовое расстояние и меньше межклассового.

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

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

Рисунок 2.4 – Описательная схема алгоритма SOINN

Для добавления узлов, SOINN использует схему, при которой вставка происходит в регионе с максимальной ошибкой. А для оценки полезности вставки, используется «радиус ошибки» являющийся оценкой полезности вставки. Эта оценка гарантирует, что вставка приведет к уменьшению ошибки, как показано на рисунке 2.6, и контролирует прирост узлов, и в конце концов стабилизирует их количество.

Рисунок 2.5 – Демонстрация кластеризации данных алгоритмом SOINN

Для составления связей между нейронами используется конкурентное правило Хебба, предложенное Мартинесом в сетях пределения топологий (TRN). Конкурентное правило Хебба может быть описано так: для каждого входного сигнала, объединяются два ближайших узла. Доказано, что каждый граф оптимально представляет топологию входных данных. В онлайн или lifetime задачах обучения, узлы изменяют свое местоположение медленно, но постоянно. Таким образом, узлы, которые являются соседними на ранней стадии, возможно, не являются близкими в более поздней стадии. Тем самым появляется необходимость удаления соединений, которые в последнее время не обновляются.

В общем случае происходит также перекрытие существующих кластеров. Чтобы определить количество кластеров точно, предполагается, что входные данные являются разделяемыми: плотности вероятности в центральной части каждого кластера выше, чем плотность в части между кластерами, а также перекрытие кластеров имеет низкую плотность вероятности. Разделение кластеров происходит путем удаления узлов из регионов с низкой плотностью вероятности. Алгоритм SOINN предлагает следующую стратегию для удаления узлов из регионов с низкой плотностью вероятности: если число сигналов, генерируемых до сих пор является целым кратным заданному параметру, то удалить те узлы, которые имеют только одного топологического соседа, или не имеют соседей вовсе и если локальный накопленный уровень сигнала является маленьким, то считаем такие узлы лежащими в области низкой плотности вероятности и удаляем их.

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

2.3 Использование нейронных сетей в задачах классификации и кластеризации

Искусственные Нейронные сети (ИНС) – это модели биологических нейронных сетей мозга, в которых нейроны имитируются относительно простыми, часто однотипными, элементами (искусственными нейронами).

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

Нейронные сети широко используются для решения разнообразных задач.

Среди областей применения нейронных сетей – автоматизация процессов распознавания образов, прогнозирование, адаптивное управление, создание экспертных систем, организация ассоциативной памяти, обработка аналоговых и цифровых сигналов, синтез и идентификация электронных цепей и систем.

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

Модели нейронных сетей могут быть программного и аппаратного исполнения. Мы будем рассматривать сети первого типа.

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

Классификация (обучение с учителем). Примеры задач классификации: распознавание текста, распознавание речи, идентификация личности.

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

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

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

К сожалению, в применении нейронных сетей в практических задачах возникает ряд проблем. Во-первых, заранее не известно, какой сложности (размера) может потребоваться сеть для достаточно точной реализации отображения. Эта сложность может оказаться чрезмерно высокой, что потребует сложной архитектуры сетей. Так Минский в своей работе «Персептроны» доказал, что простейшие однослойные нейронные сети способны решать только линейно разделимые задачи. Это ограничение преодолимо при использовании многослойных нейронных сетей. В общем виде можно сказать, что в сети с одним скрытым слоем вектор, соответствующий входному образцу, преобразуется скрытым слоем в некоторое новое пространство, которое может иметь другую размерность, а затем гиперплоскости, соответствующие нейронам выходного слоя, разделяют его на классы. Таким образом сеть распознает не только характеристики исходных данных, но и «характеристики характеристик», сформированные скрытым слоем. Среди недостатков ИНС можно выделить самые основные, которые перечислены ниже:

  • большинство подходов для проектирования ИНС являются эвристическими и часто не приводят к однозначным решениям;

  • для построения модели объекта на основе ИНС требуется выполнение многоцикловой настройки внутренних элементов и связей между ними;

  • проблемы, возникающие при подготовке обучающей выборки, связанные с трудностями нахождения достаточного количества обучающих примеров;

  • обучение сети в ряде случаев приводит к тупиковым ситуациям;

  • продолжительные временные затраты на выполнение процедуры обучения зачастую не позволяют применять ИНС в системах реального времени;

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

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

2.4 Выбор дескрипторов

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

Также учитывается общее соотношение слов распределенных для каждой из категорий, выбранных подклассов дескрипторов.

Четыре основные вида классификации («Части речи», «Метафоры-физические-психические», «Конкретные-диффузные», «Частотность»). Выделены следующие классы (категории) (в скобках указано общее процентное разделение по категориям дескрипторов каждого класса):

Классификация «Части речи»:

  • существительные (60%);

  • глаголы (13,75%);

  • наречия (6,25%);

  • прилагательные (16,25%);

  • причастия (3,75%).

Классификация «Метафоры-физические-психические»:

  • метафоры (13,75%);

  • физические (51,25%);

  • психические (35%).

Классификация «Конкретные-диффузные»:

  • конкретные (55%);

  • диффузные (45%).

Классификация «Частотность»:

  • высокочастотные дескрипторы (60%);

  • среднечастотные дескрипторы (22,5%);

  • низкочастотные дескрипторы (17,5%).

На основе данной классификации, соотношения числа дескрипторов и возможностей извлечения их из неструктурированной текстовой информации, делаются выводы о том, что для повышения точности классификации:

  • рациональней всего использовать существительные;

  • дескрипторы должны быть конкретными терминами обозначающими объекты материального или нематериального мира;

  • нужно использовать два классификатора по частотной встречаемости видов дескрипторов: высокочастотные и низкочастотные дескрипторы;

  • выгодна также оптимизация использования классификатора на основе низкочастотных дескрипторов.

Среди языковых структур наиболее подходящей требованиям структурой есть аббревиатуры.

Аббревиатуры – это существительные, состоящие из усеченных слов, входящих в исходное словосочетание, или из усеченных частей исходного сложного слова, а также из названий начальных букв этих слов (или их частей) [9].

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

В случае, если в текстах отсутствуют аббревиатуры, лучше всего использовать высокочастотные дескрипторы, для максимального охвата всего массива текстовой информации. Для качественной классификации текстов на основе выделенных дескрипторов необходимо прибегнуть к предварительной его очистке от шумов.

2.5 Предварительная обработка данных

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

  • союзы и союзные слова;

  • местоимения;

  • предлоги;

  • частицы;

  • междометия;

  • указательные слова;

  • цифры;

  • знаки препинания;

  • отдельно стоящие буквы алфавита;

  • вводные слова.

Для повышения точности классифицирования с применением очистки от стоп-слов необходимо разбить их на подгруппы и выделить каждой группе свой символ. И вместо удаления стоп-слов делать замену стоп-слов на групповой символ, тем самым давая дополнительный качественный фактор для классификации [10].

Выгодней всего начать чистку с универсальных символов, встречающихся во всех языках: цифр и знаков препинания, выделяя их в две отдельные группы.

После тщательной очистки от стоп слов и пец символов прибегаем к унификации слов к инфинитивной форме с помощью стеммера.

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

2.6 Анализ входных документов

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

Рисунок 2.6 – Блок-схема алгоритма получения дескрипторов из текста

Для формирования входного вектора на кластеризатор тектовых документов необходимо скапливать дескрипторы разных видов в верхнем супер классе, для обеспечения доступа к списку всех уникальных дескрипторов при кластеризации документа и сохранять их в метаинформации в самом файле для устранения необходимости повторного анализа одного и тогоже файла. Алгоритм реализации изображен на рисунке 2.7.

Рисунок 2.7 – Блок-схема алгоритма сбора входных векторов в библиотеке

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

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

2.7 Хранение результатов обработки данных

В результате работы данного алгоритма у текстового файла появляется несколько дополнительных свойств, а именно:

  • дата индексации;

  • полное индексное имя;

  • входной вектор файлов декскрипторов в сокращенном виде.

В случае если в файле нет возможности записи в метаинформацию то все метаданные записываются в первую строку файла. Однако остается список проблемных форматов модифицирование которых может привести к их бесповоротному повреждению. Среди них:

  • форматы сканированых или авто генерированых книг-изображений, таких как .pdf и .djvu;

  • форматы изображений без возможности создания особых метатегов такие как .jpg, .png, .gif и т.д.;

  • медиа форматы отвечающие за видео и звук такие как .mp3, .mpg, .mkv, .avi и т. д.;

  • рабочие файлы визуальных редакторов, и исходные коды приложений crd, .cpp, .h, .rb и т. д.;

  • системные и исполняемые файлы приложений: .exe, .dll, .config, .db и т. д.

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

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