Научная статья на тему 'Распознавание геологических объектов по тупиковым тесторам'

Распознавание геологических объектов по тупиковым тесторам Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
92
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Распознавание геологических объектов по тупиковым тесторам»

УДК 519.688

РАСПОЗНАВАНИЕ ГЕОЛОГИЧЕСКИХ ОБЪЕКТОВ ПО ТУПИКОВЫМ ТЕСТОРАМ

© 2011 г. А.А. Макаркин

Саратовский государственный аграрный университет

Заданы две группы эталонных объектов: класс A - нефтегазоносные объекты, класс B - пустые объекты, а также группа исследуемых объектов. Все объекты описаны по одной и той же системе N детерминированных признаков xi, Х2, ... x^. Объект будем называть числовым, если значения всех признаков заданы бинарными, целыми или вещественными числами. Объект будем называть нечисловым, если хотя бы один из признаков объекта является нечисловым. Из классификации А.И. Орлова [6] используем такие нечисловые признаки, которые могут быть закодированы группой бинарных признаков {0; 1}. Это значения номинальных признаков (тип покрышки, литология, стратиграфия), экспертные оценки (по бальной системе), упорядочения (ранжировки объектов), разбиения объектов на группы сходных между собой объектов, результаты парных сравнений.

Нужно распознать (определить) к какому классу ближе каждый из исследуемых объектов. Это задача распознавания с "учителем" [7]. Если бы не были заданы классы, то это была бы задача кластеризации (группирования) исследуемых объектов.

Мы будем обсуждать распознавание по двум классам, но метод, описанный в данной статье, позволяет распознавать объекты по любому числу классов и для любых признаков, числовых или нечисловых (см. выше).

В обзоре алгоритмов распознавания объектов по классам (по эталонам) академик Ю.И. Журавлёв [2] выделяет: 1) поиск распознающей метрики как функции d (x, y) от N признаков, 2) алгоритмы голосования.

Распознающая метрика

Метрика d (x, y) вычисляет расстояние между объектами x и y в пространстве N признаков. Ее можно использовать только для числовых признаков. Расстояние от объекта x до класса вычисляется как среднее арифметическое расстояний от объекта x до всех объектов класса. Объект ближе к тому классу, до которого расстояние меньше. Иногда через метрику строится дискриминантная функция как разность: расстояние до первого класса минус расстояние до второго класса. Тогда она < 0, если объект ближе к первому классу, и > 0, если объект ближе ко второму классу.

В алгоритмах поиска распознающей метрики неизвестными являются вид функции d (x, y) и N весовых коэффициентов признаков. Функцию d (x, y) задают как линейную комбинацию признаков, как корень четной степени из суммы квадратов разностей координат и т.д., а для каждого вида функции d (x, y) задают различные наборы значений весовых коэффициентов. Из предложенных вариантов находят лучшую метрику, решая задачи распознавания контрольных объектов, для которых известна принадлежность к классам А или В. Часто в качестве контрольных объектов используют сами объекты из классов. Найденная метрика всего лишь лучшая из проверенных вариантов. Поиск метрики по заданным классам и, следовательно, распознавание объектов - неоднозначная интерактивная процедура.

Алгоритмы голосования

В алгоритмах голосования исследуемый объект сравнивается с объектами из классов, подсчитывается число совпадений, число голосов за каждый класс. Решение о принадлежности к классу принимается по большинству голосов.

В 60-е годы, до работ Ю.И. Журавлёва, самым известным был алгоритм голосования "Кора", предложенный М.М. Бонгардом [1]. В алгоритме "Кора" каждый объект - это строка N бинарных чисел {0; 1}. Распознавание идет только по двум классам 1 и 2. Каждый класс - это бинарная матрица, содержащая N столбцов и столько строк, сколько объектов в классе.

В алгоритме "Кора" достаточным признаком для класса 1 является набор из нескольких столбцов, таких, что по строкам-объектам класса 2 в этих столбцах ни разу не повторяется определенное сочетание из 0 и 1, а в классе 1 такое сочетание повторяется не менее чем в к строках-объектах.

Распознавание по алгоритму "Кора" идет в интерактивном режиме и, к сожалению, очень зависит от умения пользователя выделять достаточные признаки. Но для программы желательно, чтобы результат работы зависел только от входных данных.

В алгоритме голосования Ю.И. Журавлёва [2] выделим следующее.

1. Признаки объекта могут быть бинарными {0; 1}, целыми и вещественными числами. Для сравнения двух объектов S¡ = (а1, а2, ... , ап) и S2 = (Р, Р2, ... , Рп), где п - число признаков, вводятся положительные числа, пороги сравнения е1, е2, ... , еп, е. Значения признака / совпадают, если | а^ - Р | < Е/. Для бинарных признаков пороги сравнения Е/ = 0. Объекты S¡ и S2 совпадают, если совпали не менее е признаков из п.

