книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования
.pdfО Т Ы С К А Н И Е Л И Н Е Й Н Ы Х О Ц Е Н И В А Ю Щ И Х Ф У Н К Ц И Й |
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*
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£7-. |
|
|
Алгоритм коэффициентов корреляции. Название этого |
|||
алгоритма (см. А. Самюэль, 1967) связано с |
тем |
фактом, |
|
что значение каждого c-s колеблется от —1 до |
+ 1 , |
как и |
значения обыкновенных коэффициентов корреляции. Обо
значим через Pj число всех случаев, когда хѴі |
положитель |
||||||||
но, |
а через |
л,- — число всех случаев, |
когда |
xtj |
отрица |
||||
тельно, так что Pj + |
tij |
< т. В этом алгоритме полагает |
|||||||
ся |
Cj = (pj |
— iij)(Pj |
+ |
rij). |
Если все |
Хц |
положительны, |
||
Cj |
достигает |
максимального |
значения |
+ 1 . |
Если |
все xti |
|||
отрицательны, с7- достигает |
минимального |
значения — 1 . |
Если половина хѴ] положительна, а половина отрицатель на, Cj = 0. Если исходные признаки не нормализованы, условимся их нормализовать, как было описано в преды дущем подразделе. (Нормализация, используемая Самюэ лем, незначительно отличается от нашей.) Коэффицициентом для исходного /-го признака является с77£7-.
Нормирование векторов. В большинстве областей при менения алгоритмов, которые нам еще осталось рассмо треть, желательно, чтобы векторы были единичной дли ны, т. е. чтобы вместо каждого вектора 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.