УДК 681.3:004.8
А. В. Демин 1, Е. Е. Витяев 2
1 Институт систем информатики им. А. П. Ершова СО РАН пр. Акад. Лаврентьева, 6, Новосибирск, 630090, Россия E-mail: [email protected]
2 Институт математики им. С. Л. Соболева СО РАН пр. Акад. Коптюга, 4, Новосибирск, 630090, Россия
E-mail: [email protected]
РАЗРАБОТКА УНИВЕРСАЛЬНОЙ СИСТЕМЫ ИЗВЛЕЧЕНИЯ ЗНАНИЙ «DISCOVERY» И ЕЕ ПРИМЕНЕНИЕ *
В работе рассматривается метод и программная система «Discovery» извлечения знаний из данных. Предложенный метод использует язык логики первого порядка и позволяет обнаруживать на данных любые виды закономерностей. Описывается применение разработанной системы для решения ряда актуальных прикладных задач в медицине, финансах и биоинформатике.
Ключевые слова: обнаружение закономерностей, предсказание, знание, извлечение знаний, интеллектуальный анализ данных.
Введение
В настоящий момент разработано достаточно большое количество различных KDD&DM-методов (Knowledge Discovery in Data Bases and Data Mining) и реализующих их программных систем. Данное направление продолжает бурно развиваться и совершенствоваться. Однако ни один из используемых в данный момент KDDÄDM-методов не способен извлечь из информации знания в полном объеме.
Анализ методов KDD&DM показывает [Витяев, 2006; Kovalerchuk, Vityaev, 2000], что для любого метода можно выделить типы данных, с которыми работает метод, язык оперирования и интерпретации данных, а также класс гипотез, которые проверяет метод. Это накладывает на KDDÄDM-методы ряд ограничений.
1. Информация, содержащаяся в данных, определяется множеством отношений и операций, интерпретируемых в онтологии предметной области. Существующие методы KDD&DM могут работать только с конкретными типами данных и использовать только конкретные виды отношений и операций. Тем самым они, во-первых, не могут использовать всю информацию, содержащуюся в данных, во-вторых, могут получать результаты, не интерпретируемые в онтологии предметной области.
2. Методы обнаруживают в данных только вполне определенные типы гипотез.
Нами был разработан реляционный подход (Relational Data Mining) к методам извлечения знаний и реализующая его программная система «Discovery» [Витяев, 2006; Витяев, Москви-тин, 1993. С. 117-163; Vityaev, Kovalerchuk, 2004. P. 551-573; Kovalerchuk, Vityaev, 2000], снимающие практически все ограничения с методов KDD&DM за счет использования языка первого порядка, который практически неограниченно расширяет множество типов используемых данных, а также позволяет описывать любые виды гипотез. Проведенные практические сравнения системы «Discovery» с такими широко распространенными методами, как нейронные сети, решающие деревья, ассоциативные правила, статистические методы, FOIL показывают, что система «Discovery» работает лучше и точнее других методов [Витяев, 2006; Kovalerchuk, Vityaev, 2000].
Существующие методы не в состоянии поддерживать режим исследования данных, когда обнаруживаемая закономерность заранее неизвестна. Каждый KDD&DM-метод обнаружива-
* Работа поддержана грантом РФФИ 08-07-00272-а; интеграционным проектом СО РАН №1 и №115, а также выполнена при финансовой поддержке Государственного контракта 2007-4-1.4-00-04 и Совета по грантам Президента РФ и государственной поддержке ведущих научных школ (проект НШ-335.2008.1).
ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2009. Том 7, выпуск 1 © А. В. Демин, Е. Е. Витяев, 2009
ет свой специфический класс гипотез. Система «Discovery» способна поддерживать режим исследования данных. Кроме того, она может обнаруживать и проверять на данных произвольный класс гипотез, который захочет проверить эксперт.
Система «Discovery» обнаруживает гипотезы, которые сформулированы в заданных экспертом (например, финансистом) терминах - множестве интерпретируемых отношений и операций, определенных на данных. Интерпретируемость получаемых закономерностей очень важна при принятии ответственных решений в таких областях, как медицина или финансы. К примеру, если речь идет о крупном вложении капитала и у нас есть два прогноза об ожидаемой прибыли, полученные нейронными сетями и системой «Discovery», то доверие будет к тому прогнозу, который понятен и интерпретируем. Невозможно принимать ответственные решения, не понимая, как они получены. Прогнозы, получаемые на основании интерпретируемых правил, понятны, и по ним можно принимать решения.
Другой важной задачей, которую решает система «Discovery», является задача максимально полного извлечения знаний из данных. Полнота извлечения знаний системой «Discovery» обеспечивается двумя путями.
3. Использование теории измерений, позволяющей извлечь практически всю информацию из данных и представить ее множеством отношений и операций, определенных на многосортной эмпирической системе и интерпретируемых в онтологии предметной области;
4. Обнаружение практически любого класса гипотез в терминах выявленных отношений и операций на этой эмпирической системе.
Все эти задачи показывают актуальность разработки «универсальной» версии системы «Discovery». «Универсальность» системы состоит в том, что она снимает ограничения с KDDfcDM-методов за счет:
1) предоставления пользователю возможности самому, в диалоге с системой, задавать отношения и операции, которые система будет использовать, и которые интерпретируемы в системе понятий предметной области, что позволяет извлекать из данных всю информацию в соответствии с пунктом 3;
2) возможности задания любого класса гипотез, формулируемого в заданных самим же пользователем множествах отношений и операций, что снимает ограничение 2 с KDDÄDM-методов и реализует пункт 4.
Именно такая универсальность позволяет решать упомянутые важные задачи исследования данных и проверки экспертных гипотез, которые не решаются другими методами.
На данный момент разработана достаточно «универсальная» версия системы «Discovery», позволяющая пользователю самому задавать класс обнаруживаемых закономерностей, извлекать из данных множество закономерностей заданного класса и использовать найденные закономерности для прогноза и принятия решений. В данной работе описывается метод извлечения знаний, на котором основана работа системы «Discovery», и применения разработанной системы для решения актуальных задач в медицине, финансах и биоинформатике.
Описание метода
Определение вида гипотез. Будем предполагать, что исходные данные представлены в виде реляционной таблицы D, строки которых соответствуют объектам, а колонки - признакам объектов, т. е. D = {D(1),..., D(N)}, где D(i) - i-я строка таблицы (объект с номером i), D(i) = {D(i,1),..., D(i, m)} , D(i, j) - значение таблицы на пересечении j-й колонки и i-й строки (значение j-го признака объекта D(i)).
Введем иерархию элементов конструирования гипотез, которые мы будем использовать для формализации способа задания видов гипотез.
Переменная по объектам пробегает множества строк (объектов) таблицы данных. В дальнейшем будем отождествлять значения переменных по объектам с номерами строк.
Будем обозначать кортеж переменных по объектам (i1, i2,..., in} через (i^ .
Переменная-параметр (в дальнейшем будем называть этот тип переменных просто переменными) может либо принимать значение фиксированной константы x = const, где const -произвольное действительное число, либо принимать значения признаков объектов, в этом случае значение переменной-параметра будет определяться текущим набором значений пе-
ременных по объектам (i} = (i1, i2,..., in): x = D(g((i)), h((i))), где g((i)) и h((i}) - целочисленные функции, задающие номер строки и номер колонки таблицы. В простейшем случае, когда g((i)) = ij, где ij е(i), h((i)) = к , переменная x(i} будет просто принимать значения
k-го признака объекта ij : x(i} = D(ij,к). В более сложном случае gф}) может, к примеру, задавать смещение строки: g((i^) = g(ij) + b , где b - фиксированное смещение относительно строки ij , ij е ^i^, или осуществлять поиск объекта относительно текущих объектов. В дальнейшем, чтобы отразить тот факт, что значение переменной-параметра может определяться текущим набором значений переменных по объектам (i^, будем обозначать переменную-
параметр x через x((i)).
Терм определяется следующим образом: 1) если x((j}) - произвольная переменная-параметр, то t((i)) = x((i)) - терм; 2) если f - n-местная вещественнозначная функция, t1,..., tn - термы, то t((i)) = f (t1({ii)),..., tn((i))) - терм. Терм может принимать любое вещественное значение.
Предикат определяет отношение на множестве данных. Общий вид предиката: Р((i)) = P(t1({i)),..., tn((i))), где tj((i)) - терм. Предикат может принимать значение «истина» или «ложь».
Правило служит для представления закономерности. Правило состоит из посылки и заключения. Посылка правила представляет собой конъюнкцию предикатов, заключение - некоторый целевой предикат. Общий вид правила: V(tyP*((i))&...&РПв((i)) ^Р0в((i)), где P1, ..., Рп - предикаты посылки; Р0 - целевой предикат; в е {0,1} обозначает наличие отрицания, т. е. если в = 0, то Рв = Р, если в = 1, то Рв = — Р . Каждое правило R характеризуется условной вероятностью p(R), с которой оно предсказывает истинность заключения при условии истинности посылки.
Введем понятие интерпретации объекта (переменной, терма или предиката) на множестве исходных данных. Будем обозначать интерпретацию объекта A через 0(A) . Последовательно введем понятие интерпретации для каждого из вышеперечисленных объектов.
Под интерпретацией переменной будем понимать присвоение ей значения фиксированной константы либо присвоение значений признаков объектов. Иначе говоря, 9(x) = const,
где const - произвольное действительное число, либо 0( x) = D( g(i}, h(i}), g ((i)) и h(( i)) -
целочисленные функции, задающие номер строки и номер столбца таблицы данных. Будем называть переменную проинтерпретированной, если она равна константе либо ссылается на исходную таблицу данных.
Под интерпретацией терма будем понимать присвоение всем переменным, входящим в состав терма, значений фиксированных констант или признаков объектов. Другими словами, если t = x, где x - переменная, то 0(t) = 9(x), если t = f (t1,..., tn), где t1,..., tn - термы, то
0(t) = f (0(0,..., 0(tn)).
По аналогии под интерпретацией предиката будем понимать присвоение всем его термам значений проинтерпретированных функций, т. е.
0( Р(^, ..., tm )) = P(0(tl), ..., 0(tm )) = Р( f1, ..., fm ) . Соответственно будем называть предикат проинтерпретированным, если все его термы проинтерпретированы .
Введем понятия шаблона термов и шаблона предикатов.
Шаблон термов задает терм и способы его интерпретации на исходных данных.
Определим шаблон терма Tf для терма t следующим образом. Если t = x, где x - переменная, то Tf = (x, ©(x, где ©(x) - множество интерпретаций переменной x на исходных данных: ©( x) = {01( x),..., 0m (x)} . Если t = f (t1,..., tn), где t1,..., tn - термы, то
Tf = (f (tj,..., tn), ©(tj),..., ©( tn)), где ©(t.) - множество интерпретаций терма ti на исходных данных: ©(ti) = (6j(ti),..., 9m(ti)} . Поскольку способы интерпретации термов задаются шаблонами термов, то мы можем определить множество интерпретаций терма ©(t) через другие шаблоны термов, т. е. ©(t) = {Tfj,..., Tfk}, где Tfi - некоторые шаблоны термов.
Шаблон предикатов задает предикат и способы его интерпретации на исходных данных. Обозначим {P(tj,..., tn), ©(tj),..., ©(tn)) шаблон предикатов, где ©(t.) - множество интерпретаций терма t¡ на исходных данных, которое задается шаблонами термов ©( t.) = {Tfj,..., Tfk} , где Tf - некоторые шаблоны термов. Таким образом, шаблон предикатов, по сути, задает класс предикатов, определяющих один вид отношения, но по-разному проинтерпретированных на исходных данных.
Теперь, используя понятие шаблона предикатов, мы можем определить понятие класса гипотез как набор множества шаблонов предикатов и целевого предиката. Обозначим класс
гипотез через ({Tpj,..., Tpm}, Р0в^, где Tpt - шаблоны предикатов, Р0 - целевой предикат, в е {0,1} обозначает наличие отрицания предиката.
Класс гипотез ({Tpj,..., Tpm}, Р0в^ определяет класс правил вида PJB &... &Рпв ^ Р0в, где все
предикаты посылки Р,...,Рп должны принадлежать множеству предикатов, определяемому шаблонами Tpj,..., Tpm .
Алгоритм поиска вероятностных закономерностей. Не ограничивая общности, рассмотрим алгоритм поиска закономерностей для случая, когда задан только один класс гипотез. Для случая, когда задано несколько классов гипотез, поиск закономерностей осуществляется независимо для каждого класса гипотез.
Пусть задан некоторый класс гипотез Th = ({Tpj,..., Tpm}, Р0в^ .
Пусть {р,..., Рп} - множество всех проинтерпретированных предикатов, которые мы можем получить с помощью шаблонов {Tpj,..., Tpm} .
U (Th) = {A^..., Am } - множество всех литер вида Ai = Ре, Р eU (Th), ве {0,1} - обозначает наличие отрицания, т. е. если в = 0, то Рв = Р , если в = 1, то Рв = — Р .
A0 = Р0в - целевое высказывание.
Вероятностной закономерностью [Витяев, 2006] будем называть правило Aj & ... & Am ^ Aq, удовлетворяющее следующим условиям:
а) условная вероятность p(A0| Aj &...&Am) правила определена, т. е. p(Aj&...& Am) > 0;
б) условная вероятность p(A, | Aj & ...& Am) правила строго больше условных вероятностей каждого из его подправил, т. е. для любого правила Aij&...&Ak ^ A,, такого что {A,j,..., A,k} с {Aj,..., Am}, условная вероятность p( A, | Añ & ...& Aü) < p( A, | Aj & ...& Am).
Чтобы проверить при помощи обучающего множества D, является ли некоторое правило Aj&...&Am ^ A, вероятностной закономерностью, необходимо проверить выполнимость вероятностных неравенств а и б и оценить его статистическую значимость.
Условная вероятность правила Aj & ...& Am ^ A, оценивается на обучающем множестве D следующим образом: p(A0 | Aj&...&Am) = N(A,&Aj&...&Am)/N(Aj&...&Am), где N(A0& Aj&...&Am) - число событий A0& Aj&...&Am на множестве D, N(Aj&...&Am) -число событий Aj &... & Am на D.
Для проверки статистической значимости правила используется статистический критерий Фишера (точный критерий независимости Фишера для таблиц сопряженности) [Кендал, Стюарт, 1973]. Если правило удовлетворяет этому критерию с некоторым доверительным уровнем а, а также удовлетворяет условиям а и б, то оно будет являться вероятностной закономерностью.
Алгоритм поиска закономерностей основан на семантическом вероятностном выводе [Ви-тяев, 2006; Kovalerchuk, Vityaev, 2000], который позволяет находить все статистически значимые вероятностные закономерности вида A1 & ... & Am ^ A,.
Для дальнейшего описания введем несколько определений.
Длиной правила R будем называть величину len(R), равную количеству литералов, входящих в посылку правила.
Правило A1&...& Am & Am+1 ^ Д является уточнением правила A1&...& Am ^ A,, если оно получено добавлением в посылку правила A1 & ... & Am ^ A, произвольной литеры Am+1.
Будем обозначать Spec(RUL) множество уточнений всех правил из RUL, где RUL -произвольное множество правил вида A1 & ... & Am ^ A,, Ai е U(Th) .
Опишем алгоритм поиска закономерностей, реализующий семантический вероятностный вывод.
На первом шаге генерируем множество RULj всех правил единичной длины, имеющих вид R = Ai ^ A,, Ai е U(Th), len(R) = 1. Все правила из RUL проходят проверку на выполнение условий для вероятностных закономерностей. Правила, прошедшие проверку, будут являться вероятностными закономерностями. Обозначим REG1 множество всех вероятностных закономерностей, обнаруженных на первом шаге, т. е. REG1 = {R;.}, где i е I1, Rt = Aj ^ A,, Aj е U(Th), len(Rt) = 1, Rt - вероятностная закономерность.
На шаге k < d генерируется множество RULk всех уточнений правил, сгенерированных на предыдущем шаге, RULk = Spec(RULk_1). Все правила из RULk проходят проверку на выполнение условий для вероятностных закономерностей. Обозначим REGk множество всех вероятностных закономерностей, обнаруженных на данном шаге, т. е. REGk = {Ri}, где i е Ik , Ri = A1 &... & Ak ^ Aq, Aj е U(Th), len(Ri) = k , Ri - вероятностная закономерность.
На шаге k > d генерируется множество RULk всех уточнений всех вероятностных закономерностей, обнаруженных на предыдущем шаге, RULk = Spec(RULk1). Все правила из RULk проходят проверку на выполнение условий для вероятностных закономерностей. Обозначим RULk множество всех вероятностных закономерностей, обнаруженных на данном шаге, т. е. REGk = {Ri}, где i е 11, Rt = A1&...&Ak ^ A,, A} еU(Th), len(Rt) = k, Rt - вероятностная закономерность.
Алгоритм останавливается, когда невозможно далее уточнить ни одно правило, т. е. когда RULk = Spec(REGk1) = REGk1 = 0 . Результирующее множество всех закономерностей REG
будет равно объединению всех REGi: REG = ^ REGi .
i
Шаги алгоритма k < d называются базовым перебором, а шаги k > d - дополнительным перебором. Величина d называется глубиной базового перебора и является параметром алгоритма.
Проверка правил на выполнение условий для вероятностных закономерностей осуществляется путем проверки описанных выше статистических критериев с некоторым доверительным уровнем а .
Формирование прогноза и принятие решения. Будем предполагать, что исходная задача может быть представлена как задача выбора одного варианта исхода из заранее известного набора исходов. Под прогнозом будем понимать высказывание о варианте исхода с некоторой оценкой его точности, которую мы будем называть оценкой точности прогноза. В качестве оценки точности прогноза наиболее естественно использовать оценку его вероятности, однако в некоторых задачах могут быть использованы и другие способы оценки точности прогноза, больше соответствующие специфике задачи. Опишем способ получения прогноза и механизм принятия решения, основанный на множестве правил, предсказывающих различные варианты исходов.
Пусть нам известно множество вариантов исхода {исход1,..., исходп}. Каждый вариант исхода исход,, можно представить некоторым целевым предикатом TPi. Таким образом, будем считать, что нам задан некоторый набор целевых предикатов {ТР1,...,ТРп}, представляющих различные варианты исхода.
Пусть РЯ - множество правил, предсказывающих один и тот же целевой предикат (вариант исхода). Будем называть это множество правил предиктором. Таким образом, для каждого варианта исхода исход, мы будем иметь предиктор РЯ{, состоящий из множества правил, предсказывающих данный вариант исхода (целевой предикат TPi, соответствующий данному варианту исхода).
Определим способ формирования прогноза предиктора на основе множества прогнозов отдельных правил, входящих в его состав. Для этого необходимо определить способ формирования оценки точности прогноза предиктора. Под оценкой точности прогноза предиктора РЯ для объекта с номером 7 будем понимать величину ргРЯ (7) е [0,1], где ргРЯ - отображение, определяющее способ формирования итогового прогноза. Отображение ргРЯ ставит в соответствие множеству прогнозов отдельных правил значение из интервала [0, 1], т. е. РГРЯ(7): {РГЯ(7): Я е РЯ} ^ [0,1], где ргЯ(7) - прогноз правила Я для объекта с номером 7: ргЯ (7) = р( Я), если правило Я применимо к объекту с номером 7, ргЯ (7) = 0 в противном случае.
Наиболее естественным способом определения ргРЯ, (7) является его задание равным оценке точности прогноза правила, имеющего максимальную оценку точности прогноза, т. е. ргРЯ, (7) = тах{ргЯ (7): Я е РЯ} . Однако в зависимости от выбранного способа оценки точности
Я
прогноза возможны и другие способы задания ргРЯ (7).
Таким образом, прогнозом исхода исход, будем считать прогноз предиктора РЯ,, содержащего множество правил, предсказывающих данный исход.
Для осуществления принятия решения необходимо определить решающее правило ОесЯи!е(7), которое должно на основе множества прогнозов отдельных предикторов выбирать конкретный вариант исхода из множества возможных исходов, т. е. ОесЯи!е(7): {ргРЯ(7)} ^ {исход1,..., исходп} , где {исход1,..., исходп} - множество возможных исходов.
Для осуществления принятия решений на основе прогнозов предикторов предлагается использовать следующий механизм определения решающего правила. Пусть имеется набор предикторов {РЯ,} , у = 1,..., п . Каждый предиктор РЯ, соответствует некоторому варианту
исхода исход .. Обозначим через ргРР (7) оценку точности прогнозау-го предиктора для объекта с номером 7. Выбор варианта исхода ОесЯи!е(7) для 7-го объекта осуществляется следующим образом. Для каждого предиктора рассчитывается показатель согласованности его прогноза по формуле Ск,(7) = ргРЯ(7) - тах{ргРЯк (7)} , т. е. как разность между оценкой точ-
1 кФу
ности прогноза данного предиктора и максимальной оценкой точности прогнозов остальных предикторов. В качестве варианта исхода для 7-го объекта выбирается исход, соответствующий предиктору, показатель согласованности которого строго больше заданного порога 5> 0, т. е. ВесЯи1е(7) = исходк, где к = ащтах^г,(7): С^,(7) > 5} . Порог 5 будем называть
1=1,..,п
порогом согласованности. В случае если не существует прогноза, показатель согласованности которого выше указанного порога, то решение о выборе варианта исхода не принимается. Величина порога 5 зависит от специфики решаемой задачи и должна устанавливаться исследователем.
Применение в задачах медицинской диагностики
Мы использовали разработанную нами систему для решения задачи дифференциальной диагностики фолликулярной опухоли щитовидной железы.
В настоящее время в вопросах дооперационной диагностики заболеваний щитовидной железы наибольшие трудности вызывает диагностика фолликулярной опухоли при попытке отличить аденому от рака. Как показывает опыт, в настоящее время совпадение цитологических и окончательных гистологических диагнозов не превышает 56 % [Пупышева, 2002. С. 24-26].Таким образом, встает вопрос о совершенствовании дооперационной морфологической диагностики. Помимо повышения точности цитологической диагностики, особый интерес также вызывает предварительная диагностика заболевания по данным УЗИ, поскольку, как правило, именно при УЗИ впервые обнаруживается узел в щитовидной железе. Однако пока еще в медицине не существует методов, позволяющих диагностировать фолликулярную опухоль только по данным УЗИ [Богин, 1992].
Совместно с медиками Дорожной клинической больницы Новосибирска мы провели два исследования возможности диагностики фолликулярной опухоли, основанные на данных цитологического анализа и данных УЗИ.
Исходными данными для первого исследования послужили цитологические препараты 197 больных с уже известными диагнозами (86 случаев рака и 111 - аденомы). Все препараты были проанализированы по 30 цитологическим признакам и представлены в виде таблицы данных, которая использовалась системой «Discovery» для извлечения диагностических правил.
Всего системой было извлечено 88 диагностических правил с условной вероятностью не меньшей чем 0,9, из них 43 - с условной вероятностью равной 1. Все найденные правила были статистически значимы при уровне критерия Фишера 0,001.
Для наиболее объективной оценки прогностических возможностей системы было проведено тестирование с использованием метода скользящего контроля: из общей выборки циклически исключался один пример, система обучалась на оставшихся примерах, а затем тестировалась на исключенном примере, после чего он возвращался назад. Данный процесс продолжался до тех пор, пока система не прошла через всю выборку данных. В табл. 1 представлены результаты тестирования системы при использовании правил, имеющих условную вероятность выше заданного порога (0,9, 0,95 и 1).
Таблица 1
Результаты тестирования на цитологических данных
Порог условной Количество правильных Количество отказов
вероятности прогнозов, % от принятия решения, %
0,9 93 8
0,95 94 9
1 96 13
Во втором исследовании нами были использованы данные УЗИ 170 больных с уже известными диагнозами (70 случаев рака и 100 случаев аденомы). Результаты УЗИ каждого больного были проанализированы по 9 признакам и представлены в виде таблицы.
Всего системой было обнаружено 105 диагностических правил с условной вероятностью не меньше 0,8, из них 53 с условной вероятностью не меньше 0,9 и 28 с условной вероятностью 1. Все найденные правила были статистически значимы при уровне критерия Фишера 0,001.
В табл. 2 представлены результаты тестирования системы методом скользящего контроля. Как видно из таблицы, обнаруженные системой диагностические правила позволяют с достаточно высокой степенью точности (до 96 %) диагностировать фолликулярный рак и фолликулярную аденому, основываясь только на данных УЗИ.
Таблица 2
Результаты тестирования на УЗИ данных
Порог условной Количество правильных Количество отказов
вероятности прогнозов, % от принятия решения, %
0,8 83 4
0,9 87 19
1 96 33
Мы провели сравнение точности прогнозов системы «Discovery» с прогнозами, полученными при помощи нейронной сети. Тестирование нейронной сети также проводилось методом скользящего контроля. На цитологических данных нейронная сеть показало точность, равную 91 %, а на данных УЗИ - 86 %. Таким образом, проведенное сравнение показало, что система «Discovery» имеет более высокую точность прогнозов, чем нейронные сети.
Проведенные нами исследования позволяют сделать вывод о возможности успешного применения системы «Discovery» для решения сложных задач диагностики в медицине. Полученные нами диагностические правила позволяют с достаточно высокой степенью точности (до 96 %) диагностировать фолликулярный рак и фолликулярную аденому. Кроме того, при помощи системы «Discovery» нами были получены интерпретируемые правила, которые дают не только вероятностный прогноз, но и его объяснение.
Применение метода в задачах финансового прогнозирования
В данном исследовании мы использовали систему «Discovery» для разработки торговой системы, основанной на предсказании дневных котировок индекса SP500 (The Standard and Poor's 500).
Торговая система разрабатывалась на основе предсказания увеличения или уменьшения цены через пять дней по отношению к текущей цене на момент закрытия биржи. Соответствующие целевые предикаты имеют вид c(t1) < c(t1 + 5) и c(t1) > c(t1 + 5), где c(t1) - цена закрытия в текущий торговый день, c(t1 + 5) - цена закрытия через пять дней.
Специально для задач финансового прогнозирования нами был предложен оригинальный вид гипотез, позволяющий описывать фигуры технического анализа. Для формирования гипотез были использованы следующие предикаты.
Предикат c(ti) < c(tj) сравнивает значение временного ряда (цену закрытия) в точках ti
и О.
Предикат ext(ti) = 8i, где 8i е {-1; 1}, определяет условие, проверяющее, является ли точка ti локальным минимумом или локальным максимумом. Иначе говоря, запись ext(tt) = —1 означает, что ti - точка локального минимума, что эквивалентно выражению (c(ti) < c(ti - 1))&(c(t,.) < c(ti +1)). А запись ext(ti) = 1 означает, что ti - точка локального максимума, что эквивалентно выражению (c(tt -1) < c(tt))&(c(tt +1) < c(tt)). В случае, если ti - текущая точка, относительно которой делается прогноз, то, поскольку значение временного ряда в следующий точке нам неизвестно, для нее проверятся условие локального максимума или минимума только слева.
В дальнейшем будем использовать запись ext(t1,..., tn) = <81,..., 5я> , которая эквивалентна выражению (ext(t1) = 51) & ... &(ext(tn) = 5я).
Определим общий вид гипотез, которые использовались для обнаружения вероятностных закономерностей:
Vt^,..., tm : (ext(t1,..., tm) =< 81,..., 5m>)&(c(t,) < c(t,))&...&(c(tt) < c(t,)) ^ T , (1) где i, j, k, l е{1,..., m} , t1 - текущая точка, относительно которой делается прогноз, t1 > t2 > ... > tm , tq - tq+1 < 7, q = 1,..., m -1 (т. е. соседние точки не должны отставать друг от
друга более чем на семь дней); T - целевой предикат, T = (c(t1) < c(t1 + 5)) или T = (c(tj > c(t + 5)).
Данные гипотезы проверяют, сформировалась ли в прошлом временного ряда определенная комбинация точек локальных минимумов и максимумов, и, в случае если такая комбинация найдена, делают прогноз на пять дней вперед. Легко видеть, что эти комбинации локальных минимумов и максимумов, по сути, описывают некоторые фигуры, которые может образовывать график временного ряда.
Стратегия игры, основанная на множестве обнаруженных системой правил вида (1), заключается в том, что необходимо покупать, если максимальная вероятность того, что цена вырастет через пять дней, больше, чем максимальная вероятность того, что она упадет, и продавать в противном случае.
Тестирование разработанной нами торговой системы осуществлялось методом скользящего контроля на временном интервале с 3 января 1995 г. по 20 марта 2003 г. (2 065 торговых дней). Скользящий контроль осуществлялся следующим образом. Система обучалась на точках данных от 1 до M . Затем тестировалась на точках данных от M +1 до M + K . После этого система повторно обучалась на точках от K +1 до K+M . Затем тестировалась на точках от (K + M) +1 до (K + M) + K и т. д. Данный процесс продолжался до тех пор, пока система не прошла через всю выборку данных. Для тестирования были использованы M = 500 и K = 100.
Чтобы оценить эффективность работы системы «Discovery», мы также провели сравнение данной системы с методом скользящей линейной регрессией и комитетом нейронных сетей. Параметры линейной регрессии были предварительно оптимизированы с целью получения наилучших показателей финансовой эффективности. Тестирование комитета нейронных сетей осуществлялось описанным выше методом скользящего контроля.
Результаты тестирования системы «Discovery» в сравнении с другими методами представлены в табл. 3. В таблице приведены финансовые показатели, характеризующие торговые системы. Все расчеты выполнены при торговле только одной единицей контракта. Из таблицы видно, что система «Discovery» превосходит другие методы как по проценту правильных прогнозов, так и по показателям финансовой эффективности.
Таблица 3
Сравнение различных стратегий игры
Показатель Discovery Линейная регрессия Нейронные сети
Средняя прибыль от одной сделки, $ 568 66 106
Количество прибыльных сделок, % 69 41 57
Годовая норма прибыли по отношению 238 34 46
к максимальной просадке счета, %
Таким образом, проведенные эксперименты показывают, что система «Discovery» в состоянии обнаружить закономерности в таких сильно зашумленных данных, как финансовые временные ряды. Предложенный нами метод извлечения знаний имеет практически неограниченные возможности в формулировании и проверке различных гипотез, которые не могут быть сформулированы другими методами. Класс гипотез (1), описанный нами, уже показал преимущества перед гипотезами, используемыми другими методами.
Применение метода в биоинформатике
Рассмотрим применение системы «Discovery» в биоинформатике для распознавания сайтов связывания транскрипционных факторов (ССТФ).
Задача обнаружения ССТФ очень важна для понимания механизмов регуляции транскрипции генов. Несмотря на то, что в настоящее время разработано несколько подходов к распознаванию ССТФ, данная задача пока еще не может считаться окончательно решенной.
Традиционным методом предсказания ССТФ является позиционная весовая матрица (PWM). Данный метод основан на предположении о независимости нуклеотидных позиций. Однако многие авторы указывают на то, что предположение о независимом вкладе каждой позиции в энергию связывания фактора с сайтом не соответствует сущности биологического процесса [Benos et al., 2002]. Точность предсказания может быть увеличена за счет учета окружающего контекста, в котором встретился сайт, и учета зависимости между нуклеотидами. В отличие от PWM система «Discovery» способна обнаружить взаимосвязь между нуклеоти-дами, которые, в общем случае, могут находиться на значительном удалении друг от друга.
При помощи системы «Discovery» мы проанализировали ДНК мишени трех семейств транскрипционных факторов: SREBP, EGR1 и HNF4. Обучающие выборки последовательностей (позитивные выборки) были извлечены из базы данных TRRD [Kolchanov et al., 2002]. Выборки контрастных последовательностей (негативные выборки) были сгенерированы случайным образом с сохранением нуклеотидных частот, как в анализируемых выборках сайтов.
Мы использовали систему «Discovery» для поиска вероятностных закономерностей следующего вида:
(Pos1(s) = N1)e1 &(Pos2(s) = N2)e2 & ...&(Posk(s) = Nk)ek ^ (TFBS(s) = 1), где (Posj (s) = N)e - предикат, означающий, что в позиции i последовательности нуклеоти-дов s находится (при e = 0) или не находится (при e = 1) символ N е {A, C, G, T} ; (TFBS(s) = 1) - целевой предикат, означающий, что последовательность нуклеотидов s является сайтом связывания.
Качество распознавания сайтов связывания факторов SREBP, EGR1 и HNF4 оценивалось в сравнении с качеством распознавания метода оптимальной весовой матрицы (PWM) путем осуществления специальной процедуры скользящего контроля. При каждой итерации скользящего контроля методы обучались на выборках ССТФ, оставляя ровно одну последовательность для контроля качества распознавания. Далее обученные методы применялись к контрольной последовательности, и оценивался уровень перепредсказания (ошибка второго рода) для контрольных негативных объектов (100 000 последовательностей, сгенерированных случайным образом с сохранением нуклеотидного состава). Количество итераций проводимой процедуры соответствовало объему обучающей выборки ССТФ.
Далее, по окончании скользящего контроля мы упорядочили контрольные сайты по уровням перепредсказания. Полученные результаты для всех трех семейств транскрипционных факторов показывают, что ошибка перепредсказания, соответствующая системе «Discovery», меньше таковой для PWM при каждом уровне ошибки недопредсказания. Таким образом, система «Discovery» имеет более высокую точность распознавания. В табл. 4 приведены ошибки второго рода для обоих методов, вычисленные при фиксированном пороге ошибки первого рода, равном 50 %.
Таблица 4
Сравнение точности распознавания «Discovery» и PWM
ССТФ Количество последовательностей в выборке Длина последовательностей Ошибка второго рода
PWM Discovery
SREBP 38 18 4.70E-04 3.90E-04
EGR1 22 10 4.06E-03 2.39E-03
HNF4 30 13 2.14E-04 7.00E-05
Таким образом, предложенный подход позволил снизить ошибки распознавания ССТФ по сравнению с традиционно используемым методом весовых матриц. Учет нуклеотидных позиций не по отдельности, как это происходит в методе весовых матриц, а во взаимосвязи позволил системе «Discovery» увеличить точность распознавания ССТФ.
Заключение
Реляционный подход к извлечению знаний имеет несколько важных преимуществ перед другими методами. Результаты экспериментов, представленные в данной работе, показывают
эти преимущества на примере решения реальных задач. В заключение отметим те преимущества, которыми обладает система «Discovery» по сравнению с существующими KDDfcDM-методами.
1. Система «Discovery» способна извлечь знания из данных в полном объеме 1 (в смысле пунктов 3, 4 введения), в отличие от существующих методов, которые способны обнаружить только ограниченный класс закономерностей, заданный онтологией этих методов.
2. Система «Discovery» находит закономерности, интерпретируемые в терминах предметной области, что является очень важным фактором при принятии ответственных решений в таких областях, как медицина, финансы и др.
3. Еще одним принципиальным новшеством является возможность пользователю задавать интересующий его класс гипотез и обнаруживать закономерности заданного класса.
Список литературы
Богин Ю. Н., Бондаренко В. О., Шапиро Н. А., Орлов В. М. Комплексная экспресс-диагностика заболеваний щитовидной железы: Метод. рекомендации. М., 1992. 175 с.
Витяев Е. Е. Извлечение знаний из данных. Компьютерное познание. Модели когнитивных процессов. Новосибирск, 2006. 293 с.
Витяев Е. Е., Москвитин А. А. Введение в теорию открытий. Программная система Discovery // Логические методы в информатике. Новосибирск, 1993. Вып. 148: Вычислительные системы. С. 117-163.
Кендал М., Стюарт А. Статистические выводы и связи. М.: Наука, 1973. 899 с.
Пупышева Т. Л. Морфометрия клеток фолликулярных пролифератов щитовидной железы в тонкоигольных аспиратах // Новости клинической цитологии России. 2002. Т. 6, № 1-2. С. 24-26.
Benos P. V., Bulyk M. L., Stormo G. D. Additivity in protein-DNA interactions: how good an approximation is it? // Nucleic Acids Res. 2002. Vol. 30. P. 4442-4451.
Vityaev E., Kovalerchuk B. Empirical Theories Discovery based on the Measurement Theory // Mind and Machine. 2004. Vol. 14. № 4. P. 551-573.
Kolchanov N. A., Ignatieva E. V., Ananko E. A., Podkolodnaya O. A., Stepanenko I. L., Merku-lova T. I., PozdnyakovM. A., Podkolodny N. L., Naumochkin A. N., Romashchenko A. G. Transcription Regulatory Regions Database (TRRD): its status in 2002 // Nucleic Acid Res. 2002. Vol. 30. P.312-317.
Kovalerchuk B., Vityaev E. Data Mining in Finance: Advances in Relational and Hybrid methods. Kluwer Academic Publishers, 2000. 308 p.
Материал поступил в редколлегию 26.08.2008
A. V. Demin, E. V. Vityaev
GENERAL KNOWLEDGE ACQUISITION SYSTEM «DISCOVERY» DEVELOPMENT
AND ITS APPLICATIONS
General knowledge acquisition method and program system "Discovery" is considered in the paper. It base on the first-order logic and can discover any set of hypotheses formulated in this logic. Applications of the system to several important tasks as medicine, finance and bioinformatics are presented.
Keywords: regularities detection, knowledge acquisition, data mining, knowledge, intelligent data analysis.
1 Например, в работе [Vityaev, Kovalerchuk, 2004. P. 551-573] доказано, что из множества законов, обнаруживаемых системой «Discovery», выводится теория предметной области.