2. Число классов может быть больше двух. Объекты-строки классов последовательно собраны в таблицу обучения Тпт, где п - число столбцов-признаков, т - число строк-объектов во всех классах. Сначала идут т1 строк класса 1, затем т2 строк класса 2, ... , т1 строк класса I.

3. Голосование проводится только по важным признакам-столбцам. Важность /-го признака в распознавании объектов, информационный вес признака, вычисляется по формуле: р (/) = к (/) / к, где к - общее число тупиковых тестов для таблицы Тпт, к (/) - число тупиковых тестов, содержащих столбец /.

Понятие теста и тупикового теста ввели И.А. Чегис и С.В. Яблонский [8] при рассмотрении задачи логического контроля электрических схем.

Применительно к таблице обучения Тпт понятие теста и тупикового теста формулируется следующим образом. Набор столбцов-признаков образует тест, если для строк из разных классов в этих столбцах нет одинаковых наборов значений (с учетом порогов сравнения е). Тест называется тупиковым, если он не содержит тест с меньшим числом столбцов. Тупиковый тест представляет собой результат локально-максимального сжатия таблицы обучения, при котором еще возможно различение объектов из разных классов.

Если выполнить сравнение всевозможных пар строк из разных классов, то таблица обучения Тпт, независимо от типа значений в столбцах-признаках и от числа классов, преобразуется в одну бинарную таблицу сравнения классов Тпр. В этой таблице: значение 0 - в двух строках из разных классов значения в столбце совпали, значение 1 - не совпали, п - число столбцов-признаков, р - число строк-сравнений. Например, для двух классов с числом объектов т1 и т2 число строк будет р = т1 х т2.

В таблице сравнения классов тест превращается в тестор, набор таких столбцов, у которых в каждой строке таблицы есть хотя бы одна единица. Соответственно, тупиковый тестор не содержит в себе тестор с меньшим числом столбцов.

4. Ю.И. Журавлёв отмечает, что вряд ли возможно построение эффективного универсального алгоритма, выделяющего все тупиковые тесты, это требует огромного числа операций, памяти ЭВМ. Поэтому Ю.И. Журавлёв разработал алгоритмы оценки информационных весов признаков.

По таблице обучения Тпт каждый объект каждого класса голосуется, сравнивается по набору из к столбцов с объектами своего и чужих классов, подсчитывается число правильных и неправильных голосов. Далее из набора удаляется столбец-признак г и процедура повторяется. Если признак г важен для распознавания, то голоса должны измениться, и чем сильнее, тем важнее признак. Исследуются все возможные наборы к столбцов, содержащие столбец г, накапливается его информационный вес, разность голосов.

5. После вычисления информационных весов признаки распадаются на две группы: с большими весами - важные для распознавания, и с маленькими или нулевыми весами -бесполезные для распознавания.

Голосование исследуемого объекта, его сравнение с объектами классов проводится по признакам с большим информационным весом.

Распознавание по всем тупиковым тесторам

Мы много занимались геологическими задачами распознавания по двум классам, много тратили времени, подбирая метрику распознаванием объектов из классов. Познакомившись с работой Ю.И. Журавлёва [2] в 1993 г., нам очень понравилась идея голосования по всем тупиковым тестам, хотя было не ясно, можно ли их построить. Зато для распознавания нужно только задать объекты классов и исследуемые объекты, все остальное сделает программа!

Наша первая программа 20 часов решала геологическую задачу для 15 признаков, частота процессора была 100 МГц. Реализовав идею тестового квадрата, в течение ряда лет мы разрабатывали быстрый алгоритм поиска всех тупиковых тесторов. В 2007 г. созданная программа за 106 секунд решила задачу для 77 признаков, частота процессора была 1 ГГц.

Перечислим отличия разработанного алгоритма голосования по всем тупиковым тес-торам от алгоритма голосования Ю.И. Журавлёва.

1. Главная часть исследований. Разработан быстрый алгоритм и программа поиска всех тупиковых тесторов по бинарной таблице сравнения классов. Тем самым решена задача, поставленная Ю.И. Журавлёвым [2], создать эффективный алгоритм поиска всех тупиковых тестов.

2. Голосование идет по всем тупиковым тесторам. Мы не используем для голосования информационные веса признаков, они вычисляются как дополнительная информация -важность признака для распознавания.

3. Для голосования ищем все тупиковые тесторы по таблице сравнения классов. Это быстрее, чем искать все тупиковые тесты, не надо многократно сравнивать строки разных классов по таблице обучения.

4. Сколько бы ни было задано классов, строится одна бинарная таблица сравнения классов. Это значит, что наш алгоритм поиска всех тупиковых тесторов применим для любого числа классов и для всех типов значений признаков, допускающих построение таблицы сравнения классов.

5. Для описания объектов используются только бинарные признаки, так быстрее выполнять сравнения объектов при голосовании. Если исходный признак объекта не бинарный, он кодируется группой бинарных признаков.

