Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Модификации метода логического анализа данных для задач классификации. Монография.pdf
X
- •ОГЛАВЛЕНИЕ
- •ПРЕДИСЛОВИЕ
- •ВВЕДЕНИЕ
- •1. АНАЛИЗ ЛОГИЧЕСКИХ АЛГОРИТМОВ КЛАССИФИКАЦИИ
- •1.2. АЛГОРИТМЫ ПОИСКА ЗАКОНОМЕРНОСТЕЙ В ФОРМЕ КОНЪЮНКЦИЙ
- •1.3. АНАЛИЗ ОСНОВНЫХ ЛОГИЧЕСКИХ АЛГОРИТМОВ КЛАССИФИКАЦИИ И СПОСОБОВ ИХ ПОСТРОЕНИЯ
- •1.3.1. Решающие списки
- •1.3.2. Решающие деревья
- •1.3.4. Алгоритмы вычисления оценок
- •1.3.3. Алгоритмы простого и взвешенного голосования правил
- •2.1. ПРИЛОЖЕНИЯ В ОБЛАСТИ БИЗНЕСА, ЭКОНОМИКИ И ФИНАНСОВ
- •2.2. ПРИЛОЖЕНИЯ В ОБЛАСТИ МЕДИЦИНЫ И ЗДРАВООХРАНЕНИЯ
- •2.3. ПРИЛОЖЕНИЯ В ОБЛАСТИ ТЕХНИКИ
- •2.4. ПРИЛОЖЕНИЯ В ОБЛАСТИ ФИЗИКИ, ХИМИИ, БИОЛОГИИ
- •2.5. ПРИЛОЖЕНИЯ В ОБЛАСТИ ОБРАБОТКИ И РАСПОЗНАВАНИЯ ИЗОБРАЖЕНИЙ
- •3. МЕТОД ЛОГИЧЕСКОГО АНАЛИЗА ДАННЫХ И ЕГО МОДИФИКАЦИИ
- •3.1. ОПИСАНИЕ ПОДХОДА
- •3.2. БИНАРИЗАЦИЯ ПРИЗНАКОВ
- •3.3. ПОСТРОЕНИЕ ОПОРНОГО МНОЖЕСТВА
- •3.4. ФОРМИРОВАНИЕ ЗАКОНОМЕРНОСТЕЙ
- •3.5. ПОСТРОЕНИЕ КЛАССИФИКАТОРА
- •4.1. СОСТОЯНИЕ ПРОБЛЕМЫ
- •4.2. СВОЙСТВА ПСЕВДОБУЛЕВЫХ ФУНКЦИЙ
- •5. АНАЛИЗ ИСХОДНОЙ ВЫБОРКИ ДАННЫХ
- •5.1. НЕДОСТАТКИ В ИСХОДНОЙ ВЫБОРКЕ ДАННЫХ
- •5.3. ВЫБОР ПУЛА ПРИЗНАКОВ
- •5.4. АЛГОРИТМИЧЕСКАЯ ПРОЦЕДУРА ПОЛУЧЕНИЯ УСЕЧЕННОГО НАБОРА ПРИЗНАКОВ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ
- •ПРИЛОЖЕНИЕ 1
- •ПРИЛОЖЕНИЕ 2

4. Вводится оценка близости наблюдения x X к классу k Y как
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 Analysis) написана на языке 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 –
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
