Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования

.pdf
Скачиваний:
17
Добавлен:
25.10.2023
Размер:
12.47 Mб
Скачать

О Т Ы С К А Н И Е Л И Н Е Й Н Ы Х О Ц Е Н И В А Ю Щ И Х Ф У Н К Ц И Й

221

Ф и г . П.4. Проблема 6, 1-мерных образов.

образом, первоначальная (одномерная) проблема преоб­ разована в проблему 2-мерного полупространства. Чита­ телю рекомендуется продумать двумерную проблему, пред­ ставленную на фиг. 11.3. Сначала представители сдви­ гаются вверх до плоскости х3 = 1. После этого представи­ тели В отображаются с помощью изменения знака век­ тора. Так получается проблема 3-мерного полупрост­ ранства.

Теорема 2. Любая проблема классификации т,(п. — 1)- мерных образов может быть преобразована в проблему т,я-мерного полупространства.

Д о к а з а т е л ь с т в о . Предположим, что нам да­ на проблема пг,(п — 1)-мерных образов. Она эквивалент­ на следующей проблеме. Пусть даны m векторов с (п — 1)

компонентами, часть из которых — представители

клас­

са А, а остальные — представители класса В .

Найти

Ф и г . 11.5.

Преобразование проблемы,

приведенной

на фиг. 11.4.

222

ГЛАВА I I

A-, Л ,

Ф и г .

11.6.

Проблема

6,1-мерных

образов

фиг.

11.4,

преобразован­

ная в проблему 6,2-мерного полупро­ странства.

гиперплоскость (не обязательно проходящую через на­ чало координат) схх\ + с2х2 + ... + г„_]*„_! + сп = 0, ко­ торая приближенно отделяет область А от области В .

Прежде

всего мы вкладываем

(я — 1)-мерное

простран­

ство в

я-мерное пространство и сдвигаем представителей

«вверх»

до гиперплоскости

хп = 1. Теперь

проблема

заключается в нахождении проходящей через начало коор­ динат гиперплоскости, приближенно отделяющей пред­

ставителей А от представителей В.

Проекция хгх2

... хп_1

пересечения такой гиперплоскости

с гиперплоскостью

хп = 1 является решением первоначальной (я —

^-мер­

ной проблемы. Сдвигаем вновь всех представителей В на

этот

раз до гиперплоскости хп =

1 .

Для

этого

отобра­

жаем

представителей В относительно

начала

координат,

т. е.

заменяем каждый я-мерный

вектор

В

его

отрица­

нием. Решение первоначальной (я-мерной) проблемы сов­ падает с решением получившейся в результате этого от­ ражения проблемы /п,я-мериого полупространства. Та­ ким образом, всякое решение этой проблемы яг,я-мерного

О Т Ы С К А Н И Е Л И Н Е Й Н Ы Х О Ц Е Н И В А Ю Щ И Х Ф У Н К Ц И Й

223

полупространства приводит к решению первоначальной проблемы m,/і-мерных объектов, что и требовалось до­ казать.

11.2. К Р И Т Е Р И И Д Л Я М Е Т О Д О В

Р Е Ш Е Н И Я П Р О Б Л Е М Ы

т, л - МЕРНОГО П О Л У П Р О С Т

Р А Н С Т В А

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

Эти критерии помогут читателю выяснить ценность каждого метода; они также окажутся полезными для исследователей, разрабатывающих другие алгоритмы. Идеи, которые высказываются при обсуждении третьего критерия, будут широко использоваться в оставшейся части главы. Предлагаемые критерии таковы: возраста­ ние количества вычислений при увеличении m и /г, ин­ вариантность относительно невырожденных линейных преобразований, величина погрешности и независимость от величины вектора X,-.

Возрастание количества

вычислений

с увеличением

m и ». Для каких

величин

m и п вычисление

коэффи­

циентов с помощью

данного

алгоритма

остается

практи­

чески пригодным? При любом алгоритме объем вычисле­ ний увеличивается с возрастанием m и я. Алгоритм хо­ рош, если с возрастанием тип количество вычислений увеличивается медленно, так что проблемы полупрост­

ранства

остаются практически разрешимыми при боль­

ших m

и п.

Инвариантность. Инвариантен ли алгоритм преобра­ зования проблем оценок и образов в проблему /п,/г-мер- ного полупространства относительно невырожденных ли­ нейных преобразований, включая поворот и растяжение? Хороший метод должен был бы приводить к инвариант­ ности. Алгоритм называется инвариантным относительно преобразования тогда и только тогда, когда для любой

224

Г Л А ВА H

проблемы m,«-мерного полупространства преобразование решения, полученного при применении этого алгоритма, совпадает с решением преобразованной проблемы. Преоб­ разование называется растяжением по положительному коэффициенту /-й координаты тогда и только тогда, когда Zj = р х , а все остальные координаты не изменились.

Погрешность. Насколько хороши коэффициенты? По определению погрешность вектора коэффициентов С от­ носительно Xlt Х2, ...,Хт есть относительное число таких векторов Xit для которых С-Х,- < 0. Ниже определяются погрешности соответственно для проблемы оценки и проблемы классификации образов. Если дано множество m предпочтений {Y) >» К,-}, то погрешность вектора коэф­ фициентов С есть относительное число предпочтений, для которых C-Y'i < C-Y;. Если дано множество из m представителей классов А и В, то погрешность вектора коэффициентов С есть относительное число представите­ лей, для которых выражение С-Х:

1)

неположительно,

если

X — представитель

А;

2)

неотрицательно,

если

X — представитель

В.

Разумеется, желательно иметь алгоритм, в соответст­ вии с которым получается С с низкой погрешностью. Век­ тор коэффициентов С называется оптимальным для не­ которого множества X,- в том и только в том случае, когда ни один другой вектор коэффициентов не имеет меньшей погрешности, чем вектор С.

Независимость от величины векторов. Является ли вектор коэффициентов С, полученный с помощью данного алгоритма, независимым от величин векторов Xt полу­ пространства? Хороший алгоритм должен был бы при­ водить к независимости получаемых решений от этих величин. Каждому из предлагаемых алгоритмов, за исключением, как уже разъяснялось, релаксационного алгоритма, свойственна независимость. Для некоторых алгоритмов эта независимость достигается заменой каж­ дого X,- одинаково с ним направленным единичным век­ тором. Отметим, что на погрешность влияет только на­ правление векторов Xit а не их величина. Следовательно, если метод вычисления вектора С требует, чтобы векто­ ры Xt лежали на поверхности единичной гиперсферы или гиперкуба, это не приводит к потере общности. Между

О Т Ы С К А Н И Е Л И Н Е Й Н Ы Х О Ц Е Н И В А Ю Щ И Х Ф У Н К Ц И И

225

прочим, то же самое наблюдение позволяет преобразо­ вать проблему т,3-мерного полупространства в следую­ щую проблему, которую очень легко сформулировать, но для которой не известен ни один практический алго­ ритм отыскания оптимального решения при больших т: если даны обыкновенная сфера и m точек на ее поверх­ ности, найти полусферу, включающую не меньшее число этих точек, чем любая другая полусфера. Любую пробле­ му m,2-мерного полупространства можно преобразовать в следующую проблему, которую очень легко сформули­ ровать и для которой имеется практический алгоритм нахождения оптимального решения даже при больших m — алгоритм выигрыша — проигрыша (см. ниже). Про­ блема формулируется так: если даиы круг и m точек на его окружности, найти полукруг, включающий не меньшее

число точек, чем

любой другой полукруг.

11.3. Н Е К О Т О Р Ы Е

Т И П И Ч Н Ы Е

АЛГОРИТМЫ Р Е Ш Е Н И Я

П Р О Б Л Е М Ы

т, л - МЕРНОГО

П О Л У П Р О С Т Р А Н С Т В А

Для проблемы яг,я-мерного полупространства могут оказаться применимы модификации многих из огромного числа известных алгоритмов (см., например, Н. Нильсон, 1965) решения проблемы классификации m,(я — 1)- мериых образов. В этой главе приводятся лишь немно­ гие типичные алгоритмы решения проблемы /л,я-мерного полупространства, а не полный их обзор. Указывается ряд алгоритмов, поскольку не известен какой-либо практичес­ кий алгоритм (за исключением двух специальных видов проблем полупространства), который всегда позволял бы получать оптимальные коэффициенты. В силу этого для заданной практической проблемы приходится испытывать несколько алгоритмов, которые могли бы оказаться при­ годными для нее.