Группой бинарных признаков без потери точности можно кодировать нечисловой признак. Группой бинарных признаков с потерей точности можно кодировать числовой

признак. Диапазон изменения числового признака делится на группу интервалов, может быть, не равной длины. Интервалы разной длины лучше, чем фиксированный порог сравнения Si > 0, когда числовой признак изменяется по логарифмическому или экспоненциальному закону Для повышения точности можно увеличить число интервалов.

Переход к бинарным признакам увеличивает общее число признаков, задача усложняется. Но получаются разреженные матрицы классов - много нулей и мало единиц, что порождает разреженную матрицу сравнения классов, и это не так сильно увеличивает время поиска тупиковых тесторов.

В нашем алгоритме, чтобы решить задачу распознавания объекта по заданным классам, нужно выполнить следующие шаги обработки данных.

1) По заданным классам построить таблицу сравнения классов.

2) Найти все тупиковые тесторы таблицы сравнения классов.

3) Исследуемый объект проголосовать по всем тупиковым тесторам и подсчитать голоса за каждый класс.

4) Пересчитать голоса в числа, расстояния до каждого класса.

Все шаги распознавания объекта - однозначные процедуры, то есть по заданным классам единственным образом вычисляются расстояния от объекта до классов. Поэтому можно сказать, что в этом алгоритме распознавания по всем тупиковым тесторам заданные классы являются метрикой пространства признаков.

Программа голосования по всем тупиковым тесторам

В 2007 году созданная программа нашла все тупиковые тесторы для 77 признаков за 106 секунд на Pentium III, 1 ГГц. Это анализ 277 наборов столбцов! В этой задаче каждый из 11 числовых признаков был преобразован в 7 бинарных признаков, в строке объекта 11 единиц и 66 нулей - разреженные данные. Поэтому было найдено всего 37760 тупиковых тесторов. Время счета зависит от числа признаков и от числа тупиковых тесторов. Приведем несколько примеров работы программы:

число признаков (число тупиковых тесторов) = секунды

30 (12) = 2,4 34 (24043) = 3,6 43 (44781) = 4,7

51 (658935) = 85,4 55 (1622637) = 91,4 77 (37760) = 106,0

Основная exe-программа написана на языке Fortran 5. Входной файл (формат тестового редактора) в первой строке содержит M - число признаков в задаче, а в следующих строках по M чисел {0; 1}: объекты класса A, объекты класса B, исследуемые объекты.

Выходной файл (формат тестового редактора) содержит:

KT - число найденных тупиковых тесторов; Pj, P2, ... Pm - информационные веса признаков; для каждого исследуемого объекта - пары чисел Va и Vb, взвешенные голоса за классы A и B; время (начало-конец) по системному таймеру; время "грязное", параллельно работают другие процессы.

Подготовка входного файла и дальнейшая обработка взвешенных голосов - макросы на языке VBA в табличном процессоре MS Excel. Есть версия программы, полностью сделанная на VBA, но она работает в 6 раз медленнее. VBA - язык интерпретатор, а Fortran создает быстрые exe-файлы. В свое время мы сравнивали Fortran с Си, по скорости не хуже. Чем больше укрупняется язык: => объектный => + классы => + визуальные компоненты, тем медленнее работает вычислительная часть, да еще операционная система добавляет параллельные процессы. Резервы ускорения - сделать важные части программы на Ассемблере, использовать операции с битовыми строками. Также есть мысли по совершенствованию алгоритма.

Тестовый квадрат

Для разработки алгоритмов и программ мы использовали тестовые квадраты от 5 x 5 (10 бинарных признаков) до 40 x 40 (80 бинарных признаков). Здесь покажем тестовый квадрат 15 x 15, чтобы печать помещалась на странице. Клетки пронумеруем слева направо по столбцам от 1 до 15 и сверху вниз по строкам от 1 до 15. Каждая клетка имеет 2 числовых признака: номер столбца, номер строки, или 30 бинарных признаков: 15 задают номер столбца и 15 - номер строки.

Левая верхняя клетка (1; 1) = (100000000000000100000000000000).

Правая нижняя клетка (15; 15) = (000000000000001000000000000001).

Объекты классов A и B, по 15 клеток, заданы симметрично, как равнобедренные треугольники в диагонально противоположных углах квадрата: левом верхнем (A) и правом нижнем (B). В таблицах клетки классов отмечены жирным курсивом и рамками. Из 15 столбцов и 15 строк 5 проходят через класс A, 5 - свободные и 5 проходят через класс B. Свободные столбцы и строки нужны, чтобы показать преимущество распознавания по всем тупиковым тесторам по сравнению с метрикой d (x, y). Все клетки квадрата распознаются как исследуемые объекты. Мы ожидаем, что результаты распознавания будут симметричными.

