Введение. Задача классификации по прецедентам является одной из основных задач интеллектуального анализа данных и формулируется следующим образом. Исследуется некоторое множество объектов М, описываемых в системе числовых признаков . Известно, что М редставимо в виде объединения подмножеств , называемых классами. Дан набор объектов из М, о которых известно, каким классам они принадлежат. Это прецеденты или обучающие объекты. Требуется на базе анализа множества прецедентов построить алгоритм, определяющий класс любого объекта из М.
Дискретный или логический подход к задаче классификации предполагает, что каждый признак имеет ограниченное число допустимых значений, каждое из которых кодируется целым числом. Рассматриваемый подход имеет целью построение корректных моделей классификаторов, обеспечивающих безошибочное распознавание прецедентов.
Одними из известных направлений логической классификации являются LAD (logical analysis of data) и CVP (correct voting procedures). Каждое из направлений базируется на поиске таких фрагментов описаний прецедентов, которые позволяют отличать прецеденты из разных классов. В LAD искомые фрагменты называют логическими закономерностями, а в CVP — представительными элементарными классификаторами. Различным образом определяется понятие информативности фрагмента. В первом случае ищутся «максимальные» логические закономерности и решается сложная в вычислительном плане оптимизационная задача линейного программирования. Во втором случае ищутся «тупиковые» (в некотором смысле минимальные) представительные элементарные классификаторы, при этом возникают труднорешаемые дискретные перечислительные задачи. Направление LAD предложено в [1] и в основном развивается за рубежом. В России это направление представлено работами [2, 3]. Для направления CVP основополагающими являются публикации отечественных ученых [4-10].
Логические классификаторы наиболее эффективны в случае целочисленной информации низкой значности. Их описание может быть дано с использованием аппарата функций - значной логики ( ). Тогда представительный элементарный классификатор (логическая закономерность) класса K является элементарной конъюнкцией над переменными , принимающей значение 1 на описании хотя бы одного прецедента из класса K и значения 0 на описаниях всех прецедентов из других классов [6].
Поиск тупиковых представительных элементарных классификаторов класса K основан, как правило, на первоначальном анализе множества прецедентов из других классов и сводится к решению сложной перечислительной задачи, называемой монотонной дуализацией, или к обобщениям этой задачи [6, 8]. Фактически сначала строятся элементарные конъюнкции над переменными , принимающие значение 0 на описаниях тех прецедентов, которые не принадлежат классу K, и теряющие это свойство при удалении хотя бы одного сомножителя. Затем из найденных конъюнкций отбираются те, которые не менее ( 1) раз принимают значение 1 на описаниях прецедентов класса K, т. е. отбираются тупиковые -представительные элементарные классификаторы класса K (здесь -настраиваемый параметр). В данной модели классификатора, обозначаемой далее , вычисление оценки принадлежности распознаваемого объекта классу K существляется на основе проведения классической процедуры «голосования» [2], в которой участвуют все отобранные элементарные классификаторы.
В настоящей работе предлагаются и исследуются модели , , корректных логических классификаторов, обучение которых осуществляется путем поиска для каждого класса K так называемых правильных -представительных элементарных классификаторов, т. е. таких представительных элементарных классификаторов этого класса, которые имеют ранг ( 1) и не менее p раз принимают значение 1 на описаниях прецедентов класса K. При этом классификатор A1 действует по схеме классификатора A0, но в голосовании участвуют только те тупиковые p -представительные элементарные классификаторы класса K, которые имеют ранг p. Классификаторы A2 и A3 действуют по иной схеме. Первоначально анализируются описания прецедентов класса K и строятся элементарные конъюнкции, которые не менее p раз принимают значение 1 на описаниях прецедентов этого класса и имеют ранг p. Такие конъюнкции называются правильными элементарными классификаторами. Затем просматриваются прецеденты из других классов и в A2 из найденных конъюнкций отбираются представительные элементарные классификаторы класса K, а в A3 отбираются тупиковые представительные элементарные классификаторы класса K. Процедура вычисления оценки принадлежности распознаваемого объекта классу K такая же, как и в алгоритме A0.Таким образом, на этапе обучения модель A1 решает задачу монотонной дуализации, а модели A2 и A3 осуществляют поиск правильных элементарных классификаторов, базирующийся на предложенном в работе оригинальном алгоритме. Идея применения методов поиска часто встречающихся фрагментов в данных на этапе обучения логического классификатора была анонсирована авторами в [11].
Экспериментальное сравнение рассматриваемых алгоритмов на реальных и случайных модельных данных свидетельствует о целесообразности (в плане сокращения временных затрат) предлагаемого подхода к построению логических классификаторов. Получены теоретические результаты, характеризующие сложность обучения классификаторов A2 и A3 для случая, когда число прецедентов класса K существенно больше числа признаков n. В экспериментах значение параметра p выбиралось согласно оценке типичного ранга правильного элементарного классификатора.
1. Основные понятия. Описание классификаторов A1, A2 и A3. Пусть - множество наборов вида , где .
Элементарной конъюнкцией над переменными называется функция вида , где , при , и при выполнено , , , . Для краткости знак опускается. Конъюнкция обращается в 1 на тех наборах из , в которых , . Множество наборов из , на которых принимает значение 1, обозначается через , а через - множество всех элементарных конъюнкций рассматриваемого вида. Не ограничивая общности, можно считать, что объекты из исследуемого множества М описаны признаками, каждый из которых принимает значения из множества .
Пусть . Зададим на множестве прецедентов двузначную частичную (не всюду определенную) функцию , которая принимает значение 1 на наборах, являющихся описаниями прецедентов класса К, и значение 0 на наборах, описывающих остальные обучающие объекты. Функция называется характеристической функцией класса К. Решение задачи классификации заключается в доопределении на наборах, не входящих в обучающую выборку.
Далее и обозначают соответственно множества прецедентов, на которых функция равна 1 и 0. Положим , , (здесь и далее - мощность множества ).
Элементарным классификатором (ЭК) ранга r называется элементарная конъюнкция из , зависящая от r переменных. ЭК называется покрытием для , если . ЭК , являющийся покрытием для , называется тупиковым покрытием для , если не существует покрытия для , такого, что .
Пусть . ЭК называется -частым в , если . ЭК называется -представительным для класса K, если B - p-частый в UK и B - покрытие для ZK. ЭК B называется тупиковым p-представительным для класса K, если B - p-частый в UK и B - тупиковое покрытие для ZK.
ЭК B ранга p называется правильным для UK, если B - p-частый в UK. ЭК B ранга p называется правильным p -представительным для класса K, если B - p-частый в UK и B - покрытие для ZK.
Приведем подробное описание моделей корректных классификаторов A1, A2 и A3, о которых говорилось во Введении. Пусть T1(p, K) - множество всех тупиковых правильных p-представительных ЭК для класса K; T2(p, K) - множество всех правильных p-представительных ЭК для класса K; T3(p, K) = T1(p, K); , , , - число объектов S в UK, таких, что .
На стадии обучения классификатор , , строит некоторое множество ЭК из . На следующей стадии (стадии распознавания) каждый найденный ЭК участвует в процедуре голосования, заключающейся в вычислении величин и Ω , где S - распознаваемый объект и Ω(В, S) = 1, если , иначе Ω(В, S) = 0. В результате получается оценка принадлежности объекта S классу K, имеющая вид
.
Объект S относится к классу с наибольшей оценкой. Если таких классов несколько, то объект относится к классу с наибольшим числом прецедентов.
В модели A1 множество T строится в два этапа. Сначала анализируется множество и строятся тупиковые покрытия для ранга . При этом решается задача монотонной дуализациии, которая относится к труднорешаемым дискретным перечислительным задачам. Затем из найденных ЭК отбираются те, которые являются p-частыми в UK. Основная вычислительная сложность в этой модели заключается в необходимости решать задачу монотонной дуализации. Эффективность перечислительных задач принято оценивать сложностью нахождения нового решения (сложностью одного шага). В настоящее время для монотонной дуализации не построен алгоритм с полиномиальным шагом (алгоритм с полиномиальной задержкой [12]). Наиболее эффективными в практическом отношении для этой задачи являются асимптотически оптимальные алгоритмы [10].
В моделях A2 и A3 множества и строятся также в два этапа. Однако, в отличие от модели A1, сначала вместо анализа множества проводится анализ множества , которое обычно меньше по мощности, чем , в случае, если число классов больше двух. В результате такого анализа строится множество правильных ЭК для ранга . На втором этапе в моделях A2 и A3 из найденных ЭК отбираются соответственно покрытия для и тупиковые покрытия для .
В настоящей работе при реализации классификаторов A1, A2 и A3 к исходным данным применялась известная процедура one-hot кодирования [9]. В результате классификаторы работали с бинарными описаниями объектов. Для поиска правильных ЭК в бинарных данных разработан алгоритм ADR, описание которого приведено в разд. 2.
2. Алгоритм ADR поиска правильных ЭК. Типичное число правильных ЭК. Обозначим через L матрицу, строками которой являются бинарные описания объектов класса K, полученные с помощью one-hot кодирования.
Пусть Q - набор различных столбцов матрицы L, LQ - подматрица матрицы L образованная набором Q. Набор столбцов Q называется p-частым, если LQ содержит не менее p строк, все элементы которых равны 1. Набор столбцов Q называется p-правильным, если он p-частый и его мощность равна p. Несложно видеть, что поиск всех правильных ЭК ранга p эквивалентен поиску всех p-правильных наборов столбцов матрицы L.
Обозначим через множество всех столбцов матрицы L, имеющих не менее p элементов, равных 1. Пронумеруем столбцы матрицы L слева направо, начиная с 1. Пусть и - столбцы соответственно с наименьшим номером и наибольшим номером из , . Через обозначим множество всех p-частых наборов столбцов матрицы L, мощность которых не превосходит p. Алгоритм ADR строит множество всех p-правильных наборов столбцов матрицы L, перечисляя с полиномиальной задержкой наборы из .
Определим порядок, в котором происходит перечисление наборов из . На первом шаге рассматривается набор .
Пусть на шаге построен набор , состоящий из столбцов с номерами , , . Если , то алгоритм заканчивает работу. Если же , то на шаге алгоритм ADR строит новый набор ΔQ из . При этом возможны два случая: и . В первом случае алгоритм строит ΔQ согласно приведенным ниже правилам 1 - 4 . Во втором случае алгоритм строит ΔQ по правилам 2 - 4.
Для описания правил построения ΔQ введем обозначения: , , - набор столбцов матрицы с номерами ; , , - множество столбцов в , номера которых больше ; , , , - множество столбцов из , каждый из которых в объединении со столбцами из образует набор из . Положим в случае .
Заметим, что в случае для построения в нужно оставить только те столбцы, номера которых больше и которые имеют не менее элементов, равных 1 в подматрице, полученной после удаления из строк, дающих 0 в пересечении со столбцами с номерами .
Положим и = . Перечислим возможные случаи и в каждом из них укажем правила построения ΔQ:
Заметим, что при , так как , и при , так как столбец с номером принадлежит этому множеству.
Из описания работы алгоритма ADR видно, что в его основе лежит процесс ветвления, который удобно представить в виде обхода дерева решений в глубину. Вершинами этого дерева являются наборы из , причем -правильные наборы столбцов находятся среди висячих вершин. Через обозначим матрицу, строками которой являются описания прецедентов класса . Правильные ЭК порождаются квадратными подматрицами матрицы , состоящими из одинаковых строк. Такие подматрицы назовем правильными.
Ниже приведены асимптотические оценки типичных значений числа правильных подматриц целочисленной матрицы и порядка такой подматрицы в случае большого числа строк матрицы . Пусть - множество всех целочисленных матриц размера с элементами из ; , , - множество правильных подматриц в матрице ; - интервал (0 , , где 0.5logkmn - 0.5logklogkmn + logklogklogkn; , означает, что .
Теорема. Если , , то при для почти всех матриц из справедливо
.
и порядки почти всех подматриц из принадлежат интервалу .
Доказательство теоремы аналогично доказательству теоремы 3 из [13], в которой при тех же ограничениях на и получена асимптотическая оценка типичного числа так называемых -подматриц матрицы , служащая верхней оценкой числа тупиковых покрытий для при условии, что .
Приведенная в теореме оценка типичного порядка подматрицы из косвенно свидетельствуют о том, что в случае, когда число прецедентов класса существенно больше числа признаков , типичный ранг правильного ЭК в не превосходит .
Замечание 1. В работе [14] получены асимптотические оценки типичного числа правильных ЭК в для двух случаев: 1) , , ; 2) , . Авторами показано, что типичный ранг правильного ЭК в в случаях 1) и 2) соответственно принадлежит интервалу и не превосходит .
3. Результаты экспериментов. Результаты счета на реальных целочисленных задачах приведены в таблице. Задачи взяты из репозитория UCI [archive.ics.uci.edu] и репозитория ВЦ ФИЦ ИУ РАН. Описанные выше алгоритмы А1, А2, А3 оценивались по качеству классификации и по времени обучения. Алгоритмы реализованы на языке программирования C++. В тестировании на качество классификации также участвовали такие известные алгоритмы, как случайный лес (RF) и логистическая регрессия (LR). Дополнительная настройка алгоритмов RF и LR не производилась.
Таблица 1.
m, n1, l (p1, ... , p1) | Время, мс | Качество |
A1 | A2 | A3 | A1, A3 | A2 | RF | LR |
144, 379, 2 (3, 3) | 512.1 | 47.0 | 48.6 | 0.691 | 0.735 | 0.742 | 0.774 |
267, 566, 2 (3, 4) | 289.2 | 18.3 | 18.4 | 0.560 | 0.570 | 0.545 | 0.578 |
957, 27, 2 (3, 3) | 71.7 | 1.0 | 1.0 | 0.976 | 0.976 | 0.939 | 0.639 |
79, 160, 2 (2, 3) | 238.4 | 140.0 | 150.0 | 0.614 | 0.623 | 0.542 | 0.553 |
3195, 73, 2 (4, 4) | 5294.0 | 903.7 | 1061.9 | 0.903 | 0.974 | 0.988 | 0.956 |
1532, 284, 2 (5, 5) | 2763106 | 59265 | 69387 | 0.960 | 0.971 | 0.960 | 0.922 |
2056, 83, 3 (4, 4, 4) | 35471 | 8.3 | 9.4 | 0.641 | 0.770 | 0.905 | 0.790 |
3190, 287, 3 (5, 5, 5) | 10487213 | 235045 | 315275 | 0.793 | 0.794 | 0.946 | 0.831 |
Результаты счета усреднялись по 10 случайным независимым разбиениям прецедентов, 80% которых использовалось для обучения моделей, а 20% — для оценки качества классификации. В каждом из разбиений распределение прецедентов по классам сохранялось неизменным.
В таблице последовательно указаны результаты счета для следующих задач: Манелис, Остеосаркома, Крестики-нолики (UCI), Инсульт, Шахматы (UCI), Молекулярная Биология 1 (UCI), Задача 5, Молекулярная Биология 2 (UCI). Для каждой задачи указаны число прецедентов m, число признаков n1 полученное после one-hot перекодировки, число классов l и ранг , , голосующих ЭК класса . Время работы алгоритмов указано в миллисекундах. Функционалом качества выбрана сбалансированная точность классификации, вычисляемая по формуле
где — доля верно классифицированных объектов класса . Данный функционал хорошо себя зарекомендовал при несбалансированных классах. В случае равномощных классов сбалансированная точность совпадает с долей верно классифицированных объектов.
Как видно из таблицы, модель превосходит по качеству и времени работы модели и на всех рассмотренных данных, кроме задачи Крестики-нолики, и в среднем не уступает по качеству ни случайному лесу, ни логистической регрессии. На трех задачах (Крестики-нолики, Инсульт, Молекулярная Биология 1) модель превосходит все модели.
Модель работает существенно медленнее модели при том, что оба алгоритма строят множество всех тупиковых -представительных ЭК ранга . Однако модель на первом этапе обучения ищет тупиковые покрытия для ранга , а модель перечисляет правильные ЭК ранга для . Стоит отметить, что на шести задачах (Манелис, Остеосаркома, Крестики-нолики, Инсульт, Шахматы, Задача 5) модели и обучались менее чем за 1 с, что свидетельствует об их высокой вычислительной эффективности.
Замечание 2. В экспериментах ранг , , голосующих ЭК класса брался равным числу, где - число прецедентов класса . Обучение с таким рангом в среднем показывало лучшее качество по сравнению с обучением с другими значениями ранга , также принадлежащими интервалу .
На рис. 1, 2 приведено время обучения моделей и на случайных модельных данных из равномерного распределения при , , - число прецедентов в каждом классе, - число признаков. Результаты счета усреднены по 20 независимым запускам. Время работы алгоритмов указано в секундах. Время счета модели не приводится на графиках, так как в рассматриваемых примерах оно практически совпадает с временем работы .
Рис. 1. Зависимость времени обучения моделей и от числа признаков при
Рис. 2. Зависимость времени обучения моделей и от числа прецедентов при
На рис. 1 показан экспоненциальный рост временных затрат на этапе обучения классификаторов и при в зависимости от числа признаков . Видно, что при относительно небольшом разрыв во времени счета для А1 и А2 незначителен. При алгоритм А1 работает значительно медленнее алгоритма А2. Например, А1 обучается примерно в 1.3 раза медленнее А2 при , а при - в 1.7 раз медленнее.
На рис. 2 продемонстрирован линейный рост временных затрат на этапе обучения классификаторов А1 и А2 при в зависимости от числа прецедентов . Видно, что время работы А1 растет быстрее по сравнению с временем работы А2. Например, А1 обучается примерно в 1.2 раза медленнее А2 при и почти в 2 раз медленнее при .
Заключение. Исследованы актуальные вопросы снижения временных затрат, возникающие при логическом анализе данных в задачах классификации на основе прецедентов. Предложены новые модели корректного голосования, базирующиеся на поиске в описаниях прецедентов каждого класса правильных ЭК ранга ( - настраиваемый параметр модели). Разработан эффективный алгоритм для перечисления искомых правильных ЭК. Получена верхняя асимптотическая оценка типичного числа правильных ЭК для случая, когда число прецедентов существенно больше числа признаков. При этом указан типичный ранг правильного ЭК, который использован в экспериментах для выбора параметра . Теоретические выводы подтверждены результатами экспериментального исследования на реальных и случайных модельных данных. А именно показано, что время обучения модели , базирующейся на решении задачи монотонной дуализации, растет быстрее времени обучения модели , основанной поиске правильных ЭК.