Описываются следующие алгоритмы: алгоритм вы­ игрыша — проигрыша для двумерного случая; алго­ ритм объединения коэффициентов, полученных из проек­ ций; алгоритм коэффициентов корреляций; алгоритм сум­ мирования нормированных векторов; алгоритм наимень­ ших квадратов; алгоритмы релаксации, усредняющей ре­ лаксации и локальной минимизации. С помощью релак-

15—1677

226

Г Л А ВА 11

Ф и г .

11.7.

Начальное

поло­

Ф и г.

11.8.

Положение

век­

жение

вектора С при

 

работе

тора С повернуто на одно

«де­

процедуры

выигрыша

— про­

ление»

при

работе процедуры

игрыша.

 

 

 

выигрыша —

проигрыша.

 

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

чае п = 2, даже

при больших т. Когда

п >

2, m

велико

и

не существует оптимального вектора

С, не

существует

и

практически

пригодного алгоритма

вычисления

опти­

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

Алгоритм выигрыша — проигрыша для двумерного случая. Для проблемы двумерного полупространства легко вычислить оптимальный вектор С, если число возможных направлений векторов Xt конечно (как это часто бывает в практических задачах). Если число возможных направ­ лений векторов бесконечно, то с помощью этого алгорит­ ма обычно можно вычислить хорошие коэффициенты,

предварительно дискретизировав

множество

направле­

ний. Как уже отмечалось, требование, чтобы точки X,-

лежали на окружности единичного

круга, не

приводит

к потере общности. Для каждого

из очень

большого,

но конечного числа возможных

направлений

подсчиты-

О Т Ы С К А Н ИЕ Л И Н Е П Н Ы Х

О Ц Е Н И В А Ю Щ И Х Ф У Н К Ц И И

 

 

 

227

Направление

С (по циферблату

12

2

4

6

8

10

часов)

 

 

 

 

 

 

 

Число ошибок

21

26

31

29 І 24

19

 

 

 

 

 

1

 

 

Погрешность, %

42

52

62

58

48

38

Ф и г. 11.9.

Результаты работы процедуры

 

 

 

выигрыша —

проигрыша.

 

 

 

 

 

 

вается реальное число векторов XH

направленных

в

эту

сторону. Например, на фиг. 11.7 из 50 векторов

XT

8 на­

правлены прямо вверх (указывают на 12 часов): 9 векто­ ров Хі указывают на 2 часа и т. д. (Ссылки на циферблат часов приводятся здесь лишь для удобства — каждый вектор ХІ указывает на одно из шести равномерно рас­ пределенных по кругу направлений.) Выберем теперь некоторый начальный вектор С, скажем направленный прямо вверх. Погрешность можно получить, складывая числа, соотнесенные с направлениями, отличными от на­ правления вектора С. Так, иа фиг. 11.7 погрешность для начального вектора С равняется 7 + 3 + 11 ==21. По­ вернем вектор С (скажем, по часовой стрелке) на одно «деление» и найдем соответствующую погрешность. Для этого скорректируем предыдущее вычисление, учитывая погрешность, приобретенную ведомым вектором Т и по­ терянную ведущим вектором L . На фиг. 11.8 показано, что мы повернули начальный вектор С на 2 часа. Ведо­

мый вектор

Т

приобрел 12 ошибок, а ведущий вектор

L потерял

7

ошибок. Скорректированная

погрешность

равна теперь 21 + 12 — 7 = 26. Если вектор

С совершает

