Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модификации метода логического анализа данных для задач классификации. Монография.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
4. Вводится оценка близости наблюдения xX к классу kY как
x


результат взвешенного голосования близостей наблюдения x ко всем обу­чающим наблюдениям класса k по всем опорным множествам:
Гα,,
kii
: ω
iy k

i
Bxx
ωω
(1.8)
где веса αωi, как правило, предполагаются нормированными на единицу:

kyi
:
i
.1
i
5. Алгоритм классификации a(x) относит наблюдение x к тому клас-
су, который набрал наибольшую сумму голосов:
ax x

argmaxГ
kY
.
k
Итак, алгоритм вычисления оценок задаётся системой опорных мно­жеств, порогами ε
, s = 1, ..., n и весами αωi, ωΩ, i = 1, ..., ℓ. Эти параметры оп-
s
тимизируются по критерию минимума числа ошибок на обучающей выборке.
Описанный алгоритм совпадает с общим алгоритмом взвешенного голосования (1.5), если в качестве правил R
 
взять функции близости:
k
.,,...,1,,|, YkikyxxBxR
iikk
Поскольку функции близости являются конъюнкциями, для оптимиза­ции описанного варианта АВО можно приспособить стандартные алгоритмы, представленные в п. 1.3.3. Для поиска информативных конъюнкций подходят градиентные методы КОРА или ТЭМП. Для настройки весов α
можно при-
ωi
менить бустинг или любой линейный классификатор, например SVM.
Для применения алгоритмов поиска информативных конъюнкций требуется задать семейство элементарных предикатов B. В данном случае оно имеет вид


ikynsxxxB

isis
.,....,1,,,...,1|,
Для сокращения перебора при построении конъюнкций имеет смысл заранее отобрать лишь некоторые значения порогов {ε
}. Оптимизация
s
порогов является сложной комбинаторной задачей, для практического реше­ния которой разработаны достаточно удачные эвристические алгоритмы [32].
Ещё один способ сокращения перебора – заранее отобрать в качестве эталонов не все обучающие наблюдения, а только наиболее представи­тельные. Это эквивалентно обнулению весов α
для некоторых наблюде-
ωi
– 31 –
ний xi, i = 1, …, ℓ. Разумеется, эти наблюдения по-прежнему остаются
x
в выборке и используются при настройке параметров ε
, αωi и оценивании
s
информативности закономерностей.
Наконец, необходимо учесть, что строение АВО накладывает специфи­ческое ограничение на процедуру наращивания конъюнкций – конъюнкция не должна содержать элементарных предикатов, относящихся к различным эталонным наблюдениям, т. е. должны быть запрещены конструкции вида
φρ, ερ, ε
ksistjt

xxx xx


,
в которых i ≠ j, поскольку они не являются функциями пары наблюдений (x
, x). Это обстоятельство несложно учесть при реализации цикла перебора
i
по множеству элементарных предикатов B.
Таким образом, рассмотренные ранее логические алгоритмы легко приспособить для обучения АВО.
Модель АВО допускает различные варианты задания системы опор­ных множеств, функций близости и решающего правила:
1.
В качестве системы опорных множеств можно взять все подмно-
жества ω
Ω заданной мощности k. В этом случае возможно аналитиче-
ское преобразование формул вычисления оценок, приводящее к эффектив­ным вариантам АВО. Другой подход к выбору системы – построение тупиковых тестов или тупиковых представительных наборов.
Совокупность наблюдение x
отличимо от любого наблюдения другого класса xj  X, yj ≠ yi
i
по опорному множеству ω : B
Представительный набор
i, называется представительным набором, если
(xj, xi) = 0.
ω
i,
называется тупиковым, если для лю-
бого собственного подмножества ω′
ω совокупность i,не является
представительным набором [17].
При голосовании по тупиковым представительным наборам для каж­дого наблюдения x
X фактически строится своя подсистема опорных
i
множеств:
ω | ω, тупиковый представительный набор, 1,..., .
i
ii
А оценка близости наблюдения x к классу k вычисляется по формуле
Гα,,
kii
: ω
iy k

i
Bxx
ωω
которая является частным случаем (1.8), если положить α
i, , не являющихся тупиковыми представительными наборами.
– 32 –
= 0 для всех
ωi
Нужно отметить следующее утверждение, что всякой непротиворе-
чивой закономерности вида φ
(x) = Bω(x,xi) относительно класса k = yi соот-
k
ветствует представительный набор
i,
.
Обратное утверждение неверно. Представительному набору соответствует предикат φ
(x) = Bω(x,xi), где k = yi, про который известно
k
ω,i
только то, что:
φ 0 по определению представительного набора;
n
kk
pBxxi
kk ii

φ 1 поскольку ,1для любого 1,..., .