Сделаем распознавание клеток тестового квадрата с помощью метрики - расстояние между двумя точками на плоскости:

d (x y) = 4(x1 - x2)2 + (y1 " y2)2

Перед распознаванием вычисляется среднее и стандарт отклонения по каждому признаку объединенных классов A и B, и далее нормализуются значения признаков объектов классов A и B и исследуемых объектов. Этим и весами = 1 достигается начальная равноценность признаков. На этапе поиска распознающей метрики признакам могут быть назначены разные веса.

Метрика вычисляет расстояния от каждого объекта класса А до каждого объекта класса В, и далее Sab - среднее арифметическое расстояние между классами А и В. Для исследуемого объекта вычисляются Sa и Sb - расстояния до классов (среднее арифметическое по всем объектам класса), а затем нормированные расстояния: Ra = Sa / Sab, Rb = Sb / Sab. Нормированные расстояния нужны, чтобы выделить слабое распознавание (R > 1), когда исследуемый объект далек от обоих классов А и B. Кроме того, нормирование позволяет сравнивать распознавание по разным классам.

В каждой клетке квадрата (табл. 1) записаны два нормированных расстояния: до класса A (верхнее число) и до класса B (нижнее число). Симметричные классы A и B дали симметричные результаты распознавания. В центре нейтральной диагонали (курсив и рамки) нормированные расстояния = 0,5. На краях диагонали, где дальше от классов, нормированные расстояния = 0,79.

Для всех клеток тестового квадрата 15 x 15 сделаем распознавание по всем тупиковым тесторам (табл.2). Здесь было найдено 12 тупиковых тесторов, и по ним накоплены голоса за классы A и B. При прочих равных условиях вероятность найти похожий объект больше в том классе, где больше объектов. Поэтому после распознавания число голосов, поданное за класс, делится на число объектов в классе. Получается взвешенный голос за класс - аналог среднего расстояния от объекта до класса. Для каждой клетки квадрата вычисляются два взвешенных голоса: Va и Vg.

Из таблице 2 видно, что получились симметричные результаты распознавания по всем тупиковым тесторам. Кроме того, для каждого объекта из класса A число голосов за

класс В равно 0, и наоборот. Это потому, что в классах А и В не может быть одинаковых объектов.

Таблица 1

Распознавание с помощью метрики d (х, у)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 0,14 0,12 0,13 0,15 0,19 0,25 0,31 0,37 0,43 0,49 0,55 0,61 0,67 0,73 0,79

1,11 1,07 1,03 0,99 0,95 0,92 0,89 0,86 0,84 0,82 0,80 0,79 0,79 0,79 0,79

2 0,12 0,10 0,11 0,13 0,18 0,24 0,30 0,36 0,42 0,48 0,54 0,60 0,66 0,73 0,79

1,07 1,02 0,98 0,94 0,90 0,87 0,84 0,81 0,78 0,76 0,74 0,73 0,73 0,73 0,73

3 0,13 0,11 0,11 0,15 0,19 0,25 0,30 0,36 0,42 0,48 0,54 0,60 0,67 0,73 0,79

1,03 0,98 0,94 0,90 0,85 0,82 0,78 0,75 0,73 0,70 0,69 0,67 0,67 0,66 0,67

4 0,15 0,13 0,15 0,18 0,22 0,27 0,32 0,38 0,43 0,49 0,55 0,61 0,67 0,73 0,79

0,99 0,94 0,90 0,85 0,81 0,77 0,73 0,70 0,67 0,65 0,63 0,61 0,60 0,60 0,61

5 0,19 0,18 0,19 0,22 0,25 0,30 0,35 0,40 0,45 0,51 0,57 0,63 0,69 0,74 0,80

0,95 0,90 0,85 0,81 0,76 0,72 0,68 0,65 0,62 0,59 0,57 0,55 0,54 0,54 0,55

6 0,25 0,24 0,25 0,27 0,30 0,34 0,38 0,43 0,48 0,53 0,59 0,65 0,70 0,76 0,82

0,92 0,87 0,82 0,77 0,72 0,68 0,64 0,60 0,56 0,53 0,51 0,49 0,48 0,48 0,49

7 0,31 0,30 0,30 0,32 0,35 0,38 0,42 0,46 0,51 0,56 0,62 0,67 0,73 0,78 0,84

0,89 0,84 0,78 0,73 0,68 0,64 0,59 0,55 0,51 0,48 0,45 0,43 0,42 0,42 0,43

8 0,37 0,36 0,36 0,38 0,40 0,43 0,46 0,50 0,55 0,60 0,65 0,70 0,75 0,81 0,86

0,86 0,81 0,75 0,70 0,65 0,60 0,55 0,50 0,46 0,43 0,40 0,38 0,36 0,36 0,37

9 0,43 0,42 0,42 0,43 0,45 0,48 0,51 0,55 0,59 0,64 0,68 0,73 0,78 0,84 0,89

0,84 0,78 0,73 0,67 0,62 0,56 0,51 0,46 0,42 0,38 0,35 0,32 0,30 0,30 0,31

10 0,49 0,48 0,48 0,49 0,51 0,53 0,56 0,60 0,64 0,68 0,72 0,77 0,82 0,87 0,92

0,82 0,76 0,70 0,65 0,59 0,53 0,48 0,43 0,38 0,34 0,30 0,27 0,25 0,24 0,25

11 0,55 0,54 0,54 0,55 0,57 0,59 0,62 0,65 0,68 0,72 0,76 0,81 0,85 0,90 0,95

0,80 0,74 0,69 0,63 0,57 0,51 0,45 0,40 0,35 0,30 0,25 0,22 0,19 0,18 0,19

12 0,61 0,60 0,60 0,61 0,63 0,65 0,67 0,70 0,73 0,77 0,81 0,85 0,90 0,94 0,99

0,79 0,73 0,67 0,61 0,55 0,49 0,43 0,38 0,32 0,27 0,22 0,18 0,15 0,13 0,15

13 0,67 0,66 0,67 0,67 0,69 0,70 0,73 0,75 0,78 0,82 0,85 0,90 0,94 0,98 1,03

0,79 0,73 0,67 0,60 0,54 0,48 0,42 0,36 0,30 0,25 0,19 0,15 0,11 0,11 0,13

14 0,73 0,73 0,73 0,73 0,74 0,76 0,78 0,81 0,84 0,87 0,90 0,94 0,98 1,02 1,07

0,79 0,73 0,66 0,60 0,54 0,48 0,42 0,36 0,30 0,24 0,18 0,13 0,11 0,10 0,12

15 0,79 0,79 0,79 0,79 0,80 0,82 0,84 0,86 0,89 0,92 0,95 0,99 1,03 1,07 1,11

0,79 0,73 0,67 0,61 0,55 0,49 0,43 0,37 0,31 0,25 0,19 0,15 0,13 0,12 0,14

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

В распознавании с помощью метрики (табл.1) только клетки диагонали одинаково удалены от обоих классов: в центре (0,50; 0,50), на концах, где дальше от классов, (0,79; 0,79). В распознавании по всем тупиковым тесторам (табл.2) клетки диагонали также одинаково удалены от классов: в центре (6,00; 6,00), а на концах, где дальше от классов, (2,00; 2,00). Кроме того, клетки центрального квадрата, столбцы и строки которого не входят в классы А и В, также одинаково удалены от классов. То есть распознавание по всем тупиковым тесторам "более умное": нет информации - нельзя сказать, к какому классу ближе.

Качественные расстояния Для каждого объекта пересчитаем взвешенные голоса VA и Vв в два числа Са и Св и назовем их качественными расстояниями от объекта до классов А и В , чтобы отличать их от расстояний, рассчитанных по числовой метрике d (х, у):

Таблица 2

Взвешенные голоса за классы А и В

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 6,93 7,07 7,13 7,13 7,07 7,00 7,00 7,00 7,00 7,00 6,00 5,00 4,00 3,00 2,00

0,00 0,00 0,00 0,00 0,00 1,00 1,00 1,00 1,00 1,00 1,07 1,20 1,40 1,67 2,00

2 7,07 7,07 7,00 6,87 6,73 6,67 6,67 6,67 6,67 6,67 5,67 4,67 3,67 2,67 1,67

0,00 0,00 0,00 0,00 1,00 2,00 2,00 2,00 2,00 2,00 2,07 2,20 2,40 2,67 3,00

3 7,13 7,00 6,80 6,60 6,47 6,40 6,40 6,40 6,40 6,40 5,40 4,40 3,40 2,40 1,40

0,00 0,00 0,00 1,00 2,00 3,00 3,00 3,00 3,00 3,00 3,07 3,20 3,40 3,67 4,00

4 7,13 6,87 6,60 6,40 6,27 6,20 6,20 6,20 6,20 6,20 5,20 4,20 3,20 2,20 1,20

0,00 0,00 1,00 2,00 3,00 4,00 4,00 4,00 4,00 4,00 4,07 4,20 4,40 4,67 5,00

5 7,07 6,73 6,47 6,27 6,13 6,07 6,07 6,07 6,07 6,07 5,07 4,07 3,07 2,07 1,07

0,00 1,00 2,00 3,00 4,00 5,00 5,00 5,00 5,00 5,00 5,07 5,20 5,40 5,67 6,00

6 7,00 6,67 6,40 6,20 6,07 6,00 6,00 6,00 6,00 6,00 5,00 4,00 3,00 2,00 1,00

1,00 2,00 3,00 4,00 5,00 6,00 6,00 6,00 6,00 6,00 6,07 6,20 6,40 6,67 7,00

7 7,00 6,67 6,40 6,20 6,07 6,00 6,00 6,00 6,00 6,00 5,00 4,00 3,00 2,00 1,00

1,00 2,00 3,00 4,00 5,00 6,00 6,00 6,00 6,00 6,00 6,07 6,20 6,40 6,67 7,00

8 7,00 6,67 6,40 6,20 6,07 6,00 6,00 6,00 6,00 6,00 5,00 4,00 3,00 2,00 1,00

1,00 2,00 3,00 4,00 5,00 6,00 6,00 6,00 6,00 6,00 6,07 6,20 6,40 6,67 7,00

9 7,00 6,67 6,40 6,20 6,07 6,00 6,00 6,00 6,00 6,00 5,00 4,00 3,00 2,00 1,00

1,00 2,00 3,00 4,00 5,00 6,00 6,00 6,00 6,00 6,00 6,07 6,20 6,40 6,67 7,00

10 7,00 6,67 6,40 6,20 6,07 6,00 6,00 6,00 6,00 6,00 5,00 4,00 3,00 2,00 1,00

1,00 2,00 3,00 4,00 5,00 6,00 6,00 6,00 6,00 6,00 6,07 6,20 6,40 6,67 7,00

11 6,00 5,67 5,40 5,20 5,07 5,00 5,00 5,00 5,00 5,00 4,00 3,00 2,00 1,00 0,00

1,07 2,07 3,07 4,07 5,07 6,07 6,07 6,07 6,07 6,07 6,13 6,27 6,47 6,73 7,07

12 5,00 4,67 4,40 4,20 4,07 4,00 4,00 4,00 4,00 4,00 3,00 2,00 1,00 0,00 0,00

1,20 2,20 3,20 4,20 5,20 6,20 6,20 6,20 6,20 6,20 6,27 6,40 6,60 6,87 7,13

13 4,00 3,67 3,40 3,20 3,07 3,00 3,00 3,00 3,00 3,00 2,00 1,00 0,00 0,00 0,00

1,40 2,40 3,40 4,40 5,40 6,40 6,40 6,40 6,40 6,40 6,47 6,60 6,80 7,00 7,13

14 3,00 2,67 2,40 2,20 2,07 2,00 2,00 2,00 2,00 2,00 1,00 0,00 0,00 0,00 0,00

1,67 2,67 3,67 4,67 5,67 6,67 6,67 6,67 6,67 6,67 6,73 6,87 7,00 7,07 7,07

15 2,00 1,67 1,40 1,20 1,07 1,00 1,00 1,00 1,00 1,00 0,00 0,00 0,00 0,00 0,00

2,00 3,00 4,00 5,00 6,00 7,00 7,00 7,00 7,00 7,00 7,07 7,13 7,13 7,07 6,93

V V

СА = 1--— , св = 1--(1)

А V + V V + V

А в А в

Теперь, чем больше VA по сравнению с Vв, тем ближе к 0 расстояние Са и тем ближе к 1 расстояние Св. Для объектов из А класса Vв = 0, поэтому Са = 0 и Св = 1. Для объектов из в класса VA = 0, поэтому Са = 1 и Св = 0. Если VA = Vв, то Са = Св = 0,5 .

Пусть для двух объектов накоплены голоса с одинаковой пропорцией по классам: (10; 5) и (2; 1). Для них будут рассчитаны одинаковые качественные расстояния до классов: Са = 1/3 и Св = 2/3. Пусть для двух объектов накоплены одинаковые голоса по классам: (10, 10) и (2, 2). Для них тоже будут рассчитаны одинаковые качественные расстояния до классов: Са = 1/2 и Св = 1/2. В этих примерах для распознавания 1-го объекта использовано в 5 раз больше информации, чем для 2-го объекта, а расстояния до классов получились одинаковые.

Учтем в качественных расстояниях информативность распознавания: чем меньше сумма найденных голосов, тем дальше объект от обоих классов:

(

CA =

1 --

л

V, + VB ,

KT

f

V + V

CB =

1-

V

Л

Va + Vb J

KT

(2)

V + V

AB

x

x

Здесь KT - число тупиковых тесторов, найденных в задаче, нормирует сумму взвешенных голосов и позволяет сравнивать результаты распознавания в задачах с разным числом тупиковых тесторов.

Пусть найдено KT = 20 тупиковых тесторов. Для примеров 1 и 2 рассчитаем качественные расстояния по формуле (2).

(10; 5): CA = 0,385 CB = 0,770 (10; 10): CA = 0,500 CB = 0,500

(2; 1): CA = 0,861 CB = 1,721 (2; 2): CA = 1,118 CB = 1,118

Теперь в качественных расстояниях появилось больше смысла: чем меньше информации для распознавания, тем дальше от обоих классов. Нам осталось вычислить качественное расстояние между классами A и B и нормировать на него все качественные расстояния.

Распознавание объектов из классов

В задаче распознавания по всем тупиковым тесторам в классах A и B не может быть одинаковых объектов. Поэтому для каждого объекта из класса A число голосов за класс B равно 0, и наоборот. Предлагается следующий алгоритм вычисления качественного расстояния от объекта из класса до своего и чужого класса, и далее - вычисление расстояния между классами.

Объект Aj удаляется из класса A и распознается по неполному классу A1 и полному классу B. Запоминаются качественные расстояния от объекта Aj до классов A1 и B. Эта процедура выполняется для каждого объекта из класса A. Для каждого объекта Bj из класса B вычисляются и запоминаются качественные расстояния до полного класса A и неполного класса Bj.

Качественные расстояния до своего класса используются для поиска ошибок в исходных данных. Выявляются объекты, находящиеся далеко от своего класса. После исправления ошибок процедура повторяется.

Если нет ошибок в исходных данных, то вычисляется среднее арифметическое качественных расстояний от объектов одного класса до чужого класса. Получается два качественных расстояния между классами: P,b - от A до B и Pba - от B до A. Это разные качественные расстояния, потому что тупиковые тесторы строились по разным классам. Качественное расстояние C,b между классами A и B вычисляется как полусумма расстояний Pab и PBA.

Для каждой клетки квадрата разделим качественные расстояния C, и Cb на качественное расстояние C,b между классами и получим нормированные качественные расстояния до классов A и B (табл.3). Нормированные качественные расстояния можно сравнивать с любым другим распознаванием, например с нормированными расстояниями, вычисленными с помощью числовой метрики d (x, y) (табл. 1).

Достоинства распознавания по всем тупиковым тесторам: 1) алгоритм строит единственную метрику без участия пользователя; 2) принадлежность к классу выделяется более контрастно; 3) не определяется принадлежность к классу при отсутствии данных для рас-