полный оборот, можно выбрать наилучшее его положение. Как показано на фиг. 11.9, наилучшим положением будет то, когда вектор С указывает на 10 часов, так что опти­ мальным решением является С = (— Ѵ"3, 1). В этом положении вектора С имеются 19 ошибок, а погрешность составляет 38%. В действительности данный алгоритм легко сделать еще более эффективным, и С тогда надо будет поворачивать лишь на 180°.

15*

Zj = Xjl^j.

228

ГЛАВА П

Алгоритм объединения коэффициентов,

полученных

из проекций. Чтобы рассмотреть эту идею на примере, предположим, что мы желаем вычислить некоторый хо­ роший вектор С = ( с ь Со, с3). Предположим, что при проек­ тировании всех X; на плоскость xlt х2 вычислены опти­ мальные коэффициенты ^ — 1, с2 = 2. Эта пара коэффи­ циентов могла была быть вычислена с помощью алгоритма выигрыша — проигрыша. Предположим теперь, что при проектировании на плоскость х2, х3 получились коэффи­ циенты с2 = 4, с3 = 5. Кажется правдоподобным, что вектор (2, 4, 5) будет подходить для исходной трехмерной проблемы, поскольку этот вектор С сохраняет найденные для проекций относительные веса. Разумеется, такой вектор С не обязательно будет оптимальным, даже если полученные коэффициенты для проекций оптимальны. Иногда можно получить хороший вектор С и для много­ мерного случая с помощью алгоритма, основанного на объединении коэффициентов, полученных из проекций.

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

Если бы было = £2 = ••• — In, то признаки были бы уже нормализованы, но обычно эти равенства не выпол­ няются. Тем не менее можно прийти к этой желаемой си­ туации, переопределив признаки, которые обозначаются

либо через

Y

в случае

проблемы

оценки, либо

через ( х ь

х2,

хп_г)

в

случае

проблемы

распознавания

образов.

Признаки теперь переопределены, так что новая пробле­ ма полупространства определена в пространстве Z, где

Признаки нормализованы, так как для всех /

Следует помнить, что полученное решение проблемы полупространства в пространстве Z составляет слгг +

О Т Ы С К А Н И Е Л И Н Е Й Н Ы Х О Ц Е Н И В А Ю Щ И Х Ф У Н К Ц И И

 

229

+ c2z2 +

... 4- cnzn = 0. Следовательно, коэффициентом

исходного

/-го признака является с77-.

 

 

Алгоритм коэффициентов корреляции. Название этого

алгоритма (см. А. Самюэль, 1967) связано с

тем

фактом,

что значение каждого c-s колеблется от —1 до

+ 1 ,

как и

значения обыкновенных коэффициентов корреляции. Обо­

значим через Pj число всех случаев, когда хѴі

положитель­

но,

а через

л,- — число всех случаев,

когда

xtj

отрица­

тельно, так что Pj +

tij

< т. В этом алгоритме полагает­

ся

Cj = (pj

iij)(Pj

+

rij).

Если все

Хц

положительны,

Cj

достигает

максимального

значения

+ 1 .

Если

все xti

отрицательны, с7- достигает

минимального

значения — 1 .

Если половина хѴ] положительна, а половина отрицатель­ на, Cj = 0. Если исходные признаки не нормализованы, условимся их нормализовать, как было описано в преды­ дущем подразделе. (Нормализация, используемая Самюэ­ лем, незначительно отличается от нашей.) Коэффицициентом для исходного /-го признака является с77-.

Нормирование векторов. В большинстве областей при­ менения алгоритмов, которые нам еще осталось рассмо­ треть, желательно, чтобы векторы были единичной дли­ ны, т. е. чтобы вместо каждого вектора X,- был одинаково с ним направленный единичный вектор. Формально мы заменяем Xt на = XJ \ Xt \ . Приведя векторы к единичной длине, мы можем быть уверены, что выполне­ но желаемое свойство—вектор С не зависит от величин векторов Xt.

Алгоритм суммирования нормированных векторов. При использовании этого элементарного алгоритма каждый вектор Х{ нормируется (нормализуются признаки), после чего он заменяется на вектор единичной длины (У,-. За­ тем полагают

m с=%и,

1=1

К сожалению, не всегда с помощью этого алгоритма мож­ но вычислить оптимальные коэффициенты. На фиг. 11.10 с помощью этого алгоритма вычисляется вектор С, на­

правленный

вправо,

но этот вектор не оптимален, так

как в этом

случае

только одно скалярное произведение

положительно.

 

230

Г Л А ВА 11

Ф и г . 11.10. Сумма векто­ ров С направлена вправо и потому не является опти­ мальным вектором коэффи­ циентов.

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

'"

С

 

С

т

S

~\Cf

UІ=~\С]~

2

U ' -

1=1

 

 

i = i

Теперь легко обосновать высказанное утверждение, если заметить, что правая часть этого равенства стано­ вится максимальной, когда направление вектора С опре-

т

деляется направлением вектора X Ui-

і = і

Метод наименьших квадратов. При использовании этого алгоритма каждый вектор, как и раньше, нормали­ зуется и приводится к единице, заменяясь на вектор Ut.

Соседние файлы в папке книги из ГПНТБ