ω
Число выделяемых позитивных наблюдений pk(φk) может оказаться недостаточным, чтобы представительный набор можно было называть ло­гической или статической закономерностью.
Однако утверждение показывает, что для построения тупиковых представительных наборов можно применять известные алгоритмы поиска информативных конъюнкций в семействе предикатов φ вида (1.7) по кри­териям n
из y
j
(φ) = 0 и pk(φ) → max.
k

n,...,1
Множество
называется тестом, если для любых xi, xj  X
≠ yj следует Bω(xj, xi) = 0, т. е. любые два наблюдения из разных клас-
сов различимы по опорному множеству ω.
В отличие от представительного набора, тест не привязан к какому­либо конкретному наблюдению x
.
i
Тест ω называется тупиковым, если любое его собственное подмно­жество
не является тестом.
Алгоритм вычисления оценок, в котором системой опорных мно­жеств является множество всех тупиковых тестов, называется тестовым алгоритмом.
2. Конъюнктивную функцию близости можно обобщить, введя ещё
один параметр алгоритма ε:
 

s
xxxxB ,,
;
ss
 
при ε = 0 этот вариант совпадает с (1.7). При ε > 0 функция близости уже не является конъюнкцией.
Другой способ обобщения функции близости заключается в том, чтобы вместо конъюнкции пороговых функций использовать взвешенное голосование метрик:
 
 
s
xxxxB ,,
.
sss
 
– 33 –
В этом случае вместо параметров точности измерения признаков εS


x
задаются параметры α
– веса метрик, образующих опорное множество ω.
S
3. Веса можно вводить для наблюдений и признаков и уже через них определять веса функций близости, входящие в (1.8). Чаще всего исполь­зуется следующее аддитивно-мультипликативное представление весов:
1
Z
s
,
sii
где Z – нормирующий множитель, γi – вес i-го обучающего наблюдения; p
– вес s-го признака. В этом случае алгоритм бустинга для настройки ве-
s
сов уже неприменим, так как классификатор становится билинейной функ­цией параметров.
4. Решающее правило иногда усложняют, вводя дополнительные па­раметры δ
и δ2. Наблюдение x относится к классу k, если выполняются два
1
условия:
ГГδ
xx для всех у
k у
1
Y \ {k};
ГГ