Таблица 3

Нормированные качественные расстояния до классов А и В

2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 0,00 0,00 0,00 0,00 0,00 0,15 0,15 0,15 0,15 0,15 0,20 0,27 0,39 0,57 0,87

1,32 1,30 1,30 1,30 1,30 1,07 1,07 1,07 1,07 1,07 1,11 1,12 1,10 1,03 0,87

2 0,00 0,00 0,00 0,00 0,16 0,27 0,27 0,27 0,27 0,27 0,33 0,42 0,56 0,75 1,03

1,30 1,30 1,31 1,32 1,08 0,91 0,91 0,91 0,91 0,91 0,91 0,90 0,85 0,75 0,57

3 0,00 0,00 0,00 0,17 0,28 0,36 0,36 0,36 0,36 0,36 0,43 0,53 0,66 0,85 1,10

1,30 1,31 1,33 1,09 0,91 0,77 0,77 0,77 0,77 0,77 0,76 0,73 0,66 0,56 0,39

4 0,00 0,00 0,17 0,28 0,37 0,43 0,43 0,43 0,43 0,43 0,50 0,60 0,73 0,90 1,12

1,30 1,32 1,09 0,91 0,77 0,66 0,66 0,66 0,66 0,66 0,64 0,60 0,53 0,42 0,27

