УДК 004.8.023
ЭВОЛЮЦИОННЫЙ МЕТОД РАНЖИРОВАНИЯ И КЛАССИФИКАЦИИ БИОЛОГИЧЕСКИХ ОБЪЕКТОВ
И.А. Цыганкова, к.т.н., с.н.с. (Санкт-Петербургский институт информатики и автоматизации РАН, 14 линия, 39, г. Санкт-Петербург, 199178, Россия, [email protected])
Предлагается метод классификации биологических объектов, основанный на эволюционном подходе к решению экстремальной задачи функции многих переменных. Метод ориентирован на обработку многомерных массивов информации, особенностями которой являются высокая размерность признакового пространства и малый объем выборки объектов, и базируется на использовании принципа ранжирования объектов в многомерном пространстве относительно некоторого базового элемента, поиск которого осуществляется с помощью модифицированного генетического алгоритма. Метод реализует двойное ранжирование объектов относительно базового элемента: упорядочение объектов по классам, а также по возрастанию расстояния от базового элемента внутри классов. Принадлежность нового объекта к одному из классов определяется его рангом в упорядоченном ряду объектов обучающей выборки. Предлагаемый метод классификации не требует снижения размерности признакового пространства, что позволяет исключить потерю значимой информации и учесть внутренние связи в рассматриваемых информационных массивах. Метод обеспечивает построение иерархического класса алгоритмов, моделирующих получение решающей классификационной процедуры, используя различные типы представления базового элемента в многомерном пространстве и различные варианты упорядочения классов в формируемой последовательности объектов, и изначально ориентирован на использование параллельных вычислений. Следует отметить, что он не требует выполнения гипотез компактности и может также работать с пересекающимися классами объектов.
Ключевые слова: обработка данных, геномная информация, классификация, ранжирование, базовый элемент.
EVOLUTIONARY METHOD OF RANKING AND CLASSIFICATION OF BIOLOGICAL OBJECTS
Tsygankova I.A, Ph.D., Senior Researcher (St. Petersburg Institute for Informatics and Automation of RAS, 39, 14th line, St. Petersburg, 199178, Russia, [email protected])
Аbstract. Method of classification of biological objects is suggested in this article. The method is based on the evolutionary approach to the solution of the extremal problem of multivariable function. Method is aimed at processing multidimensional data arrays, which features are high dimensionality and small sample size of objects. The method is based on the ranking of the objects in multidimensional space relative to some base element. Search of this base element is carried out by a modified genetic algorithm. The method implements dual ranking of objects relative to the base element: the ordering of objects into classes, and the ordering of objects in ascending distance from the base element within classes. Belonging of the new object to one of the classes is determined by its rank in an ordered series of objects of learning sample. The proposed classification method does not require reducing the dimensionality of the feature space. This eliminates the loss of important information and allows considering internal communications in these information arrays. Method allows the construction of hierarchical class of algorithms, which models the obtaining of the decision classification procedure using different types of representations of the base element in a multidimensional space and the various options for the ordering of classes in formed sequence of objects. The method is initially aimed to be used in parallel computation. It should be noted that the method does not require performance of compactness hypotheses, and can also work with overlapping classes of objects.
Keywords: data processing, genomic information, classification, rankings, base element.
Типичной задачей, которую необходимо решать в процессе разработки новых биологически активных веществ и методов диагностики, является классификация (распознавание) объектов по результатам анализа геномной информации. Исходная геномная информация представляет собой таблицу экспериментальных данных с набором (входных) параметров биологических объектов и целевым (выходным) параметром, определяющим принадлежность объекта к одному из классов. Следует отметить, что характерной особенностью геномных данных является высокая размерность пространства признаков, которая существенно превышает объем выборки биологических объектов.
В настоящее время известно большое количество методов классификации, эффективность ко-
торых существенно зависит от специфики предметной области, в которой эта задача сформулирована, и особенностей исходной информации [1-7]. Анализ существующих методов показал, что их использование для классификации объектов по геномной информации или требует предварительного снижения размерности пространства признаков, или фактическое снижение размерности происходит уже в процессе формирования классифицирующего правила. Специфика геномной информации (перекрещивающиеся гены, рекомбинация генов и др.) делает снижение размерности признакового пространства принципиально недопустимым, так как это может привести к потере значимой информации о неизвестных взаимных связях между генами, что чрезвычайно важно при создании новых методов
диагностики и лекарственных средств. Поэтому разработка методов классификации по геномной информации с учетом ее особенностей является актуальной задачей, требующей дальнейшего развития.
Постановка задачи
В общем случае вся совокупность биологических объектов делится на несколько классов, но в большинстве случаев, на основе стратегии «один против всех» [8], классификация может быть сведена к последовательному решению задач с двумя классами. Поэтому в дальнейшем будем рассматривать задачу классификации только для двух классов.
Пусть имеется конечное множество объектов 5 = 52, ..., 5,..., 5П, 5п+1, 5п+2,..., 5п+т}.
Это множество разделено на два непересекающихся подмножества (класса) К0 и К\\ К0={^1, •52,...,$п}, К1={ь-п+и 5„+2, ..., sn+m}, где п - количество объектов класса К0; т - количество объектов класса К\\ п+т=Ы - общее количество объектов множества & Каждый объект множества описывается набором параметров (объекты - точки ^-мерного пространства) = {Х;,}, I = 1, ...,п + т, где Х1 = (х±, Х2,..., х]-,..., хр),} = 1,..., р,
= |0, если е К0, у' = [1, если е К1,
здесь X, - вектор входных параметров объекта; у, -классифицирующий (целевой) параметр, определяющий принадлежность объекта к одному из классов. Параметры вектора X, имеют возможность принимать значения из некоторого множества допустимых значений действительных чисел. Значения отдельных параметров X/ для некоторых объектов 5, могут быть не определены, то есть в таблице данных есть пропущенные значения. Размерность признакового пространства Яр существенно больше объема выборки, то есть р >> N.
Требуется, не снижая размерности признаков, предложить метод, позволяющий с приемлемой точностью классифицировать объект q, заданный векторомХг=(*1, XI, ..., х, ..., хр).
Метод классификации
Рассматриваемая задача классификации является плохо формализованной в силу того, что вся информация об объектах представлена лишь набором входных и выходных параметров, о которых нельзя сколь-нибудь определенно сказать, что они полны, непротиворечивы и не искажены. В такой ситуации наиболее эффективными становятся методы [9-11], базирующиеся на эволюционном подходе к решению экстремальных задач функции многих переменных, которые в отличие от традиционных методов поиска оптимального
решения ориентированы на получение приемлемого решения, лучшего по сравнению с полученным ранее или заданным в качестве начального.
Для решения сформулированной задачи предлагается метод, основанный на предположении, что в многомерном признаковом пространстве ЯР существует некоторый базовый элемент, относительно которого формируется ранжированная последовательность объектов, сепарирующая обучающую выборку на два класса. Метод реализует двойное ранжирование объектов относительно базового элемента: упорядочение объектов по классам и упорядочение объектов по возрастанию расстояния от базового элемента внутри классов. Тогда принадлежность объекта q к одному из классов определяется рангом классифицируемого объекта в упорядоченном ряду объектов обучающей выборки. Предполагается, что базовым элементом могут быть такие объекты многомерного пространства, как точка, плоскость, прямая или ломаная линия. При выборе базового элемента рассматриваются два варианта упорядочения классов в формируемой последовательности объектов: класс К0 предшествует классу К или класс К\ предшествует классу К0.
Поиск решения предлагается проводить с использованием эволюционного подхода, реализуемого с помощью генетического алгоритма, представляющего собой итерационный вероятностный эвристический алгоритм поиска, особенностью которого является одновременное использование множества точек поиска (популяции) из пространства потенциальных решений. Поиск базового элемента при заданном типе его представления в пространстве Яр и выбранном варианте упорядочения классов в формируемой последовательности объектов по сути является самостоятельной задачей. Это позволяет достаточно легко организовать параллельную реализацию алгоритма обучения, что дает возможность оптимизировать вычислительные ресурсы и существенно сократить время поиска решения.
Введем некоторые обозначения. Пусть базовый элемент будет X* = f(Х^,...,Х*, ...,Х*), I = 1,..., I, где Х* = (хЦ, х*2, ..., х*;-, ..., х*р) - 1-й вектор параметров базового элемента; I - количество векторов Х*, определяющих базовый элемент в пространстве Яр. Следует отметить, что при /=1 базовый элемент является точкой или плоскостью, заданной параметрически; при /-2 - отрезком; при /=3 - ломаной из двух отрезков; при /=1 - ломаной из (1-1) отрезков.
Порядок следования классов в формируемой последовательности объектов обозначим через L: = (Х0, если К0 < К1 [Ь1, если К1 < К0.
Рассмотрим одну из возможных формализа-ций. Для определенности примем, что базовый элемент X* = f (Х1) - гиперплоскость, а L=L0 -
порядок следования классов. Процесс классификации объекта q включает в себя два основных этапа: этап обучения и этап распознавания. Задача обучения состоит в подборе базового элемента, относительно которого формируется ранжированная последовательность объектов, разделенных на два класса с приемлемой погрешностью. В качестве оценки качества разделения объектов на классы примем минимаксный критерий вида
/(X*) = ттх*{тах(Д, /2)}, ] = 1,2.....г, (1)
где /ъ /2 - оценки погрешности классификации объектов по классу К0 и классу К соответственно; г - количество рассмотренных вариантов решения (базовых элементов). Использование минимаксного критерия 1(Х ) соответствует позиции крайней осторожности при неоднозначном выборе альтернатив оценки погрешности классификации.
Поиск экстремального значения критерия (1) проведем с помощью модифицированного генетического алгоритма. Принципиальным является то, что в качестве исходной популяции рассматриваются сами объекты обучающей выборки. Размер популяции фиксирован и равен объему обучающей выборки. Каждое возможное решение представлено строкой (хромосомой), которая является массивом из р действительных чисел (х*^, х*2,..., ,..., х*р), где каждый элемент хромосомы (ген) имеет ограничения 0 < х*; < 1, обусловленные нормировкой значений параметров. Селекция хромосом производится детерминированным способом с использованием элитарной стратегии и с частичной заменой наименее приспособленных хромосом на наиболее приспособленные при сохранении размера популяции. Скрещивание хромосом выполняется случайно с вероятностью Рс. Точка скрещивания разыгрывается также случайно по равномерному закону в заданном интервале. Процедура мутации выполняется на популяции потомков, образованных в результате скрещивания, и заключается в изменении значения гена в хромосоме случайным выбором числа из интервала [0, 1] с вероятностью Рт.
Степень приспособленности каждой хромосомы в популяции оценивается с помощью функции приспособленности, которая является аналогом целевой функции
*=шах(/ь /2). (2)
Чем меньше значение этой функции, тем выше качество хромосомы. В результате процесса искусственной эволюции, включающего селекцию, скрещивание и мутацию хромосом, качество решений в популяции постепенно улучшается. Работа генетического алгоритма завершается, если функцией ^ достигнуто ожидаемое значение; выполнение заданного количества итераций (поколений) не приводит к улучшению уже достигнутого значения истекло время, отведенное на решение задачи. Преждевременный останов работы
генетического алгоритма может произойти в случае вырождения популяции. Под вырождением понимается сокращение разнообразия хромосом, крайним проявлением вырождения является состояние популяции, в которой все ее члены имеют идентичные хромосомы.
Алгоритм вычисления функции приспособленности (2) каждой хромосомы заключается в следующем. Вычислим расстояние между базовым элементом X* и /-м объектом выборки и обозначим его через р; = р(Х*,X), /=1, ..., п+т. Формула для вычисления расстояния р, зависит от типа базового элемента в пространстве Яр и в рассматриваемом случае, когда базовый элемент - гиперплоскость, р, имеет вид
Р; = ) =
и ц.
-1
/
м
1
§1 Vх*;.
Проведем ранжирование элементов выборки по возрастанию расстояния р, от базового элемента (считая, что 5; < 5;+1, если р; < р;+1):
Рх < Р2 < ^ < Р; < ^ < р„ < Р„+1 < ^ < Рп+т. (3)
Интерпретируем величины р, в последовательности (3) как ранги объектов /,=/(р,), задающие упорядочение объектов по расстоянию, и обозначим эту ранговую последовательность как
Т = ¿2, , , , ¿п, ¿п+1, , ¿п+т),
I = 1,...,п + т. (4)
Идентифицируя каждый объект, входящий в обучающую выборку 5, по его рангу I, сформируем в соответствии с последовательностью (4) вектор У, элементами которого являются значения классифицирующего параметра у объектов выборкИ V = (У1,У2,.,У1, ."/Уш Уп+1 .,Уп+ш)' I = 1,...,п + т.
В качестве границы между классами в сформированной ранжированной последовательности Т будем рассматривать элемент с индексом 4, ранг которого равен количеству объектов класса К0. Тогда с учетом выбранного порядка следования классов слева от объекта с рангом £п долж-
ны располагаться объекты класса К0, а справа -объекты класса К1.
Для определения целевой функции (2) вычислим оценки / и /2, характеризующие погрешности классификации объектов по классу К0 и по классу К1 соответственно. Обозначим ЙГ подмножество объектов класса К0, ошибочно отнесенных к классу Кь а - подмножество объектов класса Кь ошибочно отнесенных к классу К0. Представим / и /2 в виде суммы двух слагаемых: /1 = /1 (X*, Т) = 71 (ЙГ) + 72 (ЙГ), /2 = /2 (X*, Т) = 71 ГО + 72 (Й0Г). Здесь 71 (й1 ) и 71 (й"0 ) - оценки, определяющие количество неправильно классифицируемых
объектов на интервалах [/ь Ц и ^„+\, /л+т] соответ-
ственно; у2 (К ) и у2 (К0 ) - суммарные оценки, учитывающие положение неправильно классифицируемых объектов на интервалах [/ь /п] и [/п+1, tn+m\ соответственно.
71 (КГ) = (ъ) ф 0], ¿; е [¿1, ],
72 (КГ) = ^ w(¿í), ¿; е [¿1, ¿п],
SiS^!
и аналогично
7iГО = ^ ) * 1]'£ [tn+1'tn+m]
i=£n+i
72 С,") = 2 WCfi)'t е [t"
Ln+1> ^n+m ],
Si6^o
где - весовой коэффициент неправильно
классифицируемого объекта с рангом зависящий от расположения этого объекта относительно границы между классами ^ и от количества объектов класса, куда он ошибочно был отнесен,
( 1ъп - ¿; I
-, если ¿; е [¿1, ¿п],
wCti) =
|tn - t1
если tj £ [tn+1, ^n+m]■
^(¿п+т ¿п)
После оценки по формуле (2) качества каждой хромосомы в популяции и выбора лучшей из них принимается решение о продолжении эволюционной процедуры генерации следующего поколения либо о завершении процедуры обучения.
Принадлежность классифицируемого объекта q с известными значениями входных параметров Х?=(хь х2, ..., х, ..., хр) к одному из классов определяется с помощью решающей классификационной процедуры, в которой участвуют все объекты обучающей выборки. Относительно базового элемента, найденного на этапе обучения, формируется ранжированная по расстоянию последовательность объектов обучающей выборки и объекта q, а затем определяется ранг tq классифицируемого объекта q в этом упорядоченном ряду. Решение о принадлежности объекта q классу принимается исходя из условия
q £
ГЙ'о, если < tn, {,^1, если > tn ■
Степень принадлежности п(^) объекта q к какому-либо классу определяется по формуле
(1 - —, если ц е К0, е К
—--, если ц е К1.
В заключение отметим следующее. В работе предложен эволюционный метод классификации, основанный на ранжировании объектов в многомерном пространстве относительно базового элемента, поиск которого осуществляется с помощью модифицированного генетического алгоритма.
Метод ориентирован на обработку многомерных массивов информации, особенностями которой являются высокая размерность признакового пространства и малый объем выборки объектов. Предлагаемый метод классификации позволяет не проводить предварительное снижение размерности признакового пространства, что, в свою очередь, дает возможность исключить потерю значимой информации и учесть внутренние связи в рассматриваемых информационных массивах.
Метод обеспечивает построение иерархического класса алгоритмов, моделирующих получение решающей классификационной процедуры, используя различные типы представления базового элемента в многомерном пространстве и различные варианты упорядочения классов в формируемой ранжированной последовательности объектов. Он изначально ориентирован на использование параллельных вычислений, что позволяет оптимизировать вычислительные ресурсы и существенно сократить время поиска решения.
Следует отметить, что разработанный метод классификации не требует восстановления пропущенных значений признаков, выполнения гипотез компактности и может работать с пересекающимися классами объектов.
Литература
1. Айвазян С.А., Бухштабер В.М., Енюков И.С., Мешал-кин Л.Д. Прикладная статистика: Классификация и снижение размерности. М.: Финансы и статистика, 1989. 607 с.
2. Айзерман М.А., Браверманн Э.М., Розоноэр Л.И. Метод потенциальных функций в теории обучения машин. М.: Наука, 1970. 384 с.
3. Вапник В.Н., Червоненкис А.Я. Теория распознавания образов (статистические проблемы обучения). М.: Наука, 1974. 415 с.
4. Журавлев Ю.И. Избранные научные труды. М.: Магистр, 1998. 420 с.
5. Загоруйко Н.Г. Прикладные методы анализа данных и знаний. Новосибирск: Изд-во ин-та математики, 1999. 270 с.
6. Мазуров В.Д. Метод комитетов в задачах оптимизации и классификации. М.: Наука, 1990. 248 с.
7. Растригин Л.А., Эренштейн Р.Х. Метод коллективного распознавания. М.: Энергоиздат, 1981. 80 с.
8. Rifkin R., Klautau A. In Defense of One-Vs-All Classification. Journal of Machine Learning Research, 2004, pp. 101-141.
9. Freitas A.A. Data Mining and Knowledge Discovery with Evolutionary Algorithms. Berlin etc.: Springer, 2002. 279 p.
10. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М.: Физматлит, 2003. 432 с.
11. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. М.: Горячая линия-Телеком, 2008. 452 с.
References
1. Ayvazyan S.A., Bukhshtaber V.M., Enyukov I.S., Meshal-kin L.D., Prikladnaya statistika: Klassifikatsiya i snizhenie razmer-nosti [Applied statistics: Classification and reduction of dimensionality], Moscow, 1989.
2. Ayzerman M.A., Bravermann Je.M., Rozonoer L.I., Metod potentsyalnykh funktsy v teorii obucheniya mashin [Method of potential functions in the theory of machine learning], Moscow, Nauka, 1970.
3. Vapnik V.N., Chervonenkis A.Y., Teoriya raspoznavaniya obrazov (statisticheskie problemy obucheniya) [Recognition theory (statistical learning problems)], Moscow, Nauka, 1974.
4. Zhuravlev Y.I., Izbrannye nauchnye trudy [Favorites scientific works], Moscow, 1998, 420 p.
5. Zagoruyko N.G., Prikladnye metody analiza dannykh i znany [Applied methods of data analysis and knowledge], Novosibirsk, 1999, 270 p.
6. Mazurov V.D., Metod komitetov v zadachakh optimizatsii i klassifikatsii [Committee method in optimization and classification], Moscow, Nauka, 1990, 248 p.
7. Rastrigin L.A., Erenshteyn R.H., Metod kollektivnogo raspoznavaniya [Method of collective recognition], Moscow, 1981.
8. Rifkin R., Klautau A., Journ. of Machine Learning Research, 2004, pp. 101-141.
9. Freitas A.A., Data Mining and Knowledge Discovery with Evolutionary Algorithms, Berlin, Springer, 2002, 279 p.
10. Emelyanov V.V., Kureychik V.V., Kureychik V.M., Teoriya i praktika evolyutsionnogo modelirovaniya [Theory and practice of evolutionary modeling.], Moscow, 2003.
11. Rutkovskya D., Pilinsky M., Rutkovsky L., Nejronnye seti, geneticheskie algoritmy i nechetkie sistemy [Neural networks, genetic algorithms and fuzzy systems], Moscow, 2008, 452 p.
UDS 62
MODEL-BASED VERIFICATON WITH ERROR LOCALIZATION AND ERROR CORRECTION FOR C DESIGNS
(The work has been partly supported by European Commission FP7-ICT-2009-4-248613 DIAMOND project, by Research Centre CEBE funded by European Union through the European Structural Funds, by Estonian Science Foundation grants 9429 and 8478 and by Estonian Academy of Security Sciences)
Urmas Repinski, Assistant (Department of Computer Engineering Tallinn University of Technology 5, Ehitajate tee, Tallinn, 19086, Estonia, [email protected])
Abstract. Process of software design verification makes sure if design holds its specification, existence of the specification that is possible to animate allows to perform simulation-based verification. In order to locate and repair errors if verification fails, we have to have access to the structure of the debugged design. For this purpose the design should be parsed into suitable representation - into the model. Both algorithms: Error Localization process and Error Correction process of the design require model simulation. This article presents different simulation algorithms. Simulation of the model is usually applied directly, when the design model is simulated with the goal to obtain the outputs from the inputs, but this approach is not always suitable, because in this case the functionality of the programming language design should be almost completely re-implemented for simulation. An alternative approach described in this article - design model simulation using design programming language functionality. It is more reasonable and does not require re-implementation of the functionality already available in design programming language. This approach also makes possible implementation of the algorithm of dynamic slicing for Error Localization and Error Correction.
Keywords: simulation-based verification, error localization, error correction, specification, automatic error correction, debug, C design.
In simulation-based verification, a digital system (design) looks like a black box, as it uses inputs and compares outputs. It's entire design structure is irrelevant. If we want to debug this design, it should be transformed into a white box structure. In other words, it should be parsed into a representation suitable for processing. White box representation of the design is stored in corresponding data structure, in the model. A suitable model for Error Localization and Correction should allow tracing its execution and application of any changes within its structure. Localization algorithms use the trace of the executed model to select erroneous candidates from total components of model, correction require full access to any part of investigated design's model.
This paper presents implementation of the ModelBased Error Localization algorithm for C designs. The algorithm has been integrated to the open source FoREnSiC [1] (FOrmal Repair ENvironment for SImple C) tool. The FORENSIC model has a flowchart-like structure that can be described as a special case of flowgraph: the hammock graph [2].
The tool includes a Front-End parser, a number of Back-End Error Localization and Error Correction algorithms' implementations.
Similar to [3], different ranking algorithms are compared and their ranking accuracy for error localization is measured by experimental results on the Siemens benchmark set. However, a new contribution of the paper is the observation that a simple error ranking metric that takes into account only information from failed sequences has the least average deviation from exact localization.
Model-Based Error Localization algorithms store trace of model simulation and select most probable erroneous components of the model. Dynamic Slicing can increase Error Localization accuracy that will be shown using experimental results, obtained by FORENSIC Error Localization tool. Level of design details in the model should be high enough to be able to extract variables, variable names, operators and conditions for Dynamic Slicing.
The article will show what structure is possible for the model for Error Localization, that were imple-