k у
2
у Yk
\{ }
.
x
В остальных случаях алгоритм отказывается от классификации
наблюдения x.
1.4. АНАЛИЗ ПРОГРАММНЫХ СИСТЕМ
ДЛЯ РЕШЕНИЯ ЗАДАЧ КЛАССИФИКАЦИИ
Следует отметить, что в настоящее время существует два пути со­здания программных средств, решающих практические задачи классифи­кации. Первый путь связан с узкоспециализированными пакетами интел­лектуального анализа данных, которые направлены на небольшой круг решаемых задач, а их алгоритмической базой является какой-либо один из альтернативных подходов, применяющий метод опорных векторов,
метод потенциальных функций и т. п. Такие пакеты имеют определенные недо­статки. Одним из них является тот факт, что использующиеся в пакетах методы не универсальны относительно размерностей задач, структуриро­ванности данных, наличия выбросов, противоречивости данных. Вторым недостатком является то, что разработанные и настроенные на решение
– 34 –
конкретных задач методы могут оказаться совершенно непригодными для остальных задач в данной области [32].
Другой путь создания программных средств основан на включении основных существующих алгоритмов. В данном случае повышаются шан­сы выбора из имеющихся алгоритмов такого, который обеспечит наиболее точное решение интересующих исследователя задач.
Приведем обзор основных программных систем для решения задач классификации.
Среди российских программных систем можно выделить «Распозна­вание» и MultiNeuron.
Система «Распознавание» – универсальная программная система ин­теллектуального анализа данных [32]. Идеи универсальности и интеллек­туальности положены в основу требований к ней. Под универсальностью системы понимается возможность ее использования на большом множе­стве задач, отличающихся друг от друга по размерностям, типу, качеству и структуре данных. Под интеллектуальностью понимается присутствие элементов самонастройки и способности успешного автоматического ре­шения задач неквалифицированным пользователем. Для достижения дан­ных требований проведены работы по объединению различных методов и алгоритмов в рамках общей системы, в частности по унификации обо­значений, форматов, пользовательских интерфейсов, единых форм пред­ставления результатов обработки данных
.
Практическая реализация системы «Распознавание» выполнена в ООО «Центр технологий анализа и прогнозирования "Решения"» при поддержке Фонда содействия развитию малых форм предприятий в науч­но-технической сфере. Система адаптирована для решения задач прогно­зирования дискретных событий по выборкам многомерных данных.
В рамках системы «Распознавание» разработана библиотека про­грамм, реализующих линейные, комбинаторно-
логические, статистиче­ские, нейросетевые, гибридные методы прогноза, классификации и извле­чения знаний из прецедентов, а также коллективные методы прогноза и классификации [32], например многослойный персептрон, линейный дискриминант Фишера, метод опорных векторов, логические закономер­ности, алгоритмы вычисления оценок и т. д. Причем, используя графиче­ский интерфейс программной системы, можно легко добавлять или уда
-
лять любой метод при решении конкретной задачи.
Основные отличительные черты созданной программной системы
от имеющихся аналогов состоят в следующем [32]:
1)
разнообразие имеющихся подходов и более широкие их практиче-
ские возможности;
2)
способность автоматической обработки больших массивов данных;
– 35 –
3) возможность решения задач прогноза и распознавания редких или
уникальных событий и процессов;
4) способность обработки разнотипных, частично противоречивых
и неполных данных.
Вся программная система разбита на модули, которые реализуют разработанный интерфейс. Основным модулем программы является Engine, отвечающий за управление всеми процессами, происходящими в системе, и связь между модулями. Вторым важным модулем
является GUI (graphical user interface), который отвечает за графический интерфейс пользователя, т. е. меню, панели инструментов, графическое представле­ние данных и результаты работы методов. Завершает список группа одно­типных модулей обработки данных, реализующих различные математиче­ские методы распознавания и кластеризации, и группа модулей загрузки данных. Общая структура системы представлена на рис. 1.1 [32].
GUI
Engine
Method 2 Method 1
Рис. 1.1. Структура системы
Reader 1
Reader 2
Reader m
Method n
Такая структура позволяет, во-первых, проводить независимую мо­дификацию различных частей программы, во-вторых, добавлять математи­ческие методы и новые источники данных. Кроме того, фиксированный интерфейс обмена данными между модулями предоставляет конечному пользователю возможность написания своих методов и присоединения их к системе без участия ее разработчиков.
Программа MultiNeuron реализует методику обучения компьютер
-
ных нейронных сетей. Данная программа создана сотрудниками лаборато­рии моделирования неравновесных систем ВЦК СО РАН г. Красноярска [21, 91] и группы «НейроКомп».
Для решения задач классификации можно применить две из имею­щихся в арсенале MultiNeuron программы – «Классификатор» и «Потенци­атор». Программа «Классификатор» использует для своей работы алгоритм двойственного функционирования back-propagation [21], «Потенциатор» – ме­тод потенциальных
функций [1]. «Классификатор» хорош тем, что абсолютно весь процесс обучения проводится в автоматическом режиме. На входные нейроны нейронной сети подаются числовые сигналы, характеризующие входные данные. На выходные нейроны подаются ответы – выходные дан-
– 36 –
ные. Однако он дает невысокие результаты в случае существенного разли­чия в количестве наблюдений каждого класса [21], поэтому в таких случа­ях лучше применять «Потенциатор». Обучение с использованием метода потенциальных функций предусматривает управление процессом двумя способами. Во-первых, может быть изменен параметр, отвечающий за из­менение максимальной глубины потенциальных ям возле точек
обучающе­гося множества. Во-вторых, можно варьировать соотношение весов клас­сов, что приводит к изменению потенциала в точках этого класса.
В программе MultiNeuron применен способ прогнозирования с со­зданием нейросетевого консилиума [91, 102, 156, 216]. Этот метод преду­сматривает обучение нескольких нейросетей, решающих одну и ту же задачу. Окончательное решение принимается «большинством голосов» путем суммирования
ответов всех нейросетей.
Программа MultiNeuron базируется на методике обучения компью­терных нейронных систем, модели которых обладают существенным недостатком – представляют собой модель черного ящика и не дают ис­следователю информацию о том, каким образом найдено решение. Точ­ность классификации с использованием нейронных сетей варьируется от 60 до 90 % в зависимости от задачи и настройки
параметров сети [20].
Среди зарубежных программных систем можно выделить WEKA и RapidMiner.
Программа WEKA [221] (Waikato Environment for Knowledge Analy­sis) написана на языке Java в университете Вайкато (Новая Зеландия) и предоставляет пользователю возможность предобработки данных, реше­ния задач классификации, регрессии, кластеризации и поиска ассоциатив­ных правил, а также визуализации данных и результатов. Программа очень проста в освоении, бесплатна и может быть
дополнена новыми алгоритма-
ми, средствами предобработки и визуализации данных.
Стартовое окно Weka GUI Chooser, в котором будет предложено вы­брать один из четырёх модулей программы, приведено на рис. 1.2. Приве­дем краткое описание модулей программы.
Рис. 1.2. Основное окно программы WEKA
– 37 –
Модуль Explorer – основной модуль программы (рис. 1.3), который позволяет загрузить и предобработать данные (вкладка Preprocess), решить задачи классификации (Classify), кластеризации (Claster), поиска ассоциа­ций (Associate), селекции признаков (Select Attributes) и визуализации
(Visualize).
Рис. 1.3. Вкладка Preprocess модуля Explorer
Модуль Experimenter служит для проведения экспериментов и сравне­ния результатов работы нескольких алгоритмов между собой на нескольких задачах.
Модуль KnowledgeFlow служит для демонстрации процесса решения задачи в виде графа. Для этого необходимо указать этапы решения в виде вершин, соединить их дугами, а затем запустить этот процесс на исполнение.
Модуль Simple CLI предоставляет интерфейс текстовой
строки для ввода команд с целью увеличения возможностей пользователя при работе с программной системой.
Также в меню стартового окна Weka GUI Chooser есть несколько по­лезных функций [29]. Например, на вкладке Tools размещены редактор arff-файлов, простой модуль просмотра баз данных и программа для по­строения и обучения байесовских сетей, а на вкладке Visualization – раз­личные средства
визуализации для данных, сохранённых ROC-кривых,
– 38 –
деревьев решений, а также поверхностей решения, позволяющих посмот­реть на разделяющую поверхность классификатора.
Программа RapidMiner [211], написанная на языке Java, предназна­чена для решения задач машинного обучения и анализа данных. Пользова­тель моделирует весь желаемый процесс анализа данных в виде цепочки (графа) операторов и запускает его на выполнение. Цепочка операторов представляется в RapidMiner в
виде интерактивного графа и выражения на языке XML. Ко всем основным функциям имеется доступ через Java API и версию программы для командной строки.
Сейчас в системе реализовано более 400 операторов. Из них [29]:
1) операторы обучения по прецедентам, в которых реализованы ал­горитмы классификации, регрессии, кластеризации и поиска ассоциаций, а также мета-алгоритмы;
2) операторы системы WEKA;
3)
предобработки (дискретизация, фильтрация, заполнение пропус-
ков, уменьшение размерности и т. д.);
4) работы с признаками (селекция и генерация признаков);
5) мета-операторы (например, оператор оптимизации по нескольким параметрам);
6) оценки качества (скользящий контроль и т. д.);
7) визуализации;
8) загрузки и сохранения данных.
Имеется также возможность по добавлению в систему своих опера-
торов.
На рис.1.4 приведено основное окно программы RapidMiner.
Рис.1.4. Основное окно программы RapidMiner
– 39 –
Программа Rapidminer обладает графическими средствами для визу­ализации данных и моделей: дендрограммы, деревья решений, каталоги кластеры. Также в программной системе реализована концепция много­уровневого представления данных, которая обеспечивает эффективную работу с данными.
Рассмотрены основные логические алгоритмы классификации, алго­ритмы поиска закономерностей в форме конъюнкций для них, проведен ана­лиз программных систем, решающих
практические задачи классификации.
Выяснено, что предикат является закономерностью, если он покры­вает достаточно много наблюдений одного класса и почти не покрывает наблюдения другого класса. Чем больше наблюдений своего класса по сравнению с наблюдениями всех других классов покрывает закономер­ность, тем она информативнее. Для определения информативности зако­номерностей приводятся статистический и
эвристический критерии
информативности.
Информативные закономерности служат исходными данными для построения логических алгоритмов классификации. Как правило, законо­мерности строятся в виде конъюнкций, ведь конъюнкции небольшого ранга обладают важным преимуществом – имеют вид привычных для человека логических высказываний и легко поддаются интерпретации. Среди алго­ритмов синтеза конъюнкций можно выделить такие: градиентный, «жад­ный», случайный
локальный поиск, генетические алгоритмы. Каждый из
них имеет свои особенности, преимущества и недостатки.
Приведены основные алгоритмы логической классификации: реша­ющие списки, решающие деревья, алгоритмы простого и взвешенного голосования правил, вычисления оценок. Приводятся их преимущества и недостатки, способы построения. Для решающих списков и решающих деревьев имеется один существенный недостаток, заключающийся в
том, что каждое наблюдение классифицируется только одним правилом, что не позволяет правилам компенсировать ошибки друг друга. Следователь­но, для классификации наиболее приемлем алгоритм, основанный на голо­совании правил. Также важную роль играет построение классификатора, обладающего хорошей обобщающей способностью.
Проанализированы программные системы и определены два пути развития программных средств: узкоспециализированные пакеты, которые направлены на небольшой круг решаемых задач (их алгоритмической ба­зой является какой-нибудь один из альтернативных подходов к классифи­кации), и программные средства, основанные на включении основных существующих подходов.
– 40 –
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]