5 0,00 0,16 0,28 0,37 0,43 0,47 0,47 0,47 0,47 0,47 0,54 0,64 0,76 0,91 1,11

1,30 1,08 0,91 0,77 0,66 0,57 0,57 0,57 0,57 0,57 0,54 0,50 0,43 0,33 0,20

6 0,15 0,27 0,36 0,43 0,47 0,50 0,50 0,50 0,50 0,50 0,57 0,66 0,77 0,91 1,07

1,07 0,91 0,77 0,66 0,57 0,50 0,50 0,50 0,50 0,50 0,47 0,43 0,36 0,27 0,15

7 0,15 0,27 0,36 0,43 0,47 0,50 0,50 0,50 0,50 0,50 0,57 0,66 0,77 0,91 1,07

1,07 0,91 0,77 0,66 0,57 0,50 0,50 0,50 0,50 0,50 0,47 0,43 0,36 0,27 0,15

8 0,15 0,27 0,36 0,43 0,47 0,50 0,50 0,50 0,50 0,50 0,57 0,66 0,77 0,91 1,07

1,07 0,91 0,77 0,66 0,57 0,50 0,50 0,50 0,50 0,50 0,47 0,43 0,36 0,27 0,15

9 0,15 0,27 0,36 0,43 0,47 0,50 0,50 0,50 0,50 0,50 0,57 0,66 0,77 0,91 1,07

1,07 0,91 0,77 0,66 0,57 0,50 0,50 0,50 0,50 0,50 0,47 0,43 0,36 0,27 0,15

10 0,15 0,27 0,36 0,43 0,47 0,50 0,50 0,50 0,50 0,50 0,57 0,66 0,77 0,91 1,07

1,07 0,91 0,77 0,66 0,57 0,50 0,50 0,50 0,50 0,50 0,47 0,43 0,36 0,27 0,15

11 0,20 0,33 0,43 0,50 0,54 0,57 0,57 0,57 0,57 0,57 0,66 0,77 0,91 1,08 1,30

1,11 0,91 0,76 0,64 0,54 0,47 0,47 0,47 0,47 0,47 0,43 0,37 0,28 0,16 0,00

12 0,27 0,42 0,53 0,60 0,64 0,66 0,66 0,66 0,66 0,66 0,77 0,91 1,09 1,32 1,30

1,12 0,90 0,73 0,60 0,50 0,43 0,43 0,43 0,43 0,43 0,37 0,28 0,17 0,00 0,00

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

13 0,39 0,56 0,66 0,73 0,76 0,77 0,77 0,77 0,77 0,77 0,91 1,09 1,33 1,31 1,30

1,10 0,85 0,66 0,53 0,43 0,36 0,36 0,36 0,36 0,36 0,28 0,17 0,00 0,00 0,00

14 0,57 0,75 0,85 0,90 0,91 0,91 0,91 0,91 0,91 0,91 1,08 1,32 1,31 1,30 1,30

1,03 0,75 0,56 0,42 0,33 0,27 0,27 0,27 0,27 0,27 0,16 0,00 0,00 0,00 0,00

15 0,87 1,03 1,10 1,12 1,11 1,07 1,07 1,07 1,07 1,07 1,30 1,30 1,30 1,30 1,32

0,87 0,57 0,39 0,27 0,20 0,15 0,15 0,15 0,15 0,15 0,00 0,00 0,00 0,00 0,00

познавания (пустой квадрат в центре); 4) алгоритм может работать с числовыми и нечисловыми объектами.

Как отмечено выше, заданные классы являются метрикой в задаче распознавания по всем тупиковым тесторам. При вынимании объекта из класса заданные классы изменяются. То есть для вычисления качественного расстояния между классами нужно решить столько отдельных задач, сколько объектов в классах. Например, в тестовом квадрате в каждом классе по 15 объектов. Значит для вычисления качественного расстояния между классами нужно решить 30 отдельных задач распознавания по неполным классам и еще 1 общую задачу распознавания клеток квадрата по полным классам. Всего 31 задача по 106 секунд, примерно 55 минут с процессором 1 ГГц.

Вычислять нормированные качественные расстояния можно только с очень быстрой программой поиска всех тупиковых тесторов.

Заключение

Решена задача, поставленная Ю.И. Журавлёвым в 1974 г. [2], разработать эффективный алгоритм поиска всех тупиковых тестов. Разработан алгоритм и программа быстрого поиска всех тупиковых тесторов для любого числа классов числовых и нечисловых объектов.

Для числовых и нечисловых объектов созданы работающие без участия пользователя однозначные процедуры вычисления расстояний до классов.

В распознавании по числовым признакам в интерактивном режиме пользователь подбирает числовую метрику по заданным классам. Она не единственная и не всегда удачная. Поэтому числовые признаки объектов нужно преобразовать в группы бинарных признаков и решать задачу распознавания голосованием по всем тупиковым тесторам.

По предлагаемой технологии можно обрабатывать нечисловые объекты, у которых признаки допускают преобразование в таблицу сравнения классов. Нечисловые признаки очень часто используются при описании геологических объектов.

Л ит ер ат у ра

1. Бонгард М.М. Проблема узнавания. - М.: изд-во "Наука", 1965. - 320 с.

2. Журавлёв Ю.И., Камилов М.М., Туляганов Ш.Е. Алгоритмы вычисления оценок и их применение. - Ташкент: ФАН, 1974. - 120 с.

3. Макаркин А.А. Технология распознавания информации по качественным признакам //XI Международ. науч. конф. им. академика М. Кравчука. - Киев, 2006. - С.876-879.

4. Макаркин А.А. Технология обработки информации по качественным признакам //Вестник Сарат. аграрного ун-та. - Саратов, 2006. - Вып.7.

5. Макаркин А.А. Качественное распознавание по количественным признакам //XIII Международ. науч. конф. им. академика М. Кравчука. - Киев, 2010. - С. 183-185.

6. Орлов А.И. Организационно-экономическое моделирование. В 3 частях. Часть 1: Нечисловая статистика. - М.: изд-во МГТУ им. Н.Э. Баумана. - 2009. - 541 с. - Электронная версия: http://ibm.bmstu.rU/nil/biblio.html#books-02-hsstat

7. Орлов А.И. О развитии математических методов теории классификации //Журнал "Заводская лаборатория". - 2009. - Т.75. - № 7. - С.51-63.

8. Чегис И.А., Яблонский С.В. Логические способы контроля электрических схем //Труды МИАН им. В.А. Стеклова. - М.: изд-во АН СССР, 1958. - Т.51.

i Надоели баннеры? Вы всегда можете отключить рекламу.