Книга
Книга
В. В. Александров НД. ГорскийВ. В. Александров НД. Горский
В. В. Александров НД. Горский
В. В. Александров НД. Горский
АЛГОРИТМЫ и ПРОГРАММЫ СТРУКТУРНОГО МЕТОДА ОБРАБОТКИ ДАННЫХ
АКАДЕМИЯ НАУК СССР
ЛЕНИНГРАДСКИЙ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ
ВЫЧИСЛИТЕЛЬНЫЙ ЦЕНТР
В. В. Александров, Н. Д. Горский
АЛГОРИТМЫ
И ПРОГРАММЫ
СТРУКТУРНОГО МЕТОДА
ОБРАБОТКИ ДАННЫХ
8
ЛЕНИНГРАД
«НАУКА»
^ЛЕНИНГРАДСКОЕ ОТДЕЛЕНИЕ 1983
УДК 519.92
Александров В. Вм Горский Н. Д. Алгоритмы и программы структурного метода обработки данных. Л., «Наука», 1983, с. 208.
Работа представляет собой систематизированное изложение современных машинных методов анализа экспериментальных данных. От аналогичных работ она отличается, с одной стороны, большей степенью подробности, необходимой при практическом использований;^ с другой стороны — описанием конкретной системы взаимосвязанных программ (тексты программ приводятся), для использования которой не требуется знаний языков программирования. Монография адресована специалистам в области обработки данных и исследователям, использующим ЭВМ, а также студентам и аспирантам в качестве пособия по машинным методам анализа экспериментальных данных.
Ответственный редактор
Р. Г. СТРОНГИЙ -
Рецензенты:
Р. П. СТРОГАНОВ, В. К. ЛАБУТИН
Виктор Васильевич Александров, Николай Дмитриевич Горский
АЛГОРИТМЫ И ПРОГРАММЫ СТРУКТУРНОГО
МЕТОДА ОБРАБОТКИ ДАННЫХ
Утверждено к печати
Ленинградским, научно-исследователъсним вычислительным центром АН СССР
Редактор издательства Т. И. Сушкова
Художник И. П. К р е м л е в
Технический редактор Г. А. Смирнова
Корректоры Л. Б. Наместникова и
Г. И. С ем е р и к о в а
ИБ М 20301
Сдано в набор 24.06.82. Подписано к печати 24.01.83. М-20007. Формат 60х9071в. Бумага типографская № 1. Гарнитура обыкновенная. Печать высокая. Печ. л. 13 4- 4-1 вкл. Ск печ. л.). Усл. печ. л. 13.25. Усл. кр.-отт. 13.55. Уч.-изд. 13.18. Тираж 7100.
Изд. № 7998. Тип. зак. № 153 8.
Цена 95 к.
Издательство «Наука», Ленинградское отделение. 199164, Ленинград, В-164, Менделеевская линия, 1.
Ордена Трудового Красного Знамени
Первая типография издательства «Наука».
199034, Ленинград, В-34, 9 линия, 12
1502000000-513042(02)-83
848-82, кн. 2
© Издательство «Наука», 1983 г.
ПРЕДИСЛОВИЕ
Существенной чертой современной научно-технической революции является быстрый рост объемов получаемой и обрабатываемой информации практически во всех областях науки и техники. При этом возникает большое число задач, которые человек не в состоянии решить самостоятельно в силу их огромной информационной емкости и сложности.
Прогнозирование тенденций развития региона, выбор оптимальных вариантов размещения капитального строительства с учетом социально-экономических факторов, поиск обобщенных показателей трудовой деятельности коллектива — вот лишь немногие примеры таких задач из экономической области. В этих случаях человек обращается к ЭВМ в надежде на получение помощи в обработке данных и при принятии решения. И часто — безуспешно.
, В чем же причины возникновения такой ситуации?
Первая причина — некомпетентность исследователей в вопросах обработки данных — влияет прежде всего на качество использования существующего математического обеспечения. Такая некомпетентность проявляется дважды. Первый раз — при выборе метода обработки уже полученных данных. Как будет показано ниже, неверный выбор метода при наличии нескольких конкурирующих версий может существенно повлиять на результат. К тому же, как показывает практика, пользователи предпочитают простейшие методы обработки и часто не могут решить поставленную задачу не из-за отсутствия подходящего алгоритма, а из-за незнания того, что именно этот алгоритм предназначен для решения их задачи. Такая ситуация является также следствием низкого качества описаний библиотечных программ, понятных лишь людям с хорошей математической и специальной подготовкой. Второй раз —- некомпетентность в области обработки данных проявляется при этапе интерпретации полученных результатов. Успешно такую интерпретацию может проводить лишь человек (или коллектив), хорошо знающий как природу исходных данных, так и методы их обработки. В настоящее время эти условия, как правило, отсутствуют, что часто приводит к неверным выводам из верных результатов и, как следствие, к неправильной постановке дальнейших исследований. Вера исследователей в вычислительную технику настолько сильна, что иногда интерпретации подвергаются результаты даже явно ошибочные, причем как курьез можно отметить, что именно эти результаты удовлетворяют исследователей в большей степени, чем полученные в дальнейшем достоверные результаты.
Второй причиной является слабое использование априорной информации и интуиции исследователя. Обработка данных даже в диалоговом режиме предполагает, как правило, принятие единственного решения, являющегося результатом работы некоторого алгоритма. При этом пользователь, являющийся высококвалифицированным специалистом в своей области и обладающий большим объемом неформализуемых знаний и богатым опытом, лишается возможности применить свои способности при выборе решения из множества альтернативных, но близких с позиций установленного формального критерия. Поскольку формализовать профессиональные знания исследователя зачастую не удается, они оказываются либо отброшенными, либо использованными не по назначению при анализе и интерпретации того решения, которое уже было принято ЭВМ без учета этих знаний. Следует подчеркнуть, что такая ситуация является общим правилом. Возможности человека практически не используются в СОД, в ЭВМ же вводится очень ограниченная информация о решаемой задаче.
Третьей причиной, не позволяющей ученому (неспециалисту в области вычислительной техники) эффективно взаимодействовать с ЭВМ, является сложность доступа к существующему математическому обеспечению как в области обработки данных, так и при решении других прикладных задач. В настоящее время пользователь ЭВМ должен обязательно владеть, по крайней мере, одним из языков программирования высокого уровня (ALGOL-60, FORTRAN), для того чтобы иметь возможность пользоваться стандартным математическим обеспечением и библиотечными программами. Для доступа к библиотечным модулям пользователь вынужден писать свои собственные головные программы, самостоятельно отлаживать их и запускать в счет. Учитывая неквалифицированность в программировании большинства исследователей из области естественных наук, затраты времени на написание, подготовку и отладку программ получаются огромными.
Наконец, следует отметить, что в последние годы наметилась устойчивая тенденция возрастания роли ЭВМ в задачах, решение которых не связано с нахождением только каких-либо численных характеристик. Таковыми, в частности, являются большинство задач обработки и представления данных, полученных в результате исследований и экспериментов в социологии, экономике, биологии, медицине и т. п. Одновременно с расширением круга задач, с которыми научные работники выходят на ЭВМ, изменился и характер информации, которую требуется обработать и осмыслить. В настоящее время на обработку поступает большой объем экспериментальных данных, представленных не только в количественном, но и в качественном виде — в форме отношений, описаний, текстов. Однако в библиотеках большинства вычислительных центров, не говоря уже о стандартном математическом обеспечении, нет даже минимального круга совместимых, легко доступных любому пользователю алгоритмов, пригодных для решения традиционных задач обработки — статистического анализа, класси-
фикации, распознавания, информационного поиска и т. д. на любых типах данных. Таким образом, отсутствие необходимого математического обеспечения приводит к тому, что некоторые классы экспериментальных данных в настоящее время вообще не могут быть обработаны на ЭВМ.
Из вышеизложенного следует, что чрезвычайно актуальной является задача создания и распространения математического обеспечения для обработки данных, которое позволило бы пользователям-непрограммистам, работающим в различных областях науки и техники, быстро и эффективно обрабатывать на ЭВМ данные, полностью использовать в процессе обработки свои профессиональные знания и правильно интерпретировать получаемые результаты. Исходя из этого, в данной работе авторы преследуют две основные цели.
Во-первых, изложить достаточное для практических потребностей число алгоритмов анализа данных на основе разработанного структурного подхода. В этом отношении работа представляет собой пособие по использованию современных машинных методов обработки экспериментальных данных и отличается от других аналогичных работ простотой изложения и большей степенью подробности, необходимой практическому пользователю. Введение понятия структуры данных дает возможность с единых позиций рассматривать возможности различных алгоритмов и формировать специфический критерий «группирования» данных, независимый от типов последних.
Во-вторых, дать практическому пользователю, не имеющему специальной подготовки в области обработки экспериментальных данных, доступный «инструмент» для реальных исследований в виде системы взаимосвязанных программ, для использования которой не требуется знание языков программирования.
Г ла в а 1
СТРУКТУРНЫЙ ПОДХОД К ОБРАБОТКЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ
Основные трудности при обработке экспериментальных данных связаны прежде всего с необходимостью установить достоверность тех или иных априорных предположенийд принятых исследователями и используемых в том или ином виде в математических моделяхд на которых основываются алгоритмы обработки данных. Именно желание приблизить различные статистические методы анализа данных к исследователю породило огромное количество частных схем решения задач обработки (см.д напримерд различные варианты определения коэффициентов корреляции в 111). В то же время для обоснованного выбора одной схемы при решении конкретной задачи требуются уже знания профессионала в области обработки данных, которыми чаще всего не обладает исследователь предметной области. Приведем пример [11.
Требовалось установить факт влияния на выздоровление больных действия определенного препарата. После проведения курса лечения у 450 человек оказалось, что статистической зависимости между лечением и выздоровлением не наблюдается, и был сделан вывод о неэффективности препарата. Впоследствии в результате проверки (на тех же данных экспериментов) зависимости выздоровления отдельно по группе мужчин и женщин оказалось, что выраженная зависимость существует в обоих случаях, только по группе мужчин она положительна (препарат эффективен), а по группе женщин — отрицательна (препарат вреден). Если бы исследователь предварительно проанализировал однородность своей выборкид т. е. решил бы задачу классификации, или же выдвинул гипотезу неоднородности исходя из своего профессионального медицинского опыта, верное решение задачи могло быть получено сразу.
Обобщая этот маленький пример, можно сказать, что возможность автоматизации обработки экспериментальных данных связана с существованием объективных зависимостей между исследуемыми явлениями (процессами) и данными, косвенно эти явления (процессы) отражающими. Вся сложность проблемы обработки данных как раз и состоит в этой «косвенности», которая требует различных математических приемов для определения сути исследуемого явления, т. е. описания его с помощью той или иной математической модели. В то же время априорно, как правило, не известнод какая из математических моделей наиболее подходит для данной задачи. Поэтому большинство известных в настоящее
время пакетов прикладных программ обработки данных (например, ОТЭКС, BMDP, SSP) представляют собой с позиций пользователей неупорядоченное множество алгоритмов, каждый из которых в той или иной мере отражает определенную математическую схему (модель) обработки данных, о которой исследователю практически ничего не известно в силу первой и четвертой причин, рассмотренных в предисловии. Использование таких пакетов становится похожим на лотерею, когда успех исследования зависит от того, подходящая ли схема обработки была выбрана изначально.
Авторы считают, что начальный этап работы автоматизированной системы обработки данных должен быть подобен набору сит с разными ячейками (отсюда и название разработанной системы SITO\ когда данные «просеиваются» через вполне определенную последовательность алгоритмов, математические модели которых, взаимно перекрываясь, позволяют исследователю постепенно уточнять свои знания о данных, а значит, и об изучаемом явлении. Основной посылкой при этом является предположение, что взаимосвязи в исследуемом явлении отражаются через структуру данных, которая в свою очередь может быть представлена некоторой пространственной конфигурацией точек. В данной главе описывается подход к анализу такой структуры на ЭВМ.
. Основные определения
В настоящее время методы обработки экспериментальных данных используются все более широким кругом ученых и специалистов, работающих в разных областях науки и техники. В силу различной специфики исследований в этих областях данные экспериментов (испытаний, наблюдений) существуют в различных формах, отличаясь как по уровню формализации (описание на естественном языке, измерение при помощи приборов), так и по способу представления (графический, текстовой, числовой . . .). Так, например, данные геологических изысканий существуют в виде полевого дневника геолога, заполняемого в экспедиционных условиях; данные медицинских исследований — в виде индиви- « дуальных карт больных; данные физического эксперимента — в виде графиков, таблиц и т. д.
Под экспериментальными данными, или, более широко, под данными научных исследований, будем понимать совокупность описаний, объектов некоторого множества Е, Е=^еи . . ., е^. Целью анализа данных являются выводы о взаимоотношениях объектов из Е, сведения о которых могут и не содержаться в явном виде в исходной информации. Отметим, что форма представления данных, т. е. описаний объектов, может быть самой различной. Например, науки, использующие точные измерительные приборы (физика, астрономия, химия), как правило, обеспечивают представление данных в виде формализованных числовых таблиц, науки же описательного характера (история, социология) дают
материал на обработку в виде текстов и таблиц качественных и количественных характеристик процессов.
Тем не менее большинство разработанных к настоящему вре- < мени методов обработки данных научных исследований ориентировано на анализ информации, представленной лишь в количественной форме, в виде набора значений определенных признаков для каждого объекта.
Такое табличное представление является достаточно широко используемым. С его помощью задаются исходные данные при решении задач распознавания образов, автоматической классификации, хранения и поиска информации (реляционные базы данных), прогнозирования (пропусков в данных, временных рядов) и т. п.
Зафиксировав множество признаков, получим эмпирическую таблицу экспериментальных данных (ТЭД), состоящую из N (по числу объектов) строк и р (по числу признаков) столбцов. На пересечении t-й строки и /-го столбца ТЭД находится значение /-го признака для t-го объекта. Оно может быть выражено числом (например, для признаков «вес», «сила ветра в баллах», «номер специальности»), словами естественного языка («цвет», «адрес места жительства») или абстрактными символами («изображение предмета», «торговая марка»).
После составления эмпирической ТЭД наступает этап приведения ее к стандартному виду, пригодному для ввода и математической обработки в ЭВМ. Основная 'цель при этом состоит в переходе от описательных и абстрактных значений признаков к числовому представлению. Такой процесс называется шкалированием. Он является предметом изучения теории измерений [2, 3]. После | его завершения ТЭД оказывается окончательно формализованной \ и представленной матрицей pN чисел — шкальных значений. ТЭД:xNV^Y t-lJV, где ^ -
шкальное значение /-го признака для t-го объекта.
Наиболее широко в практике используются три основных типа | шкал, с помощью которых удается описать как количественные, так и качественные характеристики исследуемых объектов. Опре- | деления шкал оказывается удобным давать через понятие допусти- | мых преобразований, т. е. таких преобразований шкальных зна- I чений, при которых не нарушаются рассматриваемые между объек- 1 тами отношения.
Определение. Отображение ф : Е -> Д1 называется шкалой наименований, если его допустимым преобразованием является взаимнооднозначное отображение ^ : ф (Е) -> Д1.
В этом случае шкальные значения играют роль лишь имен объектов. Единственным отношением, определенным на шкале наименований, является равенство, которое соответствует отношению эквивалентности (~) объектов из Е, поэтому если /-й признак в ТЭД замерен в шкале наименований, то по этому приз- ■ наку ^ ^ei: тогда и только тогда, когда x^=x^Xs Данное отношение эквивалентности индуцирует хца Е разбиение на непересе-
кающиеся классы, называемые классами эквивалентности. Объекты, входящие в один класс эквивалентности, неразличимы по значениям j-ro признака. Примем, что различные классы эквивалентности соответствуют различным градациям шкалы наименований, т. е. различным значениям признака х^Х
Признаки, замеренные в шкале наименований, называются классификационными, или номинальными; их примерами являются «профессия», «торговая марка» и т. д.
Определение. Отображение ф : Е —> R1 называется шкалой порядка, если его допустимым преобразованием является монотонно возрастающее непрерывное отображение ^2 : ф (^) -* R1» На шкале порядка определены отношения равенства и порядка. Первое из них соответствует эквивалентности эмпирических объектов, второе — порядку (-<). Если j-й признак в ТЭД замерен в шкале порядка, то по этому признаку ei — ек тогда и только тогда, когда яр=яр и е. -< ек1 если и только если х^ < х^. Отношение (~) индуцирует разбиение Е на классы эквивалентности, а отношение (■<) задает линейный порядок на множестве классов эквивалентности. Соответствующее отношение < задает порядок на множестве различных значений признака х^Х которые будем называть градациями шкалы порядка.
Признаки, замеренные в шкале порядка, называются качественными, или ранговыми; их примерами служат «сила ветра в баллах», «оценка на экзамене», «образование» и т. д.
Определение. Отображение ф (5) -> R1 называется шкалой интервалов (а), отношений (б), разностей (в) или абсолютной шкалой (г), если его допустимым преобразованием является положительное линейное преобразование вида:
Чз : Ф (Я) -> яф (5) + р,
где (а) а^ЯЛ РЕ^1; (б) ^№, Р = 0; (в) а = 0, рЕ#1
и (г) а = 1, р = 0.
Указанные шкалы, а также признаки, которые в них измеряются, называются количественными. Количественные шкалы ° являйся самыми «богатыми» по той информации, которую они дают об отношениях объектов множества Е.
Примером признака, измеренного в абсолютной шкале, может служить «количество элементов некоторого множества», «адрес в памяти ЭВМ»; в шкале отношений измеряются, например, вес, длина; в шкале интервалов — время, температура и т. д. При решении прикладных задач будем предполагать, что в общем случае признаки х^\ . . ., хкр>> ТЭД представлены шкалами различных типов: наименований, порядка, количественными.
Если рассматривать признаки как оси системы координат в р-мерном пространстве, то каждый объект из Е с описанием ^—(^^ • • •> ^W) можно интерпретировать как точку с координатами (яр, . . ., я(р>) в этом пространстве. Пространство разно-
типных признаков размерности р будем называть пространством описания, или //-пространством, и обозначать Пр. Частным случаем его является пространство количественных признаков Rp.
1.2. Структуры данных
При автоматизации научных исследований данные прежде всего должны отражать существующую модель предметной (исследуемой) области реального мира. Очевидно, в этом случае структура изучаемого явления должна найти свое отражение в структуре данных, для i’oro чтобы по ней можно было делать выводы о закономерностях, присущих реальности. Отметим, что если структура данных (СД) адекватно отражает предметную область реального мира, то на ее основе возможно решение многих исследуемых проблем и, наоборот, если данным навязана конкретная, узкая стру1 * тура, то они могут быть вообще непригодны для анализа. Так, предположив, например, нормальность распределения некоторой характеристики (т. е. ограничив СД заранее нормальным законом), можно прийти к неверным выводам по всему комплексу изучаемых ' вопросов, если исходное предположение о законе распределения ] было неверно.I
Таким образом, встает задача выявления и исследования струк- I туры анализируемых данных. В контексте данной работы (по- I скольку анализируются не только количественные, но и качественные, описательные характеристики объектов множества £) под СД i будем понимать совокупность описаний объектов и отношений 1 между этими описаниями. Будем считать, что характеристики, кото- ■ рыми описываются объекты 5, т. е. множество признаков в ТЭД, ■ адекватно отражают существо решаемой задачи. Тогда исследо- । вание СД сводится к анализу пространственной структуры мно- j жества точек — образов объектов Е в //-пространстве, поскольку | отношения между объектами Е реализуются через значения признаков — координат объектов в Пр./
Как правило, целью анализа СД является построение магматической модели исследуемого явления в виде функционального, статистического или иного описания. Такая модель позволяет заменить экспериментальные данные как способ представления явления на некоторый более общий закон, из которого исходные ? данные вытекают уже как частный случай. Следовательно, СД j можно рассматривать как пространственное выражение закономер- ; ностей, которые эти данные представляют, или, иначе, как пред- j ставление данных в виде некоторого описания, характеризующего расположение объектов Е в //-пространстве [4, 5].
Поскольку исследуемое явление может описываться несколь- * кими различными моделями, анализ СД содержит, как правило, два необходимых этапа.
Разбиение множества объектов Е на непересекающиеся классы ^ii • • ®kt каждый из которых соответствует определенной мо- I
дели исследуемого явления или одной части исследуемого явления. Эта задача решается, как правило, методами автоматической классификации или распознавания образов.
И. Поиск законов, описывающих поведение объектов каждого из классов Sx, . . ., S7. Эта задача может решаться самыми разнообразными методами: например, при помощи регрессионного, факторного анализов; интерполяции, аппроксимации; методов снижения размерности и т. д.
Отметим, что вследствие естественной иерархичности структуры явлений реального мира иерархической же структурой зачастую обладают и экспериментальные данные, поэтому указанные этапы анализа СД могут повторяться для выявления собственных структур множеств St, • . м Sk и т. д.
Рассмотрим более подробно первый этап анализа СД. На нем ля получения разбиения Е следует применить некоторый мате- ? этический метод (алгоритм) Н. Выбор метода уже сам по себе на- тладывает на данные в пространстве описания некоторую структуру (например, метрику), которая может в принципе исказить исходную СД. Различные методы классификации (распознавания) могут давать в результате различные разбиения Е на классы, поэтому встает задача обоснованного выбора либо метода классификации, либо одного из полученных разбиений. Здесь большую роль могут сыграть априорные знания исследователя и его профессиональный опыт. Они оказываются, как правило, полезными при анализе разбиения Е при помощи различных математических методов.
Введем подмножества At
U At = E
как субъективную оценку исследователем количества частей I объемом [XJ, на которое должно быть классифицировано множество Е. Да^гее введем подмножества Sk1 к—1ц т, где т — объективное количество частей объемом |S7J, на которое может быть классифицировано множество Е с помощью некоторого набора математических правил Н при заданном пространстве описания.
Определение. Подклассом будем понимать объединение объектов исследования в подмножество Sk с помощью того или иного выбранного метода. В общем случае состав и количество класов могут изменяться в зависимости от метода обработки, т. е. от выбора решающего правила.
Определение. Под образом А. будем понимать объеди- ление объектов множества Е в I групп, соответствующих субъективной оценке исследователя.
Таким образом, здесь появляется возможность учета целевой установки, или, более точно, целевой функции исследователя, ко- торую определим как проблему согласования классификации
Sk с ее полезностью с точки зрения «учителя» без каких-либо априорных добавлений к исходной совокупности сведений.
Итак, основным математическим аспектом решения, исходя из определений, является поиск допустимого алгоритма (системы алгоритмов) при согласовании А. и Sk. *
Для уяснения роли А . рассмотрим варианты возможной взаимосвязи между А^ и 8к;
образы разделяются полностью:
U Ai==E; USk = E;гк
‘ 4Пл/ = 0» ^Г1^/ = 0, при i^/;
образы имеют области пересечения:
.UA^E; ^Sk^E}'
‘iк
Зг, / А{ П А* ф 0; 5/П^у = 0 при i^h
Первая ситуация возникает в следующих случаях:
Ai = Sk, 1 = к = ~1 = Г~^^(1.1)
At = (J Sk, г = 1, I; к = 1, т\ 1 <Ь<с <т.(1.2)
Более сложная вторая ситуация отражается соотношением
Л^ 7^ J Sk, i = 1, Z; к = 1, т; 1 < b < с < т.(1-3)
ь '
Случай (1.1) соответствует частному случаю, когда правило принятия решения удовлетворяет исследователя и на основе выбранного математического аппарата обеспечивает взаимно однозначную связь между классами и образами..,
Второй случай (1. 2) является более сложным вариантом, показывающим необходимость компоновки образа из различных классов. Этот случай указывает на всегда имеющуюся возможность введения аппроксимаций высшего порядка, которые в принципе могут отражать собой более глубокую дифференциацию данных, чем это необходимо для конкретной задачи. Смысловая интерпретация классов, составляющих конкретный образ, является обязательным этапом серьезного исследования.
Случай (1. 3) является наиболее общим. Он представляет собой ситуацию, когда окончательное решение задачи обработки данных возможно Только при введении исследователем дополнительных сведений илИ, что не всегда принимается во внимание, корректировки своих субъективных представлений о сущности искомого результата At. Именно этот вариант наиболее типичен для обработки экспериментальных данных и обосновывает необходимость введения какоА-либо формы диалогового режима.
Дадим графическую интерпретации! приведенных ситуаций.
Рис. 1.1. Возможные варианты взаимосвязей образов (А^ и классов (S^. а — случай (1.^1); б — случай (1. 2); в — случай (1. 3).
На рис. 1.1, а представлен случай (1. 1). В приведенном примере Tn=Z=4. Следовательно, А^8к.
Более сложная ситуация (1. 2) иллюстрируется рис. 1.1, б. В этом случае Z=2, т=4. Следовательно, вниманию исследователя должны быть представлены следующие варианты:
V • • * и т. д.V • • * и т. д./^1 — 5Х (J ^гА \ Л2 = S3 (J Sj
V • • * и т. д.
V • • * и т. д.
Случай (1. 3) может быть интерпретирован, следующим образом (рис. 1.1, в\. математический аппарат Н и априорная информация исследователя А. не согласованы между собой. Следовательно, на^о либо изменить пространство описания Пр, либо искать другие решающие правила Я, либо исследовать физический смысл полученного группирования и внести коррективы в априорное предположение исследователя об образе Л..
Отметим, что такое разнообразие альтернатив исследования является в какой-то мере учетом поискового характера решений в исследовательском процессе, приводящего к необходимости постановки управляемого эксперимента. Грубейшей ошибкой следует считать восприятие как догмы результатов работы какого-либо алгоритма классификации без творческого осмысления специалистом полученных результатов.
Выделение классов, т. е. объединение объектов Е в возможно более однородные группы, в общем случае состоит в определении семейства частей (подмножеств) Sk множества Es образующих покрытие этого множества. Задача состоит в том, чтобы из всех воз-
можных покрытий множества Е выбрать такое, которое окажется наиболее согласованным с информацией исследователя о допустимых разбиениях Av
Разобьем множество Е из N элементов на та подмножеств Slt . . ., Sm так, что
Sfc^0, fc = lT^; $#П$/ = 0 при i^/; U S^E.
J fc=l
Рассматривая выбор из возможных разбиений как комбинаторную задачу, отметим, что задание образов А^ или правил Н можно интерпретировать как сужение комбинаторного перебора.
Итак, если возникает задача: сколько элементов, принадлежащих конечному множеству,^обладает некоторым свойством или некоторой совокупностью свойств, то это задача пересчета. Если же при этом требуется список элементов, обладающих этим свойством (или свойствами), то приходим к задаче перечисления. Однако при большом числе элементов (объектов) множества Е решение задачи перечисления прямым комбинаторным методом приводит к большому объему вычислений. Поэтому-то на практике так часто и решают задачу структуризации. В этом случае вместо соответствующего перечисления отдельных объектов выделяются подмножества 8к и правила вхождения элементов (объектов) множества Е в 8^ с помощью какого-либо соотношения (критерия Н).
Интерпретация структуризации как экономного описания экспериментальных данных позволяет ввести ограничение сверху, т. е. исключить из рассмотрения слишком «мелкие» разбиения. При этом появляется возможность априорного ограничения числа подмножеств, или, иными словами, выделения максимального числа покрытий множества Е, внутри которого возможен комбинаторный выбор.
Практически приходим к оптимизационной задаче — нахождению минимального числа тп классов 8^ множества Е при условии максимальной «плотности» 8^. Под плотностью 8к понимается отнд- шение числа объектов, принадлежащих выделенному подмножеству, к объему, который оно занимает в пространстве описания: /
(L4)
Тогда задача выявления СД может быть представлена как выбор таких разбиений {(^^} множества Е, при котором получаем минимальное число классов максимальной плотности 8А. Свяжем с каждым допустимым разбиением <^i величину средней плотности
В этом случае разбиения {©Р*} можно искать, например, как одновременно удовлетворяющие условиям:
6 (о^м) = max В (^^» (1 • 5)
m (o^J = mln тп (^). (1*6)
Выражения (1. 5), (1. 6) позволяют еще более сузить перебор.
Описанный комбинаторный принцип структуризации дает возможность проводить сопоставительный анализ между отдельными объектами, составляющими образы А^ и классы Sk, что является необходимым условием организации диалогового режима при создании интерактивной системы обработки данных. Теоретикомножественный подход к решению задач структуризации и упорядочения объектов, использующий в своей основе принципы комбинаторной геометрии, позволяет ввести и использовать в качестве критерия упорядочения Sk величину условной «плотности» 8fc. Отсюда следует теоретико-множественная интерпретация задачи упорядочения и классификации как взаимно однозначного отображения множества объектов исследования Е в множество допустимых решений У, которое определяется в пространстве Я1. Такое определение дает возможность визуального восприятия объектов Ет заданных в многомерном пространстве описания, т. е. Е -> У £ В>.
Следует заметить, что в любых схемах принятия решения всегда имеет место сведение многокритериального (многопараметрического) описания задачи к однопараметрическому, так как пространство Я1 — числовая шкала — обладает естественным и однозначным отношением порядка.
По сути дела, вся проблема заключается в том, по какой математической схеме реализуется подобная редукция. Так, например, в задачах распознавания образов байесовское решающее правило для определения принадлежности вектора я(1), . . ., х<р) к одному из двух образов Аи А2 описывается выражением:
j^\ ..., х^!А^ Л
..., xWjA^ 55
где / (•) — условная функция плотности распределения образа; X £ Я1 — пороговое значение, равное отношению априорных вероятностей появления объектов образов А2иАп т. е. окончательное решение принимается в одномерном пространстве.
На рис. 1.2, а изображен случай распознавания образов, т. е. некоторый результат отображения Е -> У £ Я1, когда все объекты Аг отображаются, к примеру, в левую часть, а все прочие — в правую. На рис. 1.2, б рассматривается случай автоматической классификации^ когда решение о группировании принимается по какому-либо критерию, так или иначе связанному с оценкой критерия «плотности» 8 и установления порога отсечки 80. Именно необходимость выбора значения порога отсечки 80 или 8' и определяем возможную неоднозначность решения задачи классификации. Приведенная на рис. 1.2, а, б условная интерпретация задач распознавания и классификации показывает роль субъективной классификации, задаваемой «учителем» в виде зон принятия решения на Я1, а выбор порога 80 — роль формального математического критерия.
Рис. 1.2. Принятие решения при одномерном пространстве. а — распознавание образов; б — автоматическая классификация; в — упорядочение.
На рис. 1.2, в показана условная интерпретация задачи функционального упорядочения, возникающей, например, при оптимизации на равномерной сетке в Пр. Здесь 8=F (ср (я11), . . ., х^^), где F — оптимизируемая функция; ср : Пр -> 7?1 — функция отображения.
Приведенная выше интерпретация позволяет анализировать с единых позиций различные математические схемы обработки данных, исследуя ^свойства подобных отображений и ограничения их применения.
§1.3. Отображение структуры данных в память ЭВМ
Рассмотрим вопросы, возникающие при анализе ОД при помощи ЭВМ. Каждый объект множества Е является конструктивным, поскольку их описания могут быть представлены конечными конфигурациями знаков (в данном случае — набором признаков). Известно [6], что любой конструктивный объект можно закодировать словом в подходящем алфавите. Дальнейшая редукция связана с перенумерацией слов алфавита, например, путем лексико-графического упорядочения. Таким образом, в принципе достаточно рассматривать отображение объектов множества Е на натуральные (в общем случае рациональные) числа, адекватно представляющие адреса ячеек памяти ЭВМ. Однако любая аппаратура и средства обработки и хранения данных обладают некоторой собственной структурой, поэтому на информацию, помещенную в память ЭВМ, будут наложены некоторые дополнительные отношения, и вопрос состоит в том, чтобы при этом не оказалась нарушенной собственно СД.
Прежде всего отметим, что ЭВМ является устройством, ис-
пользующим дискретное представление информации, в силу чего оказывается невозможным хранение данных с произвольной степенью точности. Поэтому следует учитывать возможность возникновения ситуаций, когда СД в принципе не может быть без нарушений представлена в данной вычислительной машине.
Второй существенный вопрос состоит в том, каким образом хранить данные в ЭВМ и как способ хранения описаний объектов и отношений между ними влияет на возможность и скорость получения решения поставленной задачи. Например, отношение между объектами может задаваться: перечислением всех своих возможных значений (хранение матрицы попарных расстояний в задаче автоматической классификации); списком отношений, реализованных для каждого объекта (цепи, инвертированные списки при хранении информационных массивов); непосредственным вычислением требуемого отношения путем перебора всех объектов (поиск «ближайшего соседа» для принятия решения по прецеденту). Отсюда возникает задача нахождения такого отображения множества описаний объектов X в память ЭВМ, чтобы обеспечивалось быстрое вычисление (или поиск значений) требуемых отношений для любых объектов. Выигрыш при этом может быть достигнут как за счет сокращения объема требуемой памяти, так и за счет ускорения обработки вследствие уменьшения числа переборных операций. Как указывается в [7J, «в идеале структура машины должна соответствовать естественной структуре задачи». Выполнение этого требования в случае задач обработки данных означало бы такое размещение информации в памяти, что все отношения между описаниями объектов множества Е следовали бы не из содержания описаний, а непосредственно из их положения в запоминающем устройстве. Таким образом, была бы обеспечена изоморфность структуры представления данных в памяти и структуры, задаваемой на множестве объектов исследуемыми отношениями. Заметим, что в этом случае описания объектов определяют не содержание информации в памяти, а лишь ее расположение, поэтому смысловую нагрузку, соответствующую описанию каждого объекта, несет собственно место хранения информации об объекте, а значит, эта информация может быть минимальной — в пределе это есть лишь номер (имя) объекта, служащий для его идентификации.
В то же время большинство современных ЭВМ имеют запоминающие устройства фиксированной структуры (оперативную память, магнитные ленты, диски), доступ к информации в которых осуществляется путем задания адресов единиц памяти. Как правило, такими единицами являются байты или целые ячейки (слова памяти). Обычно адреса — положительные целые числа, и пох скольку адресация задает взаимно однозначное соответствие между единицами памяти и отрезком натурального ряда чисел, она придает памяти структуру абсолютной шкалы. Следствием наложения этой структуры на СД в памяти ЭВМ является возможность доступа к данным лишь через вычисление адреса (координаты) единицы памяти, в которой хранится требуемая информация. Таким
2 К В. Александров, Н. Д. Горский2 К В. Александров, Н. Д. ГорскийНАУЧНАЯ Б8БЖжГ~;
2 К В. Александров, Н. Д. Горский
2 К В. Александров, Н. Д. Горский
О. А.У. fcfaggrg ( МГУ?
образом, можно говорить об одномерности представления в ЭВМ любой СД и, следовательно, о необходимости построения отобра- жения^СД в одномерную шкалу, являющуюся моделью памяти ЭВМ.
^Такое отображение, во-первых, задает на множестве Е отношение линейного порядка, что дает возможность организовывать быстрый поиск и обработку данных в ЭВМ, а, во-вторых, позволяет визуализировать СД для человека с тем, чтобы использовать его возможности в процессе решения задачи для проведения сопоставительного анализа.
Ниже описаны алгоритмы, позволяющие получать такие отображения, а также решать при их помощи задачи выделения и анализа структуры исследуемых данных.
^Резюмировав изложенное в данной главе, можно предложить общую схему анализа данных в рамках структурного метода.
Формиррвание ТЭД —• составление описаний исследуемых объектов X={^)}.
Формулировка знаний исследователя о СД на текущий момент в виде задания образов At или использование этих знаний при выборе математического метода и алгоритма обработки Я.
Применение алгоритмов анализа СД, в том числе: отображение данных в пространства низшей размерности (Rp, р=1, 2, 3) с целью визуального анализа структуры V или ее эффективного представления в ЭВМ; получение различных вариантов разбиения множества Е на однородные классы (S^; отбрасывание неинформативных признаков.
Сопоставительный анализ ^At и SJ и уточнение знаний ис следователя о СД,м если требуется, то переход к очередному циклу анализа СД (п. 2).
Окончательное описание СД (У), в том числе: выбор минимального числа признаков и (или) объектов, дающих возможность получить ту же структуру* V* на Е, что и исходное описание X; описание элементов Sk полученной СД при помощи вероятностных или детерминистских законов F; выбор минимального числа объектов и (или) признаков, позволяющих получить то же описание F* каждого элемента СД (Sk1 k^i^mY что и все объекты (признаки) 8^
Кроме уже перечисленных в § 2 задач распознавания, классификации, упорядочения, из приведенной схемы легко понять пути решения с помощью структурного метода таких задач, как прогнозирование и принятие решения методом «прецедента», когда, определив местоположение объекта исследования в структуре У, ему приписывают (присваивают) известные свойства «ближайшего» по структуре объекта. Решается также задача создания избира тельного банка данных с ассоциативным доступом, когда ТЭД пополняется только за счет объектов исследования, не уклады-
♦ Под словами «получить ту же структуру» понимается возможность алгоритмически восстановить структуру с точностью до наперед заданного конечного отклонения / (У, У*) < е. х
вающихся в найденную структуру У, а в качестве ответа на запрос выдается не только описание одного объекта, но и ассоциированные с ними в структуре объекты с «похожими» описаниями. Более подробно вопросы, связанные с ассоциативным хранением данных, рассмотрены авторами в [8].
Решение еще одной возможной задачи —- восстановление неизвестных значений признаков в ТЭД. Ее общая схема такова: 1) определение структуры решения У по всем объектам ТЭД без учета неполностью имеющихся признаков; 2) присваивание отсутствующим значениям признаков z-ro объекта известных значений признаков ближайшего в структуре объекта; 3) снова определение структуры решения У2 по всем объектам с^учетом всех признаков; 4) определение структуры решения У3 по тем объектам, которые имели значения всех признаков; 5) если структура У8 вкладывается в структуру У2, т. е. взаимное расположение объектов в У3 совпадает с их расположением в У2, то восстановление пропусков в ТЭД окончено, в противном случае возможно использование итерационной процедуры, определяемой всеми этими пунктами.
^В соответствии с приведенной выше общей схемой решения задач обработки данных в рамках структурного подхода в ЛНИВЦ АН СССР создана система анализа разнотипных данных SITO^ включающая в себя различные алгоритмы обработки — как уже известные, так и новые, разработанные при участии авторов настоящей работы.
Глава 2
АЛГОРИТМЫ ИССЛЕДОВАНИЯ ВЗАИМОЗАВИСИМОСТИ ПРИЗНАКОВ И СНИЖЕНИЯ РАЗМЕРНОСТИ ПРОСТРАНСТВА ОПИСАНИЯ
Во многих исследовательских работах исходное число р замеряемых на объектах признаков довольно велико, но тем не менее эти наблюдения, следует обработать и осмыслить. Поэтому исследователь, зарайее не представляя себе, какие признаки будут наиболее полезны для классификации, в качестве описания объекта берет весь набор характеристик объекта, имеющийся в его распоряжении. Иногда высказывается мнение, что следует составлять «полное описание» объектов, которое было бы пригодно для любой их классификации. Но такое полное описание получить невозможно, так как количество свойств любого реального объекта бесконечно, а выбор конечного, но избыточного числа признаков приводит к необоснованным затратам. Во-первых, поскольку обработка данных осуществляется при помощи ЭВМ, увеличение числа признаков приведет к большим затратам машинного времени и как следствие к ^удорожанию исследования. Например, время вычисления расстояния между объектами по Евклиду зависит линейно от р, а время вычисления расстояния Махаланобиса —- экспоненциально. Во-вторых, степень представительности выборки одного и того же объема обратно пропорциональна размерности пространства признаков. В случаях малых объемов обучающих выборок добавление неинформативных признаков может ухудшить качество обработки данных. В-третьих, при большой размерности пространства описания теряется наглядность представления данных, которая особенно важна при использовании диалоговых систем обработки. Затрудняется также интерпретация полученных результатов.
Следовательно, сокращение числа признаков р до р' </р позволяет решить три основные задачи: ,
повышение ' эффективности исследования за счет более рационального использования возможностей машинной обработки;
повышение статистической достоверности выборки, предъявляемой для классификации; *
обеспечение большей наглядности и простоты интерпретации результатов. Здесь особенно важны случаи, когда р' ^ 3, т. е. возможен непосредственный визуальный анализ пространства описания. ’
В общем виде новые признаки (обозначим их уи\ где /=1, 2, . . . , р') можно представить в виде функций от старых признаков яи), где /=1, 2, . . . , р:
^cd =/1 (^d^Ж(Р));
у(2) =/2 (ж(1), ..., ж^^;
У^={р. (Ж(1), х^.
Простейшим случаем зависимости (2.1) является отбрасывание некоторых признаков, т. е. у^=х^\ где 1=к, т, . . . — номера неотброшенных признаков. Очевидно г ^ р.
Совокупность У=(у(1), . . ., у^) образует новое признаковое пространство У. В этом пространстве каждый объект по-прежнему будет представлен многомерным вектором со следующими координатами:
У7с = <Ук^ У^Р'^ь где к=Л, 2, N.
Для определения конкретного вида зависимости (2.1) к новым признакам уа\ у^\ . . . , у^рп предъявляют требования, составляемые обычно с таким расчетом, чтобы новая система признаков обладала некоторыми удобными для исследователя свойствами, например наибольшей информативностью с учетом разбиения множества объектов на классы, или чтобы в новом признаковом пространстве наименее искажалась геометрическая структура данных и т. п.
Целью настоящей главы является изложение методов отображения структуры данных в признаковое пространство более низкой размерности р' < р. В первых трех параграфах описываются классические методы главных компонент и факторного анализа, причем делается попытка обобщить их на случай разнотипных признаков за счет установления порядка градаций шкал наименований на этапе корреляционного анализа (§ 2.1). В § 2.4, 2.5 рассмотрены новые методы отображения данных в пространство низшей размерности, пригодные для работы с разнотипными данными. Эти методы были разработаны сотрудниками ЛНИВЦ АН СССР в 1976—1979 гг. [9, 10], они позволяют визуализировать СД и экономно представлять ее в памяти ЭВМ для дальнейшей обработки.
В настоящей и следующей главах описание каждого алгоритма обработки ведется по единому плану: вначале дается краткое изложение теоретических основ метода и круга задач, при решении которых он применим на практике, затем описывается алгоритмическая модель; программа на языке ALGOL-60 и, наконец, пример обработки конкретных данных.
Все приведенные ниже программы могут работать в трех модификациях:
в составе системы SITO под контролем соответствующих управляющих программ;
как самостоятельные модули, обмениваясь информацией через локальный банк данных (Л БД);
как полностью автономные ALGOL-процедуры.
Ниже приведены распечатки программ, соответствующие модификациям (а) или (б). Для получения модификации (в) необходимо либо все операторы ввода (вывода) массивов из ЛЁД (CHANGE (1, . . . );) заменить на операторы ввода (вывода) соответствующих массивов с внешних носителей в форме, принятой в используемом ALGOL-трансляторе, либо включить имена этих массивов в список формальных параметров процедуры, все же операторы (CHANGE (. . .);) исключить.
При использовании модификаций программ в виде автономных процедур в случае разнотипных данных обрабатываемая ТЭД должна быть составлена таким образом, чтобы сначала были 3t- даны все количественные признаки объектов, затем — все качественные и, наконец, — все классификационные. Следует также отметить, что все программы, распечатывающие номера объектов или признаков, используют массив номеров объектов (имя — COOT) или массив номеров признаков (имя — GR).
Для получения модификации (в) такой программы элементам этих массивов следует присвоить значения номеров объектов (от 1 до N) или признаков (от 1 до р).
. Корреляционный анализ для разнотипных признаков
Оценка коэффициентов корреляции для разнотипных признаков
Простой и довольно удобной характеристикой взаимозависимости признаков служит их коэффициент корреляции. Для признаков, замеренных в количественных шкалах, его оценка определяется следующим образом:
у
5 И*’-* ГО) ГО”-^))
У
^^)6(^•(2-2)
Здесь оценка среднего значения г-го признака
у
оценка дисперсии f-ro признака
(
у\
\ /
Если признаки х^ й х^ статистически нёзавйбйМЫ^ то й£ коэффициент корреляции равен нулю и, наоборот, отличие от нуля коэффициента корреляции свидетельствует о наличии статистической зависимости между признаками. Из (2.2) видно, что коэффициент корреляции тк1 и его оценка fkl являются мерой лишь линейной зависимости признаков, т. е. такой зависимости, когда при возрастании значений одного признака значения другого имеют тенденцию возрастать (убывать) по линейному закону. В частности, при линейной функциональной зависимости признаков &, I гк1 = +1. Равенство нулю гк1 свидетельствует об отсутствий линейной зависимости, однако говорить об отсутствии всякой зависимости между признаками в этом случае нельзя.
На практике матрицу коэффициентов корреляции R~\Ti^^ i=l, р, /=1, р используют для снижения размерности задачи обработки данных; она является основой для проведения факторного, регрессионного анализов и используется в методе главных компонент. Если рассматривать R как матрицу сходства признаков, то, используя иерархическую группировку (§ 3.1), можно находить группы сильно коррелированных признаков и, заменяя каждую такую группу одним признаком, также снижать размерность пространства описания.
^ Однако в большом количестве реальных задач признаки описываются шкалами разных типов и возникает необходимость нахождения аналогов коэффициентов корреляции в случае разнотипных признаков для того, чтобы можно было использовать методы обработки, основанные на анализе матрицы корреляций. Один из подходов к анализу взаимозависимости разнотипных признаков предложен в [11]. Рассмотрим его подробнее. Остановимся сначала на коэффициенте корреляции для качественных признаков.
^|Каждый такой признак можно рассматривать как разбиение числовой переменной по группам с заданной информацией о порядке следования групп [1]. Построение меры связи двух признаков в этом случае предполагает анализ так называемых таблиц сопряженности, которые будем записывать в следующем виде:
71ц...nunv
(2.3) ^Пnf8ПоХ'
п.х...п.9N
Здесь t^ s — числа градаций первого и второго признаков, соответственно; п{ •— число объектов в i-й градации первого признака; п — число объектов в /-й градации второго признака; п^ — число объектов, имеющих одновременно Z-ю градацию первого признака и /-ю градацию второго признака.
Присвоим классам эквивалентности всех качественных признаков xva\ ха\ . . ., х^ значения рангов из натурального ряда чисел. Если признак ж(,) имеет $ классов эквивалентности (градаций), то ранги будем нумеровать от 1 до $. Определенные таким
образом ранги инвариантны относительно допустимых преобразований шкалы порядка.
В качестве оценок коэффициентов корреляции можно взять значения (2.2), вычисленные по сгруппированным данным [1]:
Для определения коэффициентов корреляции классификационных признаков рассмотрим таблицу сопряженности, аналогичную (2.3). Отличие от предыдущего случая состоит в том, что шкальные значения теперь не упорядочены, поэтому приписывание им рангов не имеет смысла.
Отметим, что если бы оба признака в (2. 3) были независимыми, то частота в клетке на пересечении г-й строки и /-го столбца равнялась бы n.n^lN. Следовательно, отклонение от независимости в данной клетке таблицы измеряется величиной п^ — t^ti^N . К. Пирсон еще в начале XX в. (см. [1]) предложил измерять зависимость признаков в (2.3) при помощи так называемой квадратичной сопряженности признаков (аналог статистики Z2):
L^2/l-h^^=N2^ (2"5)
1=1 У=1 J 1=1 /=1 J
Неудобство (2. 5) состоит в том, что I? не ограничено сверху. В [1] приведена формула, предложенная Крамером, которая позволяет вычислить аналог коэффициента корреляции для классификационных признаков:
rki = LlVN min (£ — 1, s — 1) . (2.6)
Этот коэффициент имеет значения в интервале [0, 1].
Перейдем к рассмотрению аналогов оценок коэффициентов корреляции для признаков различных типов.
Если один из признаков является количественным, а другой —- качественным, то оценку их коэффициента корреляции tkl легко найти, приняв, что градации качественного признака имеют ранги от 1 до 5, и вычисляя fkl согласно (2. 2).
Рассмотрим теперь случай, когда один из признаков качественный, а другой — классификационный. Присвоив градациям качественного признака ранги от 1 до s, получим таблицу сопряженности t X s, в которой для одного из признаков определено отношение порядка. Если оценку аналога коэффициента корреляции fkl вычислять согласно (2.6), то будет потеряна информация о порядке, определенном для качественного призрака. Определив оценку со-
гласно (2.4), классификационному признаку будет придан некий порядок градаций и тем самым внесена дополнительная информация.
Предлагается оценивать гкр основываясь на соотношении (2.4), в котором градации классификационного признака упорядочены предварительно так, чтобы значение (2.4) стало максимальным. Это эквивалентно тому, что все наибольшие значения будут сосредоточены вдоль диагонали, имеющей наибольшую длину в таблице сопряженности (2.3). Таким образом, для классификационного признака будет найдено упорядочение градаций, которое наиболее коррелирован о с данным качественным признаком.
Последний случай, подлежащий рассмотрению, — вычисление оценки коэффициента корреляции между количественным и классификационным признаками я(а) и Xой. Аналогично предыдущему случаю определим коэффициент гаЪ как максимальное значение (2. 5) по всем возможным упорядочениям градаций классификационного признака. Таким образом, может быть получено упорядочение, наиболее подходящее для данного признака, из которого можно извлекать содержательную информацию об исследуемом физическом объекте. Если число объектов в каждой градации классификационного признака одинаково, то знаменатель (2. 2) инвариантен относительно перестановок рангов. Следовательно, достаточно обеспечить максимум следующего выражения:
(2-7)
Здесь вычитаемое также инвариантно относительно перестановки рангов. Разобьем уменьшаемое в (2. 7) на суммы, соответствующие совпадающим значениям рангов:
Так как математическое ожидание частей количественного признака не зависит от значений рангов, то их можно заменить некоторыми константами т^ Максимизация сводится к
max I 2 ^ni mi
Это выражение, аналогичное функции математического ожидания, имеет максимум при упорядочении градаций таким образом, чтобы | in^ — m. |=min, иначе говоря, значения in^ (е=1, $)
должны быть упорядочены в соответствии с возрастанием (убыванием) частных математических ожиданий т^.
В случае различного числа объектов в разных градациях классификационного признака упорядочение градаций в соответствии с частными математическими ожиданиями количественного (качественного) признака уже не будет обеспечивать максимума (2. 7). Принтом можно применять пошаговую процедуру приближения к максимуму, как это предложено в работе [12]; упорядочение по частным средним используется в этом случае как начальное приближение. Отметим, что при вычислении коэффициентов корреляции предложенным способом могут в общем случае получаться различные упорядочения градаций одного и того же классификационного признака. С одной стороны, это дает исследователю дополнительную информацию для анализа, с другой — для успешного применения методов обработки, использующих корреляционную матрицу в качестве входной информации, необходим выбор какого- то одного упорядочения градаций для каждого классификационного признака. Такое упорядочение может быть получено либо автоматически как среднее по всем полученным вариантам, либо сделано самим пользователем исходя из нестатистических соображений. Как показывает практика, последний ^вариант является более предпочтительным.
Программная реализация
В систему SITO идя проведения корреляционного анализа включены две процедуры: OCENKI и OCENKI2.
Процедура OCENKI предназначена для получения первичных статистических оценок совокупности объектов, представляющих собой подтаблицу в таблице экспериментальных данных. Объекты, входящие в подтаблицу, предварительно должны быть помечены определенным образом, иначе вычисляются оценки по всей таблице.
Для совокупностей помеченных объектов вычисляются оценки математических ожиданий и дисперсий по всем количественным признакам, а также оценка корреляционной матрицы. Все оценки выдаются^на печать и""записываются также в ЛБД (§ 5.1).
Обращение к процедуре: OCENKI (N, Р, К); где
N — число объектов;
Р — число признаков;
К —- управляющий символ. Если К~ —1, то оценки вычисляются по всей таблице, если K—J, то оценки вычисляются для тех объектов ^, которым соответствует £[()]=/, где £[1^] — массив пометок объектов.
Для работы процедуры необходимо, чтобы массив исходной информации INF [1:Р, 1:2V] (ТЭД) был записан в ЛБД (массив № 1), например, при помощи процедуры INP, так же, как и массив пометок объектов L (массив № 45). Пользователь может отказаться от ввода исходных данных* ^ерез ЛБД, в этом случае 26
операторы обмена с ЛБД (строки № 10,11 на распечатке программы) следует заменить на операторы ввода массивов INF и L.
^Вычисленные оценки записываются в ЛБД: матрица ковариаций KOVAR [1:Р, 1:Р1 — массив № 2; оценки средних СР [1:Р] № 3; оценки дисперсий DIS Ц:Р] — № 4; минимумы MI [1:Р1 — № 11; максимумы МА Ц:Р] — № 12.
^ Технические характеристики программы:
типы обрабатываемых признаков — количественные; -
используемая подпрограмма CHANGE (п. 5.2.2) — только при работе с ЛБД;
требуемый объем памяти для массивов ~P2JrPN+3P+N. ^] Распечатка программы приведена на рис. 2.1.
Процедура OCENKI2 предназначена, как и процедура OCENKI, для получения первичных статистических оценок совокупности объектов, помеченных определенным образом (или всех объектов, составляющих ТЭД).
В отличие от процедуры OCENKI данная процедура вычисляет оценки корреляционной и ковариационной матрицы для всех типов признаков. Для количественных и качественных признаков коэффициент корреляции определяется обычным способом (в этой части процедуры OCENKI и OCENKI2 совпадают).
Для каждого классификационного признака осуществляется поиск такого упорядочения градаций, при котором коэффициент корреляции между ним и неклассификационным признаком максимален. После введения порядка градаций коэффициент корреляции находят обычным образом.
Вычисление коэффициента корреляции между двумя классификационными признаками осуществляется по (2. 6).
^Обращение к процедуре: OCENKI2{N, Р, К, PR, Т1Р\, где N — число объектов;
х л^Р ~" число признаков;
К — управляющий символ; если К—— 1, то оценки вычисляются по всей ТЭД; если K=J, то оценки вычисляются для объектов Q, которым соответствует Z4Q]=J, где L[1:7V] — массив пометок объектов (массив № 15 в ЛБД);
PR — управляющий символ; если PR=1, то все признаки — классификационные, PR—2 — качественные, PR—6 — количественные; PR=0 присутствуют признаки различных типов;
TIP — массив типов признаков, причем если TIP\JY=1, то J-й признак — классификационный, TIP\JA=2 — J-й признак качественный,
TIP [J ]=3 — J-й признак fколичественный.
Для работы процедуры необходимо, чтобы в ЛБД были записаны массив исходной информации (ТЭД) — в массиве № 1; массив пометок объектов — в массиве № 15.
Вычисленные оценки записываются в ЛЕД: матрица корреляций KOR [1:Р, 1:Р] — в массив № 22; оценки средних для количественных признаков СР [1:Р] — в массив № 3; оценки дисперсий для количественных признаков DIS [1:Р] — в массив № 4; минимумы MI [1:Р] — в массив №11; максимумы МА [1:Р] — в массив №12.
Технические характеристики программы:
типы обрабатываемых признаков —- количественные, качественные, классификационные;
используемая подпрограмма CHANGE (п. 5.2.2) — только при работе с ЛЕД; ,
требуемый объем памяти для массивов ^P^-V-NP+PG, где G — максимальное число градаций классификационных признаков.
Распечатка программы приведена на рис. 2.2.
Примеры работы программ
В качестве ТЭД, на которой иллюстрируется работа всех описанных алгоритмов, были взяты хорошо изученные данные о замерах характеристик цветков трех сортов ирисов. Для каждого цветка фиксировались: 1-й признак — длина лепестка, 2-й признак — ширина лепестка, 3-й признак — длина чашелистика, 4-й признак — ширина чашелистика. Всего было исследовано 150 цветков — по 50 каждого сорта (далее сорта будем условно обозначать I, II и III), полная ТЭД приведена в [13]. Номера объектов в ТЭД для сорта I — с 1 по 50, для сорта II — с 51 по 100, для сорта Ш _ с 101 по 150.
На рис. 2.3 приведена распечатка результатов работы процедуры OCENKI для этих данных. Для каждого из признаков определены оценки среднего значения и стандартного отклонения, максимум и минимум. Из анализа стандартных отклонений можно сделать вывод, что признаки 3 и 4, хотя и выражаются меньшими значениями (все измерения проведены в сантиметрах), имеют тем не менее значительные дисперсии, что может свидетельствовать об их информативности. В то же время корреляционная матрица показывает, что эти признаки практически дублируют друг друга (г34=0.963). Можно говорить также о значительной взаимозависимости признаков 1, 3 и 4, в то же время признак 2, по всей видимости, несет информацию, отличную от информации признаков 1, 3 и 4, поскольку его коэффициент корреляции с остальными признаками относительно мал.
На рис. 2.4—2.6 приведены распечатки результатов работы процедуры OCENKI2 для другой ТЭД, представленной уже разнотипными признаками. Эти данные представляют собой часть результатов социологического обследования населения, причем признаки, описывающие каждого из 100 выбранных индивидуумов, были следующими:
1-й признак — возраст (лета) —х количественный;
2-й признак — заработная плата (руб.) — количественный;
3-й признак — образование — качественный: 1 — неполное среднее, 2 — среднее, 3 —- высшее;
4-й признак — профессия — классификационный: 1 — бухгалтер, 2 — врач, 3 — инженер, 4 — колхозник, 5 — рабочий, 6 — научный сотрудник;
5-й признак — пол — классификационный: 1 — мужской, 2 — женский;
6-й признак — увлечение — классификационный: 1 — спорт, 2 — кино, 3 — театр, 4 — литература, 5 — музыка, 6 — ресторан, 7 — телевизор;
7-й признак — знание языков — классификационный: 1 — родной язык и языки народов СССР, 2 — родной язык и один иностранный язык, 3 — более одного иностранного языка, 4 — только родной язык;
8-й признак — место учебы — классификационный: 1 — средняя школа, 2 — техникум, 3 —- институт, 4 — аспирантура, 5 — нигде не учится;
9-й признак — источник доходов — классификационный: 1 — личное хозяйство, 2 — зарплата, 3 — прочие;
10-й признак — национальность — классификационный: 1 — народы Кавказа и Средней Азии, 2 — национальные меньшинства, 3 —- народы европейской части СССР, 4 — народы Севера и Сибири.
Проанализировав полученные результаты, можно сказать следующее. Во-первых, поскольку признаки представлены разными шкалами и замерены в разных единицах, сравнение средних значений и дисперсий признаков между собой не имеет смысла. В таких случаях целесообразно нормировать количественные признаки стандартными отклонениями для уравнивания дисперсий. Оценка же средних и стандартных отклонений по классификационным признакам вообще не имеет смысла, поскольку их градации не упорядочены.
Во-вторых, имеются довольно сильные статистические зависимости между количественными и классификационными признаками при условии определенного упорядочивания градаций последних.
§2.2. Метод главных компонент
Теоретические основы
Метод главных компонент (МГК) предназначен для перехода к новой системе признаков у(1), . . ., у^р\ причем каждый из новых признаков определяется как линейная комбинация исходных признаков. В этом случае систему (2. 1) можно переписать в виде:
i=l
(2.8) p
Это соотношение можно записать и в матричном виде Y=AX, где А = {а^} — матрица коэффициентов. Отбрасывание некоторых признаков входит в (2. 8) как частный случай.
Главные компоненты представляют собой новое множество исследуемых признаков ут, у^\ . . ., у^э которые обладают следующими свойствами:
каждая главная компонента (ГК) является, согласно (2. 8), линейной комбинацией исходных признаков:
р
i = l, р,(2Л\
причем для удобства полагают
А=1
все ГК статистически независимы друг от друга, т. е.
CON^1\ у^ = 0; г^К(2.10)
ГК упорядочиваются по их дисперсии в изучаемой выборке, причем первая ГК обладает наибольшей возможной дисперсией:
D (yW) > D (у(2>) > ...> D (у^).(2.11)
Часто говорят также об энергии ГК. Этот термин аналогичен термину рассеяние, или дисперсия. В статистику понятие энергии пришло из теории сигналов, где квадрат отклонения сигнала от среднего пропорционален его энергии.
В многомерном случае переход к ГК тоже означает поворот системы координат с таким расчетом, чтобы проекция выборки на первую ось ГК обладала наибольшей возможной для этой выборки дисперсией. Вторая ось ГК, перпендикулярная первой, направляется таким образом, чтобы она была некоррелирована с первой и чтобы проекция выборки на нее имела наибольшую дисперсию. Аналогичная ситуация имеет место и для остальных ГК. Все они некоррелированы друг с другом и упорядочены в порядке убывания дисперсий.
Мы подвергли пространство признаков X линейному преобразованию, которое описывается матрицей коэффициентов 4 = {а^}. Это преобразование привело к новому признаковому пространству, полученному из X поворотом координатных осей, причем все оси остались ортогональными. Такое линейное преобразование носит название ортогонального^ и для его матрицы А справедливо утверждение:
Ат = Л-1.
X
В то же время для произвольного линейного преобразования установлено, что новая ковариационная матрица Еу выражается через старую следующим образом:
• 5У=л-15^. т-е-л5Уа5^л-(2а2>
Рассмотрим первый столбец равенства (2. 12)
(
D^^an; . .Л /ви^иЧ-*»- +°1рй1р> ,ее\
D (</(1)) аХр; ...) v^n 4" ••• -V^pp^p*»
Из равенства матриц следует и равенство всех их элементов поэтому
0Ц (°11—D (^^У) + 012^12+•••+01^1^ = О,
011321*4~ ®12 ($22—^ +. ..+ Л\р^2р = 0,(2.13)
LjiOpi+ «12^2+•••+ °1^(с^— D (у<1)))=0.
Длятогочтобы система(2.13)имела решение,необходимои
достаточно потребовать равенства нулю ее определителя, т. е.
^^-D^I^O,(2.14)
где I — единичная матрица.
Из (2. 14) следует, что D (у(1)) является собственным числом ковариационной матрицы L^ а вектор, составленный из коэффициентов (ап, . . ., а1р')т=а1, есть собственный вектор матрицы Еж1 соответствующий этому собственному числу.
Аналогично можно показать, что все D (ут^ t=l, р являются собственными числами ковариационной матрицы Е^, а матрица линейного преобразования А состоит из собственных векторов Е^,
Поскольку у матрицы имеется лишь одно множество отличных от нуля собственных чисел, то переход к ГК определяется однозначно.
Рассмотрим, как изменяется сумма дисперсий признаков при переходе от исходных признаков к ГК:
лР
5(Z)(y»)))=tr(2 y)=4^-*S* л)-»г (S,^^)-2»«. /=1<=1
Сумма дисперсий ГК оказалась равной сумме дисперсий исходных признаков. Этого и следовало ожидать, так как поворот осей координат не изменяет евклидовых расстояний между объектами.
Основываясь на ортогональности матрицы А, легко выразить старые признаки через новые:
Х = Л-1У = ЛТУ.(2.15)
Матрица Ат в (2. 15) называется матрицей нагрузок главных компонент на исходные признаки.
Сформулируем еще раз выводы, приведенные выше.
Для каждой выборки существует единственная матрица преобразования к новым признакам у(1), у^\ . . ., ^р\ которые удовлетворяют условиям (2. 9)—(2. 11), т. е. эти признаки являются линейными комбинациями хкг\ х{2\ . . ., х^р\ статистически независимы и. *упорядочены в порядке убывания их дисперсий. Матрицу преобразования называют также матрицей нагрузок на ГК.
Дисперсии ГК представляют собой собственные числа ковариационной матрицы Е*, а матрица нагрузок на ГК состоит из собственных векторов матрицы Е^. Это свойство показывает, как можно найти матрицу нагрузок. Отсюда как следствие вытекает тот факт, что различные выборки, имеющие одинаковые ковариационные матрицы, имеют одни и те же ГК.
При переходе к ГК сумма дисперсий всех признаков или обобщенная дисперсия остается неизменной, т. е.
рр
»=1г=1
где ои— дисперсия признака г, D — обобщенная дисперсия.
Сформулируем без доказательства еще одно свойство ГК, из анализа которого станет ясно, каким образом при помощи описываемого метода можно сократить размерность признакового пространства.
Свойство наименьшего искажения геометрической структуры исходных данных при проектировании их в пространство меньшей размерности. Это означает, что среди всех подпространств заданной размерности р’ < р, полученных из исследуемого пространства X с помощью произвольного линейного преобразования, в подпространстве, натянутом на первые р' ГК, наименее искажается сумма квадратов евклидовых расстояний между возможными парами объектов. Величина искажений также зависит только от последних р—р' собственных чисел и тем меньше, чем меньше эти числа.
Свойства 3 и 4 дают исследователю отправную точку для решения вопроса о том, сколько ГК можно без особого ущерба изъять из рассмотрения, сократив тем самым размерность исследуемого пространства.
На рис. 2.7 изображен вырожденный случай — объекты расположены в одномерном пространстве, но первоначально описываются двумя признаками. Перейдя к ГК, получим второе собственное число равным нулю ф (y(2))=Q), т. е. разброс по второй ГК отсутствует. Если бы малый разброс по второй компоненте все же 32
существовал, то собственное число отличалось бы от нуля, но незначительно. Отбросив вторую компоненту, лишь минимально исказили бы структуру исследуемых данных.
Таким образом, снижение размерности признакового пространства при помощи метода ГК представляет собой отбрасывание тех ГК, на которые падает минимум энергии. К сожалению, при таком использовании метода исследователи часто переходят допустимые границы. Получив 70—80% энергии, приходящиеся на первые одну-две ГК, остальные ГК отбрасывают. При этом
Рис. 2.7. Главные компоненты выборки — вырожденный случай D (у(2>)=0.Рис. 2.7. Главные компоненты выборки — вырожденный случай D (у(2>)=0.Случай несовпадения энергетического и информационного критериев.Случай несовпадения энергетического и информационного критериев.Рис. 2.8. Главные компоненты выборки.
Рис. 2.7. Главные компоненты выборки — вырожденный случай D (у(2>)=0.
Рис. 2.7. Главные компоненты выборки — вырожденный случай D (у(2>)=0.
Случай несовпадения энергетического и информационного критериев.
Случай несовпадения энергетического и информационного критериев.
предполагается, что признаки с наибольшей энергией (дисперсией) обладают и наибольшей информативностью, т. е. наиболее подходят для принятия решения о принадлежности объекта к той или иной группе, хотя принципиально возможно и возникновение противоположных ситуаций. Так, при изучении электрических сигналов очень большая энергия может приходиться на фоновую помеху, например на 50 Гц, и лишь незначительная энергия — на полезный информационный сигнал.
На рис. 2.8 изображено двумерное признаковое пространство Х^х^ х^У В отношении выделения СД в этом пространстве расположены две группы объектов, причем наиболее информативным признаком является вторая ГК, на которую приходится малая доля дисперсии. Но если рассматривать энергетические нагрузки ГК, то основным признаком следует признать у(1).
Приведенные примеры показывают, что необходимо различать термины «энергия» и «информативность» ГК. Поэтому процесс снижения размерности признакового пространства надо проводить с большой осторожностью.
Заметим, что если объекты генеральной совокупности лежат в некотором подпространстве размерности р' < р, то любая выборка из этой совокупности будет лежать в том же подпространстве.
3 В. В. Александров, Н. Д. Горский
Этот факт эквивалентен утверждению о том, что ни одно большее нуля значение собственного числа не может быть получено для выборки, у которой соответствующее теоретическое значение равно нулю. Поэтому безусловно могут быть отброшены лишь ГК с нулевым вкладом в общую дисперсию. Решение об отбрасывании остальных следует принимать исходя из каких-либо дополнительных критериев. Например, можно построить оценку функции плотности распределения для проекции выборки на каждую ГК. Тогда получим набор одномерных функций, из анализа которых можно сделать вывод об информативной ценности каждой ГК.
При решении задач распознавания образов и автоматической классификации исследователь в большинстве случаев располагает довольно скудной априорной информацией об исследуемых данных. В то же время многие методы решения для их успешного применения требуют задания различных характеристик классифицируемого набора объектов, таких как число классов, формы разделяющей поверхности и т. п. Такого рода предварительную информацию можно получить в результате анализа одно-, дву- или трехмерных проекций признакового пространства на старшие ГК. Это применение метода ГК основано на упомянутом выше свойстве 4. Объективность такой информации зависит от процента обобщенной дисперсии, приходящейся на первые ГК.
Обратимся теперь к двойственной задаче, т. е. к анализу матрицы корреляций (расстояний) между объектами. До сих пор рассматривали г-й столбец таблицы экспериментальных данных как значение i-ro признака у всех объектов, а /-ю строку этой таблицы — как значения всех признаков у /-го объекта. Если же в качестве признаков рассматривать строки этой матрицы, то классифицируемыми объектами будут сами признаки. Они будут представлены в TV-мерном пространстве Хт в количестве р штук. К этому новому пространству описаний формально можно применить описанный метод ГК. В этом случае конечной целью классификации явится, очевидно, выявление однородных групп признаков, что позволит сделать вывод о взаимном дублировании (линейной зависимости) признаков, входящих в одну группу. На основании этой информации можно снизить размерность исходного пространства X, оставив для рассмотрения, например, по одному признаку из каждой группы. Применяя метод ГК к пространству Хт, вместо анализа ковариационной матрицы исходных признаков Еу будем анализировать матрицу Е^т, обозначив ее Т. Она может быть получена следующим образом:
n
т = ^чу, ^v^S ^^ ——
к=1
Р
где 6^ = -^ 2Ж^’ •
к=1
Таким образом, если S^ является матрицей ковариации при- знаков( то Т — матрица ковариации объектов. Коэффициент кова-
Рис. 2.9. Анализ линейной зависимости признаков при помощи МГК.
риации двух объектов г и / 1^ можно рассматривать как меру близости между этими объектами. Можно показать [ 13 ]2 что матрицы ^ и 7 имеют одни и те же собственные числа. Это значит, что на все ГК пространства Хт приходится такая же энергия, как и на компоненты пространства X. Поскольку число объектов в Хт равно р, а размерность пространства Хт N > р, то последние Л—р собственных чисел будут равны нулю. Отметим некоторые практические особенности применения метода ГК к пространству Хт. Пусть получена проекция Хт на плоскость первых двух ГК, на которые приходится основная доля обобщенной дисперсии (рис. 2.9). Признаки изображены точками, занумерованными от 1 до 8. Из анализа проекции можно сделать следующие выводы:
признаки, между которыми существует линейная завися-WL мость, т. е. хи>=ах^\ изображаются точками, лежащими на пря- мой, проходящей через начало координат. На рис. 2.9 это признаки 5 и 6, один из которых можно отбросить;
группа признаков, связанных сильной корреляционной зависимостью, будет представляться компактной группой точек. На рис. 2.9 это признаки 1—4, из которых можно оставить один;
важность признака тем больше, чем дальше он расположен от начала координат, так как вклад признака в обобщенную дисперсию пропорционален расстоянию до начала координат. Тогда на основании рис. 2.9 можно сказать, что признаки 7 и 8 не представляют интереса (но, отбрасывая их, надо учитывать возможный разрыв между дисперсией и информативностью признака). Более подробные сведения о МГК см., например, в [13, 14].
Программная реализация
Алгоритм, реализующий МГК в системе SITO, предназначен для вычисления матрицы нагрузок признаков на ГК и процента обобщенной дисперсии, приходящейся на каждую ГК. Реализована следующая алгоритмическая модель МГК:
вычисление собственных векторов и собственных чисел матрицы ковариаций (это может быть матрица, соответствующая как прямой, так и двойственной задаче);
упорядочивание собственных векторов в порядке убывания соответствующих собственных чисел;
вычисление матрицы нагрузок на ГК путем нормировки собственных векторов; вычисление процента обобщенной дисперсии,; приходящегося на каждую ГК;
печать результатов.
Обращение к процедуре: GLCOMP (N, Р^ EPS^ К); где N — резервный символ (целое);
Р — число признаков;
EPS — точность вычисления собственных векторов и собственных чисел ковариационной матрицы;
К — управляющий символ. Если К= — 1, то на печать выдается матрица нагрузок на ГК, иначе распечатываются только доли обобщенной дисперсии (в процентах), приходящиеся на каждую ГК.j
Для работы процедуры необходимо, чтобы предварительно была вычислена матрица ковариаций (например, при помощи процедуры OCENKI или OCENKI2). Если эта матрица вычисляется другим способом, то ее надо записать в ЛЕД в массив № 2 (например, оператором (CHANGE (1, 2, KOVyy где KOV [1:Р,1:Р] — массив, в котором хранится матрица ковариаций).
После работы процедуры GLCOMP матрица нагрузок на ГК L [1:Р, 1:Р] записывается в ЛЕД в массив № 5, а вектор дисперсий ГК L1 [1:Р] — в массив № 10.
Технические характеристики программы:
типы обрабатываемых признаков — количественные и качественные;
используемая подпрограмма CHANGE (п. 5.2.2) — только при работе с ЛЕД; JACOBI (п. 5.4.9.);
объем памяти, требуемый для хранения массивов, ~2Р (Р+1).
Распечатка программы приведена на рис. 2.10.
Пример работы программы
На рис. 2.11 приведена распечатка результатов работы процедуры GLCOMP для данных об ирисах (§ 2.1). Видно, что почти 98% обобщенной дисперсии выборки приходится на первые две ГК, которые выражаются через старые признаки как:
уш = 0.361ж(1) — 0.085ж<2 > + 0.875ж<^ + 0.358ж<4>, у(2) ==0.657я;(1) + 0.730ж(2) — 0.1732<3) + 0.075ж(4).
Таким образом, первую ГК можно интерпретировать как за * висящую практически в основном от признака 3, а вторую — от признаков 1 и 2.
Интересными представляются проекции пространства объектов и признаков на плоскости 1-й и 2-й ГК (рис. 2.12, 2.13), получаемые при проведении МГК с помощью процедуры Р HOGE КТ (п.5.3.4).х
На рис. 2.12 видно, что исследуемые объекты образуют в пространстве описания два ярко выраженных класса: первый полностью соответствует цветкам сорта I (случай (1.1) — совпадение Ai и 8к), а второй — смесь ирисов сортов II и III (случай (1.2), когда 8к=иА^.
г
На рис. 2.13 видно, что в пространстве новых признаков у^г\ у{2} исходные признаки 3 и 4 являются практически дублирующими друг друга (линейно-зависимыми), причем признак 3 в основном определяет значения 1-й ГК, а признаки 1 и 2 — 2-й ГК. Для упрощения интерпретации ГК в терминах исходных признаков бывает удобно наложить проекции признаков и объектов в пространстве ГК друг на друга, как это показано на рис. 2.12.
Итак, уже после анализа результатов МГК можно сделать некоторые заключения о структуре исследуемых данных, выделив два класса объектов, причем для отделения одного из этих классов достаточно использовать лишь один признак 3.
§2.3. Факторный анализ
Теоретические основы факторного анализа
Факторный анализ (ФА), так же как и МГК, используется для снижения размерности исходного признакового пространства и для перехода к новым, линейно-независимым признакам.
Предпосылкой для появления ФА явилось желание объяснить наличие зависимости между признаками (их корреляции) тем, что эти признаки линейно зависят от меньшего числа других ненаблюдаемых переменных, некоррелированных между собой. Такие переменные обычно называют общими факторами (ОФ). Можно считать ОФ причинами, а наблюдаемые признаки — следствиями; исследование принято считать успешным, если большое число следствий удалось объяснить малым числом причин. Таким образом, ФА можно рассматривать как метод снижения размерности исходного признакового пространства Пр или метод сжатия информации, поскольку корреляция признаков означает их избыточность, а сведение р избыточных признаков к р < р ОФ, свободным от избыточности, и означает снижение размерности.
Основной гипотезой ФА является предположение, что наблюдаемые исходные признаки х^ х^\ . . ., х^ в действительности являются линейными комбинациями непосредственно не- измеряемых ОФ у^\ у^\ . . ., у^'\ причем р' <.р. Требуют также, чтобы ОФ были независимы между собой, т. е. cov (у<1\ У^)=0 при ЦУъ.
Возникает закономерный вопрос, чем же отличаются определенные таким образом ОФ от ГК, ведь ОФ также линейно связаны с исходными признаками и статистически независимы. В то же время доказан ряд экстремальных свойств ГК, свидетельствую-
щих о том, что среди линейных комбинаций ГК являются нйилучшими.
Ответ на этот вопрос связан с тем, что все определения и доказательства, касающиеся МГК, основаны на энергетическом критерии, ^который, как можно было видеть, зачастую не совпадает с информационным. Одновременно с этим исследователям оказывается довольно^ трудно интерпретировать ГК, т. е. приписать новым признакам конкретный жизненный смысл. В какой-то мере эти недостатки МГК исключаются при ФА. Применив МГК, получаем единственную привилегированную систему координат, тогда как, выдвинув гипотезу ФА, лишь предполагаем, что в дей- ствительностибудет достаточно р' признаков вместо р, чтобы сохранить СД. таким образом, получаем р'-мерное пространство, а выбор наиболее удобной системы координат в нем можно осуществить по своему усмотрению, например, так, чтобы новые признаки (ОФ) можно было содержательно интерпретировать в терминах решаемой задачи.
Критерии перехода к ГК и к ОФ различны. Первый из р' ОФ р(1) находится из условия, чтобы попарные корреляции между исходными признаками были как можно меньше, если учтено влияние на них этого фактора. Следующий ОФ находится из условия максимального ослабления попарных корреляций между исходными признаками оставшихся после учета влияния первого ОФ и т. д.
Итак, пусть выдвинута гипотеза о том, что каждый из исходных признаков линейно зависит от общих для всех признаков факторов:
р'
у^, У^\У^'\ т. е. ж(Л = 2 Ь^у(^; г = 1, р.
Очевидно, что такое представление в общем случае возможно лишь приближенно, так как р-мерное пространство сводим к р'- мерному; поэтому вводят в рассмотрение невязки или специфичес- ские для каждого признака факторы, которые должны определять часть дисперсии исследуемых признаков, необъясненную при помощи ОФ. Теперь основную гипотезу ФА можно представить в виде:
р'
^)=5 b^yU^u^ i = l, р.(2.16)
j=i
или в матричной записи X^BY-VU. Здесь ы(<) — специфический фактор для t-ro признака. Полагают, что специфические факторы независимы между собой и от ОФ и подчиняются нормальному распределению с нулевым средним значением и некоторой дисперсией D
Представление (2. 16) будем далее называть моделью ФА. Принудительное введение такой модели можно объяснить так: предполагаем, что вся интересующая исследователя информация
о выборке содержится в подпространстве размерности р, которое описывается ОФ, в высших же измерениях исходные данные обладают «сферичностью», т. е. хоть и имеют дисперсию, но не имеют информации, и это пространство описываем специфическими нормально распределенными факторами. Отбрасывание именно «сферичных» р-р* координат объясняет, почему снижение размерности пространства с помощью ФА более подходит для классификации, чем МГК, что подтверждается примерами.
Поставив целью снижение размерности исходного признакового пространства, естественно потребовать, чтобы ФА в результате давал минимальное число ОФ, удовлетворительно описывающих общие признаки с одновременной минимизацией зависимости исходных признаков от специфических факторов.
Выясним условие существования модели ФА. Для этого необходимы некоторые соотношения между ковариационной матрицей исходных признаков и коэффициентами при общих и специфических факторах.
Для удобства будем предполагать все признаки центрированными их выборочными средними, а ОФ — имеющими единичную дисперсию, поскольку вклад их в общую дисперсию все равно определяется коэффициентами при них в (2.16). Тогда на основании (2. 16) дисперсии исходных признаков можно представить в виде:
(
р'\
^Ьч^л р-р^со), 1 = 1, р. j=i/
Поскольку дисперсии ОФ предполагаем единичными, то р’
D^ — ^b^A-D^Y 1 = 1, р.(2.17)
/=1
Для коэффициента ковариации между признаками хт и х°^ получим:
(
р’ . р' . X
2 bij^^' 2 Hj^^ I + cov u(fc>)-р y=l/=1/ ,
/ p*\(p*\
+ COV 2 Hj^^' I + GOV I 2 blj^j\ ^ I .
\У=1/W=i/
По сделанным предположениям статистическая зависимость между всеми факторами, как общими, так и специфическими, отсутствует, поэтому последние три слагаемых в приведенной формуле равны нулю, т. е.
р’ рг.pf р*
COV ^1\Х^) = 2 2 C0V ^j^' ЪкгУ^^ = 2 2 ЪМЪ^ C0V ^^' ^Л^ 4 = 1 /=14=1 у=1
Поскольку cov (у(О, у(/)) не равна нулю только в случае ?=/, то окончательно получаем:
р’
0ON <х^1\ x^ = ^bkibu*. I, к = 1, р; 1^к,(2.18)
^=1
Формулы (2.17) и (2.18) дают соотношения между элементами ковариационной матрицы исследуемой выборки и коэффициентами при ОФ, образующих матрицу 5, которую называют матрицей нагрузок факторов на исходные признаки. Их можно записать и в матричной форме:
2 = ВВГ+У. (2.19)
Здесь V — матрица размером р Хр, причем для ее диагональных элементов справедливо соотношение УИ=В (и^), i=l, р; У^—0.
Полученные соотношения являются просто другим выражением для модели ФА, которую задает формула (2. 16). Однако в отличие от нёе они не содержат неизмеряемых значений ОФ уа\ у^\ • • •» У^^ поэтому их можно рассматривать как систему уравнений, где неизвестными являются коэффициенты при ОФ Ъ4р а также дисперсии специфических факторов В ^nY 2=1, р;
Общее число неизвестных будет рр'+р. Число коэффициентов ковариации и дисперсий исходных признаков, т. е. число уравнений (2.17) и (2.18), равно р + р .
Для того чтобы алгебраическая система уравнений имела хотя бы одно решение, необходимо и достаточно, чтобы число линейно-независимых уравнений было не больше числа неизвестных.
Легко видеть, что требование линейной независимости для уравнений (2. 17) и (2. 18) выполняется, так как все они второй степени относительно неизвестных, поэтому для существования модели ФА, или-, что то же самое, для существования решения системы достаточно, чтобы
р2 — р .
—2— + Р > Р Р + Р* (2. 20)
После преобразования получим pf < -^г”.
На практике это означает, что не следует приписывать, например, модели 5-мерного комплекса более двух факторов.
Предположим, что условие существования модели ФА (2. 20) выполняется. Теперь из предыдущих уравнений необходимо определить оценки неизвестных нагрузок Ь^ и дисперсий В (ит), i=l, р. Тогда можно из (2. 16) найти и обратную зависимость ¥=КХ1 которая и является конечной целью исследования.
Отметим, что в (2. 19), как правило, содержится слишком много неизвестных для их однозначного определения. Поэтому поступают следующим образом: принудительно вводят некоторые дополнительные ограничения на матрицу В (например, принимают матрицу ВВТ диагональной) и ищут частное решение системы. Затем исследователь может отказаться от дополнительных соотношений и выбрать тот вариант решения, который кажется ему предпочти-
дельным. Переход от одного частного решения к другому будет показан ниже. Вообще, можно даже перейти к зависимым факторам, но этот случай выходит за рамки настоящей работы.
Поиск решения системы (2. 19) представляет собой довольно трудную задачу, подробное решение которой можно найти в [15]. Здесь же остановимся только на общем принципе метода.
Логическая схема процедуры следующая:
задаемся некоторым нулевым приближением Уо матрицы дисперсий специфических факторов У;
используя (2. 19), получаем нулевое приближение матрицы Фо= 2-у0;
по Фо и Уо получаем нулевое приближение Во матрицы нагрузок факторов на признаки. Процедура получения этого частного решения описана, например, в [14];
находим первое приближение матрицы Ф1=В05^;
находим первое приближение матрицы V\ = 2—Фх;
по Тх и Ут определяется первое приближение Вх и т. д.
Начать эту процедуру можно и с пункта 4, задаваясь сразу нулевым приближением матрицы нагрузок. От того, насколько удачно выбрано начальное приближение, зависит скорость сходимости процесса; довольно хорошие результаты получаются, если в качестве начального приближения Во выбрать соответствующую часть матрицы Аг, т. е. матрицы нагрузок на исходные признаки.
Получив оценки матриц В и У, можно проверить, насколько удачен выбор числа факторов р'. Такая проверка осуществляется с помощью отношения правдоподобия: если р’ ОФ могут описать исходную выборку$ то элементы матрицы 2 — (ВВТ4-У) должны лишь статистически незначимо отличаться от нуля.
В этом случае статистика
’ = \S , DWOW ■^С~ М ~ 2 - ==’' ^ 2*> подчиняется %2-распределению с
v-Attp-^-^ + y))(2.22)
степенями свободы.
Формула (2. 21) дает способ проверки гипотезы о том, что число факторов равно р*. Заметим, что положительность (2. 22) обеспечивается условием (2. 20) существования модели ФА.
Если гипотезу о числе ОФ, равном р\ следует отвергнуть, то число ОФ полагают равным р'+1, и так до тех пор, пока не будет найдено удовлетворительное число ОФ или не перестанет выполняться (2. 20), что будет означать, что модели ФА для данной выборки не существует. Далее будем предполагать, что найдено одно из частных решений системы (2. 19) и число общих факторов р*.
Как указывалось при рассмотрении общего принципа ФА, в полученном подпространстве размерности р' существует свобода
а?'3*а?'3*разно говоря, можно оц дучи привязанным ниразно говоря, можно оц дучи привязанным ниРис. 2.14. Факторное пространство (S).
а?'3*
а?'3*
разно говоря, можно оц дучи привязанным ни
разно говоря, можно оц дучи привязанным ни
выбора системы координат. Это означает, что, наряду с ОФ ут, у^\ . . ., у^'^ исходную выборку с таким же успехом можно описать при помощи факторов sm, ^\ . . м zts'Y которые получаются из факторов Y поворотом системы координат на произвольный угол. Из этого следует, что, с помощью применения ФА, об- [ть факторное пространство, не бу- : какой системе координат в нем.
Для лучшего понимания указанного факта обратимся к примеру. Рассмотрим (рис. 2.14) трехмерное признаковое пространство Х = (я(1), х^\ x^Y Исходная выборка такова, что все эти объекты хоть и описываются тремя признаками, но лежат в одной плоскости 5, не совпадающей ни с одной из координатных плоскостей. Применив в этом случае ФА, получим факторное пространство, совпадающее с плоскостью S.
Очевидно, выбор системы координат на плоскости остается свободным. Можно, например, выбрать систему общих факторов Y=^ykX\ y^Y но никто не запрещает повернуть эту систему координат так, чтобы она совпадала с осями Z=(z(1), z^Y
Укажем наиболее употребительные способы выбора системы координат в полученном факторном пространстве.
Систему ОФ выбирают с таким расчетом, чтобы как можно больше факторных нагрузок на признаки стало нулевыми. Это означает, что каждый признак будет зависеть от минимального числа факторов, которые будет легче интерпретировать.
Систему ОФ вращают так, чтобы каждый из факторов описывал группу сильно коррелированных признаков. Это означает, что нагрузка к-то фактора на все признаки из к-й группы будет максимальна, хотя эти признаки и будут зависеть от других факторов.
Систему ОФ выбирают совпадающей с главными осями дисперсии в факторном пространстве. В результате получают аналог МГК, но примененного к полученному факторному пространству. В этом случае содержательная интерпретация факторов более затруднительна.
Заключительный этап ФА — выражение значений ОФ череа исходные признаки. Найдя окончательный вид матриц В и VI после вращения системы ОФ можно получить матрицу V-нагрузок на ОФ размером рХр'. Соответствующие уравнения приведены в [14].х|
Таким образом, определено линейное преобразование с матри- 42f
цей К. которое приводит к новому признаковому пространству размерности р'. Y=KX.
Прямая и двойственная постановка задачи особенно интересна в случае использования ФА. Уже отмечалось, что ОФ выбирают с учетом того, чтобы максимально объяснить корреляцию между исходными признаками. Предположим, что среди исходных признаков существует несколько групп, причем признаки одной группы сильно коррелированы между собой, тогда как признаки из разных групп коррелированы слабо. В этом случае для признакового пространства ФА обнаружит столько факторов, сколько было групп исходных признаков, причем если при этом повернуть систему ОФ согласно способу 2, то каждый из ОФ будет соответствовать одной из групп исходных признаков и описывать эту группу.
Поставим теперь формально двойственную задачу — будем подвергать ФА не ковариационную матрицу признаков, а матрицу корреляционных связей между объектами (ковариационную матрицу двойственной задачи). Тогда если существуют компактные группы объектов, получим число ОФ N', соответствующее числу таких групп, а повернув систему ОФ надлежащим образом, установим соответствие между конкретной группой объектов и ОФ, которые их описывают, или, что то же самое, разобьем множество объектов на классы.
Программная реализация
В системе SITO реализована следующая алгоритмическая модель ФА.
Вычисление максимально возможного числа ОФ р^ах ; задание начального числа факторов р'=1.
Задание для данного р' начального приближения матрицы нагрузок факторов на признаки. Вычисление при помощи итерационной процедуры факторных нагрузок и дисперсий специфических факторов, печать вычисленных значений.
Проверка гипотезы о возможности описания исходной выборки при помощи р' факторов. Если гипотеза отвергается, то увеличить р' на единицу и перейти к п. 4, в противном случае перейти к п.5.
Проверка условия: р' >Ртах- Если результат утвердительный, то выдать сообщение: «Модели факторного анализа не существует» и перейти к п.5, иначе перейти к п.2.
Вращение системы ОФ с таким расчетом, чтобы каждый из ОФ описывал группу сильно коррелированных признаков, если такие имеются.
Вычисление нагрузок на ОФ, т. е. выражение ОФ через исходные признаки. Печать нагрузок на ОФ.
Обращение к процедуре: FACTOR (Р, N. EPS. КА)\ где Р — число исходных признаков; N — число объектов;
EPS — точность вычисления ОФ; КА — полученное число ОФ.
Для работы процедуры необходимо, чтобы предварительно были вычислены матрица корреляций (например, при помощи процедуры OCENKI) и матрица нагрузок на ГК (например, при помощи процедуры GLCOMPY которая является исходным приближением для ФА.
Если эти матрицы вычислялись не при помощи указанных процедур, то они должны быть предварительно записаны в ЛЕД операторами: {CHANGE (1, 2, KOV);^ где KOV [1:Р, 1:Р] — массив, в котором хранится корреляционная матрица; и {CHANGE (1, 5, LW гДе ^ [1:Р, 1:^1 — массив, в котором хранится матрица нагрузок на ГК (по строкам).
В результате работы процедуры матрица ВТ ЦгТГА, 1:Р] нагрузок на ОФ будет записана по строкам в ЛЕД, массив № 6.
Технические характеристики программы:
типы обрабатываемых признаков — количественные и качественные; *
используемые подпрограммы: CHANGE (п. 5.2.2) — только при работе с ЛЕД; ТРАН (п. 5.4.6); YMM (п. 5.4.7); FCHI2 (п. 5.4.8); НОТЕ (см. распечатку на рис. 2.15, б);
требуемый объем памяти для массивов ~3р2.
Распечатка программы приведена на рис. 2.15, а.
Пример работы программы
На рис. 2.16 приведена распечатка результатов применения программы FACTOR к данным об ирисах. В этом случае оказалось, что модели ФА не существует, поскольку одного фактора оказывается недостаточно для объяснения имеющихся корреляций между признаками, а двухфакторная модель не может существовать в силу (2. 20). Однако даже одного полученного фактора у™ =0.005 я(1) - 0.001 ж(2) +0.977 я(3)+0.019 я(4), зависящего практически только от признака 3, оказывается достаточно, чтобы получить разбиение исследуемого множества на два класса, интерпретируемых так же, как и при применении МГК. Приведенная на рис. 2.16 проекция пространства описания на ось фактора получена при помощи процедуры TIP1 (§ 3.3).
§2.4. Нелинейные методы снижения размерности
Многомерное масштабирование
Сложность принятия решения о достоверности разбиения, полученного при помощи некоторого алгоритма, частично вытекает из невозможности визуального представления многомерных данных, особенно при использовании мер подобия или различия между объектами, у которых отсутствуют знакомые свойства расстояния. Одним из способов борьбы с этим является попытка нахождения такого расположения объектов в пространстве размерности р' (при р'=11 2, 3), которое достаточно хорошо соответство-
вало бы структуре исходных данных в многомерном пространстве Rp. Процесс нахождения таких отображений часто называют многомерным масштабированием.
Выше была поставлена задача снижения размерности исходного пространства описаний как задача поиска новой системы признаков, являющихся функциями от старых признаков. В этом разделе рассматриваются методы снижения размерности, критерии которых формулируются относительно взаимных расстояний между объектами исходной выборки. Признаки при этом подвергаются сложному нелинейному преобразованию. В общем виде оно не выряжается аналитической зависимостью.
Пусть существует исходная выборка X, содержащая N объектов Х=(ж1, . . ., xN^ каждый из которых имеет р-мерное описание, т. е. х4=(х^\ . . ., xWy $=1, N. Будем считать, что можно определить расстояния между объектами. Тогда, выбрав некоторую метрику, можно получить ——' попарных расстоянии между ними:
а^=^х4. XjY 1^=1, N, j>L
где р (хо х^ — функция близости объектов.
Отобразим объекты исходной выборки из Rp в Rp\ где р* < р. Пусть у. — отображение хо причем у,—(у^, . . .,У$р,)), ^=1, N. В пространстве Rp' расстояния между объектами равны (в той же метрике, что и в исходном пространстве ) dtj=p (уо у^. В качестве меры искажения конфигурации объектов исходной выборки введем нормированную сумму квадратов отклонений новых расстояний между объектами ^ от старых расстояний й^\
d(yi^S^J *(2'23)
Очевидно, если расстояния между всеми объектами в Я^и Rpr совпадают, то Д=0, но это может быть только при условии, если в исходном пространстве описаний истинная размерность равна р'. В этом случае применение МГК дает последние р—р* собственных чисел равными нулю.
Отметим, что функция (2. 23) инвариантна относительно любого жесткого передвижения или поворота всей конфигурации, а вследствие нормировки также и относительно изменения масштаба. Если функция критерия выбрана, оптимальной считается такая конфигурация yv у^ . . ., у к, которая минимизирует эту функцию критерия. Оптимальную конфигурацию можно искать с помощью процедуры градиентного спуска, начиная от некоторой начальной конфигурации и изменяя у, (i=l, 2, . . ., N) в направлении наибольшего уменьшения функции критерия. В [16] предлагается следующая итерационная процедура подбора векторов уи 1=1 SN для минимизации (2. 23).
Пусть
V1 ^ij — duW)у di,.21 ач
— ошибка отображения после тп-й итерации, где й*5 (^) = — ^куД^^ Mj^^Y а У к ^)— координаты ft-го объекта на тп-й итерации. Следующая, (тп+1)-я, итерация задается соотношением:
^ (тп + 1) = z/p} (тп) — а^ ^т^ где
М^гт-^Д-пД ^. i=Ov, /=Г7,
а а — коэффициент. В [16] а=0.3 4~ 0.4. В качестве первого приближения /можно использовать, например, МГК.
Возможности применения данного метода ограничены видом или сложностью распределений, из которых были сделаны выборки, а также общим количеством объектов. При попытке применить алгоритм для анализа выборок сложной структуры и большой размерности оказалось, что ошибка отображения слишком велика и двумерная конфигурация резко искажает исходную.
Можно ожидать, что этот метод ориентирован на анализ данных, которые содержат выборки из гиперсферических и гиперэллиптических распределений, причем если исходная размерность пространства велика (несколько десятков), то, возможно, окажется целесообразным снижение размерности лишь до рй.
Отметим, что конечная конфигурация в RF довольно сильно зависит от выбора начального приближения уг (1), у2 (1), . Уя (1), поскольку функция критерия, как функция многих переменных, обладает большим числом локальных экстремумов. Неудивительно, что если данные имеют сложную структуру, то проекция на первые ГК, взятая в качестве приближения, может давать сходимость к локальному экстремуму, вследствие чего структура yv У^ . - м Vn не будет соответствовать исходной. Для более точного определения числа, до которого можно снизить размерность исходного пространства, оставаясь в рамках принятого критерия (например, А < Атах), можно предложить следующую модификацию рассматриваемого метода.
Находится набор Y (I) при помощи описываемого метода для р-р—1.
Для набора У (I) находится ГК У (I), из которых все, кроме последней, используются как начальное приближение для следующего шага.
Находится набор У (II) для рг=р—2 и т. д., пока А не превысит Атах.
В общем случае можно снижать размерность не на единицу на каждом шаге, а, например, на тп, где на р—тп ГК приходится заранее выбранная доля обобщенцойхдисперсии,
Одним ий основных ограничений использования описанного метода является то, что на каждом шаге обрабатывается вся матрица попарных расстояний между объектами, поэтому общее число обрабатываемых объектов невелико, в [16] N < 250. Для устранения этого недостатка в [9] для минимизации той же самой функции критерия (2. 23) предложено использовать последовательное отображение объектов в пространство меньшей размерности, при этом появляется возможность получения решения^ близкого к оптимальному решению (2. 23), и обработки любого количества объектов. Одновременно решается задача экономного расходования памяти ЭВМ. Рассмотрим этот метод.
Отобразим объекты из исходного пространства Rp на R+ , т. е^ числовую ось. Критерий отображения совпадает с (2.23) A (yLi . . ., у^ ~> min. Будем последовательно отображать объекты ^i ~* Угг ^ -> у2 и т. д.
Задачу сформулируем следующим образом. К моменту рассмотрения (/+1)-го объекта уже построены изображения / объектов. Их координаты на числовой оси уп i/2, • • •> У у Требуется найти такое Уу+1, чтобы
X? (1^1-У»1-^чу+1))2.
Лд-> mm.(2. 24)
V+i
Продифференцировав (2. 24) по yj41 и приравняв нулю производную, можно найти множество допустимых решений {i/y+i}? а затем выбрать из них то, которое удовлетворяет (2.24). Таким образом, можно последовательно получить обработку объектов начиная со второго (первый отображается произвольно). При использовании этого метода некоторые объекты, отображаемые в начале, могут располагаться по оси в непосредственной близости от достаточно удаленных в исходном пространстве, поскольку их координаты привязаны только к отображениям предыдущих объектов. При другом порядке ввода в этом положении окажутся уже другие точки. Отсюда вытекает целесообразность построения результатов двух просчетов — двумерного пространства отображения объектов. При этом на плоскости будут близки те объекты^ которые получили близкие координаты при обоих просчетах. Группы близких на плоскости объектов можно считать группами и в исходном пространстве.
Рассмотрим случай возрастания числа N объектов в процессе исследования. Допустим, что NT<^ N объектов уже дважды отображены на R*. Теперь выделенные группировки можно использовать как обучающие выборки и последующие N—Nt объектов отображать на ось, не запоминая их координат и не вычисляя расстояний от последующих до этих объектов, если, конечно, некоторые объекты с номерами к > Nt не образуют новой группировки.
В этом случае особенно важно, чтобы выборка объемом Nt была представительной. Направленность последовательного ме-
тода та же, что и метода нелинейного масштабирования, т. е. наиболее успешно метод может обнаруживать гиперсферические и гиперэллиптические группировки.
Программная реализация последовательного алгоритма
В систему SITO включена процедура, реализующая описанный последовательный алгоритм. Она предназначена для построения нелинейного отображения исходного признакового пространства на числовую ось. Объекты вводятся в рассмотрение последовательно, причем отображаются они на ось так, чтобы наименее искажалась расстояния между рассматриваемым на данном шаге объектом и уже отображенными объектами.
Этот алгоритм можно использовать для получения различных отображений ла числовую ось при различных вариантах порядка ввода объектов в обработку. Можно также получать отображения в пространства различных размерностей, если последовательным алгоритмом отображать объекты, описываемые некоторым подмножеством признаков, а остальные признаки либо оставлять без изменения, либо также подвергать действию алгоритма.
Алгоритмическая модель метода последовательного отображения следующая:
задание координат объектов в многомерном пространстве; первый объект получает координату ух=0 на числовой оси; ||
нахождение множества допустимых решений для координат следующего объекта; выбор допустимых решений координаты, доставляющей минимум;
вычисление коэффициентов для уравнения преобразования и расстояний для уже отображенных объектов в многомерном пространстве;
если все объекты отображены, то перейти к п. 5, иначе перейти к п. 2;
печать координат объектов на действительной оси и печать одномерной гистограммы распределения объектов (с помощью процедуры TIPh\
Обращение к процедуре: SLED (N. Р, U, AL. VARY гДе
N — число объектов;
Р — число признаков;
U [1:7V] — выходной массив координат объектов;
AL — управляющий символ; если AL < 0, то процедура работает с информацией, преобразованной к ГК 71 [1:Р, 1:7V] и записанной в массив №9 в ЛБД, если AL >0, то из ЛБД считывается непреобразованная ТЭД (INF [1:Р, l:^])1 из массива № 1; если значение | AL |=1, то объекты вводятся в рассмотрение в прямом порядке, иначе ((AL | =А 1) порядок ввода меняется на обратный;
VAR — управляющий символ; если VAR—S. то все признаки количественные, VAR=0 — присутствуют признаки разных ти-
нов, VAR—2 — признаки качественные, VAR=\ — классификационные.
Для работы процедуры необходимо, чтобы в ЛБД, кроме ТЭД, была записана информация о весах признаков В [1:Р], массив № 14, а если признаки разнотипные (К4Я=0), то в массиве № 18 должна быть записана информация Т [1 : 31, указывающая число признаков каждого типа.
Технические характеристики программы:
типы обрабатываемых признаков — количественные, качественные, классификационные;
объем памяти, требуемый для хранения массивов, — 2PN+ +N;
используемые подпрограммы: CHANGE (п. 5.2.2) — только при работе с ЛБД; MAXIM (п. 5.4.1); MINIM (п. 5.4.2); TIP1 (§ 3.3).
Распечатка программы приведена на рис. 2.17.
Пример работы программы
Распечатки результатов работы процедуры SLED при прямом и обратном порядках отображения объектов на числовую ось (для данных об ирисах) приведены на рис. 2.18, а, б. Нетрудно видеть, что в обоих случаях цветы сорта I образуют отдельно лежащий класс, цветы же сортов II и III оказываются перемешанными, как и в предыдущих (§ 2.2, 2.3) случаях. В то же время при рассмотрении этих проекций как двумерного отображения (рис. 2.18, в) оказывается возможным выделить ядра (типичных представителей) еще двух классов, соответствующих сортам II и III. Выделенные группировки можно использовать как обучающие выборки при работе других алгоритмов.
§ 2.5. Рекурсивное отображение многомерного пространства на числовую ось
Теоретические основы метода
Одним из способов построения отображения и анализа СД в пространстве низшей размерности является «развертка» исходного признакового пространства до низшей размерности р' <р. Наиболее часто используется случай p’—l, при этом задание алгоритма развертки есть задание способа упорядочения элементов многомерного пространства. Поскольку отображение необходимо получить за конечное время, то требуется ограниченность числа элементов (обычно называемых квантами) многомерного пространства, с другой стороны, требуется, чтобы совокупность всех квантов покрывала исходное пространство описания.
В настоящем параграфе описан рекурсивный метод отображения данных на числовую ось, основанный на использовании мно-
49494 В. В. Александров, Н. Д. Горский
49
49
ГомерныХ аналогов приближений кривых Пеано (кривых Гильберта) [17]. С конца XIX в. и до недавнего времени эти отображения представляли чисто теоретический интерес, однако сейчас внимание к ним значительно возросло [18—20].
Рассмотрим теперь кратко способ построения и основные свойства рекурсивных отображений. Более подробные сведения можно найти в работах [10, 21].
Пусть Dp есть единичный р-мерный гиперкуб, a D1 — соот- ветственнод единичный интервал. Гиперкуб Dp разобьем на 2Р гиперкубов, называемых квантами первого разбиения. Длина ребра каждого такого кванта равна 1/2; кванты нумеруются индексом Ч от 0 до 2^—1 так, чтобы номера квантов, имеющих общую грань, отличалась на единицу. Обозначаются кванты первого разбиения — d (У, ^=0, 2^—1. .
Каждый квант первого разбиения разбивается таким же образом, как гиперкуб Dpx на кванты второго разбиения с длиной ребра 1/4, которые нумеруются по тому же закону, что и кванты первого разбиения. При этом нулевой квант второго разбиения, входящий в d (У, должен иметь общую грань с (2Р—1)-м квантом второго разбиения, входящим в d (гг—1). Кванты второго разбиения обозначим d (ЧЧ^ где г2 — номер кванта второго разбиения, входящего в квант d (ЧУ Аналогично получаем кванты любого разбиения с номером m — d(iv . л^ 0 ^^<^2Р, ] = 1,пг.
Гиперкуб Dp, рекурсивно квантованный т раз, будем называть дискретным пространством m-го разбиения и обозначать D^. В частности, при р — 1 получаем т раз рекурсивно квантованный единичный интервал Dvm. Если в каждом разбиении число частей, на которое делится квант предыдущего разбиения из D\ выбрать равным 2Р, то при любом т количества квантов в D^ и D^ совпадают, и каждое из них равно 2рт. Кванты лг-го разбиения пространства, полученные из одного кванта (пг-1)-го разбиения, будем нумеровать слева направо индексом im1 1^0, 2Р—1 и обозначать д(н • • • U-
Сопоставив кванты d и q с одинаковыми наборами индексов Ч, . . ., im, получим взаимно однозначное отображение cpw : Dpm-^ -^ Dvm или для отдельных квантов ^т (d (Ч - • • 1т^=9 (Ч • • • ЧпУ Отображение Фт можно также интерпретировать как соответствие между 2рт равноотстоящими точками из Dxm (центрами квантов лг-го разбиения) и узлами равномерной прямоугольной решетки в D^ где каждый узел является центром кванта /п-го разбиения. Из определения построения квантов m-го разбиения вытекают соотношения:
DP ZD a (iO ZD a ^ ZD... ZD a (lx ... u. 25) ^1 ZD 5 (^i) ZD 9 (^1^2) ZD • • • ZD 9 (И • • • 4iV
Это свойство называется сходимостью по разбиениям. Оно означает, что обеспечена сходимость решения задачи поиска соответствия точек в D^ и D^ при увелйчении номера разбиения т.
Если для каждого конкретного номера разбиения т считать все точки, входящие в один квант тп-го разбиения, неразличимыми, то образом произвольной точки х £ Dp при отображении ^т можно считать любую точку кванта ^ (^ . . . 0=? (d (г . . . г^ при условии x^d^iy . . . 1Ш\ Для определенности всем точкам кванта приписываются координаты его центра, поэтому ^т (х) есть координаты центра кванта д (t^ . .у, и, наоборот, каждой точке у £ D1 ставится в соответствие точка ср-1 (у) — центр кванта d(iv • Л„)£ Dfn. Определенное так отображение ср-1 обладает свойством, называемым квазинепрерывностью [10] и показывающим, что любые точки уг и у^ близкие в D1, имеют прообразы, близкие в Dp:
II (У1) - (Ы II, < 2 | У1 - у,I1". (2. 26)
Таким образом, используя отображение ^т : D^ -> D^, можно каждому р-кортежу значений признаков (после процедуры шкалирования и нормировки к интервалу [О, 1)) поставить в соответствие рекурсивный номер G=lv . Лт или 2^-ичную дробь g = ^- iv • -к, О < g< 1.
Предположим, что среди р признаков рг представлены количественными шкалами, р2 — шкалами порядка, р3 — шкалами наименований, Рг+Ря+Рз— Р- Кодируя значения градаций шкал порядка и наименований натуральными числами, получаем числовое представление набора признаков для каждого объекта, причем р2+Рз признаков имеют дискретные области значений, а рг количественных признаков в общем случае имеют непрерывную область изменения. Таким образом, получаем единое представление множества признаков для каждого объекта в виде р чисел. Очевидно, что градациям всех признаков совершенно необязательно приписывать целые значения: шкалам порядка и наименований — в силу допустимости для них монотонных преобразований, количественным шкалам — потому, что установлено соответствие конечного (в силу ограниченности точности измерений) числа абсолютных значений шкалы и символов, кодирующих эти значения. Следовательно, можно пронормировать тем или иным способом область изменения каждого признака к интервалу [О, 1), что дает возможность каждому кортежу из р значений признаков сопоставить точку в р-мерном единичном гиперкубе Dp.
Закон, по которому будет проходить дробление Dp при построении отображения ^т1 известен, поэтому открываются возможности варьировать способ нормировки в зависимости от реального содержания, заложенного в ту или иную шкалу; очень удобным, например, оказывается представление признаков, имеющих иерархическую структуру.
Будем последовательно строить отображения cpm:D^->7)^ при тп=1, 2, . . . При этом все объекты классификации, попадающие в один квант d (1^ . л^^ D^ отображаются в квант д (^ . л^ £ £S^ и изображаются прямоугольником соответствующей высоты,
771 = 3D3771 = 3D3Рис. 2.19. Одновременный анализ нескольких одномерных отображений.Рис. 2.19. Одновременный анализ нескольких одномерных отображений.
771 = 3D3
771 = 3D3
Рис. 2.19. Одновременный анализ нескольких одномерных отображений.
Рис. 2.19. Одновременный анализ нескольких одномерных отображений.
таким образом, на D^ строится аналог одномерной функции плотности распределения (рис. 2.19). Высота прямоугольника, или, иначе говоря, оценка плотности функции распределения, равна числу объектов, попавших в данный квант, отнесенному к его длине
Здесь 8 (iP . .im) — оценка функции плотности в кванте д (ip . лтУ р (Ч- • -Q ~ число объектов в кванте д (ip . Л^. Будем строить график зависимости максимальной плотности от номера разбиения:
Чах (^г) = max (8 (1е! ... 1т^.
Очевидно, если в данных существует некоторая структура, то сначала функция 8msx (m) должна расти до тех nopt пока на
некотором шаге т^ не начнется дробление компактных групп объектов. При m > mx функция 8шах (тп) будет примерно постоянной или убывающей в зависимости от вида распределения компактных групп. Наконец, начиная с некоторого т^ > mr в каждый квант будет попадать один-два объекта. Функция 8тах (иг) будет расти экспоненциально. Как показали практические исследования, оптимальным номером разбиения тп для визуального разделения классов является номер, соответствующий первому максимуму функции 8шах (иг), или предыдущий номер.
Если задаваться вопросом, какие свойства отображения обеспечивают возможность решения задачи автоматической классификации и каковы сравнительные характеристики данного метода и других существующих методов, можно отметить следующее.
Во-первых, квазинепрерывность отображения гарантирует, что объекты, оказавшиеся «близкими» в D^ являются «близкими» и в Dr. Понятие близости в данном случае включает в себя два момента: «близость в малом» -— два кванта, соседние в D^ имеют общую грань в D^ «близость в большом» — группа квантов, образующих цепочку в 5^, образуют в D^ компактное множество, максимальный диаметр которого есть минимально возможный по отношению к другим способам отображения пространства (телевизионная и спиральная развертки, случайные блуждания).
Во-вторых, свойство сходимости по разбиениям позволяет проводить одновременный анализ сразу нескольких одномерных отображений (рис. 2.19) различной степени общности, причем отображения с большими номерами разбиения лишь уточняют координаты объектов в D^ но не изменяют их, как было в случае отображений другими способами (телевизионная и спиральная развертки).
По сравнению с другими методами автоматической классификации рассмотренный метод имеет преимущество — высокую наглядность. Независимость от числа отображаемых объектов (время построения отображения очень мало) дает ему преимущество перед методами последовательного типа, где с увеличением числа объектов классификации резко возрастает время вычислений, или перед методами, основанными на анализе матрицы расстояний объектов, где возможное число объектов в принципе ограничено размером памяти ЭВМ. Методы типа ГК или ФА можно использовать при большом числе объектов, однако их возможности разделения классов при числе последних более 3—4 сильно ограничены.
Недостатком алгоритмической реализации описываемого метода следует считать достаточно низкую размерность признакового пространства, для которого он может быть использован, практически максимальная размерность при решении задачи на ЭВМ, имеющей длину машинного слова 50 разрядов, составляет 25-4-30 в зависимости от сложности решаемой задачи.
Программная реализация
В системе SITO имеется несколько различных процедур, реализующих рекурсивный метод отображения многомерного пространства на единичный интервал, при этом процедуры MAPON, MAPFROM, MAPFRA. предназначены для построения «точечных» отображений у=^т (х), х^™1 (у), х £ Dp, у £ D1, а процедура RAZVR дает возможность визуально анализировать СД и соответствует построению отображения фт : D^ -> D^.
Процедуры MAPFROM и MAP FRA. сопоставляют заданной точке из р-мерного гиперкуба Dp точку на числовой оси D1 при помощи отображения yw при условии, что порядок разбиения т задан.
Обращение й процедурам имеет вид:
MAPFR1 (Р, М. А. X); где
Р — количество признаков;
М — номер ‘ разбиения пространства;
А [1:Р]— массив нормированных значений признаков объекта, отображаемого на числовую ось (0 ^ А [7] < 1, 7=1, р);
X — выходной параметр: координата объекта на интервале [О, 1);
MAPFROM (Р, М. Л, X, IY где 7 [1:Л7] - выходной параметр: последовательность номеров квантов, в которые попадает объект при построении отображения, для различных номеров разбиения М* М; смысл остальных параметров такой же, как и в процедуре MAPFRA..
Тексты процедур MAPFRA. и MAPFROM совпадают во всем, кроме обращения >и описания массива I [1:Л7], поэтому на рис. 2.20, а приведена только распечатка процедуры MAPFROM.
Процедура MAP0N предназначена для нахождения координат объекта в многомерном пространстве по его координате на интервале [0,1) числовой оси при использовании рекурсивного отображения ср-1.
Обращение к процедуре: MAPON (Р, М, Л, X); где
— число признаков;
— номер разбиения пространства;
— координата объекта на интервале [0, 1) числовой оси;
А [1:Р] — выходной массив: нормированные значения признаков объекта в многомерном пространстве (0 ^ Л [7] < 1, гаГрГ
Распечатка процедуры приведена на рис. 2.20, б.
Процедура RAZVR предназначена для визуализации многомерных данных на числовой оси. Процедура строит гистограмму плотности распределения объектов на интервале [0,1) числовой оси после отображения всех объектов из многомерного пространства при помощи процедуры MAPFRA. для различных номеров разбиения исходного признакового пространства.
Обращение к процедуре: RAZVR (TV, Р, F); где
N — число объектов;\
Р — число признаков (количественных и качественных);
F [1:7V] — выходной массив координат объектов на интервале [О, 1) числовой оси.
Для работы процедуры необходимо, чтобы в ЛБД были записаны: исходная информация INF [1:Р, 1:7V] (массив № 1); массивы максимальных ТИА [1:Р] и минимальных MI [1:Р] значений признаков ТЭД (в массивах № 16 и № 15, соответственно).
Технические характеристики программы:
типы обрабатываемых признаков — количественные, качественные;
объем памяти, требуемый для хранения массивов, ~N (Р-НН-ЗР;
требуемые подпрограммы: CHANGE — только при работе с ЛБД; MAXIM (п. 5.4.1); MAPFRE (см. распечатку на рис. 2.20); TIP1 (§ 3.3); SORTING (п. 5.4.5).
Распечатка программы приведена на рис. 2.21.
Пример работы программы
На рис. 2.22 приведена распечатка результатов работы программы RAZVR для данных об ирисах. Для каждого номера разбиения распечатываются координаты всех объектов на интервале [0, 1). На рис. 2.22 массив координат объектов показан лишь для случая (а), а затем строится одномерная гистограмма попадания объектов в кванты дискретного пространства. Номер кванта (в скобках) и число объектов в нем указывается перед звездочкой, изображающей квант, за ней печатается список номеров объектов, находящихся в кванте. Из анализа рис. 2.22 можно сделать вывод, что обрабатываемые данные обладают ярко выраженной структурой (например, на втором разбиении более 85% объектов попадают в 8 квантов, т. е. занимают чуть более 3% объема пространства). Сопоставляя разбиения 2 и 3, можно обнаружить три достаточно плотных ядра классов (соответствующих сортам I, II, III), которые можно принять в качестве обучающих выборок для дальнейшей работы.
Г лав a 3
АЛГОРИТМЫ АВТОМАТИЧЕСКОЙ КЛАССИФИКАЦИИ И РАСПОЗНАВАНИЯ ОБРАЗОВ
§ ЗЛ. Иерархическая группировка
ЗЛЛ. Основы метода
Пусть задана совокупность объектов, описываемых р признаками каждый (исходная выборка). В пространстве описания каждый объект представляется р-мерным вектором или точкой, координаты которой есть значения соответствующих признаков. Исходную выборку требуется разбить на однородные в некотором смысле классы, причем априорная информация о числе групп, характере распределения объектов внутри каждой группы, обучающих выборках и т. п. зачастую отсутствует.
Полученные в результате разбиения классы обычно называются кластерами, а методы их нахождения — кластер-анализом. Пользуясь для решения конкретной задачи кластер-анализом, исследователь пытается определить естественное расслоение объектов исходной выборки на более или менее ярко выраженные кластеры, лежащие друг от друга на некотором расстоянии в многомерном пространстве описания. Отметим, что решение в таком смысле может и не существовать, например, если выборка образует один кластер.
Можно сказать, что в случае кластер-анализа исследователь так задает критерии классификации, чтобы понятия кластер (а значит, и класс) и образ оказались эквивалентными, т. е. Sk—A^ i=k==ls t.
В любом случае начальная трудность состоит в определении того, что понимать под группой или кластером. Сделать это можно разными способами, но почти все они основаны на понятии «близости», или «расстояния» между объектами. Следовательно, необходимо ввести некоторую метрику р (яо Ху), определяющую расстояние между двумя точками х4 и х^ а затем уже установить расстояние, при котором два объекта можно считать близкими. Очевидно, чем меньше расстояние между объектами, тем они ближе. Аналогично можно определить и функцию подобия объектов г (то х^. В отличие от р (хо х^) бблыпие значения этой функции соответствуют более близким объектам.
При классификации признаков естественным показателем расстояния между признаками х^ и х^ является коэффициент корреляции причем ги=1, i=l, р.
В общем случае к метрике предъявляются следующие требования. Пусть р (яо Жу) есть функция расстояния между объектами х4 и х^ тогда:
расстояние объекта до самого себя минимально, т. е. р (^ х^ > р (х^ х^\
расстояние от объекта xi до объекта х^. равно расстоянию от Жу до xis т. е.
р(^. ^) = р(^» ^);
расстояние между двумя объектами, измеренное по прямой, короче расстояния, измеренного по любой другой линии (неравенство треугольника):
Р fo, */) Р ^it> х^ + р ^хи х^.
Последнее требование означает, что пространство, в котором будет проходить классификация, метрическое. Это условие можно и не вводить.
Выбор конкретного вида метрики (или меры близости) является узловым моментом исследования, от которого решающим образом зависит окончательное разбиение на классы. При решении вопроса о выборе метрики следует исходить из физической и статистической природы объектов и из содержания решаемой задачи.
Приведем в качестве примеров наиболее часто используемые в задачах кластер-анализа метрики [14].
Евклидово расстояние:
Ра ^i- ®у) = V S ^ — ^Z1)2-
Эту метрику исследователи очень часто используют только потому, что не знают других метрик, хотя ее свойства не лучше и не хуже других. К случаям, в которых удобно применять именно евклидово расстояние, можно отнести следующие:
признаки х'х\ х^\ . . ., я(р) однородны по своему физическому смыслу, причем установлено, что все они одинаково важны при отнесении объекта к тому или иному классу. Если же известно о различной важности признаков, то используется взвешенное евклидово расстояние:
где №к — вес fc-ro признака; ,
признаковое пространство совпадает с геометрическим пространством нашего бытия (р=1, 2, 3) и, соответственно, понятие «близости» объектов совпадает с понятием геометрической близости в этом пространстве,
Расстояние Хэмминга:
р
*==1
Это расстояние используется в основном как мера различия объектов, признаки которых измерены в шкалах наименований и порядка. В случае дихотомических признаков расстояние Хэмминга показывает число несовпадающих у объектов признаков.
Расстояние Махаланобиса:
'VdAxi' xj):==\l^xi х^ 2 (ж» xj^'
Здесь 2”1 — матрица, обратная ковариационной.
Такое расстояние между объектами удобно тем, что оно инвариантно по отношению к линейным преобразованиям признакового пространства, т. е. любое линейное преобразование (растяжение, сдвиг, поворот и т. п.) оставляет расстояние Махаланобиса между объектами неизменным. Это расстояние применяют в том случае, если признаки я(1), х^\ . . ., я(р) значительно корродированы между собой, а также если признаки имеют различную значимость для классификации. Более подробное описание различных мер подобия и близости дано в [22].
При конструировании различных кластер-процедур очень часто возникает также понятие расстояния не между отдельными объектами, а между целыми группами объектов. Приведем примеры наиболее часто используемых расстояний, характеризующих взаимное расположение отдельных групп объектов. Область применения каждой из функций межклассового расстояния будет рассмотрена при описании соответствия различных типов исходных данных и различных кластер-процедур.
Расстояние между двумя группами равно расстоянию между ближайшими объектами из этих групп («ближний сосед»):
pi(si>тш Wfc, а™».(3.1)।
x)e^St,xm^Sj
Здесь S{ — г-я группа объектов.
Расстояние между двумя группами равно расстоянию между их математическими ожиданиями («центры тяжести»):
М^, S/) = p($(i), $(j)).(3.2)
Здесь $ (I) — вектор математического ожидания для г-й группы. d
Расстояние между группами равно расстоянию между их самыми дальними объектами («дальний сосед»):
Рз( ^^» § Л ^о {Р кхк' хт)}'(3* 3)
хкxm^S j।
Расстояние между группами равно среднему арифметическому всевозможных попарных расстояний между представителями рассматриваемых групп:
^^ Р Жт^в (^* ^)
^ ^6^^ XmQ.8j
Здесь п. — число объектов в группе 84.
Понятие расстояния между группами объектов особенно важно в так называемых иерархических кластер-процедурах, где алгоритм последовательно объединяет (разделяет) самые близкие (далекие) друг от друга группы объектов. Рассмотрим такие процедуры.
Введем понятие иерархической кластер-процедуры. Такая процедура представляет собой пошаговый алгоритм, при котором на каждом шаге происходит разбиение (объединение) множества объектов, подлежащих классификации на (в) непересекающиеся кластеры, при этом каждое последующее разбиение (объединение) относится к кластерам, полученным на предыдущем шаге.
При работе такого рода процедур происходит построение так называемого иерархического классификационного дерева. Под ним понимается множество разбиений исходной выборки на классы, упорядоченное по уровням иерархии, или, что то же самое, по номеру шага иерархической процедуры. Из сказанного следует существование двух типов процедур: агломеративных, которые на каждом шаге объединяют полученные ранее кластеры в более крупные группы, и дивизимных, которые на каждом шаге дробят полученные ранее кластеры на более мелкие.
Простейшим примером агломеративной процедуры является так называемый пороговый алгоритм. Для его реализации задается монотонно возрастающая последовательность порогов {с„}, »=1, 2, . . ., и на каждом шаге г к одному классу относятся те объекты, расстояние между которыми не превосходит с..
Иерархические кластер-процедуры привлекательны тем, что делают полный и достаточно тонкий анализ структуры исследуемого множества объектов. Действительно, исследователь, получив в распоряжение иерархическое дерево, может решать самые разнообразные задачи классификации. Например, определить неизвестное число классов, выполнить разбиение на заранее заданное число классов, провести анализ однородности полученных кластеров, с учетом поставленной задачи выбрать оптимальную классификацию. Удобным свойством подобных алгоритмов является и возможность наглядной интерпретации проведенного анализа, а также их нечувствительность к проблемам большой размерности.
К недостаткам иерархических процедур следует отнести громоздкость их реализации на ЭВМ. Большинство подобных алгоритмов основано на анализе матрицы попарных расстояний между объектами и, следовательно, требуют большого объема машинной памяти. При числе объектов более 200 реализация таких алгоритмов практически становится либо невозможной, либо нецеле-
aa66Рис. 3.1. Результаты работы процедур классификации* а — «ближний сосед»; б — «дальний сосед».Рис. 3.1. Результаты работы процедур классификации* а — «ближний сосед»; б — «дальний сосед».
a
a
6
6
Рис. 3.1. Результаты работы процедур классификации* а — «ближний сосед»; б — «дальний сосед».
Рис. 3.1. Результаты работы процедур классификации* а — «ближний сосед»; б — «дальний сосед».
сообразной. Следует также отметить, что каждый конкретный вид иерархической процедуры отыскивает в исходной выборке не те группы, которые там реально существуют, а те, для поиска которых он предназначен [23]. Этот факт является следствием того, что круг задач, при решении которых не происходит принудительного навязывания данным заранее предопределенной структуры, для конкретной процедуры достаточно узок. Рассмотрим выборку, изображенную на рис. 3.1. Применив алгоритм, построенный на функции межгруппового расстояния по ближнему соседу, или просто алгоритм «ближний сосед», получим разбиение на два класса, показанное на рис. 3.1, а. Если же применить процедуру «дальнего соседа», то получим совершенно другие классы (рис. 3.1, б), причем более естественным надо признать второе разбиение. Причиной непригодности алгоритма «ближнего соседа» для данной выборки является наличие цепочки близких друг к другу объектов, соединяющих первую и вторую группы объектов. Это общее свойство алгоритма типа «ближний сосед»; поскольку расстояние между кластерами есть расстояние между ближайшими их элементами, то получаемые в итоге кластеры могут иметь достаточно сложную форму, в частности они не обязаны быть выпуклыми. Считать это свойство недостатком алгоритма было бы, по меньшей мере, неразумно; его следует применять к данным, когда это свойство не будет мешать классификации.
В случае более сложной формы естественных группировок цепочный эффект алгоритма «ближнего соседа» обеспечивает верную классификацию (рис. 3.2).
В то же время алгоритм «дальнего соседа» ориентирован на поиск скоплений типа шаровых; на рис. 3.1, б два шаровых скопления находятся правильно, но если исходные данные образуют естественные группы сложной формы, т. е. находятся «вне компетенции» алгоритма (рис. 3.2, б), то естественно ожидать навязывания данным шаровой структуры предполагаемой алгоритмом, а значит, и неверной классификации (рис. 3.2, б).
«Промежуточными», т. е. ориентированными на поиск групп данных не очень сложной, но и не шаровой формы, являются алгоритмы «центров тяжести» (3. 2) и «средней связи» (3. 4). Они успешнее используются в классе задач, где группы имеют не слишком сложную форму, например гдперэллипсоидную. Отме-
Рис. 3.2. Результаты работы процедур классификации. а — «ближний сосед»; б — «дальний сосед».
тим, что алгоритм центров тяжести ближе к алгоритму «дальнего соседа», а алгоритм «средней связи» может находить так же5 как и процедура «ближнего соседа» группировки не выпуклой формы.
Иерархические процедуры типа «средней связи» или «ближнего соседа» с успехом могут применяться для решения двойственной по отношению к группировке объектов задаче, т. е. для выявления естественных групп признаков. Обнаружив такие группы, можно снизить размерность признакового пространства, если такая задача ставится путем выбрасывания дублирующих (близких в смысле введенной меры близости) признаков. Можно также каждую группу признаков заменять новым, обладающим общим для этой группы свойством и соответствующим физической интерпретации обрабатываемых данных. В этом случае иерархическая процедура, примененная к двойственной задаче, работает успешно и поэтому может быть рекомендована для использования. В качестве метрики при решении задачи группировки признаков применяют обычно монотонно убывающую функцию от коэффициента корреляции, например р(я(О, x^^—l — |г^|.
Как было сказано, различные иерархические процедуры отличаются друг от друга в основном выбором метрики и функции межгруппового расстояния. Исходя из общей схемы иерархической агломеративной процедуры, можно отметить, что единственной операцией, требующей умения определять расстояния между двумя классами, является пересчет матрицы межклассовых расстояний после объединения на каждом шаге двух кластеров 8т и Sq в один S (т, qY При этом требуется определить расстояние от вновь образованного кластера до всех остальных, т. е. р (8 (тп, qY 8^, где 1=1, А, г^т, i^q, к ■— число кластеров на данном шаге.
В [24] предлагается общая формула, позволяющая вычислять р (8 (m, qY 8^ не заново, по формулам (3. 1)-г(3. 4), а на основе известных из предыдущего шага расстояний между кластерами Sw, Sq) 8;.
^тп, 5), S^-a^ Ш0р(^ Sq) - TP (Smi Sq) +
+ $ I? (Si. $»)-?№. S,)l.(3.5>
где a, p, T, 8 — числовые коэффициенты, значения которых и определяют направленность процедуры на ту или иную СД.
Если положить, например, а=0.5; 0=0.5; Т=0; 8=—0.5, то р (5 (тп, qY S^ будет определяться по принципу «ближнего
Соседа», в случае у=0, а = р =3=0.5 формула (3. 5) даст расстояние «дальнего соседа». Очевидно, варьируя 3 от —0.5 до +0-5, с помощью (3. 5) будем получать формулы межклассовых расстояний для иерархических процедур промежуточной направленности, например алгоритм «средней связи» получается из (3. 5), если положить
^ = 0 = 0, а = —^— о
^ +^,и + п^ ’
где пти пд — число элементов в классах Sm и Sq.
Остановимся особо на выборе коэффициента у, который можно назвать коэффициентом экспансии. Действительно, взяв конкретные а, р, 8 и.дюложив у > 0, получим все расстояния р (5 (т, д^ S?), 1 = 1, к уменьшенными на величину yp(Sm, S^, не зависящую от I. Это эквивалентно тому, что вновь образованный класс S (т, д) «съёл» часть пространства, при этом все другие классы стали к нему ближе, но расстояние между ними не изменилось. Если положить у < 0, то класс S (т, д) отдалится от всех остальных классов на расстояние у р (5т, 5?), «генерируя» пустое пространство вокруг себя.
Ясно, как скажется выбор у > 0 на работу процедуры — в этом случае первоначальные кластеры, находящиеся обычно в «густонаселенных» областях, будут притягивать и присоединять соседние объекты. Если у слишком велико, то первый же образованный кластер может объединить один за другим и все остальные объекты, что, конечно, недопустимо. Таким образом, при у > 0 иерархическая процедура оказывается ориентированной на поиск малого числа групп объектов, имеющих явно выраженные сгущения. В противном случае при у < 0 процедура оказывается наиболее приспособленной для поиска значительного числа более или менее однородных (в смысле расстояний между объектами) групп. На практике значения у обычно выбираются в пределах -0.24-0.2.
Общая схема иерархической процедуры (для определенности агломеративной) имеет следующий вид:
все объекты считаются отдельными кластерами;
два самых близких кластера (по матрице межклассовых расстояний) объединяются в один;
пересчитывается матрица межклассовых расстояний;
переход к п. 2.
Очевидно, такая процедура за ^—1 шагов (N — число объектов выборки) объединит все объекты в один кластер. На каждом шагу будем фиксировать расстояние между объединяемыми кластерами. Если рассматривать это расстояние как функцию от номера шага, то такая функция будет монотонно возрастать, поскольку каждый раз происходит объединение ближайших классов, расстояние между которыми на данном шаге наименьшее.
Из анализа функции минимальных межклассовых расстояний (рис. 3.3, а) можно сделать вывод, что на шаге t имелась наиболее о 2
f(n)a\ f(n) 6
Рис. 3.3. Функция приращения межклассовых расстояний (а) и ее первая разность (б).
правдоподобная классификация, поскольку на последующем шаге Н-1 межклассовое расстояние резко возрастает и, следовательно, на Н~1 шаге были объединены кластеры, далеко лежащие друг от друга. В то же время ранее объединялись близко лежащие кластеры, т. е. к одному классу относились объекты, близко расположенные в пространстве. Таким образом, анализируя график функции минимальных межклассовых расстояний, можно давать оценку неизвестного числа групп в выборке.
Более удобным является использование функции приращения межклассовых расстояний (рис. 3.3, б), которая является разностным аналогом первой производной функции минимальных межклассовых расстояний. Ее глобальный максимум соответствует шагу, на котором произошло насильственное объединение естественных групп, а значит, наиболее вероятная классификация имеет место на предыдущем шаге.
Программная реализация
В системе SITO реализована агломеративная иерархическая процедура, предназначенная для построения иерархического классификационного дерева множества объектов, описываемых разнотипными признаками. Предусмотрены различные варианты определения межклассовых расстояний и различные варианты определения расстояния между объектами (метрики). При помощи этого же алгоритма возможно осуществлять и группировку признаков, а не объектов.
Реализована следующая алгоритмическая модель процедуры:
задание исходных параметров процедуры, определяющих ее направленность;
вычисление попарных расстояний между объектами (признаками); каждый объект (признак) считать далее классом; номер шага положить равным 1.
поиск двух ближайших классов; объединение этих классов в один;
вычисление очередного значения функции приращения межклассовых расстояний; пересчет матрицы межклассовых расстояний;
если число объектов ни в одном из объединенных на данном шаге классов не равно 1, то печать номеров объектов и соответствующих им номеров классов;
увеличить № на единицу; если номер равен общему числу объектов, то перейдем к п. 7, иначе перейти к п. 3;
вывод на печать функции приращения межклассовых расстояний; поиск ее глобального максимума и вывод сообщения о наиболее вероятной классификации.
Обращение к процедуре: HIERARH (N, Р, VAR^ FORM^ KOLKY где
N — число объектов; Р — число признаков;
VAR — управляющий символ; если VAR—V то считается, что все признаки,) классификационные, VAR—2 — все признаки качественные, VAR=3 — все признаки количественные, если VAR—4, то будет производиться группировка не объектов, а признаков;» если УЛ7?=0, то присутствуют признаки разных типов; '
FORM -т управляющий символ; если FORM^, то межклассовые расстояния определяются по правилу «ближнего соседа», F0RM=2 — по правилу «средней связи», F0RM=3 — по правилу «дальнего соседа»; .
KOLK — наиболее вероятное число классов (выходной параметр).
Для работы процедуры необходимо, чтобы в ЛБД были записаны: 1) ТЭД — массив №1,2) веса признаков — массив № 14, 3) массив, показывающий число признаков каждого типа (в случае, если признаки разнотипные, т. е. VAR=0y — массив № 18. Все указанные массивы могут быть заполнены процедурой INP.
В случае группировки признаков необходимо, чтобы в ЛБД была предварительно записана корреляционная матрица (например, при помощи процедуры OCENKI или OCENKI2) — массив № 2, при этом N должно быть равно числу признаков.
В результате работы процедуры наиболее вероятная классификация записывается в ЛБД в массив № 16, KL [1:7V] — массив, К-й элемент которого есть номер класса К-го объекта.
Процедура HIERARH может работать только в том случае, когда число объектов ТЭД невелико (до 150). В противном случае можно использовать процедуру CLASTER, которая является модификацией процедуры HIERARH. Эта процедура не используется при автоматической работе системы SITO, так как время решения задачи с ее помощью достаточно велико, поскольку матрица попарных расстояний хранится на внешних запоминающих устройствах. . •
Обращение к процедуре CLASTER и смысл параметров такой же, как и при обращении к процедуре HIERARH.
Технические характеристики процедуры HIERARH*.
типы обрабатываемых признаков — количественные, качественные, классификационные;
требуемый объем памяти. для хранения массивов
используемые подпрограммы: CHANGE (п. 5.2.2)— только при работе с ЛБД; MAXIM (п. 5.4.1); MINIM (п. 5.4.2).
Распечатка программы приведена на рис. 3.4.
Распечатки процедуры CLASTER не приводится, поскольку ее реализация машинно-зависима в частях программы, отличающихся от ее прототипа HIERARH.
3.1.3, Пример работы программы
На рис. 3.5 приведены фрагменты результатов работы процедуры HIERARH рдя данных о цветах ирисов. На каждом шаге процедуры информация о разбиении исследуемого множества объектов на классы выдается на печать лишь в том случае, если на этом шаге произошло объединение групп объектов, каждая из которых содержала не менее двух объектов. При построении графика функции приращения межклассовых расстояний (ФПМР) символом «V» отличаются те номера шагов, на которых одновременно с вышеупомянутым условием выполняется условие наличия локального максимума ФПМР.
Из анализа рис. 3.5 можно сделать вывод, что вне зависимости от направленности процедуры (варианта ближнего или дальнего «соседа», средней связи) программа обнаруживает в данных лишь два класса: один, соответствующий сорту I, второй — смесь сортов II и III. В случае (а) (рис. 3.5, а) имеется выраженный цепочечный эффект, когда к большим группам идет подсоединение отдельных объектов. Случаи (б) и (в) интересны тем, что в качестве отдельного класса оказывается выделенной группа цветов сорта II (шаг 145, класс 4 для случая (б) и шаг 147, класс 2 для случая (в)), которая действительно представляется довольно плотной (см. рис. 2.12). В то же время в случае (в) имеем неверную классификацию на последнем шаге за счет включения в вышеуказанную группу объекта № 42 с промежуточными характеристиками.
§3.2. Выделение связных компонент структуры данных
Трудности применения иерархических алгоритмов классификации связаны с необходимостью априорного задания вида метрики пространства описания, а также со сложностями организации вычислительной процедуры и большим объемом требуемой памяти ЭВМ. В связи с этим была предпринята попытка построения алгоритма классификации, близкого по своим параметрам к иерархическому, но не требующего введения метрики пользователем и способного работать при значительно большем количестве объектов. Такая процедура была построена на основании рекурсивного отображения многомерного пространства Jna числовую ось [21]. Рассмотрим ее подробнее.
65655 В. В. Александров, Н. Д. Горский
65
65
3.2Л. Связные компоненты СД
Рассмотрим экспериментальные данные, вписанные в дискретное пространство (§ 2.5) размерности р с номером разбиения тп. В этом случае все объекты, попадающие в один и тот же квант тп-го разбиения, считаются неразличимыми, им приписываются координаты центра этого кванта. Таким образом, СД в пространстве описания оказывается аппроксимированной в дискретном пространстве D^ множеством квантов, в каждый из которых попадает хотя бы один объект. Такое множество квантов будем называть структурой данных в дискретном пространстве (СДДП).
Рассматривая СДДП при различных номерах разбиения т^ получим последовательность аппроксимаций СД с различной степенью подробности, или иерархию аппроксимаций СД (рис. 3.6). Тогда для формальной постановки задачи иерархического разбиения исследуёмрго множества объектов на непересекающиеся классы в дискретном пространстве достаточно обобщить на этот случай понятие класса (кластера). Таким обобщением и является понятие связной компоненты СДДП. Для того чтобы это понятие стало более понятно, введем некоторые определения.
Назовем два кванта j и d' из дискретного пространства D^ соседними, если они имеют общую грань порядка р—1. Обозначать этот факт будем d$d9. Согласно этому определению, соседними в D'm являются смежные кванты^в D^ — имеющие общую сторону и т. д. Общее число соседей у р-мерного кванта в СДДП может колебаться от 0 до 2р.
СДДП будем называть односвязной (или просто связной), если между любыми ее квантами d и d9 найдется цепочка соседних квантов из этой структуры: d^dv d^d^ . . ., d^d9. <
Несвязную СДДП назовем L-связной, если ее можно представить в виде объединения L односвязных структур, которые и называются связными компонентами СДДП. Все объекты исследуемого множества Е* входящие в одну связную компоненту, образуют один класс (рис 3.6).
Наиболее простой путь построения алгоритма выделения связных компонент заключается в проверке условий соседства всех квантов, входящих в исследуемую структуру. В этом случае, однако, вычислительная сложность алгоритма оказывается чересчур высокой, поскольку требуется найти все пары соседних квантов,, т. е. выполнить число операций, пропорциональное п? (п —число квантов в СДДП). Покажем, как, используя рекурсивное отображение СДДП из многомерного пространства в одномерное, можно сократить этот перебор.
Прежде всего требуется найти способ определения факта соседства произвольных квантов d (^ . . . tj и d9 (^ . . . 7J £ D^t если известны их образы в одномерном пространстве д^. . . 1^ — =^т kd- (^ • • • U) И / (А . . • 7m)=Vm (^' (/1 • • • Q\ РаССМОТриМ сначала случай тп=1. При этом соседство квантов d (I) и d* 0) зависит только от способа нумерации квантов первого разбиения
Рис. 3.6. К определению СДДП.
и может быть определено по номерам этих квантов ъ и /. Для определенности будем считатьд что в нашем распоряжении имеется урав- нениеЛ обращающееся в тождество, если и только если d (i) Vd' (7):
F(it 7)= О <=> d(OVd'(7). (3.6)
В дальнейшем (3. 6) будем называть уравнением склеек. Конкретный вид этого уравнения для закона нумерации квантов первого разбиения^ использованного при построении процедур^екурсивного отображения §2.5, получен в [25]:
где Ьа есть первый сомножитель гёделевского разложения числа Ж'-Vl; 1+Ж=2”365с-. . ..
Для установления факта соседства квантов d и d' из Dfn достаточно дважды ^отобразить СДДП в одномерное ^пространство D^n.
Обозначим исследуемую СДДП А7и рассмотрим новую СДДП ^, полученную сдвигом X на величину диагонали кванта тп-го^раз- биения по всем координатам (рис. 3.7, а, б), считая при этом, что Х^и Артаковы, что не выходят за пределы гиперкуба Dp. Тогда для соседства квантов d (^. . . г^ и d' Ух. . . ]^ вЪ^ необходимо и достаточно чтобы: а) либо cpw(d) и ?w(d'), либо jpm(d) и cpM(J') принадлежали одному и тому же кванту (т—1)-го разбиения; б) для индексов 1т и ]т выполнялось уравнение склеек (3. 6).
Доказательство этого утверждения можно найти в [21]. Практически оно означает следующее. Пусть требуется определить, являются ли соседними кванты d и d' из многомерного пространства. Тогда их можно отобразить дважды в одномерное пространство — сначала обычным образом, а затем предварительно прибавив к каждой их координате по величине 2"™. При этом возможны три варианта:
ни при одном отображении образы этих квантов не входят в один и тот же квант предыдущего разбиения в одномерном пространстве — кванты d и d' не соседние;
на одном из отображений кванты d и d' входят в один и тот же квант предыдущего разбиения, но для номеров 1т и jm не выполняется уравнение склеек — кванты d и d' не соседние;
Рис. 3.7/ Отображение СД в одномерное пространство, позволяющее восстановить соседство^ квантов.
то же, что и б), только уравнение склеек для номеров гши jm выполняется, следовательно, cRd*.
Вторым шагом при создании алгоритма выделения связных компонент является разработка способа сокращения перебора пар квантов исследуемой на связность СДДП. Отметим, что после отображения структур X и X из’ D^b D^ соседство многих квантов сохраняется. Этот факт является следствием определения рекурсивного отображения (§ 1.5), согласно которому любые соседние в D^ кванты имеют в D^ общую грань порядка р—1, т. е. также являются соседними. Используем эту информацию для сокращения перебора. Пусть 7=cpm (X) и Z=cpw (X) — образы структур X и X в DYm (рис. 3.7, в, г). Разобьем Y на непересекающиеся мно-
S
жества У=иУп У^У.— 0 по следующим правилам:
квант с наименьшей координатой из У принадлежит Ух;
соседние кванты из У принадлежат одному множеству У/,
два кванта из, У, входящие в один квант предыдущего разбиения, принадлежат одному множеству У^ если их номера 1Ш и ]т удовлетворяют уравнению склеек (3. 6);
квант из У принадлежит множеству Yw если на основании правил (а)—(в) нельзя установить его принадлежность к Ус t
Аналогичным образом проведем разбиение Z:Z=(JZ., 5=1
ZtnZy=0 при ^/. Пример разбиения показан на рис. 3.7, в, г. 681 \
Рис. 3.8. Иллюстрация принципа работы алгоритма выделения связных компонент СД.
Нетрудно показать, что прообраз любого множества Y^Zp (=1, s, /=1, t связен в Dp, поскольку правила (а)—(г) относят к одному множеству Yi (или Z^) только кванты, прообразы которых являются соседними в D^: Таким образом, структуры X и X оказываются представленными наборами множеств квантов, каждое из которых связано в D^:
Х= U <6^. Х= и ^(^).
1=1/=17
Для окончательного выделения связных компонент структуры X оказывается достаточным [21] объединить кванты тех множеств Y^ Zp i — 1, s, / — 1, t, которые имеют, по крайней мере, поодному общему объекту из Е. Принцип работы этого алгоритма иллюстрируется рис. 3.8.
Как показывает практика, число множеств s (или £), на которые разбивается образ X в одномерном пространстве, оказывается пропорциональным V тц где п — число квантов в X, поэтому вычислительная сложность алгоритма оказывается пропорциональной не п?, a st, т. е. п.
Если рассматривать алгоритм выделения СД, основанный на анализе связных компонент, в сравнении с другими иерархическими кластер-процедурами, то можно сказать, что он наиболее близок по своим характеристикам к алгоритму «ближайшего соседа», т. е. ориентирован на выявление групп эллипсоидальной или сложной формы. Число объектов, с которыми может работать алгоритм, ограничивается лишь объемом памяти ЭВМ, необходимой для хранения двух массивов координат объектов в одномерном пространстве: одного массива, соответствующего образу структуры X, другого — соответствующего образу структуры X.
3.2.2, Программная реализация
В систему SITO включена процедура CONNECT, предназначенная для решения задачи автоматической классификации на основе выделения связных компонент СД. Реализована следующая алгоритмическая модель метода выделения связных компонент:
задание номера разбиения дискретного пространства т >1; нормировка значений признаков к интервалу [0, 1—2“т);
отображение объектов из D^ в D^n дважды: для нормированной ТЭД и для ТЭД, значения признаков каждого объекта которой увеличено на 2~?”;
упорядочение объектов на обоих отображениях в соответствии с возрастанием их координат в Р^;
разбиение каждого отображения на множества квантов, имеющих связные прообразы в D^ (согласно правилам а)—г));
проверка наличия общих объектов для каждой пары множеств, полученных на предыдущем шаге и принадлежащих разным отображениям;
распечатка номеров объектов, входящих в разные связные компоненты исследуемой структуры;
если требуется — увеличение номера разбиения на 1 и переход к п. 1, иначе конец.
Обращение к процедуре: CONNECT (Р, N, G); где
Р — число .признаков (количественных и качественных);
| N | — чибло объектов; если N < 0, то ТЭД и соответствующие минимальные и максимальные значения берутся для пространства ГК дли факторов, в противном случае — для исходных признаков; G — управляющий символ. Возможные варианты: G=0 — число разбиений определяется из возможного представления координаты объекта на числовой оси в памяти машины; G=m > 0 — связные группы определяются только для разбиения т; G=m < 0 — связные группы определяются для разбиений с 1-го по | иг
Классификация объектов, полученная на последнем разбиении, записывается в 15 массив ЛБД, а число групп в этом разбиении присваивается переменной G.
Для работы процедуры необходимо, чтобы в ЛБД находилась следующая информация: 1) ТЭД для исходных признаков (массив № 1) — при N > 0; ТЭД для ГК или факторов (массив № 9) —• при N < 0; 2) минимальные и максимальные значения исходных признаков (массивы № 11, 12) — при ^>0; то же для ТЭД, преобразованной к ГК или факторам (массивы № 7,'8), -при N <0.
Распечатка программы приведена на рис. 3.9.
Технические характеристики программы:
типы обрабатываемых признаков: количественные, качественные;
требуемый объем памяти для хранения массивов ~N (P-j-5) •
используемые подпрограммы: CHANGE (п. 5.2.2) — только при работе с ЛБД; MAPFR1 (п. 2.5.3); SORTING (п. 5.4.5); CCONE (см. распечатку на рис. 3.9, б); CLUST (см. распечатку на рис. 3.9, в).
3.2.3. Пример работы программы
На рис. 3.10 приведена распечатка результатов работы процедуры CONNECT для данных об ирисах. Для каждого разбиения, начиная со второго, выданы классы объектов, принадлежа- 70\
щих одной связной компоненте. Из сравнения результатов работы процедур CONNECT и HIERARH видно, что классификации рис. 3.10 и рис. 3.5, а в значительной «степени совпадают, что подтверждает направленность процедуры CONNECT на выявление групп вытянутой и сложной формы.
Еще один пример применения процедуры"CONNECT для анализа двумерных данных, представленных в виде изображения, приведен на рис. 3.11. | х
§3.3. Комбинаторный метод классификации
Основы метода Ц
Пусть поставлена задача классифицировать объекты, признаки которых имеют различные типы. Требуется разбить все множество объектов на группы объектов, обладающих общими свойствами. Будем считать, что дано р одномерных отображений, которые могут быть как исходными признаками, так и результатами применения к исходным данным других алгоритмов классификации (например, результатами ФА, примененного к количественным признакам). Тогда если каждое одномерное отображение разбито на группы похожих образов, то два объекта будут относиться к одной группе, если они относятся к одним и тем же группам по каждому из признаков [5].
Поскольку цель классификации состоит в получении естественных групп объектов, то и разбиение множества объектов по каждому признаку должно быть естественным.
Поиск естественного разбиения одномерного отображения может быть успешным или неудачным. В этом отношении отображения можно делить на информативные, по которым легко находится естественное разбиение множества образов, и неинформативные, по которым разбиение одномерного отображения можно задать лишь принудительно. При наличии неинформативных признаков лучше вообще не делать их разбиения, чтобы принудительно не дробить множество объектов и не вносить бесполезной информации в окончательную классификацию.
Вопрос о том, что совместное распределение двух и более неинформативных отображений может быть информативным, здесь не рассматривается, поскольку совместное распределение имеет смысл только при однотипных одномерных отображениях, а рассматриваемый метод предназначен дляч анализа признаков разных типов.
При классификации в начале исследования часто решается не задача полной классификации, а лишь задача выделения ядер групп, или обучающих выборок. Рассмотрим решение обеих задач параллельно для каждого типа признаков.
Шкала наименований (классификационный признак). В этом случае одномерное отображение множества объектов имеет вид, показанный на рис. 3.12. Здесь 1, 2, . . ., к — номера
№)
классов эквивалентности; / (n) — число объектов в клас- се 5„. 1 .
Отсутствие функции расстояния на шкале наименований не дает возможности говорить о какой-либо близости классов эквивалентности, поэтому классификационный признак определяет однозначное разбиение множества образов объектов на естественные группы, совпадающие с классами эквивалентности. Типичные представители классов, определенные по одномерному отображению, на основании которых будут определяться ядра групп, в этом случае также совпадают с классами эквивалентности.
Шкала порядка (качественный признак). В этом случае существует функция расстояния между двумя классами эквивалентности, поэтому можно говорить и об их близости. Тогда полученное одномерное отображение возможно интерпретировать как несглаженную оценку функции плотности распределения (гистограмму). Такая интерпретация позволяет применить весь аппарат математической статистики для решения вопроса о наиболее естественном разбиении этого одномерного отображения. Так, если гипотеза о нормальном распределении не противоречива, признак следует исключить из рассмотрения, в противном случае можно продолжить анализ. Лучшей возможностью здесь является, конечно, интерпретация гистограммы или построенной по ней сглаженной оценки самим исследователем, но возможна и автоматическая обработка.
В зависимости от числа классов эквивалентности существуют «богатые» и «бедные» шкалы порядка. Чем больше число классов, тем более информативна шкала порядка и тем ближе она по информативности к количественной шкале. Чем меньше классов, тем беднее информация, а шкала порядка приближается к шкале наименований. Поскольку при малом числе шкальных значений бывает очень трудно определить естественное разбиение, то в этих случаях можно считать естественными группами классы эквивалентности, т. е. осуществлять переход в шкалу наименований. Потеря информации от такого перехода невелика.
Шкалы интервалов, отношений, разностей (количествен- k
iibie Признаки). Соответствующее одномерное отображение показано на рис. 3.13. Пользуясь функцией расстояния, по такому одномерному отображению можно построить как сглаженную оценку функции плотности распределения, так и различные гистограммы. Отметим, что при построении гистограммы по количественному одномерному отображению теряется часть информации о расстояниях между объектами. После построения на гистограмме существуют только расстояния между интервалами, представляющими собой классы эквивалентных объектов, т. е. количественный признак сводится к качественному. При построении же сглаженной оценки функции плотности учитывается вся информация о расстояниях между объектами, поскольку такая оценка является суммой так называемых потенциальных функций и может быть получена в любой точке шкалы.
Далее можно лишь повторить все, что сказано об анализе оценки функции плотности распределения для качественного признака.
Рассмотрим автоматическую обработку оценки функции плотности распределения (ОФПР) (безразлично, сглаженной или нет). Поскольку вычислительная машина есть устройство дискретное, то будем предполагать ОФПР заданной в виде значений функции в равноотстоящих узлах. Если целью является разбиение множества N образов объектов на естественные группы, то можно, например, находить все локальные минимумы ОФПР и считать все образы, попавшие в интервал между t-м и (i+l)-M локальным минимумом, принадлежащими к t-й группе (обозначим ее 8{). При этом первым минимумом считается начальная точка области определения ОФПР, а последним — последняя точка области определения ОФПР. Очевидно, что
к-1 Е = U Sb t=i
где к — число локальных минимумов ОФПР.
В случае, если требуется выделить типичных представителей групп, поступают следующим образом: выбирают некоторый уровень отсечки U (ж) (рис. 3.13); ищут корни функции f(^—U (ж), где / (ж) — непрерывная функция, аппроксимирующая /(п). Пусть ^, . . ., хт^ — множество таких корней; к типичным представителям г-й группы (обозначим Ле) относят образы объектов, лежащие в интервале \хи a^J.
Очевидно, что
иЧ, »=i
где т — число корней функции / ^—U (я). В общем случае тп — число корней функции f (x)—U (х) и к —число локальных минимумов могут не совпадать.
В качестве U (х) можно брать скользящее среднее f(x\.
х+а
1 Г
U W = 2а J 5 (®) / (®) d®.ж—а
где g (х) — коэффициенты сглаживающего полинома.
В заключение следует сказать, что в любом случае следует избегать слишком дробного (в смысле числа групп) разбиения области значений признака. Наиболее содержательный анализ, как показывает практика, получается при выделении 24-5 групп по каждому из признаков.
Будем считать, что по каждому из признаков, каким-либо способом допустимым для шкалы, поручено разбиение z множества образов объектов на непересекающиеся подмножества.
В этом случае имеем р' <Р (поскольку некоторые признаки могут оказаться неинформативными) различных разбиений множества образов' объектов исходной выборки Е. Обозначим эти разбиения S^\ i=l, р':
S^ = {S["5U>),
где Sy1 — /-й группа образов; ki — число групп образов в t-м разбиении. Элементами групп являются номера объектов исходной выборки. В случае полной классификации множества объектов
а в случае поиска ядер групп #
ki
U S^cE, i = р\
3
причем равенство выполняется, если все признаки замерены в шкале наименований, т. е. разбиение каждого признака может быть проведено как на области, объединение которых дает всю область значений признака, так и на области «типичных представителей» групп, объединение которых дает лишь часть области значений признака. Объекты, образы которых лежат вне областей «типичных представителей», при необходимости также могут быть обработаны.
Примем, что два объекта принадлежат к одной группе (ядру), если их образы принадлежат к одной группе («типичным представителям» группы) по каждому разбиению S(<\ i=l, р’.
Назовем пересечением общую часть (пустую или непустую) р' групп объектов, из которых все принадлежат различным раз- биениям'5(0, /=1, р'. Обозначим пересечение символом W п где I — индекс, отличающий одно пересечение от другого. Исходя из определения пересечения, можно написать:
^=(1 ^> 1=Т7м,(3.7)
где mi — номер группы в разбиении*!.)
Существуют три различные возможности:
пересечение пусто, т. е. Wt = 0. Следовательно, ни один из объектов исходной выборки не обладает совокупностью свойств, соответствующих тт^-му интервалу (в шкале наименований интервалы вырождаются в точки) первого признака, тп2-му интервалу второго признака, . . ., трг-м.у интервалу р' признака;
пересечение состоит из одного объекта, т. е. совокупностью свойств, определяемых числами тх, т2, . . ., тр^ обладает один объект. Такой объект, очевидно, нельзя признать группой (ядром), поскольку он не имеет похожих;
пересечение состоит более чем из одного объекта. Следовательно, получена группа объектов (ядро), обладающих общими свойствами, определяемыми числами mv т2, . . ., трг по каждому из признаков.
Для нахождения всех групп похожих объектов, существующих в исходной выборке, необходимо и достаточно взять элементы множества возможных пересечений W = {И\, . . ., Н7Д которые содержат более одного объекта. Здесь под PF Донимается пересечение, полученное, согласно (3.7), при^^!, тп2=1, . . ., трг = 1; W2 соответствуют значения ^=1, т2=1, . . ., mpf—2 и т. д., пока числа mv т2, . . ., тр» не пробегут всех своих возможных значений, т. е. Wm будет соответствовать значениям тг=кХ1 т2=к21 . . ., гПрг—крг, где к^ к21 . . ., крг — число групп образов по каждому из разбиений 8т, S(2) , . . ., 8^°; М — число всех возможных пересечений определяется произведением чисел kXs р'
к2, . . ., крг, т. е. М=Цкг г=1
Отсюда видно, что если число групп в каждом из р' разбиений велико, то, во-первых, сильно возрастает число пересечений, которое надо проанализировать, а, значит, и объем работы; во- вторых, окончательное разбиение множества объектов оказывается слишком дробным и трудно анализируемым. Указанный метод выделения групп объектов, обладающих общими свойствами, называют комбинаторным, поскольку он предполагает перебор всевозможных пересечений групп объектов, выделенных по каждому из признаков.
Рассмотрим область применения комбинаторного метода классификации. Прежде всего следует отметить, что он позволяет классифицировать объекты, признаки которых измерены в различных шкалах. В этом случае метод ориентирован на выявление групп объектов, обладающих похожими свойствами. Говорить о, форме групп здесь не имеет смысла. Если этот метод применять к пространству однотипных признаков с определенной на нем функцией расстояния, то лучше всего он будет подходить для выявления компактных групп объектов, близких по форме к гиперсферам. Очевидно, выявление групп будет тем более успешным, чем дальше группы объектов расположены друг от друга. Поскольку успешность применения метода зависит от информатив-
ности признаков, то в этом случае удобно переходить к системам информативных признаков, применяя, например, к исходным признакам ФА.
Вообще предварительное применение методов снижения размерности признакового пространства желательно, поскольку комбинаторный метод лучше подходит для числа признаков не более 15 4- 20.
Область применения метода значительно расширяется, если в качестве разбиений, полученных по одномерным признакам, использовать результаты работы других алгоритмов классификации. При этом, если исходные признаки разнотипны, можно разбить все множество признаков на три группы: количественные, качественные и классификационные и применять алгоритмы классификации, например кластер-анализ, по каждой группе признаков отдельно „ Комбинаторный метод в этом случае применяется для трех шкал, каждая из которых соответствует одной из групп признаков. Тогда направленность применяемых кластер-про- цедур определит инаправленность (в отношении СД) окончательной классификации или выделенных ядер групп объектов.
Еще одним преимуществом комбинаторного метода является возможность обработки большого числа объектов, причем чем больше объектов рассматривается, тем более точные ОФПР можно получить по каждому признаку. И, наоборот, при малом объеме исходной выборки точность оценок снижается; особенно вырастает при этом опасность получения слишком дробного разбиения из-за сильной «изрезанности» ОФПР.
Программная реализация
В системе SITO комбинаторный метод классификации реализуется при помощи процедур TIPi и PERES. Исходной информацией для первого алгоритма служит полученное любым способом отображение набора объектов из р-мерного пространства признаков на одномерную шкалу порядка, отношений или интервалов. На основе анализа такого отображения выделяются типичные представители групп в соответствии со следующей алгоритмической моделью:
задание типа шкалы; задание одномерного отображения путем указания координат всех объектов; задание режима поиска: типичных представителей групп (А=1) или полной классификации (*=2);
если задана шкала наименований, то перейти к п. 8);
если задана шкала порядка, то построить для нее сглаженную оценку; перейти к п. 5);
если задана шкала отношений, интервалов или разностей, то построить ОФПР;
проверить гипотезу о нормальности предъявленной ОФПР; если гипотеза непротиворечива, то\ отпечатать соответствующее сообщение и перейти к п. 8); ’
если к=1, то выявить в качестве типичных представителей групп объекты, принадлежащие интервалам, где ОФПР больше уровня отсечки;
если к=2, выявить в качестве обучающих выборок группы объектов, лежащие между локальными минимумами ОФПР;
вывести на печать ОФПР; образовать массив принадлежности объектов к полученным группам и распечатать его.
Обращение к процедуре: TIPi (F, N, KL, U, NKL, VAR); где
F [1 : NA — одномерный массив координат всех объектов на шкале;
N — число объектов;
KL [1:7V]—выходной массив принадлежности объектов к выделенным группам; если KL [7<| У? то К-^ объект принадлежит /-й группе; при KL [7х]=0 — объект не принадлежит никакой группе;
U — коэффициент для уровня отсечки (обычное значение 0.8 4-1.2);
NKL — число групп в массиве KL;
VAR — управляющий символ: VAR > 0 соответствует поиску типичных представителей групп (Л=1); РЛ 7? < 0 — соответствует разбиению множества объектов на обучающие выборки (к=2); | VAR | = 1 — шкала наименований; | VAR |=2 — шкала порядка; | VAR |=3 — шкала интервалов, отношений, разностей.
Технические характеристики процедуры TIPV
тип обрабатываемой шкалы: количественная, шкала порядка или шкала наименований;
объем памяти, требуемый для хранения массивов, —57V;
используемые подпрограммы: CHANGE (п. 5.2.2) — только при работе с ЛБД; МАХ (п. 5.4.5); MIN (п. 5.4.3); MAXIM (п. 5.4.1); MINIM (п. 5.4.2); FCHI2 (п. 5.4.8).
Распечатка программы приведена на рис. 3.14.
Вторая процедура — PERES — предназначена для выделения типичных представителей групп (обучающих выборок) на основе анализа нескольких одномерных отображений пространства объектов. В качестве входной информации используется NKL (по числу одномерных отображений) наборов обучающих выборок (разбиений), каждый из которых получен при помощи каких-либо других алгоритмов (например, 7ТР1). Обучающие выборки получаются в соответствии со следующей алгоритмической моделью:
задать число одномерных отображений Р1 и число групп объектов в каждом отображении; положить номер 7V1^=1, N2—2;
образовать все пересечения между парами групп, из которых первая принадлежит отображению с номером 7V1, а вторая — отображению с номером N2; отпечатать полученные полные пересечения, причем пересечение считается полным, если число его элементов (объектов) не меньше некоторого числа Q;
если N2 равно Р1, то перейти к п. 5);
интерпретировать совокупность всех полных пересечений, полученных в п. 2), как разбиение с номером N1 = 1; увеличить N2 на единицу; перейти к п. 2);
конец.
Обращение к процедуре: PERES (N, Pl, KL, КО, Q); где TV — число объектов;
Pl — число наборов обучающих выборок (разбиений);
KL [1 : Pl, 1:7V] — массив разбиений. При этом, если KL [L, J\ — K, то, значит, для L-то разбиения 7-й объект принадлежит К-й группе;
КО [1:Р1] — массив, если КО [Я]=£, то в К-м разбиении L обучаюрих выборок;
Q — минимальное число элементов в пересечении, при котором последнее считается полным и рассматривается далее.
Технические характеристики процедуры PERES:
объем памяти, требуемый для хранения массивов, -N (Р1+2);
используемые подпрограммы: CHANGE — только при работе с ЛБД.
Распечатка программы приведена на рис. 3.15.
3.3.3. Пример применения программ
На рис. 3.16 4- 3.20 приведены распечатки результатов работы программ TIP1 и PERES для данных об ирисах. В качестве одномерных отображений использованы исходные признаки, по каждому из них при помощи процедуры TIP1 проведено разбиение исходного множества объектов на непересекающиеся классы. Из анализа распечаток одномерных распределений по признакам можно сделать вывод, что наиболее информативными признаками в отношении выявления СД являются признаки Я и 4, в меньшей степени — признак 1, что подтверждается и результатами работы других программ.
Результаты работы процедуры PERES показывают наличие четырех групп объектов в исходном множестве. Первая из этих групп содержит только цветы сорта I, четвертая группа — только цветы сорта III, цветы сорта II оказываются разделены на две группы, причем одна из них в основном совпадает с уже упоминавшейся частью сорта II, выделяемой иерархическим алгоритмом классификации (§ 3.1) в отдельный класс.
§3.4. Распознавание образов в метрическом пространстве
В предыдущих параграфах рассматривался случай, когда исследователь мог учитывать свои априорные знания о СД лишь косвенно, например указанием формы групп, выбором метрики. Довольно часто, однако, СД бывает достаточно изучена для того, чтобы указать количество групп, цз которых состоит множество Е и принадлежность некоторых объектов этим группам, т. е.
априорные сведения исследователя выражаются путем явного за^ дания принадлежности объектов Е к образам Л(. В § 3.4—3.5 рассматривается задача выделения СД в таком случае.
3.4Л. Задача распознавания образов
Итак, предположим, что исследователем указана принадлежность Nx объектов из N^ входящих в множество Е, к t образам Л, i=l, L Число объектов, принадлежащих каждому образу А^ известно, j Л,], 2HJ = ^i- Требуется найти принадлежность г=1
остальных M=N—NX объектов Е к одному из указанных образов. Множества А4 обычно называются обучающими множествами, или обучающими выборками (ОВ), объекты £, не входящие в ОВ, — распознаваемыми, или классифицируемыми, а сама задача в указанной постановке — задачей распознавания образов.
Существует большое число различных способов решения задачи распознавания образов в зависимости от дополнительных предположений о свойствах множества Е или его отдельных частей. Наиболее общим из них следует, по-видимому, считать гипотезу генеральной совокупности, согласно которой множество Е есть представительная выборка из некоторой генеральной совокупности, и, следовательно, все свойства, присущие этой совокупности, могут быть оценены на основании исследования Е. При условии, что известна статистическая структура обучающих выборок, т. е. вид распределений случайных величин, соответствующих каждому из образов, применяется обычно байесовская теория принятия решения [14, 23], основанная на минимизации общего риска принятия решения. Такой случай, однако, на практике встречается очень редко. Как правило, вид распределений для образов А4 неизвестен, и для нахождения правила классификации пытаются тем или иным способом оценить неизвестную вероятность появления объектов каждого образа в каждой точке пространства описания. Если обозначить через f ^х!А4\ х £RP ОФПР для образа Аи то при условии равновероятного появления образов классифицируемый объект с координатами х* следует отнести к тому образу, для которого f(x*IA4) максимальна. При различных вероятностях образов к (Л*) каждая из ОФПР домножается на некоторый коэффициент, зависящий от к (Л J, однако принципиально подход к решению задачи распознавания от этого не меняется — во всех • случаях пространство описания разбивается :при помощи системы некоторых функций, зависящих от заданных ОВ на ^непересекающиеся подобласти, и классифицируемый объект относится к тому образу, в подобласть которого он попадает. Подробное изложение этих вопросов для известных с точностью до параметров распределений объектов по образам можно найти, например, в [23, 26]. Здесь же рассмотрим наиболее приближенный к практике слу-
Чай, когда какиё-либо сведения о распределениях образов отсутствуют.
В этом случае большинство методов распознавания опираются на оценку / (ж*/Л^ = j-^—р, где V—объем некоторой окрестности точки х* ^ Rp; ki — число объектов образа А., попавшее в этот объем. Один из алгоритмов, основанный на такой оценке, описан в § 3.5. Эти методы называют обычно локальными, поскольку отнесение объекта х* к одному из распознаваемых образов зависит от ближайших к нему точек ОВ.
г Простейшим из локальных методов является так называемое правило «ближайшего соседа» — классифицируемый объект относится к тому образу, которому принадлежит ближайший объект из ОВ. При этом в пространстве описания должна быть определена функция расстояния между объектами, удовлетворяющая условиям п. 3.1.1. Поведение правила «ближайшего соседа» достаточно хорошо изучено при | А{ |—>оо[231. Известно, например, что оно дает в этом случае ошибку классификации, не более, чем в два раза, превышающую минимально достижимую, однако при конечных и особенно малых объемах ОВ ничего определенного об уровне ошибки распознавания сказать нельзя. Рассуждая аналогично § 3.1, можно предположить, что в случае малых объемов ОВ целесообразно модифицировать процедуру принятия решения в зависимости от формы образов Ai в пространстве описания. Так, для работы с группами эллипсоидальной формы можно предложить использование правила классификации средней связи (3.4), а для групп круглой формы — правило «дальнего соседа» (3.3). Упомянутые только что правила уже не служат для оценки плотности распределения объектов по образам, они являются эвристическими и отражают скорее опыт исследователей, чем теоретические идеи.
Программная реализация
В состав системы SITO включен алгоритм RECHKA, предназначенный для решения задачи распознавания образов при условии, что существует набор обучающих выборок. Исходной информацией для алгоритма является ТЭД и массив пометок, который может быть сформирован как пользователем, так и в результате работы других процедур (например, TIPI, PERES, HIERARH). Объекты с одинаковыми пометками относятся к одной обучающей выборке, непомеченные объекты подлежат классификации. Предусмотрено использование следующих типов решающих правил для классификации объектов:
классифицируемый объект относится к той обучающей выборке (образу), сумма расстояний до объектов которого меньше всего («средняя связь»);
классифицируемый объект относится к обучающей выборке, которой принадлежит ближайший объект («ближайший сосед»);
объект относится к обучающей выборке, расстояние дд самого далекого объекта которой минимально («дальний сосед»).
Метрика пространства описания также может быть задана различным образом. Предусматривается использование метрик Хемминга, Евклида, Махаланобиса.
Обращение к процедуре: RECHKA (2V, Р, KOLK^ VAR^ Fy, где
N — число объектов;
Р — число признаков;
KOLK — число классов (обучающих выборок);
R — управляющий символ; И47? = 1 — классификационные признаки; УЛ7?=2 — качественные признаки; ЕЛ7?=3 — количественные признаки; УЛ7?=0 — разнотипные признаки;
F — управляющий символ; F=i — решающее правило типа б), ^=2 — решающее правило типа a), F=% — решающее правило типа в).
Для работы процедуры необходимо, чтобы исходная информация (массив INF [1:Р, 1:2V]) была записана в ЛЕД в массив № 1; массив принадлежности к обучающим выборкам О В [1:2V] — в массив № 15; массив весов признаков — в массив № 14. Если признаки разнотипные (VAR=6y то в массиве № 18 в ЛЕД должен быть записан массив Т [1:3], показывающий число признаков каждого типй. Все указанные массивы могут быть записаны при помощи процедур INP и CODE. Окончательная классификация записывается в массив № 16 ЛЕД.
Технические характеристики программы:
типы обрабатываемых признаков: количественные, качественные , к л ассификационные;
объем памяти, требуемый для хранения массивов, ~N (Р+3)+2Р;
используемые подпрограммы: CHANGE (п. 5.2.2) — только при работе с ЛЕД MINIM (п. 5.4.3); MAXIM (п. 5.4.2).
Распечатка программы приведена на рис. 3.21.
3,4.3, Пример работы программы
На рис. 3.22 приведена распечатка результатов работы процедуры RECHKA для данных о цветах ирисов. По выделенным ОВ проводилась классификация остальных объектов (первые 25 цветков каждого сорта были отнесены к ОВ, остальные — подлежали классификации). Приведены результаты просчетов трех вариантов программы — в соответствии с правилом «ближнего соседа», «средней связи» и «дальнего соседа». Как видно из анализа результатов, все варианты программы успешно распознают сорт I ирисов, объекты которого образуют в пространстве описания отдельный класс. Качество распознавания сортов II и III Уже гораздо более низкое: при использовании варианта (а) по-
81816 В. В. Александров, Н. Д. Горский
81
81
лучен о 9 ошибок, а при использовании'вариантов (б), (в) —- почти в два раза большее число, что является следствием перемешанности объектов II и III сорта в пространстве описания.
§ 3.5. Рекурсивный алгоритм распознавания образов
В настоящем параграфе рассматривается решение задачи распознавания образов на основе использования рекурсивного отоб- х ражения многомерного пространства на числовую ось. Впервые использовать рекурсивные отображения для решения этих задач было предложено в [271. Материал, на котором основано изложение данного раздела, опубликован также в [28].
Теоретические основы
Пусть прйнадлежность каждого объекта из Е к одному из распознаваемых классов известна (задана обучающая выборка (ОВ)). Исходя из информации об ОВ, требуется построить решающее правило, которое по значениям р признаков определяет номер класса* для любого объекта, не входящего в ОВ.
Для решения задачи впишем исходные данные в дискретное пространство размерности р с номером разбиения т, пронормировав предварительно значения каждого признака с учетом допустимых преобразований данной шкалы к интервалу [0,1). Используя рекурсивное отображение ^J)^ -> D^ построим на единичном полуинтервале [0,1) образы всех объектов из ОВ. Общий подход к построению решающего правила состоит в этом случае в разбиении D^ на системы отрезков {Л^}, . . ., (Л t} в соответствии с расположением в D^ объектов ОВ, так чтобы
ии^ = о*. и^пи^? = 0 для 1^к. /=1 i♦г
Тогда для, принятия решения о принадлежности распознаваемого объекта достаточно отобразить этот объект в D^ и определить, в какую систему отрезков {Л/} входит его образ.
Рассмотрим теперь более подробно процесс построения решающего правила. Предположим сначала, то все р признаков Намерены в количественных шкалах. В этом случае переход к дискретному пространству D^ произойдет без потери информации, если номёр разбиения выбран из условия т ^ m0—log2A-1, где Д — точность измерения значений признаков. Тогда, начиная с 7Й=тп0, в каждый квант дискретного пространства D^ попадет либо один объект, либо объекты с одинаковыми значениями всех признаков.
Пусть О В для первого класса есть выборка из генеральной совокупности с плотностью f (я), х £ Dp. Попытаемся оценить зна-
♦ В настоящем параграфе для устранения двойного толкования понятия «образ» (при отображении точек и при распознавании образов) будем использовать термин «класс».\
82X
чение плотности в произвольной точке ж £ D^ используя лишь координаты образов объектов ОВ в D^. В качестве оценки функции / (ж) возьмем величину частости попадания объектов ОВ в некоторую окрестность Qn C-D^ точки У = ?^(ж):
PnW = MnLnt-(3.8)
где кп — число объектов ОВ первого класса, попавших в Qn* Ln — длцна окрестности Qn1 Ln=mes (^J; п — общее число объектов первого класса в ОВ.
Покажем, что оценка (3. 8) сходится к / (ж) при п ~* оо. Возьмем некоторую окрестность Q. точки У~^т (#), Qi С D^ и пусть в нее попадает к{ образов объектов О В первого класса. Окрестность Qt представляет собой отрезок прямой, длиной L-=mes (Q^<. < 1, ей соответствует в D^ область 8^^ (Q^ причем в силу свойств отображения ф"1 справедливо: St — связна; ж £ 8^ в 8. попадает ровно к^ объёктов О В первого класса, образцы которых попадают в Q^ mes (^J=mes (SJ, поскольку число квантов в Qi и Si совпадает.
Az
Таким образом, д.(ж)=т^ =где Vt = mes ^8^ < 1 — объем
окрестности St. Построим теперь вокруг точки y^Dm систему отрезков, стягивающихся со скоростью, меньшей чем 1/п при п -* оо: Qi D Qt+1 ZD • • • ZD Qn^ • • •, тогда будет обеспечена среднеквадратическая сходимость оценки рп^у) = kJnLn = pJ&) к плотности / (ж), поскольку р^ = ^- сходится к / (ж) среднеквадратически [23] и у = срт(ж).
Аналогичным образом могут быть получены оценки плотностей распределений и для всех остальных распознаваемых классов.
В этом случае решающее правило в D1 определяется множеством точек у ^ О\ в которых выполняется условие равенства функций плотности распределения различных классов. BDP этому множеству соответствует гиперповерхность, разделяющая классы (рис.1 3.23). Она оптимальна в отношении минимума ошибки классификации, так как является множеством точек, в которых выполняется условие равенства многомерных функций плотности распределения.Е^Ш
Ца практике объем О В всегда ограничен, поэтому окрестность Qn це должна быть бесконечно малой. Очевидно, что не имеет смысла рассматривать окрестность, дальнейшее дробление которой Це приведет к уменьшению числа объектов в ней, т. е. Ln должна быть не меньше 2-рт» — величины кванта тп^го разбиения. Поскольку при любой длине окрестности L оценка (3.8) пропорциональна числу объектов О В данного класса, то решающее правило состоит в приписывании распознаваемому объекту номера того класса, образов объектов О В которого больше всего на отрезке длины L.
® С учетом того, что оценка функции плотности распределения неразличима для точек у, принадлежащих одному кванту т0-го
a
Рис. 3.23. Разделяющая поверхность в многомерном пространстве (а) и ее одномерный аналог (б).
разбиения, решающее правило в D1 определяется уже не множеством точек, а объединением множества квантов т0-го разбиения, в которых совпадают оценки функций плотности распределе
ния различных классов, и множества границ квантов, на которых происходит изменение отношения «больше—меньше» между оценками. В Dp этому объединению будет соответствовать некоторая область, являющаяся аппроксимацией разделяющей гиперповерхности, причем уровень дробления пространства дает различную точность аппроксимации этой гиперповерхности. \
Трудность выбора конкретной окрестности Q* для оценивания / (ж) при фиксированном объеме О В состоит в том, что такая оценка имеет практическое значение лишь для достаточно малого значения L* — длины Q*, в то время как дисперсия оценки при уменьшении L* растет, и в результате оценка оказывается чувствительной к объему О В и выбору L*. Одним из способов решить эту проблему является возможность сделать величину L* функцией числа объектов ОВ, например использовать для оценивания / (х) к «ближайших соседей» точки у^^т (#) Для каждого из рас
познаваемых классов.
Перейдем теперь к рассмотрению общего случая, когда данные замерены в шкалах различных типов. Усредненные зависимости относительного числа объектов ОВ,. входящих в тот же квант
тп-го разбиения, что и заданный объект, показывают, что для неколичественных шкал, начиная с некоторого номера тпг (для шкал порядка) или тп2 (для шкал наименования), число объектов в кванте остается постоянным, поскольку все эти объекты соответствуют одной градации шкалы. Как правило, число градаций шкал наименований значительно меньше числа градаций для шкал порядка, поэтому т2 < тпг. Единственным отношением, определенным на шкалах наименований, является эквивалентность, следовательно, рассмотрение разбиений с номерами пг ^ттц приведет к искажению исходной информации, поскольку объектам с различными значениями градаций будут приписаны одинаковые координаты в D^. Для шкал порядка плотность распределения / (ж), х £ Dp может быть вычислена уже не приближенно, а точно при условии, что соседние градации шкалы входят в смежные кванты. При тп > тпх оценка плотности расходится, поскольку размеры кванта уменьшаются, а число объектов в нем остается постоянным, однако решающее правило не изменяется, так как относительное число объектов различных классов сохраняется при любом m">mv Окончательный вывод состоит в том, что при любой длине окрестности 2-^№» ^L* <^ точки у £ D1 решающее правило относительно объекта с координатами х— ^^т1 (#) остается неизменным независимо от типов шкал, которыми описываются исходные данные. Правило это состоит в определении того класса, образов объектов которого больше всего в окрестности Q* С D\ длиной L*. Модификацией этого способа принятия решения является определение для каждого из распознаваемых классов наименьшего размера окрестности, включающей к ближайших к точке у образов объектов этого класса. Распознаваемому объекту в этом случае приписывается номер того класса, длина окрестности для которого минимальна.
Построение решающего правила начинается с отображения каждого объекта ОВ в пространство DAmo. В соответствии со свойством сходимости по разбиениям отображения объектов ОВ во все пространства D^ для любого nt < mQ можно получить простым округлением координат образов объектов из D1^. Тогда, отобразив классифицируемый объект на D^ можно сравнивать его координату Ъ координатами объектов ОВ по первым иг <^тп0 цифрам, что Эквивалентно рассмотрению окрестности, равной величине кванта пг-то разбиения. Используя еще одно рекурсивное отображение, как это предложено в § 3.2, можно переходить к другой форме окрестности, соответствующей рассмотрению всех_ квантов разбиения, соседних к данному.
Упорядочив массив координат образов объектов ОВ, получим, что для нахождения числа объектов ОВ в исследуемой окрестности классифицируемого объекта (кванте тп-го разбиения) требуется просмотреть в среднем (log2 7V+2~m7V) чисел при использовании двоичного поиска, тогда как стандартные методы требуют сравнения расстояния от классифицируемого объекта до всех остальных с размером окрестности, т. е. выполнения числа опера-
ций, пропорционального pN. Приняв общее число классифицируемых объектов равным М, получим для методов распознавания, основанных на вычислении расстояний между объектами (ближнего соседа, потенциальных функций и т. д.), оценку времени работы: Tl=alMNp1 а для алгоритма, использующего рекурсивное отображение:
^г^^ [«з (^ + ^)+^(log2 ^ + а^)].(3.9)
где av а2, а^ — масштабные коэффициенты, зависящие от конкретной программы.
Первое слагаемое в (3.9) соответствует времени, затрачиваемому на отображение объектов ОВ и распознаваемых объектов из Dp в D\ второе1 — поиску образов объектов ОВ в окрестности распознаваемых объектов, коэффициент а <^ 1, поскольку объем окрест- тости, просматриваемый для каждого объекта, много меньше объема всего'пространства описания. Составив отношение TJT^ получим:
Г2 «2 / «з , аз , logaJV \
Ti"”alP V N + М + N + а/’(311°)
С ростом М или N значение (3.10) быстро становится меньше единицы.
3«5«2. Программная реализация
В состав системы SITO включен алгоритм OBRAZ, предназначенный для решения задачи распознавания образов описанным выше способом. Решающее правило основано на использовании непараметрических оценок функций плотности распределения по каждому из распознаваемых образов.
Работа алгоритма заключается в следующем: все объекты, в том числе принадлежащие обучающим выборкам, отображаются при помощи процедуры MAPFR0M в интервал [0,1) числовой оси. Классифицируемый объект, попавший в квант i, приписывается тому классу, объектов обучающей выборки которого бЬлыпе в г-м кванте данного разбиения. Решение об окончательной^ классификации принимается по совокупности всех локальных Решений (на каждом уровне разбиения). Если решение о классификации для некоторого объекта не может быть принято на уровне разбиения т, то рассматриваются возможности принятия решения на уровне т — 1 и т. д. до тех пор, пока классифицируемый|объект не будет приписан к одному из возможных классов.
I# Если ни на одном разбиении классификация объекта не может быть осуществлена, то решение принимается по ближайшему на интервале [0,1) объекту из обучающей выборки. №
Обращение к процедуре: OBRAZ (N, Р, L, УЛЯ);|гдеЗ
ЦУ — число объектов
( Р | — число признаков (количественных и качественных); если Р < 0, то печатается только окончательная классификация,
в противном случае печатается подробная информация о процедуре принятия решения;
L — число распознаваемых образов]-(число ОВ);
VAR — управляющий символ. Возможные ответы: | VAR |=1 — из банка данных будет считываться исходная ТЭД, в противном случае будет использована ТЭД, преобразованная к ГК или фак- торам; VAR < 0 — уже классифицированные объекты будут включаться в соответствующие обучающие выборки.
Для работы процедуры необходимо: 1) исходная ТЭД или преобразованная к ГК или факторам должна быть записана в мае * сивах № 1 или № 9 ЛДБ, 2) массивы максимальных и минимальны, значений ТЭД должны быть записаны в массивах №12 и № 11 или № 8 и № 7.
Технические^характеристики программы:
типы обрабатываемых признаков: количественные, качественные;
объемпамяти, требуемый для хранения массивов, ~N (Р+10);
используемые подпрограммы: CHANGE (п. 5.2.2) — только при работе с ЛБД; MAPFROM (§ 3.5); SORTING (п. 5.4.5); MAXIM (п. 5.4.2).
Распечатка программы приведена на рис. 3.24.
3.5.3. Пример работы программы
На рис. 3.25 приведен фрагмент распечатки результатов работы процедуры OBRAZ. По выделенным обучающим выборкам проводилась классификация остальных объектов (первые 25 цветков каждого сорта были отнесены к ОВ, остальные — подлежали классификации).
На распечатке приведена подробная информация о принятии решения о принадлежности каждого рассматриваемого объекта к одному из трех распознаваемых образов. Различные уровни принятия решения соответствуют рассмотрению квантов различных номеров разбиения. На каждом уровне определяется число объектов всех ОВ, попавших в тот же квант, что и классифи- цируёмый объект. Окончательное решение о принадлежности объекта принимается на уровне с максимальным номером, для которого в соответствующий квант попадает хотя бы один объект из ОВ. Окончательная классификация показывает, что программа OBRAZ на приведенных данных работает лучше вариантов программы RECHКА, использующих правила «средней связи» и «дальнего соседа», и примерно так же успешно, как и вариант программы RECHКА , использующий правило «ближнего соседа».
Глава 4
СИСТЕМА ОБРАБОТКИ ДАННЫХ SITO
Система обработки данных SITO [29, 30] разработана и внедрена в Ленинградском научно-исследовательском вычислительном центре Академии наук СССР (ЛНИВЦ АН СССР) коллективом авторов в составе В. В. Александрова, А. И. Алексеева, Н. Д. Горского, А. О. Цолякова. Предназначена система для обслуживания вычислительной сети коллективного пользования г. Ленинграда, созданной на базе ЛНИВЦ АН СССР. Прототипом ее послужил пакет прикладных программ АЛПОГОР [31, 32], разработанный авторами для ЭВМ БЭСМ-6 и эксплуатируемый в ЛНИВЦ АН СССР с 1978 г.
Теоретической основой, на которой создавалась система, служит структурный метод представления и обработки экспериментальных данных, предложенный В. В. Александровым и развитый ,в работах [4, 5, 10, 21]. При практической реализации системы SITO авторы ставили перед собой задачу создания проблемно- ориентированного программного обеспечения, доступного исследователям из различных областей науки, имеющим минимальные навыки в программировании. Возможный набор процедур для получения совокупности результатов достаточно подробно описан в главах 2-^-5, однако основную трудность, исходя из опыта обработки данных, представляет содержательная интерпретация полученных результатов, для чего, по-видимому, необходимо изучение теоретического материала глав 14-3, и, возможно, некоторой дополнительной литературы [1, 10, 13, 14, 23].
В данной главе рассматриваются вопросы практического использования системы. Описываются возможности ее применения, схема общения пользователя с системой (§ 4.1), подробно рассмотрен процесс подготовки, ввода и анализа исходных данных (§ 4.2), интерпретация результатов (§ 4.3, 4.4), описана также работа с системой SITO через терминал вычислительной сети коллективного пользования (§ 4.5).
Общие сведения о системе
4ЛЛ» Назначение системы
Система обработки данных предназначена для решения задач автоматической классификации (включая и выбор информативной системы признаков) и распознавания образов, а также для начальной статистической обработки экспериментальных данных (построение гистограмм, коррелят^ионный, факторный анализ) 88 V
в рамках структурного метода обработки экспериментальных данных.
Универсальность входящих в систему алгоритмов позволяет успешно применять ее при решении широкого круга прикладных задач из различных областей знаний, таких как физика, социология, медицина, геология, археология, экономика и т. д.
Система представляет собой набор программ, написанных на ALGOLe, и реализована на вычислительной машине CYBER-172/6. Все программы сформированы в виде процедур и могут работать либо автоматически, как единая система, либо как самостоятельные модули. Связи между процедурами при автоматической работе организуются специальной управляющей программой. Эта программа анализирует запрос на обработку данных, составляемый пользователем, и на его основе генерирует последовательность операторов, вызывающих на исполнение тот или иной модуль.
При использовании системы как библиотеки модулей пользователь может вызывать отдельные процедуры (§ 2.1—4.5) либо сам составлять управляющую программу (§ 4.1) для комплексного решения своей задачи.
В зависимости от сложности исходных данных и наличия у пользователя дополнительной информации поставленная им задача, при автоматическом режиме работы, решается посредством одного или двух обращений к системе. Эти обращения называются, соответственно, «первым» и «вторым» этапами обработки данных. В рамках системы существует также возможность организации хранения необходимой для работы модулей информации в каталоге пользователя и редактирования введенной информации; эти функции реализуются через «Редактор системы».
Работа пользователя с системой
Как показывает практика, большинство пользователей-непрограммистов плохо представляют себе необходймость применения и возможности конкретных методов решения задач обработки данных. В связи с этим была выбрана следующая форма работы пользователя с системой.
Пользователь знакомится с руководством по применению системы обработки данных, которое содержит описание конкретных методов решения задач, соответствующих им прикладных программ с описанием их вызова, некоторые рекомендации по интерпретации результатов, а также описание автоматического режима работы.
На основании полученных сведений пользователь принимает решение, будет ли он работать с каждым программным модулем отдельно или же поставленная задача должна обрабатываться системой в автоматическом режиме. Одновременно пользователь начинает подготавливать исходные данные для ввода в ЭВМ (§ 4.2).
66Рис. 4.1. Варианты использования
6
6
системы SITO.системы SITO.а — «Редактор системы»; б — «первый этап»; в — «второй этап»; г — управляющая программа пользователя, ^ — непосредственные действия; — •■> — возможные действия.
системы SITO.
системы SITO.
Для ввода данных в «Каталог пользователя», распечатки данных и (или) их редактирования пользователь обращается к «Редактору системы» (рис. 4.1, а; п. 4.2.2).
№ ^) После исправления исходных данных (в случае обнаружения оцшбок во введенной информации) пользователь, при выборе автоматического режима работы, составляет запрос на обработку данных на основании анкеты из 13 пунктов и обращается к «первому этапу» (рис. 4.1, б; п. 4.3.3); в противном случае он самостоятельно пишет программу, вызывающую нужные ему модули (рис. 4.1, а; § 5.2—5.4).
После получения результатов первого этапа в соответствии с рекомендациями (п. 4.3.5) пользователь уточняет запрос на обработку данных и вызывает «второй этап» (рис. 4.1, в; § 4.4).
Для анализа результатов обработки пользователь обращается к рекомендуемым разделам настоящего руководства.
При необходимости пользователь может осуществлять и дальнейшие обращения к системе, последовательно изменяя и уточняя запрос. Возможные варианты использования показаны на рис. 4.1. Существует два средства доступа к системе SITO: 1) основной — с помощью специально набитых колод перфокарт (§ 4.2—4.4); 2) через терминал ЭВМ CYBER-172/6 (§ 4.5).
Обрабатываемая информация
\
Основной исходной информацией, обрабатываемой системой, является ТЭД. Она представляет собой массив (матрицу^ из N (по числу объектов) строк и Р (по числу признаков) столбцов. На пересечении К-й строки и 7-го столбца стоит значение 7-го признака, замеренного у ЛГ-го объекта. Таким образом, 7-й столбец ТЭД — значение 7-го признака у всех объектов, а 7-я строка — значения всех признаков у 7-го объекта (или его координаты в пространстве описания).
ТЭД такого вида образуется’ если при сборе данных вначале определяются все признаки первого объекта, затем второго и т. д. (например, анкетирование). Однако зачастую сбор данных осуществляется по-другому: вначале определяется первый признак у всех объектов, затем второй признак и т. д. В такой ТЭД признаки будут расположены уже не столбцами, а строками, и в этом случае ТЭД транспонирована.
Особенностью системы SITO является возможность обработки исходных данных, описываемых признаками различных типов. Напомним, что признаки, измеренные в шкалах наименований, называются классификационными (например, фамилия, профессия, название места и т. п.); признаки, измеренные в шкале порядка, — качественными (например, сила ветра в баллах, оценка на экзаменах и другие ранжированные признаки); признаки, измеренные в шкалах отношений интервалов, разностей, — количественными (длина, скорость, зарплата и т. п.).
Структурная схема системы
Структурные схемы «первого» и «второго» этапов обработки 1 данных системой SITO приведены, соответственно, на рис. 4.2— 4.4. По ним пользователь может проследить, какими алгоритмами и в какой последовательности обрабатываются исследуемые данные как на «первом», так и на «втором» этапах. Схемы могут быть также полезны при составлении пользователем индивидуальной управляющей программы как пример некоторых стандартных последовательностей модулей.j
Все алгоритмы, входящие в систему SITO, обозначены на схемах прямоугольниками (блоками), внутри которых указано имя соответствующей процедуры. По этому имени в § 2.1—4.5 можно
Рис. 4.2. Структурная схема «Редактору системы».
92* \
Использобат^ Встроенные функции?/
Да
F^3?
FUNC
PIC
T[2]+T[3]<2
08RAZ
PIC
Да
| NEWTED
RECHKA
F-1
Да
Конец задачи
Из редактора
Да
Есть пропуски?
CODE
NORMIR
OCENKI
Есть 08?
Да
08 достаточен?.
Да
Объем
RPRAW
PIC
Да
|A/^rfj7 |
0BRA7.
и тт*о
\ЗаписГВкаталог\
Конги, первого этапа
1ужна
запись В каталог?.
( Конец }
Рис. 4.3. Структурная схема первого «этапа».
Да
RELZ |
распечатка?/
OUTP
HIERARH
TIPI
Да
F=1
р раз
I PERES
Г ШСОМР
GRAF
FACTOR
GRAF
Да
[гунтжг
| connect”\
PIC
SLED
PROGECT
Да
N^150
RED3
N4150
Да
| ' HIERARH I
Рис. 4.4. Структурная схемаРис. 4.4. Структурная схема«второго этапа».«второго этапа».
Рис. 4.4. Структурная схема
Рис. 4.4. Структурная схема
«второго этапа».
«второго этапа».
найти краткое описание алгоритма, в котором приведены его назначение и основные особенности. Внутри блока могут также быть указаны дополнительные сведения, уточняющие^условия работы модуля.
Некоторые блоки на схеме имеют стрелки обратных связей. Они означают, что модуль, соответствующий блоку, работает несколько раз подряд. В этом случае рядом со стрелкой обратной связи указано число обращений к модулю и (или) условия, при которых эти обращения происходят.
В схемах встречаются отдельные блоки, в которых не указано имени процедуры. Они соответствуют действиям над данными, которые производят не отдельные процедуры, а управляющая программа. При этом внутри блока дается описание его работы.
Условные переходы на схеме обозначаются ромбами. Внутри ромба указывается условие, по которому происходит переход на ветку программы, помеченную словом «Да». Как правило, условные переходы соответствуют вопросам, поставленным* перед пользователем в запросах к «Редактору системы», «первому» и «второму» этапам (п. 4.2.2, 4.3.2, 4.4.2). В схеме употребляются следующие буквенные обозначения: N — число объектов; Р — общее число признаков; F — типы встречающихся в задаче признаков (если F=i, то все признаки классификационные, F=2 — все признаки качественные, F=3 — все признаки количественные, F=0 означает, что данные представлены признаками различных типов); Т [1:3] — число признаков различного типа (Т [11 — классификационных, Т [2] — качественных, Т [31 — количественных).
. Работа с «Редактором системы»
Общие сведения
Возможны два различных варианта использования «Редактора», независимо от выбора автоматического или библиотечного режима работы системы. В первом варианте вся информация пользователя по конкретной задаче должна быть набита на перфокартах, во втором—основная часть информации (ТЭД и другие массивы) может быть записана в «Каталоге пользователя» (см. рис. 4.1, а). При использовании каталога для хранения информации в нем при обращении к «Редактору системы» будет создан или, если обращение не первое, обработан файл с именем DА ТА, поэтому при наличии в каталоге файла с именем DA ТА, созданном не системой SITO, записи в нем будут испорчены. Ниже упоминание о файле DA ТА означает, что проводится работа с информацией из «Каталога пользователя».
«Редактор системы» предназначен для выполнения следующих основных функций:
распечатки исходных данных по задаче, введенных с перфокарт или из «Каталога пользователя»;
редактирования исходных данных, введенных с перфокарт или из «Каталога пользователя»;
занесения данных (исходных или редактированных) в «Каталог пользователя».
После работы «Редактора системы» создается также локальный, т. е. только на время работы системы, банк данных (§ 4.1), который необходим для работы модулей, входящих в систему.
Обращение к «Редактору системы»
Для составления запроса к «Редактору» пользователю предлагается ответвить на следующие вопросы, причем ответы должны представлять собой целые числа.
Каково число объектов ТЭД? (N\.
Каково число признаков в ТЭД? (Р).
В каком виде представлены числовые признаки и надо ли распечатывать ТЭД?
Возможные ответы: «+1» — ТЭД транспонирована, требуется распечатка исходных данных, «—1» —ТЭД транспонирована, распечатка не требуется, «+2» — нормальная ТЭД, требуется ее распечатка, «—2» — нормальная ТЭД, распечатки не надо.
Какие типы признаков есть в ТЭД?
Возможные ответы: «1» — ТЭД состоит только из классификационных признаков, «2» — ТЭД состоит только из качественных признаков, «3» — ТЭД состоит только из количественных признаков, «О» — присутствуют признаки разных типов; при этом в исходных данных после ТЭД должна быть задана информация о принадлежности признаков к тому или иному типу (табл. 4.1).
Эта информация представляет собой одномерный массив TIP [1:Р1 (Р — число признаков), элементы которого соответствуют типам признаков. Например, для ТЭД, имеющей пять признаков, запись: 1, 1, 2, 3,1 означает, что три признака, а именно первый, второй и пятый, классификационные, третий признак качественный, а четвертый количественный.
Существует ли априорная информация о важности признаков?
Если такая информация существует (ответ «1»), то целесообразно приписать более важным признакам большие «веса», т. е. коэффициенты важности, которые будут приниматься во внимание при анализе данных.
При ответе «1» в исходных данных должна быть задана информация о весах признаков (табл. 4.1). Эта информация представляет собой одномерный массив ВЕС [1:Р], Р — число признаков, элементы которого являются коэффициентами важности данного признака. Например, для ТЭД с пятью признаками запись: 0.01, 1.00, 0.50, 0.50, 1.00, означает, что два признака, а именно второй и пятый, самые важные, первый признак наименее важный (в 100 раз меньше, чем второй и пят^й), а третий и четвертый при-
Таблица 4.1
№ п/п
Содержание массива
Размер массива
Условия, при которых массив подготавливается к набивке
1
ТЭД
NP
ТЭД вводится с перфокарт (ответ «0» на 7-й вопрос)
2
Типы признаков (если К-й элемент равен 1, то К-й признак классификационный; 2 — признак качественный; 3— признак количественный)
р
Признаки разнотипные (ответ «0» на 4-й вопрос)
3
Веса признаков (К-й элемент равен весу К-го признака)
р
Требуется взвешивание признаков (ответ «1» на 5-й вопрос)
4
Обучающие выборки (если J-й элемент равен S, то J-й объект принадлежит S-й обучающей выборке; если J-й элемент равен 0, то J-й объект подлежит классификации)
N
Существуют обучающие выборки (ответ «1» на 6-й вопрос)
5
Информация о редактировании
2+К1 + К2*
Требуется редактирование (ответ ±1 на 8-й вопрос)
* Ki — число исключаемых признаков; К2 — число исключаемых объектов.
знаки важнее первого, но менее важны (в 2 раза), чем второй и пятый.
При других ответах взвешивание не производится.
Существуют ли обучающие выборки?
9797В ряде случаев бывает заранее известно, что множество объектов состоит из К (К ^ 2) групп (иначе их называют образами). Подразумевается, что некоторые представители каждой группы известны. Совокупность таких представителей для первой группы называют первой обучающей выборкой, для второй — второй обучающей выборкой и т. д. При этом ставится задача классификации объектов, не вошедших ни в одну обучающую выборку (задача распознавания образов). Если ответ на этот вопрос «О», то считается, что обучающих выборок нет, если ответ «1», то предполагается их наличие. При ответе «1» в исходных данных должна быть задана информация о принадлежности объектов к обучающим выборкам (табл. 4.1). Эта информация представляет собой одномерный массив KL [1: TV], N — число объектов, элементы которого определяют, принадлежит ли данный объект к какой- либо обучающей выборке, и если да, то к какой именно. Например, для ТЭД с 10 объектами запись: 1,1,0,2,0,2,0,1,0,2, означает, что три объекта, а именно первый, второй и восьмой, принадлежат
97
97
т/87 В. В. Александров, Н. Д. Горский
первой обучающей выборке, три объекта, четвертый, шестой и десятый, — второй обучающей выборке, а четыре объекта, третий, пятый, седьмой и девятый, — подлежат классификации,
Каким образом вводятся исходные данные?
Возможные ответы: «О» — все данные (ТЭД, веса признаков и т. д.) находятся в пакете перфокарт; «1» — ТЭД находится в файле DA ТА «Каталога пользователя», а остальные массивы — в пакете перфокарт; «2» — все данные находятся в файле DА ТА «Каталога пользователя».
Нужно ли проводить редактирование исходных данных?
Очень часто имеет смысл обрабатывать не всю ТЭД, а некоторую ее часть (без каких-либо признаков и (или) объектов). В случае, если необходима обработка подтаблицы экспериментальных данных (отве^+1), то в пакете перфокарт должна присутствовать дополнительная информация (табл. 4.1) — данные о редактировании. Их вид следующий: число исключаемых признаков, число исключаемый объектов, номера исключаемых признаков, номера исключаемых объектов.
Например:
3,5,
17,18,2,
31,5,1,4,28,
— три признака, а именно 2, 17, 18, а также пять объектов, а именно 1, 4, 5, 28 и 31, будут исключены из ТЭД.
Если число исключаемых признаков (или объектов) равно О, то соответствующий ему массив номеров признаков (объектов) должен отсутствовать, например 3, 0, 17, 18, 2.
В случае если, ответ «+1», то после редактирования будет выдан листинг новой ТЭД, в противном случае («—1») печать не производится. При других ответах редактирование ТЭД не происходит,
Нужно ли переписать всю информацию, введенную с перфокарт (кроме запроса) в файл DATA «Каталога пользователя»?
Возможные ответы: «О» — переписывать не надо, «1» — необходимо переписывать.
Из ответов на вышеперечисленные вопросы должен быть составлен запрос на обработку данных, представляющий собой последовательность из девяти чисел.
Например, последовательность 300,10,—1,0,0,1,0,0,1, означает следующее: ТЭД состоит из 300 объектов, у которых замерено по 10 признаков; ТЭД транспонирована и ее распечатка не требуется; признаки разнотипные; взвешивание признаков не требуется; обучающие выборки существуют; вся информация будет вводиться с перфокарт; редактирование ТЭД не нужно; ТЭД, массив типов признаков и обучающие выборки необходимо занести в «Каталог пользователя».
ВНИМАНИЕ! После записи ТЭД в «Каталог пользователя» она будет представлена в транспонированном виде, т. е. сначала первый признак у всех объектов, затем второй и т. д. Кроме этого, запись чисел осуществляете^ в стандартном (принятом 98' t
для ЭВМ GtYBER-172/6) виде, т. е. они представляются в экспоненциальном виде, например число —5.6 будет записано: —5.60000000000000+000. Запись информации в файл осуществляется сначала, поэтому если в нем существовали какие-либо записи, то они будут уничтожены.
Подготовка исходных данных
После составления запроса следует подготовить к набивке на перфокарты массивы исходных данных. Порядок подготовки массивов и ввода их в ЭВМ соответствуют порядку перечисления в табл. 4.4.
Вводимая в ЭВМ ТЭД должна представлять собой матрицу чисел (действительных и (или) целых). Это необходимо учитывать в том случае, если значения отдельных признаков выражаются в нечисловом виде, например «цвет»: красный, зеленый и т. д. или «состояние погоды»: дождь, пасмурно, переменная облачность, ясно и т. п. Значения таких признаков необходимо закодировать, т. е. каждой градации должно соответствовать некоторое целое число. Желательно, но не обязательно, чтобы коды градаций выбирались из отрезка ряда целых чисел от 1 до 5, где S — число градаций признака. Если признак качественный, то при кодировании необходимо соблюдать упорядоченность градаций при
знака, например: Значение градацииКод
Дождь (плохо)1
Пасмурно (удовлетворительно)2
Переменная облачность(хо-3
рошо)
Ясно (отлично)4
Для признаков, замеренных в шкале наименований, порядок кодов может быть произвольным.
При составлении ТЭД может оказаться, что значение некоторых признаков у отдельных объектов неизвестны (есть пропуски в ТЭД). Все пропуски в ТЭД необходимо закодировать одним и тем же положительным числом, которое не встречается в экспериментальном материале.
Для подготовки данных к набивке на перфокарты пользователь на специальных бланках записывает всю свою информацию (запрос и массивы из табл. 4.1). Каждая литера (цифра или буква) должна занимать одну позицию в строке бланка. Основные правила заполнения бланков следующие.
Числа записываются через запятую, либо через пробелы (количество пробелов не менее двух).
Дробные числа записываются и набиваются с десятичной точкой (например, 1.5, 3.14159).
Массивы записываются построчно, т. е. если массив двумерной, например N строк на Р столбцов, то сначала следует записать Р чисел, соответствующих 1 строке матрицы NxPt
затем вторую серию из Р чисел и т. д., пока не будет записана N-я строка матрицы. Таким образом, при нормальном виде ТЭД вначале записываются все значения признаков первого объекта, затем второго и т. д., а для транспонированной — вначале записывается первый признак для всех объектов, затем второй и т. д.
Допускается смешение типов чисел (дробных и целых) в пределах ТЭД.
Если записать информацию так, чтобы одна строка ТЭД укладывалась в 80 позиций бланка, либо чтобы все числа занимали
одинаковое число позиций, то уже сразу после набивки, просматривая колоду перфокарт «на свет», можно выявить некоторые ошибки (пропуск пробела, точки, запятой).
Составление колоды перфокарт для ввода задачи в ЭВМ
Для сбора паспортной и рабочей частей задачи набиваются следующие перфокарты (табл. 4.2).
Здесь XXX — имя работы (произвольный набор литер, начинающийся с буквы, причем все буквы латинского алфавита); YYY — личный шифр пользователя; Z — номер варианта исполь-
Таблица 4.2
№ п/п
Содержание перфокарты
Комментарий
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
XXX.
USER, YYY,,, SUP.
GET, SITO/UN = BAAX.
SETTL, 30.
ALGOL, L = 0, C = 2, 0 = 2, I = SITO.
GET, DATA.
GET, BIB/UN = BAAX, CHAN/UN = BAAX.
RFL, 150000.
LIBRARY, BIB.
REDUCE,
SETTLE, 300.
LGO, C = CHAN.
REWIND, DATA.
REPLACE, DATA.
7/8/9
Z,
Запрос на обработку
Исходные данные
7/8/9
6/7/8
Имя работы.
Шифр пользователя.
В первой колонке перфокарты пробиваются позиции 7, 8 и 9. Номер варианта использования пакета.
Массивы в порядке перечисления в табл. 4.1.
В первой колонке перфокарты набиваются позиции 6, 7 и 8.
зования системы (0 — «Редактор системы», 1 — «первый этап», 2 — «второй этап»).
Карта № 6 необходима в том случае, если вся информация или ее часть находится в файле DATA «Каталога пользователя». В этом случае исходные данные (или их часть) на перфокартах отсутствуют (п. 4.2.2, вопрос 7).
Если пользователь будет применять свою управляющую программу, то он должен заменить:
карту № 3 на карту вида:
GET. ХХХХХ.
где ХХХХХ — имя файла в «Каталоге пользователя», в котором находится текст управляющей программы, написанной на языке ALGOL;
параметр 1=81 ТО в карте № 5 на 1=ХХХХХ;
должна также отсутствовать карта № 16.
Таблица 4.3
№ п/п
Содержание перфокарты
Комментарий
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 -
22
23
24
25
26
27
28
29
INPUT.
USER, АВС10,,, SUP.
GET, SITO/UN = BAAX.
SETTL, 30.
ALGOL, L = 0, C = 2, 0 = 2, I = SITO.
GET, BIB/UN=BAAX, CHAN/UN= BAAX.
REL, 150000.
LIBRARY, BIB.
REDUCE, —.
SETTL, 300.
LGO, C = CHAN.
REWIND, DATA.
REPLACE, DATA.
7/8/9
0,
10,5,2,0,0,0,0,0,1,
3.42,1,0.4,5,5.6,
4.30,3,3.2,1,0.3,
5.63,2,0.1,4,1.2,
6.88,4,3.2,2,2.3,
0.33,2,2.8,3,1.6,
1.39,5,6.5,5,4.3,
1.50,3,0.5,6,4.8,
0.01,1,3.2,2,2.4,
9.35,0,4.6,3,7.8,
3.88,1,7.0,5,3.8,
3,1,3,1,3,
7/8/9
6/7/8
Вызов «Редактора системы» Запрос
- ТЭД в нормальном виде
Информация в типах признаков
Карты № 13 и 14 нужны в случае, если исходные данные необходимо записать в файл DATA «Каталога пользователя».
Если запрос и (или) исходные данные хранятся в файле (или файлах) «Каталога пользователя», то исследователь на место карт № 16 и (или) № 17 ставит перфокарты:
[READ, YYY.
(READ, ZZZ. и т. дм
где YYY\ ZZZ, ... — имена файлов. Порядок вызова файлов определяется в соответствии с табл. 4.1.
Например, пользователь с шифром Л5С10 для ввода в ЭВМ ТЭД, состоящей из 10 объектов с 5 разнотипными признаками (без учета весо|в и обучающих выборок, а также без редактирования), должны составить следующий пакет перфокарт (табл. 4.3).
Интерпретация результатов
После анализа листинга ТЭД пользователь при наличии ошибок исправляет исходные данные либо вновь обращается к «Редактору системы», либо переходит к следующему этапу взаимодействия с системой SITO. Если ошибка в исходных данных такова, что число чисел, которые вводятся в ЭВМ во всех массивах, меньше соответствующего числа, описанного в запросе, то исходные данные не могут быть введены в машину. В этом случае выдается диагностика:
END OF FILE ENCOUNTERED. CHANNEL XX, где XX—60 — в случае, если ошибка в колоде перфокарт; XX = 70 — в случае, если ошибка в файле DATA.
4.3. Работа с «первым этапом»
Общие сведения
«Первый этап» предназначен для решения задач автоматической классификации и распознавания образов в том случае, когда априорная информация об исследуемом множестве объектов либо полностью отсутствует, либо достаточно скудна для того, чтобы сказать что-нибудь определенное о структуре данных (форме групп и т. п.). Целью использования «первого этапа» является получение дополнительной информации об исследуемых объектах. В нем производится начальный статистический, корреляционный и факторный анализы, строятся гистограммы распределения по признакам, двумерные отображения объектов. В результате пользователь может принять решение о наличии группировок объектов, формах групп, и т. п. «Первый этап» всегда работает после «Редактора системы», и, следовательно, все, что было сказано выше о «Редакторе», также относится и к «первому этапу».
Если необходимо, то информация (ТЭД и все массивы, с которыми производилась работа при данном обращении) записывается 102\
в локальный, т. е. существующий только на время решения задачи^ файл DATA после окончания работы «первого этапа». Это необходимо учитывать в случае, если было задано редактирование исходных данных. Для запоминания этой информации в «Каталоге пользователя» необходимо применить перфокарты № 13,14 (табл. 4.2),
Обращение к «первому этапу»
При составлении запроса на обработку данных, помимо 9 вопросов обращения к «Редактору системы» (п. 4.2.2), пользователь должен ответить ца 3 дополнительных вопроса. Таким образом,, исследователь должен дать 12 ответов в виде последовательности; целых чисел.
-l-9) - см. п. 4.2.2.
Есть ли пропуски в ТЭД?
У некоторых объектов могут быть неизвестны значения отдельных признаков. Об этом нужно сообщить, указав в ответе то число, которым закодированы все пропуски в ТЭД («+/£», где К > 0 — код пропуска). Встретив в ТЭД число, равное указанному в ответе, программа будет считать это значение пропуском. При ответе «+^» после работы процедуры заполнения пропусков будет выведена на печать ТЭД, в случае «—К» печати ТЭД не будет. Если ответ «0», то считается, что пропусков в ТЭД не существует.
Пользоваться ли встроенными функциями для редактирования исходной информации?
При обработке информации иногда оказывается, что лучше обрабатывать не сам признак, а некоторую функцию от него (синус, косинус и т. п.). Некоторый признак может представлять собой упорядоченный ряд значений, например изменение температуры во времени или толщины стрежня вдоль длины и т. п. В этом случае бывает целесообразно пользоваться сглаженными или, наоборот, продифференцированными значениями ряда.
Возможные ответы: «0» — не пользоваться встроенными функциями; « + 1» — пользоваться встроенными функциями для редактирования; после редактирования считается, что все признаки одинаково важны; если ответ «+1» —• выдается листинг отредакг тированной информации, при«—1» — листинга не будет; «+2» — аналогично ответу «±1», но считается, что образовавшиеся новые признаки имеют различные веса (их задает пользователь).
В случае ответов « + 1» и «+2» в исходных данных должна присутствовать дополнительная информация (табл. 4.4). Эта информация представляет собой последовательность строк, каждая из которых соответствует одному из перечисленных ниже вариантов:
ХА—ХВоХС;
XA=XBoG;
XA-GoXB;
XA=FUNXB;
XA=FK;
где X — указывает, что обрабатывается признак; Л, S, С — номера редактируемых признаков; G — число; о — одна из следующих операций:{1) 4сложение, 2)вычитание, 3) / — деление, 4) * — умножение; 5)/\ — возведение в степень, 6) & —|
логическое «И», 7) (а) — логическое «ИЛИ», п. 6 и 7 используются | только для классификационных признаков, имеющих две градации (0,1);
FUN — одна из следующих функций: 1) SIN — синус, 2) COS косинус, 3) LN — логарифм по основанию «е»; 4) LG — логарифм по основанию «10»; 5) LOG — логарифм по основанию «2»; 6) ЕХР — экспонента;
FK — функция для обработки упорядоченного ряда значений признака с номером А.
К=1 — трёхчленное сглаживание. При этом значение признака с номером А для Z-го объекта будет определяться по формуле:
INF^A, I\ = 6.2-*INF\A1 I - 1] 4- 0.6 * INF [A I] + 0.2 * INF [Л, Z + 1J
для всех I от 1 до TV,
где INF [7, 7] — значение J-то признака у 7-го объекта.
К=2 — пятичленное сглаживание. При этом значение признака для 7-го объекта определяется по формуле:
INF^E, Z]=0.08- INFYE. I — 2J + 0.26 • INF [Е, I — 1] +
+ 0.32 X INF [5, 7] 4- 0.26 • INF [Е, I + 1] + 0.08 • INF [5, Z -|- 2]
для всех 7 от 1 до Л".
7^=3 — первая разность (аналог дифференцирования). В этом случае значение признака Л для Z-to объекта будет определяться по формуле: *I
INFVA, I}^INF[A, Ц — INFYA, Z — 1]
для всех 7 от 1 до N.|
Таблица 4.4
№ п/п
Содержание массива
Размер массива или условие окончания ввода
!
Условия, при которых массив подготавливается к набивке
1-5
6
7
См. табл. 4.1
Информация для работы со встроенными функциями
Информация о важности признаков
Р
Необходимопользоваться |
встроенными функциями (ответ « + 1» или «+2» на 11-й вопрос)
После редактирования при- 1 знаки имеют различную | степень важности (ответ I « + 2» на 11-й вопрос)1
редактировании (см. п. 4.3.4,
# — признак конца информации о вопрос 11).
Символ «;» является признаком конца операции, а символ «4}=» — признаком конца информации о редактировании.
Те признаки, которые не встречаются в информации о редактировании, остаются без изменений. Если некоторый признак в строке г использовался в правой части и после этого ни разу не записывался в левой части, то этот признак исключается из рассмотрения. Для того чтобы некоторый признак ХА не исключать, достаточно добавить в информацию указание: ХА=ХА.
Пример задания информации для редактирования:
ХЗ = ХЗ — XI;
Х2=ХЗЛ2;
X1 = SINX1;
X4 = F3#
означает, что после редактирования второй признак равен квадрату отредактированного третьего признака (разность третьего и первого признаков), в качестве значений первого признака будут взяты синусы старых значений, а для четвертого признака — первая разность. Третий признак будет исключен из рассмотрения, но для его оставления (в виде разности третьего и первого признаков) достаточно после второй строки добавить ХЗ=ХЗ;.
Кроме этого, если ответ +2, необходимо в разделе исходных данных добавить информацию о степени важности вновь образованных признаков (табл. 4.4). Вся эта информация о редактировании и весах новых признаков может вводиться как с перфокарт, так из файла DATA «Каталога пользователя». Откуда будет осуществляться ввод, определяется по ответу на 7-й вопрос анкеты.
" 12) Требуется ли нормировка исходных данных?
Целесообразность нормировки вытекает из физического смысла исходных’признаков. Нормировку исходных признаков стандартными отклонениями целесообразно проводить, если признаки представляют собой разнородные физические характеристики объекта (например, длину, удельный вес, температуру и т. п.). Нормировку средними целесообразно производить, когда признаки являются однородными характеристиками объекта (например, длина, ширина, высота), причем все признаки замерены в шкале отношений.
Если ответ на этот вопрос «1», то производится нормировка количественных признаков стандартными отклонениями. Если ответ на вопрос «2», то производится нормировка количественных признаков средними значениями. При других ответах нормировка не производится.
Подготовка исходных данных
После составления запроса (ответы на 12 вопросов) следует подготовить к набивке на перфокарты массивы исходных данных. Порядок подготовки массивов и ввода их в ЭВМ соответствует
8 В. В. Александров, Н. Д. Горскийц)5
порядку перечисления в табл. 4.1 и 4.4, Для подготовки данных к набивке на перфокарты необходимо следовать правилам, изложенным в п. 4.2.3?
Составление колоды перфокарт для ввода*
задачи в ЭВМ
Для введения задачи в машину набиваются перфокарты в последовательности, указанной в табл. 4.2. Полученная колода будет отличаться от перфокарт, предназначенных для работы с «Редактором системы», только в разделе исходных данных: 1) номер варианта использования системы Z (карта № 16) в этом случае должен быть равен 1; 2) запрос на обработку данных состоит из 12 чисел; 3) исходные данные — это массивы в3 порядке их перечисления ?в табл. 4.1 и 4.4.
Например, для решения задачи распознавания образов поль- I зователь с шифром Л5С10 должен собрать следующий пакет ■ перфокарт (табл. 4.5) для ТЭД, состоящей из 40 объектов с 6 ко* . личественными признаками (ТЭД находится в файле DATA) i
Таблица 4.5
№ п/п
Содержание перфокарты
Комментарий
1 2 3 4 5
6
7 8
9
10 И 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
FIRST.
USER, АВС10,,, SUP.
GET, SITO/UN = BAAX.
SETTL, 30.
ALGOL, I=SITO, L = 0, N=0, 0=2, 0 = 2.
GET, BIB/UN = BAAX, CHAN/UN = BAAX.
GET, DATA.
RFL, 150000.
LIBRARY, BIB.
REDUCE, —.
SETTL, 300.
LGO, C = CHAN.
REWIND, DATA.
REPLACE, DATA.
7/8/9
40,6,—1,3,0,1,1,0,0,2,1,
1,1 1,1,1,0,0,0,0,0,2,2,2,2,2,0,0,0,0,0, 3 3,3,3,3,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0, X1 = X2 + X3;
X2 = 0 — X2;
X3=l/X3;
X5 = F3#
1.00,0.50,0.05,0.80,1.00,0.20,
7/8/9
6/7/8
\
Вызов «первого этапа»
Запрос
Обучающие
Выборки
Информация для встроен? ных функций
Веса новых признаков
Работа с результатами «первого этапа»
В зависимости от сложности структуры исходных данных и достаточности априорной информации поставленная пользователем задача может быть решена как за один, так и за несколько обращений к системе SITO. Если для решения задачи требуется дополнительная информация, то после первого прохода на распечатке пользователю выдается сообщение «Конец первого этапа» («END OF FIRST STAGER.
Анализ результатов «первого этапа», как правило, предполагает следующее.
По выданным двумерным отображениям набора объектов требуется оценить, существуют ли в исходных данных расслоения на отдельные скопления (группы) объектов. Если такое расслоение наблюдается, по крайней мере, на одном отображении, то необходимо оценить форму групп. Оценка формы может быть трех типов (необходимо помнить о различном масштабе по осям):
близкая к круговой;
вытянутая, похожая на эллипсы;
сложная.
Если на «первом этапе» пользователь указывал принадлежность объектов к определенным группам (давал обучающие выборки), то даже если ни на одном отображении расслоения на группы не происходит, следует оценить форму обучающих выборок. При оценке формы групп следует учитывать, что масштабы по осям отображения различны, и не смешивать круговые и эллипсоидные группы из-за различия масштаба (последний указан на осях отображения).
При решении задачи автоматической классификации часто уже после «первого этапа» можно выявить компактные сгущения объектов, которые явно представляют собой отдельные группы. Такие группы объектов целесообразно исключить из дальнейшего рассмотрения, но прежде надо узнать, действительно ли эти скопления компактны. Для этого надо проверить, являются ли объекты рассматриваемой группы близкими по всем признакам. Такая проверка осуществляется при помощи анализа одномерных Распределений по всем признакам, и если хотя бы по одному признаку (или ГК, фактору) объекты рассматриваемой группы образуют не одно скопление, а несколько, то ее из рассмотрения исключать нельзя.
Многие алгоритмы обработки данных работают более успешно, если число рассматриваемых признаков невелико. Поэтому на основании результатов «первого этапа» пользователю предлагается оценить информативность признаков для того, чтобы уточнить веса признаков и исключить из дальнейшего рассмотрения признаки, дублирующие друг друга или не несущие информацию о разделении набора объектов на группы. Такой анализ надо производить на основании корреляционных зави-
симостей, двумерных отображений и одномерных распределении по исходным признакам. Для удобства анализа распределения, получаемый по каждому из исходных признаков, испытываются на информативность, и если такая гипотеза противоречива, то на печать выдается соответствующее сообщение. .
Для количественных признаков на «первом этапе» ищутся ГК и проводится ФА (§ 3.2—3.3). Оба метода дают новую систему линейно независимых признаков. Как правило, решение, даваемое ФА, более предпочтительно, но оно не всегда существует, и в этом случае пользователь должен самостоятельно оценить число ГК, которое необходимо оставить в рассмотрении.
Информативность исходных признаков и дублирование признаков друг другом можно оценивать также по диаграммам близости признаков, выдаваемых программами метода ГК и ФА; описания использования этих диаграмм приведены в § 2.2. Если решение задачи пользователя закончено на «первом этапе», то выдается сообщение «Конец задачи пользователя» («END OF TASK»).
§4.4. Работа со «вторым этапом»
Общие сведения
«Второй этап» как и «первый» предназначен для решения задачи автоматической классификации и распознавания образов. Однако при работе этой части системы йспользуется информация, полученная после решения задачи с помощью «первого этапа»: выделение групп объектов, формы группировок, информативность признаков, веса признаков и т. п. Так же как и на «первом этапе», эта информация (ТЭД, обучающие выборки, веса признаков и т. д.) записываются в локальный файл DATA (если это необходимо) после окончания работы.
Обращение ко «второму этапу»
Для составления запроса на обработку данных «вторым этапом» системы SITO пользователю предлагается ответить на 15 вопросов.
Первые 12 совпадают с запросом для «первого этапа» (п. 4.3.2). Ответы на них могут отличаться от тех, которые были даны ранее, и учитывать результаты, полученные ранее. Остальные вопросы предполагают, что пользователь проанализировал результаты «первого этапа» в соответствии с указаниями, выданными в процессе работы его программ и в п. 4.3.5.
Вопросы имеют следующий вид:
-12) см. п. 4.2.2, 4.3.2.
Наблюдается ли расслоение набора объектов на компактные группы?\
Если ответ «О», то, значит, на двумерных отображениях отсутствуют признаки наличия структуры у данных, т. е. все данные образуют одну большую шаровую или эллипсоидную группу, в противном случае ответ должен зависеть от формы наблюдаемых групп: «1» — круглой и близкой к круглой форме; «2» — вытянутой эллипсоидной формы; «3» — сложной формы.
При оценке формы групп следует учитывать масштаб по осям двумерного отображениям
Надо ли переходить к новым количественным признакам, если в исходной информации они есть?
При ответе «О» перехода к новым количественным признакам, определенным при помощи МГК или ФА, не производится. При ответе «—1» в качестве новых количественных признаков выбираются ОФ (если существует решение задачи ФА). При/ответе «К» в качестве новых количественных признаков берутся первые «К» ГК. Число оставляемых ГК определяется пользователем.
Надо ли проводить статистическую обработку групп объектов, получившихся в результате решения задачи?
Возможные ответы: «1» — надо; «О» — не надо.
Подготовка исходных данных
После составления ответов на вышеуказанные вопросы следует подготовить массивы исходных данных. Для «второго этапа» используются те же массивы, что й для «первого этапа» (п. 4.3.3, табл. 4.4). Естественно, что сами массивы после интерпретации результатов решения задачи на «первом этапе» и получения некоторой дополнительной информации могут отличаться от данных для «первого этапа».
Составление колоды перфокарт для ввода задачи в ЭВМ
Так же как и для «Редактора системы» и «первого этапа», перфокарты набиваются в последовательности, указанной в табл. 4.2, со следующим отличием: 1) номер варианта использования пакета Z (карта № 16) равен 2; 2) запрос на обработку данных состоит из 15 чисел; 3) могут быть изменены массивы исходных данных.X
Например, рассмотрим данные п. 4.3.4. Предположим, что после «первого этапа» оказалось: 1) первый признак является неинформативным; 2) группы данных образуют эллипсоидные скопления; 3) объекты с № 17, 18, 26, 39 являются явными представителями некоторого нового класса. Тогда для этих данных с учетом дополнительной информации составляется следующий пакет перфокарт (табл. 4.6).
Таблица 4.6
№ - п/п
Содержание перфокарты
Комментарий
1
- 2
3 4
5
6
7
8
9
10 И
12
13
14
15
SECOND.
USER, ABC10,,,SUP.
GET, SITO/UN = BAAX.
SETTL, 30.
ALGOL, I = SITO, L = 0, C = 2, 0 = 2, N=0.
GET, B],B/UN=BAAX, GHAN/UN= BAAX.
GET, DATA.
RFL, 150000.
LIBRARY, BIB.
REDUCE, —.
SETTLE 300.
LGO, C=CHAN.
7/8/9 '
2,
40,6,—1,3,0,1,1,-1,0,0,-2,1,2,0,1,
Вызов «второго этапа» Запрос
16
17
1,1,1,1,1,0,5,0,0,0,2,2,2,2,2,0,0,5,0,0, 3,3,3,3,3,5,0,0.0,0,4,4,4,4,0,0,0,5,0,
| Обучающие выборки
18
19
1,0,
1,
1 Информация для редакти- / рования
20
21
22
X2 = 0—X2;
X3 = l/X3;
X5 = F3#
। Информация для встроен- ( ных функций
23
24
25
0.50,0.05,0.80,1.00,0.20,
7/8/9
6/7/8
Веса новых признаков
Интерпретация результатов решения задачи на «втором этапе»
На этом этапе решаются задачи автоматической классификации и распознавания образов с учетом той информации, которая получена на предыдущих этапах решения (информативность признаков, группировок объектов и их форм).^
После решения задачи пользователь может (вопрос № 15) получить статистические оценки выделенных групп. Для каждой группы оцениваются средние и дисперсии по признакам, корреляционная матрица и ищутся ГК. Затем все объекты отображаются на плоскость, образованную первой и второй ГК дА рассматриваемой группы. В результате исследователь получает дополнительную информацию о форме группы и ее расположении по отношению к другим объектам и группам.
Получение решения задачи с помощью «второго этапа» системы S1TO не означает, что задача полностью решена. Из этих резуль- 110 V
татов может вновь извлечь некоторую дополнительную информацию и, уточнив запрос и данные, вновь обратиться ко «второму», а возможно, и^к «первому» этапам.
Работа с системой SITO с использованием терминала ЭВМ CYBER-172/6
Терминальное оборудование машины CYBER-172/6 позволяет исследователю работать с системой непосредственно через терминал.
Работу с помощью терминала можно разбить на 2 этапа: подготовка исходных данных и решение задачи системой SITO. Последний этап может осуществляться двумя путями:
в «интерактивном» режиме: в этом случае решаемая задача будет «привязана» к терминалу, т. е. исходные данные будут вводиться с клавиатуры или из файлов каталога пользователя, а результаты выводиться на экран дисплея;
в «пакетном» режиме: при этом решаемая задача не будет связана с терминалом, и она будет решаться так, как будто исследователь ввел в ЭВМ колоду перфокарт.’Щ
Подготовка данных
Подготовку данных для решения задачи системой SITO можно осуществлять непосредственно с помощью терминала [30]. Конечно, это делать невыгодно для больших ТЭД, хотя и возможно, но для описания типов признаков, обучающих выборок и т. п. этот способ может оказаться удобным. После того, как ТЭД введена в ЭВМ либо с помощью «Редактора системы», либо с помощью языка управления заданием [301, можно пристыковать файлы с описаниями типов признаков, ОВ и т. д. к файлу DATA, содержащему ТЭД. В этом случае при использовании пакета ответ на 7-й вопрос будет «2».
Последовательность команд для записи данных (ТЭД и т. п.) в каталоге пользователя (шифр ABG10):
WRITE.
USER, ABC10,,,SUP.
COPYSBF,, DATA.
REPLACE, DATA.
7/8/9- 6 Данные 7 7/8/9 8 6/7/8
После введения такой последовательности перфокарт в ЭВМ в каталоге пользователя (АВС10) будет создан файл DATA, в котором будет содержаться информация, расположенная после первого разделителя 7/8/9. Если в каталоге был файл с именем DATA, то он будет уничтожен, а вместо него будет создан новый.
Для создания файла FEATURE, содержащего, например, описание типов признаков, и занесения информации в него необходимо выполнить следующую последовательность команд на терминале (табл. 4.7).
Таблица 4.7
п/п
Действия пользователя
Комментарий
1
NEW, FEATURE
Создание локального файла
2 1
1 TEXT
ENTER TEXT MODE
Ответ системы
3
1,1,2,...Д
Исходные данные, набиваемые на клавиатуре терминала. После каждой строки необходимо нажимать кла
Нажать клавишу" BREA К
вишу CR
4
EXIT TEXT MODE
Ответ системы
5
PACK
6а
SAVE, FEATURE
Используется, если файла FEATURE в каталоге пользователя нет
66
REPLACE, FEATURE
Используется, если в каталоге есть файл с именем FEATURE, который будет уничтожен, а на его место запишется новый
Для стыковки файла, например FEATURE, с другим файлом, например DATA, необходимо выполнить следующую последовательность команд на терминале:
GET, FEATURE
APPEND, DATA, FEATURE
OLD, DATA
PACK
REPLACE
Для редактирования информации можно пользоваться текстовым редактором ЭВМ CYBER-172/6. С его помощью можно восстановить пропущенные символы (запятые, знаки, цифры и т. д.), заменить что-либо, уничтожить отдельные числа или целые строки и т. п. [30].
«Интерактивный» режим работы с системой
Если пользователь хочет непосредственно видеть результаты работы системы или в его управляющей программе предусмотрены различные действия, а выбор конкретного действия на основе получаемых результатов осуществляется непосредственно исследователем, то работа с системой может осуществляться через терминал ЭВМ GYBER-172/6.
Для этого необходимо выполнить следующую последовательность команд:
BATCH
GET, SITO/UN = ВААХ
SETTL, 30
ALGOL, I=SITO, L = 0, N = 0, G = 2, О = 2
GET, DATA
GET, BIB/UN = BAAX, CHAN/UN=BAAX
X, LIBRARY, BIB
8 RFL, 150000
REDUCE, -
SETTL, 300
LGO, G = GHAN
:
REWIND, DATA
REPLACE, DAT/'
Если пользователь применяет свою управляющую программу, то вместо имени SITO (директивы 2 и 4) должно стоять имя файла, содержащего управляющую программу. ,
После директивы 11 начнет работать управляющая программа системы SITO или исследователя. Если управляющая программа написана исследователем, то последовательность ввода исходных данных такая, какую он предусмотрел в своей программе. Здесь следует отметить только то, что на каждый оператор ввода (INPUT, INARRAY, INREAL и т. п.) на экране дисплея будет появляться вопросительный знак. После этого на клавиатуре необходимо набрать число (или другую последовательность символов), которое предусмотрено в качестве ответа.
При использовании управляющей программы системы SITO первый вопросительный знак относится к номеру варианта использования системы («0» — «Редактор системы», «1» — «первый этап», «2» — «второй этап»), последующие знаки относятся к конкретным пунктам анкеты запроса (п. 4.2.2, 4.3.2, 4.4.2).
Если ответ на 7-й вопрос будет равен «2», то система больше ни о чем спрашивать не будет, при этом считается, что все необходимые данные находятся в файле DATA, который вызывается командой 5. Если ответ на этот вопрос «0», то система будет требовать массивы исходной информации в последовательности табл. 4.1 и 4.4. При ответе «1» считается, что ТЭД хранится в файле DATA, остальные массивы будут запрошены в порядке перечисления в табл. 4.1 и 4.4.
При вводе массивов может оказаться, что одной строки не хватает для ввода всего массива. В этом случае после заполнения одной линии экрана необходимо нажать на клавишу «CARRIAGE RETURN» (CR), после этого снова появится знак вопроса и можно продолжать ввод массива. После введения всей информации система ^начинает работать над задачей, а результаты по мере полу- чения^будут выводиться на экран дисплея. Необходимо помнить, что форма выдачи исходной информации рассчитана на 136 позиций алфавитно-цифрового печатающего устройства (АЦПУ),
а Длина строки на экране дисплея 60 символов, поэтому некоторые результаты (листинг ТЭД, двумерные отображения) могут быть искажены.
Для прекращения работы системы или снятия задачи с решения необходимо нажать на клавишу 8 в момент выдачи результатов или набрать директиву STOP в тот момент, когда результаты не выводятся на экран дисплея. В ответ ЭВМ CYBER-172^яапи- шет слово TERMINATED и перейдет в режим ожидания. Для временной остановки выдачи результатов необходимо нажать на клавишу I (ответ системы INTERRUPTED), для продолжения выдачи — нажать клавишу CR.
После окончания работы для сохранения файла DATA, хранящего отредактированную информацию, на терминале необходимо набрать директивы:
;REWIND, DATA
•' REPLACE, DATA .
Исследователю, работающему с собственной управляющей программой для того, чтобы вновь не повторять действия по созданию банка данных при последующих обращениях к новым управляющим программам, использующим уже заполненный ЛБД, необходимо набрать следующие директивы:
REWIND, RBANK
REWIND, IBANK REWIND, GRAD REPLACE^ RBANK, IBANK, GRAD .
В этом случае в каталоге пользователя будут созданы три файла RBANK, IBANK, GRAD, содержащие информацию ЛБД, которая в нем находилась в момент окончания работы. Для последующего использования этого ЛБД в последовательности перечисленных директив перед № 10 должна быть директива: GET, RBANK, IBANK, GRAD.
Все директивы, которые здесь упоминались, можно записать в некоторый файл каталога пользователя, например с именем PROG. Тогда вместо набора такой последовательности директив необходимо ввести: CALL, PROG, и система будет выполнять те директивы и в той последовательности, в которой они записаны в файле PROG. Для изменения информации в этом файле можно обратиться к «текстовому редактору».
4.5.3. «Пакетный» режим работы
«Пакетный» режим работы в принципе ничем не отличается от взаимодействия с системой при использовании колоды перфокарт. В этом режиме работы в некоторый файл, например SUB, заносятся директивы, как это указано в тцбл. 4.2, например в режиме «TEXT». В этом файле должны быть заменены разделитель 114
7/8/9 на /EOR, а разделитель 6/7/8 — на /EOF. После подготовки такого файла директивой SUBMIT, SUB, В задача будет послана на счет. Причем задача не будет «привязана» к терминалу, т. е. в зависимости от ответа на 7-й вопрос исходные данные будут вводиться из файла DATA или они должны быть расположены после первого разделителя /EOR и запроса на обработку; результаты при такой директиве будут выдаваться на центральное АЦПУ. Если будет задана директива SUBMIT, SUB, Е, то выдача результатов будет происходить на АЦПУ «пакетного» терминала.
Вместо того, чтобы результаты выдавать на АЦПУ, их можно записать в какой-либо файл, например RESULT, «Каталога пользователя». В этом случае необходимо после директивы 14 (табл. 4.2) ввести следующую последовательность:
REWIND, OUTPUT.
COPYSBF, OUTPUT, RESULT.
REPLACE, RESULT.
Глава 5
НЕКОТОРЫЕ ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ О СИСТЕМЕ SITO
В настоящей главе пользователь может ознакомиться с назначением различных алгоритмов, входящих в систему. Кроме того, здесь описаны ^обращения к соответствующим процедурам. При этом предполагается, что исследователь обладает хотя бы минимальными знаниями языка программирования ALGOL-60.
В начале; главы приведены рекомендации для составления пользователем управляющей программы, которая могла бы организовать последовательный вызов различных модулей для комплексной обработки данных в достаточно произвольном порядке по желанию пользователя. В § 5.2—5.4 рассматриваются процедуры, входящие в систему SITO, их описание и форма обращения.
§5.1. Рекомендации по написанию управляющих программ
Исследователь может составить собственную управляющую программу для комплексной обработки своих данных. Такая программа будет вызывать в определенной последовательности модули системы и выдавать исследователю необходимую информацию.
Каждый модуль может использовать результаты работы других модулей, полученные ранее. Хранение информации и всех промежуточных результатов по данной задаче осуществляется в ЛБД, организованном на магнитном диске. Расположение информации в ЛБД фиксировано. Все алгоритмы с помощью процедур CHANGE и GRAD (п. 5.2.2) имеют в него доступ.
Структура ЛБД на диске отражена в табл. 5.1. Вся информация в банке разбита на три раздела и хранится в трех файлах. В первом файле (RBANK) хранится информация, описываемая действительными числами, во втором (IBANK) — информация, описываемая целыми числами, а в третьем (GRAD) — информация, связанная с градациями неколичественных признаков.
Организация файла RBANK (IBANK) следующая: в первых 14(7) машинных словах хранятся адреса (номера) слов, с которых начинаются соответствующие массивы, включенные в этот раздел ЛБД, затем хранятся сами массивы информации (рис. 5.1).
Обращение к массивам, хранящимся в файлах RBANK и IBANK осуществляется с помощью процедуры CHANGE^ в которой в качестве одного из параметров (второго) указывается номер в сквозной нумерации табл. 5.1; Обращение к информации,
№ в’ЛБД
Содержание массива
№ слова, в котором хранится адрес массива
Условные обозначения
RBANK
1
2
3
4
5
6
7
8
9
10
11
12
13
Исходная информация (ТЭД) Ковариационная матрица Математическое ожидание по всем признакам
Дисперсии по всем признакам Нагрузки на ГК
Нагрузки на факторы Минимумы по всем ГК или ОФ Максимум по всем ГК Исходная информация Процент дисперсии ГК Минимумы по всем признакам Максимумы по всем признакам Обратная ковариационная мат-
1
2
3
4
5
6
7
8
9
10
11
12
13
INF или I [1:Р, 1:N] KOVAR [1:Р, 1:Р] OCEN [1:Р]
DISP [1:Р]
L [1:Р, 1:Р] ВТ[1:КА, 1:Р] АМ [1:Р]
ОВ [1:Р]
Il [1:Р, 1:N]
L1 [1:Р]
MI [1:Р]
МА [1:Р]
OBR [1:Р]
14
Веса признаков
14
А или В [1:Р]
IBANK
15
16
17
18
19
20
21
Обучающие выборки Классификация
Число признаков каждого типа
Типы всех признаков
Соответствие новых и старых номеров признаков
Количество градаций каждого неколичественного признака
Соответствие новых и старых номеров объектов
1
2
3
4
5
6
7
KL [1:N]
KL3 [1:N]
Т [1:3]
TIP [1:Р]
СООТР [1:Р]
GR [1:Т [1]+Т [2]]
COOTN [1:N]
22
GRAD
Соответствие между новыми и старыми значениями градаций
—
Т[1] + Т[2]
GRA [1: У GR ПИ 1=1
Примечание. N — число объектов в ТЭД; Р — число признаков в ТЭД; КА — число общих факторов: Т [1] — число классификационных признаков; Т [2]—число качественных признаков; Т [3] — число количественных признаков.
записанной в файле GRAD, осуществляется с помощью процедуры GRAD.
Первоначально в первых 14 (7) словах файла RBANK (IBANK) должен быть записан массив действительных (целых) чисел ADR [1 : 141 (ADR [1 : 71), каждый из элементов которого есть число 15 (8). Запись этого массива осуществляется следующей последовательностью команд:
: = 1;
J: = l;—для RBANK
J : =2; — для IBANK
STOREITEM (Z, Z, ADR); .
Рис. 5.1. Структура файла RBANK.
Если первой процедурой в управляющей программе пользователя будет процедура ввода исходных данных INP (п. 5.2.1) или если использовался «Редактор системы» (только в том случае, если обращение к «Редактору», вызов, и исполнение управляющей программы пользователя находились в одной колоде перфокарт, т. е. в одном задании), то указанные команды выполнять не надо. Исследователю, самостоятельно пишущему программу, необходимо помнить о тоф, что ТЭД должна быть представлена в виде, необходимом для работы модулей пакета. Поэтому непосредственно за вводом исходной информации в ЛБД необходимо обратиться к процедуре CODE (п. 5.2.3), которая подготовит информацию для работы с ней модулей системы обработки данных. В результате перекодировки будут созданы массивы № 194-21 (табл. 5.1).
Все используемые процедуры системы SITO должны быть описаны в разделе тех блоков управляющей ALGOL-программы, где используется данный алгоритм, или в ее начале. Пример описания:
"REAU1 “PROCEDURE" MINIM^A. В, С); "ALGOL" .
Процедуры "подготовки и редактирования исходных данных
Процедура INP
Эта процедура предназначена для ввода исходных данных и создания ЛБД. Порядок ее работы следующий:
ввод исходных данных с перфокарт или из файла «Каталога пользователя»; если необходимо, то ввод типов признаков, весов и обучающих выборок;
запись "введенных данных в ЛБД.
Таблица 5.2
№ п/п
Условное имя массива и его содержимое
Условие ввода
1
Исходная информация (ТЭД):
INF[1:Z[2], 1:Z]1]],
ABS (Z [3]) = 2
INF [1:Z [1], 1:Z[2]].
ABS (Z [3]) = 1
2
Типы признаков TIP [1:Z [2]]
Z[4]=0
3
Веса признаков A [1:Z[2]]
Z [5] ^ 0
4
Обучающие выборки KL [1:Z [1]]
Ziq^Q
Обращение к процедуре: INP (Z)- где
Z — массив, содержащий в качестве элементов первые семь ответов на запрос.
Ввод данных процедурой производится в последовательности табл. 5.2.
В результате работы процедуры производятся следующие записи в ЛБД: массив № 1 — исходная информация (ТЭД); массив № 18 — типы признаков; массив № 14 — веса признаков; массив № 17 — Т [1:31 — информация о количестве признаков каждого типа; массив № 15 — обучающие выборки.
Распечатка процедуры приведена на рис. 5.2.
Процедуры обмена с ЛБД CHANGE и GRAD
Процедура CHANGE предназначена для записи (чтения) массивов информации в (из) ЛБД.
Обращение к процедуре CHANGE (FF, N, А); где
W — управляющий символ, если W < 0, то информация записывается в ЛБД, в противном случае (W > О) — считывается; N — номер массива в табл. 5.1; А — имя массива, который запи
сывается или считывается.
Все массивы действительных чисел находятся в файле RBANK, а целых чисел — в файле IBANK.
Для работы процедуры необходимо, чтобы перед самым первым обращением к процедуре CHANGE в первые 14 слов файла RBANK как в действительный массив было записано число 15, а в первые 7 слов файла IBANK как в массив было записано значение 8. Это может быть осуществлено, например, процедурой INP. Распечатка процедуры приведена на рис. 5.4.
Процедура-функция GRAD предназначена для получения старого значения градации 7-го признака, имеющего в данный момент (после перекодировки алгоритмом CODE) значение градации К.
Обращение к процедуре: G=GRAD (7, К); где 7 — номер признака (новый — после переупорядочения ТЭД), для которого не- бходимо найти старое значение градации К.
Выходным параметром является значение процедуры функции.
Для работы алгоритма необходимо, чтобы в ЛБД были записаны
1:2 CR [7J — соответствие новых и старых1:2 CR [7J — соответствие новых и старыхпризнака; GRAпризнака; GRAмассивы: Т [1 : 3 ] — число признаков каждого типа; COOTP [1: Р]— соответствие новых и старых номеров признаков; GR [1 : 7411+ +Т [21] — количества градаций у каждого неколичественного Г Т[1]+Т[2]1
1:2 CR [7J — соответствие новых и старых
1:2 CR [7J — соответствие новых и старых
признака; GRA
признака; GRA
градаций.
Эти записи могут быть сделаны с помощью процедур INP и CODE.
Процедура CODE — подготовка информации к работе
Процедура CODE служит для преобразования ТЭД и других исходных данных к стандартному виду, принятому в системе SITO. ТЭД должна быть приведена к стандартному виду следующим образом:
в первых Т [3 ] строках ТЭД должны находиться количественные признаки; в следующих Т [2] строках — качественные и в последних Т [1] строках — классификационные (здесь Т [1 : 3] — массив, содержащий в качестве элементов значения, равные числу признаков каждого типа);
значения градаций неколичественных шкал должны представлять собой значения из отрезка ряда целых чисел, начинающегося с 1. *
Одновременно с упорядочением ТЭД к соответствующему виду приводятся массивы весов и типов признаков.
Обращение к процедуре: CODE^N, Р); где N — количество объектов; Р — количество признаков.
Для работы процедуры необходимо, чтобы в ЛЕД были предварительно записаны (например, при помощи процедуры INP) массивы: INF [1 : Р, 1:7V] — исходная ТЭД; А [1 : Р] — веса признаков; TIP [1: Р ] — типы признаков; Т [1 : 3] — число признаков Каждого типа (Т [1] — число классификационных признаков, Т [2] — число качественных признаков, Т [3] — число количественных признаков).
В результате работы все массивы, преобразованные к стандартному виду, будут занесены в ЛЕД на места прежних.
Однако пользоваться такой преобразованной ТЭД и новыми градациями неудобно, поскольку исследователь привык работать с исходной ТЭД и привычными для него градациями признаков. Поэтому, наряду с преобразованиями, процедура создает в ЛЕД массивы вспомогательной информации, которые впоследствии будут использоваться другими алгоритмами системы и дают возможность пользователю работать с привычными для него данными. Эти массивы содержат следующую информацию:
СООТР [1 : Р] — соответствие между новыми и старыми номерами признаков; СООТР [7] — старый номер 7-го признака;
G7?[l : ГШ + Г [2]] — количество градаций каждого не
Т[1]+Т [2]1: 5 GR^Т[1]+Т [2]1: 5 GR^количественного признака;
Т[1]+Т [2]
1: 5 GR^
Т[1]+Т [2]
1: 5 GR^
3. GRA3. GRA— соответствие между старыми и но
3. GRA
3. GRA
выми градациями, j-ij
Например, при 2 GR [I,] < 7 ^ 2 GR [L] GRA [7] — старое значе- L=1Б=1
/j-i\
ние 17— 2 СРЩ 1-й градации J-го признака.
\Ь=1/
Распечатка процедуры приведена на рис. 5.4.
Процедуры контроля корректности ТЭД TEST и TESTP
При большом объеме ТЭД пользователь часто не замечает, что все значения градаций некоторых (некоторого) признаков одинаковы. ТЭД с такими признаками обрабатывать не имеет смысла. Процедура предназначена для образования новой ТЭД, в которой будут отсутствовать признаки указанного вида. Кроме этого, иногда не надо обрабатывать признаки, у которых количество объектов с неизвестным значением данного признака (пропусков) больше некоторого порогового значения.
Обращение к процедуре: TEST (TV, Р, PROP. ЕРу где
N — количество объектдв;
Р — число признаков;
PROP= |Z [10 ] | — 10-й ответ в запросе о наличии пропусков в ТЭД;
ЕР — пороговое значение (число пропусков в признаке, при, котором его рассматривать не надо).
Если в ТЭД существуют такие признаки, то в результате работы произойдут изменения в ЛЕД: вместо исходной ТЭД будет помещена подтаблица и будут скорректированы массивы типов и весов признаков, а также значение числа признаков Р. Если неинформативных признаков нет, то никаких изменений не произойдет. В случае создания подтаблицы будет выдано сообщение: «ПРИЗНАКИ: JV1, N2 . . . ИСКЛЮЧЕНЫ», где^1, N2, . . . - номера исключаемых признаков.
Так же, как и у признаков, у объектов может быть слишком много пропусков. Процедура TESTP исключает из ТЭД объекты, у которых количество пропусков больше некоторого порогового значения.
Обращение к процедуре: TESTP (N. Р. К. PROPy где N — число объектов;
Р — число признаков;
К — пороговое значение;
PROP — 10-й ответ в запросе о наличии пропусков в ТЭД.
Если существуют объекты с числом пропусков, большим К. то на место исходной ТЭД записывается подтаблица, в которой отсутствуют такие объекты. Адалогичные действия производятся с обучающими выборками* а также корректируется массив соответствия новых и старых номеров объектов. По окончании работы процедуры параметр N принимает новое значение, равное N—7V1, где 7V1 — число объектов, у которых количество пропусков больше порогового значения К.
Процедура RED1
Эта процедура предназначена для редактирования массива исходной информации. Исследователь указывает, какие признаки и какие объекты следует исключить из рассмотрения, и после этого производится редактирование ТЭД.
1211219 В. В. Александров, Н. Д. Горский
121
121
Обращение к процедуре: В.ЁБ1 (Р, N^ VAR); гдё
Р^— число признаков до редактирования;
N — число объектов до редактирования;
^УЛТ? — управляющий символ (Z [7]). Если УЛ7?=0, то йнр формация о редактировании считывается с перфокарт, если VAR=2, то эта информация считывается из файла DATA «Каталога пользователя».
Для работы процедуры необходимо, чтобы исходная ТЭД была записана в ЛЕД (например, с помощью процедур INP или CHANGE). При работе процедуры вводятся (с перфокарт или из файла DATA) два числа Р1 и N1 и два массива PRZ [1 : Р1] и ОВК [1 : ^l], где Р1 — число исключаемых признаков; N1 — число исключаемых объектов. Первый из этих массивов содержит номера признаков, а второй — номера объектов, которые далее не требуется рассматривать. В процессе работы процедуры формируется новая ТЭД без указанных признаков и (или) объектов — INF [1 : (Р—Pl), 1 : (N—7V1)], которая записывается в ЛЕД на место старой. После работы процедуры N принимает значение N—Nl, а Р принимает значение Р—Р1. Одновременно редактируются векторы весов и типов признаков, обучающие выборки и массивы соответствия старых и новых номеров признаков и (или) объектов.
Процедура FUNC
Эта поцедура Предназначена для реализации «встроенных» функций преобразования признаков исходной ТЭД (см. 2.3.3), Обращение к процедуре: FUNC (N^ Р, VAR); где
N — число объектов;
р _ число признаков;
VAR — управляющий символ, указывающий:
откуда считывается информация о преобразовании признаков: возможные ответы: «+1»— с перфокарт; «+2»— из файла DATA «Каталога пользователя»;
есть ли информация о различной важности признаков (веса признаков); возможные ответы: «—1», «—2» — информации нет, «+1», «+2» — веса признаков будут вводиться или с перфокарт (+1), или файла DATA (+2) «Каталога пользователя».
Для работы процедуры необходимо, чтобы в ЛЕД в массиве № 1 находилась ТЭД; в массиве № 18 информация о типах признаков. Это можно сделать, например, с помощью процедуры INP или CHANGE.
В результате работы процедуры новая ТЭД будет помещена в 1-й массив, веса признаков — в 14-й массив, а типы признаков и массив количеств признаков каждог^ типа — в 17-й и 18-й, соответственно.
Процедуры создания новой ТЭД NEWTED и RED3
В результате работы алгоритмов автоматической классификации или распознавания только для количественных и (или) качественных признаков образуется массив пометок принадлежности объекта к определенному классу, который можно рассматривать как новый классификационнй признак. Процедура NEW TED служит для создания ТЭД, в которой сохраняются все ’лассификационные признаки исходной ТЭД, а все количествен- i ые и (или) качественные признаки заменяются на массив пометок v шнадлежности объектов к определенному классу.
Обращение к процедуре: NEWTED (N, Р); где
N — число объектов;
Р — число признаков.
Для работы процедуры необходимо, чтобы вся информация, связанная с ТЭД и ее описанием (массивы № 1, 17, 18, 19, 20, 21, 22), находились в ЛБД, а массив пометок (новый признак) хранился в массиве № 16.
В результате работы процедуры будет сформирована новая ТЭД с Т [11+1 (Г[1] — число признаков классификационного типа у исходной ТЭД) классификационными признаками, кроме этого, скорректированные массивы и новая ТЭД будут записаны в ЛБД.
После работы алгоритмов автоматической классификации или распознавания образов образуется массив пометок принадлежности объекта к определенной группе. В этом случае можно сократить число объектов в ТЭД, оставив в новой таблице по одному (первому) представителю из каждой группы объектов. Для образования такой подтаблицы экспериментальных данных служит алгоритм RED3.
Обращение к процедуре: RED3 (Р^ N)‘ где
Р — число признаков;
N — число объектов.
После работы процедуры значение N' соответствует новому числу объектов.
Для работы процедуры необходимо, чтобы исходная ТЭД находилась в массиве № 1 ЛБД, пометки принадлежности объектов к группам — в массиве № 15, а информация о соответствии старых и новых номеров объектов— в массиве № 21. М
Подтаблица экспериментальных данных и новый массив соответствия номеров объектов будут записаны в массивах № 1 и 21 ЛБД, соответственно.
\
Процедура OUTP — вывод ТЭД на печать
Эта процедура предназначена для распечатки исходных данных, обучающих выборок и весов признаков.
Обращение к процедуре; OUTP {N. Р. VAR); где
N — чцсдо объектов;
Р — число признаков;
VAR— управляющий символ. Если VAR'>01 то дополнительно распечатывается информация об обучающих выборках, в противном случае информация о принадлежности объектов к определенным группам не выводится на печать.
Для работы процедуры необходимо, чтобы в ЛБД была записана следующая информация: массив № 1 — распечатываемая ТЭД; массив № 14 — информация о весах признаков; массив № 15 — информация об обучающих выборках (если нужна их распечатка); массив № 19 — информация о соответствии новых и старых номеров признаков; массив №21 — информация о соответствии новых и старых номеров объектов.
Вспомогательные процедуры обработки данных
Алгоритм генерации данных для тестового режима работы
Этот алгоритм предназначен для имитации ТЭД, представленных количественными признаками. Генерация конкретной таблицы ведется на основании параметров, задаваемых пользователем. Предусмотрены два режима работы программы. При первом режиме генерируется М групп объектов, каждая из которых представляет собой выборку из нормально или равномерно распределенной генеральной совокупности. Ковариационные матрицы всех генеральных совокупностей равны единичной матрице. Евклидово расстояние между центрами любых двух генеральных совокупностей равно 6.0, т. е. по уровню Зо все генеральные совокупности представляют собой касающиеся гиперсферы (в случае нормального закона распределения).
При втором режиме генерации параметры каждой из М генеральных совокупностей (вектор математического ожидания и стандартные отклонения по каждому из признаков) задаются пользователем. Таким образом, при втором режиме можно имитировать сложные СД, комбинируя генеральные совокупности с различными параметрами.
Обращение к процедуре: GEN (WAY, N, Р, М, DAN); где WAY— управляющий символ, если WAY=1, то генерируются нормально распределенные группы, если WAY=2, то генерируются равномерно распределенные группы;
N — число объектов, которые генерируются;
Р — число признаков у каждого объекта;
М — число групп, которые генерируются (число объектов в каждой из них NIM);
DAN — управляющий символ. Если DAN =0, то реализуется первый режим генерации, иначе производится ввод с перфокарт массива векторов центров групп (СР И : М, 1 : Р]) и массива векторов дисперсий по каждому из признаков для всех групп (DIS [1 : М, 1 ; Р]).\
К
Сгенерированные исходные данные (INF [1 : Р, 1:7V] и вся сопутствующая им информация) записываются в ЛБД в массивы №№ 1, 17, 18 и 19. Распечатка процедуры приведена на рис. 5.5.
Алгоритм RED2
Этот алгоритм предназначен для заполнения пропусков в ТЭД. При вводе исходной информации пропуски в исходных данных кодируются значением, задаваемым пользователем. Если при работе процедуры такое значение встречается на пересечении К-й строки (объекта) и М-го столбца (признака), то для всех признаков, не содержащих пропуска в М-м признаке, проверяется близость к 2?-му объекту по значениям признаков, которые определены одновременно у обоих объектов. Значение пропуска заполняется значением М-го признака объекта, наиболее близкого к А>му объекту. Эта процедура проводится до тех пор, пока в ТЭД не останется пропусков.
Обращение к процедуре: RED2 (N, Р, PROP); где
N — число объектов;
Р — число признаков;
PROP — число, которым кодируется пропуск в ТЭД (PROP *> >0). Если PROP=0. то считается, что пропусков нет.
Для работы процедуры необходимо, чтобы исходная информация была записана в массиве № 1 ЛБД, например, при помощи процедуры INP. Результирующая ТЭД с заполненными пропусками записывается на место старой. Распечатка процедуры приведена на рис. 5.6.
Процедура NORMIR
Эта процедура предназначена для нормировки и взвешивания исходных признаков. Если различные признаки измерены в разных единицах или пользователь хочет провести нормировку исходных данных, последняя производится по каждому из признаков. Если пользователю необходимо учесть различную степень важности признаков, то исходная информация взвешивается. При одновременном задании нормировки и взвешивания первой производится нормировка.
Обращение к процедуре: NORMIR (N. Р. РК, A, NORM^ ВЕС); где
N — число объектов;
Р — число признаков;
РК—число количественных признаков; предполагается, что признаки упорядочены (например, при помощи процедуры CODE), и количественные признаки, по которым производится нормировка, стоят на первых местах;
А Ц : Р] — массив весов признаков;
NORM — управляющий символ; если NORM^Y, то количественные признаки нормируются стандартными отклонениями; если N0RM—2, то количественные признаки нормируются средними;
ВЕС — управляющий символ, если 5567=1, то производится взвешивание признаков в соответствии с массивом весов Л.
Для работы процедуры необходимо, чтобы исходная информация (ТЭД) была записана в ЛБД (массив № 1). После работы процедуры преобразованная ТЭД записывается на это место.
Распечатка процедуры приведена на рис. 5.7,
Процедура распечатки
двумерного отображения PROGECT
Эта процедура предназначена для графического представления двумерных отображений набора объектов, расположенных в пространстве произвольной размерности. Объекты представляются точками многомерного пространства с координатами, равными значениям соответствующих признаков. Двумерные отображения особенно полезны при анализе результатов ФА и анализе МГК, а также при предварительной обработке информации для выявления наличия структуры исходных данных, форм группировок или выделения обучающих выборок.
Процедура PROGECT получает двумерные проекции на плоскость, образованные двумя осями (признаками, ГК и факторами).
Обращение к процедуре: PROGECT (N, Р, INF, D, ВТу где N — число объектов;
Р — число признаков;
INF [1 : Р, 1 : А] — массив координат N объектов в Р-мер- ном пространстве;
D — управляющий символ; если D > 0, то значения координат всех объектов на плоскости распечатываются; если |Z> |=2, то алгоритм будет работать только для помеченных объектов;
ВТ [1:2, 1 : Р] — массив, состоящий из двух векторов ВТ [1; КА и ВТ [2, КА, K—i, 2, . . ., Р, задающих ориентацию в пространстве плоскости, на которую будет построена проекция.
Результатом работы процедуры является двумерная проекция пространства объектов на плоскость, осями координат которой являются векторы ВТ [1, КА и ВТ [2, 5], 5=1, 2, 3, . . ., Р. Поле печати — прямоугольник 60 на 40 ячеек. Если двумерные координаты некоторого объекта попадают в одну из ячеек, то на этом месте печатается номер соответствующего объекта.
Если два или более объекта попадают в одну ячейку, то печатается номер последнего попавшего объекта. Анализ наложений проекций объектов можно провести, заказав распечатку координат объектов на плоскости. Распечатка программы приведена на рис. 5.8.\
126^
Процедура распечатки одномерного отображения TIP1
Эта процедура предназначена для получения одномерных распределений значений признаков, ГК, общих факторов или для визуального представления результатов работы любого алгоритма, дающего отображение СД в одномерное пространство (подробное описание см. в § 3.3). Процедура также производит разбиение объектов на основании одномерной гистограммы. ,
Обращение к процедуре: TIPI (F, N, KL, U, NKL, VARY где-
F [1 : NA — массив координат объектов;
N — число объектов;.
KL [1:7V] — выходной массив принадлежности объектов к выделенным группам; если KL [7T]=J, то 7£-й объект принадлежит Лй группе.
U — коэффициент уровня отсечки (для получения только одномерного распределения можно положить U—0);
NKL — число групп в массиве: КЦ-
VAR — задает тип массива координат: FA7? = 1 — шкала наименований, VAR =2 — шкала порядка, VAR =3 — шкала отношений, интервалов, разностей.
Процедура GRAF — визуализация данных
Эта процедура предназначена для получения двумерных проекций объектов на плоскости, образованных ГК или факторами. Использует процедуру PROGECT (п. 5,3.4).
Обращение к процедуре: GRAF (KL, N, Р, 7V1, 7V2); где
KL — управляющий символ; если KL=0, то используются ГК, если KL=M > 0, то используются факторы, число которых М;
N — число объектов;
Р — число признаков;
7V1 и N2 — номера ГК и ОФ, которые образуют плоскость проекции.
Для работы процедуры необходимо, чтобы в ЛЕД хранилась0 следующая информация: массив № 1 — ТЭД; массив № 5 или № 6 — выражение ГК и ОФ через исходные признаки (нагрузки на ГК или ОФ), соответственно.
Процедура PIC — визуализация групп объектов и их ста1- тистическая обработка
Эта процедура предназначена для получения отображений исходных данных на плоскость первой и второй ГК, полученных при анализе группировок объектов, выделенных каким-либо образом, а также начальной статистической обработки этих групп (вычисление средних, дисперсий, корреляционной матрицы).
Обращение к процедуре: PIC (N, Р, Z, У); гдеf
N — число объектов;
Р — число признаков;
Z —- число групп объектов;
V — управляющий символ: требуется ли нормировка данных . (ответ на 12-й вопрос анкеты).|
Для работы процедуры необходимо, чтобы в ЛБД были записаны: ТЭД (массив № 1), пометки принадлежности объектов к одной из Z групп (массив № 15), количество признаков каждого типа (массив № 17).
Необходимо помнить, что эта процедура в процессе работы использует массивы № 2—5, 10—12 ЛБД. В эти массивы происходит запись ф поэтому может произойти уничтожение предыдущих записей. Следовательно, необходимо предпринять меры для их сохранения.
Процедура LINP
Эта процедура предназначена для преобразования исходного признакового пространства. Исходные признаки заменяются либо на ГК, либо на ОФ.
Обращение к процедуре: LINP (N, Р, VAR1; где
N — число объектов;
Р — число исходных признаков;
VAR — управляющий символ; если VAR=0, то исходные признаки заменяются на Р ГК, если VAR=M > 0, то они заменяются на М общих факторов.
Для работы процедуры необходимо, чтобы ТЭД была записана в массиве № 1 ЛБД, а нагрузки на ГК или ОФ — в массиве № 5 или № 6, соответственно. Нагрузки на ГК или ОФ могут быть получены и записаны в ЛБД с помощью процедур GLCOMP и FACTOR.
Процедура RPRAW
Эта процедура предназначена для выбора оптимального варианта алгоритма распознавания образов. Выбор алгоритма распознавания осуществляется из возможных вариантов решающих правил, заложенных в алгоритмы RECHKA hOBRAZ. Наилучшей процедурой принятия решения считается та, для которой ошибка ложной классификации на части обучающих выборок наименьшая. Для этого каждая обучающая выборка разбивается на равные части: первая используется для обучения, а вторая — для экзамена.
Обращение к процедуре: RPRAW (N, М, 8, VAR); где
N — число объектов;
М — число обучающих выборок;
8 — управляющий символ; если 5=0, то сравнение осуществляется между всеми вариантами метрики пространства алгоритма RECHKA и процедурой OBRAZ; если S=Q^=O1 то сравнивается 128К
некоторый вариант метрики (<?=1 — метрика Хемминга для шкал наименований, <2=2 — метрика Хемминга для шкал порядка, @=3 — метрика Евклида, (?=5 — метрика Махаланобиса) с процедурой OBRAZ;^
VAR — управляющий символ. Если VAR=0, то сравнение осуществляется между всеми вариантами типов решающих правил алгоритма RECH КА и процедурой OBRAZ. Если VAR=M=^, то сравнивается определенный вариант алгоритма RECHKA ^= 1 — классификация по «ближайшему соседу», М=2 — «дальний сосед», М=3 — «средняя связь») с процедурой OBRAZ.
Если по окончании работы наилучшая классификация осуществлялась процедурой OBRAZ, то значение параметра 5 будет 4, в противном случае оно равно 1.
§5.4. Сервисные программы
Процедура-функция MINIM
Процедура предназначена для выбора значения минимального элемента в одномерном массиве.
Обращение к процедуре: Y=MINIM (Л, В, С); где /
А1В:С] — массив, в котором осуществляется поиск минимального значения;
В, С — нижняя и верхняя границы массива, соответственно.
Процедура-функция MAXIM
Процедура предназначена для выбора значения максимального элемента в одномерном массиве.
Обращение’к процедуре: Y=MAXIM (А, В, С); где \ Л[В:С]— массив, в котором осуществляется поиск максимального значения.
Процедура-функция МАХ
Процедура предназначена для выбора максимального из двух чисел.
Обращение к процедуре: Y=MAX (Л, В); где
А, В — сравниваемые числа.
Процедура-функция MIN
Процедура предназначена для выбора минимального из двух чисел.
Обращение к процедуре: Y=MIN (Л, В); где
А, В — сравниваемые числа.
Процедура SORTING
Процедура предназначена для упорядочения элементов одномерного массива по возрастанию.
Обращение к процедуре: SORTING (Л, С, N); где!
Л [1:2V] — упорядочиваемый массив; после окончания работы процедуры его элементы расположены по возрастанию;
С [1:2V] — выходной массив, 7-й элемент которого указывает номер места, на котором до упорядочивания находился Z-й элемент массива Л, т. е. С [7] — номер старого места элемента Л [7];
N — число элементов в массиве
Процедура ТРАН
Процедура предназначена для транспонирования матрицы.
Обращение к процедуре: ТРАН (В, Л, М, N); где
В [1:2V, 1:М1 — результирующая матрица (В^А^;
Л [1:717, 1:7V] — исходная матрица:
717 — число строк матрицы А;
N — число столбцов матрицы А.
Процедура YMM
Процедура предназначена для перемножения матриц (Л =6хС\
Обращение к процедуре: YMM (Л, В, Р, С, М, 0; где
А [1:717, 1:Р], В [1:Р, 1:0 — перемножаемые матрицы;
Р —- число столбцов матрицы А и строк матрицы В;
С [1:717, 1:0] — результирующая матрица;
717 — число строк матриц Л и С;
Q — число столбцов матриц В и С.
Процедура-функция FCHI2
Процедура предназначена для вычисления остаточной вероятности для величины, распределенной по закону %2 Пирсона с F степенями свободы.
Обращение к процедуре: Y=FCHI2 (7, F, EPS, L); где
Т — значение случайной величины;
F — число степеней свободы;
EPS — точность счета;
L — метка, на которую передается управление, если 7^0.
Вычисляется величина: FCHI2—P (%2 > 7}, где
X2 — случайная величина, распределенная по закону %2 Пирсона с F степенями свободы.
Вероятность * fсо
p/Y2.>n=] №№» ( Z^V»^, т>о/
I о, \ .7 < 0.
130V
Предполагается, что F > 0, в противном случае управление передается на метку L. Интеграл вычисляется разложением в ряд. Суммирование ряда ведется до тех пор, пока абсолютная величина очередного члена ряда не окажется меньше, EPS.
Процедура JACOBI .
Процедура предназначена для вычисления собственных значений и собственных векторов квадратной симметричной матрицы методом Якоби. .
Обращение к процедуре: JACOBI (A, S, N, EPS, F); где
A [1:7V, 1:7V] — перед обращением к процедуре в этом массиве находится матрица, для которой решается задача собственных значений, после работы процедуры элементы А [А, КА совпадают с собственными значениями матрицы;
S [1:7V, 1:7V] — используется лишь при F—FALSE', в этом случае после работы процедуры К-я строка массива S содержит К-й собственный вектор исходной матрицы;
7V — порядок исходной матрицы;
EPS — число, обусловливающее точность процесса; итерации прекращаются, когда все недиагональные элементы преобразованной матрицы делаются по абсолютной величине меньше EPS. Абсолютная погрешность вычисленных собственных значений будет при этом меньше NxEPS',
F — параметр типа BOOLEAN, определяющий, надо ли вычислять собственные векторы; при F=TRUE вычисляются только собственные числа, при F^FALSE вычисляются собственные числа и собственные векторы.
СПИСОК СОКРАЩЕНИЙ
ГК — главная компонента, ЛЕД — локальный банк данных, МГК — метод главных компонент, О В — обучающая выборка, ОФ — общий фактор, ОФПР — оценка функции плотности распределения, СД — структура данных, СДДП — структура данных в дискретном пространстве, ТЭД — таблица экспериментальных данных, ФА — факторный анализ,
ФПМР — функция приращения межклассовых расстояний.
ЛИТЕРАТУРА
Кендалл М., Стюарт, А. Статистические выводы и связи. М., «Наука», 1973.
Психологические измерения. Подред. Л. Д. Мешалкина. М., «Мир», 1967.
Пфанцагль И. Теория измерений. М., «Мир», 1976.
Александров В. B.t Поляков А. О. Структурные методы классификации. — В кн.: Адаптация в системах со сложной структурой. М., Совет по проблеме «Кибернетика» АН СССР, 1977.
Александров В. В., Горский Н. Д., Поляков А. О. Структурный метод упорядочения и классификации экспериментальных данных. — Препринт ФТИ АН СССР, № 567, Л., 1978.
Мартин-Лёф П. Очерки по конструктивной математике. М., «Наука», 1973.
Холл П. Вычислительные структуры. М., «Мир», 1978.
Александров В. В., Горский Н. Д. Организация ассоциативного хранения и поиска информации в памяти ЭВМ. — В кн.: Системы и методы автоматизации исследований. М., «Наука», 1981.
Александров В. В., Поляков А. О., Романов С. В., Шварцбанд И. Д. Применение методов распознавания образов при анализе сложных сигналов. М., Совет по проблеме «Кибернетика» АН СССР, 1978.
Александров В. В., Горский Н. Д., Поляков А. О. Рекурсивные алгоритмы обработки и представления данных. — В кн.: Алгоритмы и системы автоматизации исследований и проектирования. М., «Наука», 1980.
И. Горский Н. Д. Оценка элементов корреляционной матрицы для данных, представленных шкалами разных типов. — В кн.: Алгоритмы и системы автоматизации исследований и проектирования. М., «Наука», 1980.
Горский Н. Д^ Никифоров А. М., Оденышева Т. О. Анализ взаимозависимости разнотипных признаков. — В кн.: Системы и методы автоматизации научных исследований. М., «Наука», 1981.
Кендалл М., Стюарт А. Многомерный статистический анализ и временные ряды. М., «Наука», 1976.
Айвазян С. А., Бежаева 3. И., Староверов О. В. Классификация многомерных наблюдений. М., «Статистика», 1974.
Лоули Дм Максвелл А. Факторный анализ как статистический метод. М., «Статистика», 1967.
Sammon Н. A nonlinear mapping for data structure analysis. — IEEE Trans., 1969, C-18, 5. "
Peano G. Sur une courbe, gui remplit une aire plane. — Math. Ann., 1890, 36.
Patrick E. A., Anderson D. R., Bechtel F. K. Mapping multidimensional space to one dimension for computer output display. — IEEE Trans., 1968, C-17, 10.
Butz A. R. Space-filling curves and mathimatical programming. — Inf. Cont., 1968, 12, 4.
Стронгин P. Г. Численные методы в многоэкстремальных задачах. М., «Наука», 1978.
Александров В. В,, Горский Н. Д. Структуризация иерархических систем. — В кн.: Алгоритмические модели в автоматизации исследований. М., «Наука», 1980.
Morrison D. G. Measurement problems in cluster analysis. — Management Sci., 1970, 13.
Дуда P., Харт П. Распознавание образов и анализ сцен. М., «Мир», 1976.
Lance G, N., Williams W. Т. A general theory of classificatory sorting strategies. — Comp. J., 1967, 9.
Alexandrov V. У., Gorsky N. D. Structurisation of hierarchical systems. — Препринт ЛНИВЦ АН СССР, № 006, Л., 1980.
Андерсон Т. Введение в многомерный статистический анализ. М., Физматгиз, 1963.
Александров В. В., Горский Н. Д. Решение задач упорядочения, классификации и принятие решения при помощи отображения многомерного пространства на числовую ось. — Тезисы докл. III Всес. конф, по исследованию операций. Горький, 1978.
Алексеев А. Йм Горский Н. Д. Использование рекурсивных отображений дискретных пространств для распознавания образов. — В кн.: Системы и методы автоматизации исследований. М., «Наука», 1981.
Александров В. В., Алексеев А. И., Горский Н. Д. Система обработки разнотипных данных SITO. I. Методологические основы. — Препринт ЛНИВЦ АН СССР, Л., 1981.
Александров В. В., Алексеев А. И.^ Горский Н. Д. Система обработки разнотипных данных SITO. II. Инструкция для пользователя. — Пр принт ЛНИВЦ АН СССР, Л., 1980.
Александров..^. В., Горский Н. Д., Поляков А. О. Пакет прикладных программ АЛПОГОР. — Препринт ФТИ АН СССР, № 576, Л., 1978.
Александров В. В., Горский Н. Д., Поляков А. О. Пакет прикладных программ для классификации многомерных наблюдений. — В кн.: Автоматизация Исследований и проектирования. М., «Наука», 1978.
РАСПЕЧАТКИ ПРОЦЕДУРИ ПРИМЕРЫ ИХ РАБОТЫ
••PROCEDURE» OCENKI(HfNPARfK)5 mjALUE’Vl'NPAR'Kr'IHTEeER^
••BEGIN » »ARRAY»KOVARE 1 * .NPARf 1. .NPAR2 ,
OCEHfDISPEl..NPARJfINFEI-.NPARf1..H3f
MIfMACI..NPARJf»INTEGER»12fJ2fK2$
••INTEGER» »ARRAY» KLEI..HJfGREI..NPARJf
“INTEGER» G1fG2fG3f
“PROCEDURE» CHANGE(BfNfM)?»ALGOL»?
••PROCEDURE» OUT(T)?
••ALGOL»?
CHANGE (1 f 1 f INF) ?CHANGE (1f19f GR)?
CHANGE(1fISfKL)?
“F0R»I2..«l»STEP»l»UNTIL“NPAR»D0“
"BEGIN»0CENEI2J. .«0.0?
MAEI2J..«MIEJ2J..«INFEI2f1J?
“FOR»J2. . «1 »STEP»1 “UNTIL »NPAR»DO“
KOVARC12 f J23..«0.0 ?
“END»?
“F0R»J2..«l»STEP»l»UNTIL»H»D0“
“IF»K«-1»OR»KLEJ23«K»THEN»
“F0R»I2.*«1»STEP»1»UNTIL»NPAR“DO»
“BEGIN»
0CENEI2J..»0CENEI2J+INFEI2fJ2J/H?
“IF»INFEI2fJ23<MIEI23»THEN»MIEI2J..«INFEI2fJ2J?
“IF»INFE12fJ2 J>MAE123»THEN»MAC12J..«INFE12r J2 J?“ END»?
“FOR»12..«1»STEP»1»UNTIL»H»DO» “IF»K«~1»OR»KLEI23«K»THEN»
»F0R»J2..«l»STEP»l“UNTIL»NPAR»DO»
“FOR“K2.*«1“STEP»1“UNTIL»NPAR“DO“
KOVAREJ2fK23..«KOVAREJ2fK2J+(INFEJ2f123-OCENEJ23)* (INFEK2fI23-0CENCK23>/Н?
“F0R“I2..*1“STEP»1“UNTIL»NPAR“DO“
“BEGIN»
DISPE123..«KOVARE12f123f
“IF»DISPEI23<0.0000001“THEN»DISPEI23..«0.0000001; “END»;
CHANGE (-1f 3fOCEN)5CHANGE(-1f4fDISP)fCHANGE(-1f11fMI> ?
CHANGE(*1f12fMA>;
CHANGE(-1f2fK0VAR)?
OUTPUT(61f“(“3/f»(»STATISTICAL ESTIMATIONS FOR FEATURES »>» »>»>;
»IF»K»NOT EQUAL»~1»THEN»0UTPUT(61f»(»»(“0F»)»f
2Zf»(»-TH CLASS»)»»)»fK>
nEL§E“ OUTPUT(61f»(»“(“INITIAL DATA »)»»)»>;
Gi..«i;оз..«npar;g2..«0;
GGG. .
OUTPUT(61F“(»2/f»(“FEATURE NUMBER»)»f/f2B»)»)?
G2..«»IF» NPAR<16 »THEN» NPAR*G2 »ELSE» G2*16;
npar..«npar-16;
‘T0R»I2..«Gl»STEP»l»UNTIL»G2»D0,mBEGIN»
DISPE123..«SORT(DISPE123);OUTPUT(61f »(»3Z5B»)»fGREI23)VEND»
OUTPUT(61f»(»/f»(»MEANM)»f/»)»);
Рис. 2.1. Распечатка процедуры OCENKI.
13713710 В. В. Александров, Н. Д. Горский
137
137
"F0R"I2..«Gl"STEP"l"UNTIL"G2"D0"0UT(0CENEI2J) 5 0UTPUT(61 9 "CVin ("STANDART") ",/") ") ?
"F0R"I2, ,«Gl"STEP"l"UNTIL"G2"D0"0UT(DISPEI2J) 5
OUTPUT (61 9 " W9 " ("MAXIMUM") ",/") ") 5 "F0R"I2. .^Gl"STEP"l"UNTIL"G2"D0"0UT(MAEI2J) я OUTPUT(619“(u/9n("MINIMUM")n9/“)")?
"F0R"I2,,«G1"STEP"1"UNTIL"G2"DO"OUT(MIEI23>$ "F0R"I2wW«1"STEP"1"UNTIL"G3"D0" "F0R"J2.w«Gl"STEP"1"UNTIL"62"DO" K0VAREI2*J23*,«K0VAREI2rJ23/(DISPEI23#DISPEJ23)5 "IF"NPAR+G2>50"THEN""GO TO" Z?
OUTPUT (61 911 <”2/9 " ("CORRELATION MATRIX") "")");
OUTPUT(619"("/9 SB")"> 5 "FOR" I2,.»G1 "STEP" 1 "UNTIL" G2 "HO" OUTPUT(6Л 9"("2B4Z2B")",GREI23)?
"FOR" 12Л«1 "STEP" 1 "UNTIL" G3 "ПО" "BEGIN"OUTPUT(619"("/93Z2B")"9 ORE12J)$ "FOR"J2.,=G1"STEP"1"UNTIL"G2"D0"
OUTPUT <619n("-3Z*3D")",K0VAREI2#J2J)?"END"?
Z. -'•
"IF" NPAR>0 "THEN" "BEGIN" G1.-«G2+1?"GOTO" GGG?"END "END"'
Рис. 2.1 (продолжение).
••PROCEDURE"0CENKI2(ЫуРуV,PR,TIP) ?
”UALUE"N , P у V у PR ; "INTEGER"N , P у V у PR 5 "ARRAY"TIP 5 ••BEGIN""BOOLEAN"KOM?
••PROCEDURE" CHANGE(E<,N,M) ?"ALGOL"?
••PROCEDURE" OUT(B>? "ALGOL"?
••REAL" "PROCEDURE" MIN (N,M) f "ALGOL"?
••PROCEDURE" MINI (U,B,N,M> ?
••ARRAY" V?"INTEGER" BrM?"REAL" N?
••BEGIN" "INTEGER" I?
N--»0-l"Kt9?
••FOR" I---1 ''STEP" 1 "UNTIL" В "DO"
••IF” UCIKN "THEN" "BEGIN" M.,«I?N,,«VEI3?"END"?"END"?
КОМ- -«"IF"P>0"THEN""TRUE""ELSE""FALSE"?
••IF" "NOT" КОМ "THEN" P,,«-P?
"BEGIN"“INTEGER"I,JrPl,P2rNP,K,LrM,ME,PRED,R,S?
”ARRAY"KOBE1sp, 1:P35
”ARRAY"MACrMID,MAK,MIKElsP3?
”REAL"F,CP,DP? "ARRAY"I0E1 sp, 1 :N3 ?
"INTEGER" "ARRAY" NPRE1,,33rCHGEl,,P3,METE1;,N3$ "PROCEDURE"GRUDA<PRD)?
”INTEGER"PRD?
"BEGIN""ARRAY"ZNE1,.Ру 1,,503?
PRD--«0?
"FOR" NP--«1 "STEP" 1 "UNTIL" P "DO" "BEGIN" "IF"TIPENP3«3"THEN""BEGIN"K. RENTIER (SORT <N) /2) ?
”IF"K<2"THFN"K-,«2?"F0R"I,-«1"STEP"1"UNTIL"K”DO" ZNCNPrI3,.»I?"GO TO"EXIT?
"END"?
"FOR"I..«1"STEP"1"UNTIL" N "DO" "IF"METCI3«ME*’THEN""BEGIN"
ZNENPrl3.-«I0CNPrI3?K\ - = 1?L--»I?"GOTO" DAL?"END"?
DAL, , "FOR"I, ,«:L"STEP"1 "UNTIL"N"DO""IF"METCI3«:ME:: "THEN” "BEGIN"L, ,«:I0CNPrI3?
"FOR"J,,=:I"STEP"1"UNTIL"K"DO"
".TF"L«:ZNCNPrJJ"THEN""GOTO"BN?Kw,«:K<l?ZNi:NPyK3,.=L?BN.-"END"? "IF"TIPENP3«:2"THEN"
”FOR"I-.=1"STEP"1"UNTIL"K-1"DO"
"FOR"J--«1"STEP"1"UNTIL"K-1"DO"
"IF"ZNENPr J3>ZNENPrJ-M3"THEN"
"BEGIN"F, .^ZNCNPy JJSZNENPy JJ. .«ZNCNPy J*13?ZNENPr JUri. .^? "END"?
EXIT,-CHGENPJ,w=K;"IF"K>PRD"THEN"PRD.,«K?"END"?
"BEGIN""ARRAY"ZE1sp,1sPRDJ ?
"FOR"I,,«1"STEP"1"UNTIL"P"DO"
"FOR" J,,«:l "STEP" 1 "UNTIL" PRD "DO"
Zr.I,J3.M«:ZNCIyJ2y
PUTARRAY(100,Z)?
"END"?
"END" GRUDA?
”FOR"I,,»1 -STEP" 1 "UNTIL"P"DO"
MACEIJ,,-MIDEIJ-.«MAKE13,,«MIKE13,,«0 ?
"IF"U”NOT EQUAL" -I"THEN""BEGIN"CHANGE(1 у 15,MET)?
ME,,:«V?*’END"' "ELSE"' "BEGIN"
Рис. 2.2. Распечатка процедуры OCENKI2.
“FOR” I.,«1”STFP”1“UNTIL” N “DO" МЕТГ13,»«1?ME,,«1 “END”? CHANGE (1 , 17»NPR) ?CHANGE <1 , 1 » 10) ?M» w«NPRC21bNF*RC3I ?
"IF"M"NOT EQUAL“0“THEN“ “BEGIN”
”FOR”I..«1”STEP” 1 "UNTIL" M**DO” “BEGIN”MACE13,,«0 ?HAKE13,»«MIKE13 . .«10Е1,13?
"FOR"J..«1 "STEP" 1 "UNTIL"M"DO"
KOBEI,J3..«0?“END”?
“FOR“J»»«1 "STEP" 1 “UNTIL”N "DO"
“IF”METEJ3«ME "THEN"
"FOR" I..«1”STEP” 1 "UNTIL"M"DO" "BEGIN"HACEI3■,«МАСЕI3*I0EI,J3/N?
“IF”I0EI,J3<MIKEI3”THEN”MIKEI3..«I0EI,J1?
"IF"HAKCI3<I0EI»J2 “THEN”MAKEI3,,«I0EI,JJ? "END"?
"FOR"I.W»1 "STEP" 1 "UNTIL" N “DO”
“IF** MFTEI£«ME "THEN"
"FOR"P1.^1 "STEP" 1 "UNTIL" M ”DO”
"F0R"P2,.«l "STEP" 1 "UNTIL" M ”DO”
KOBEP1,P23».^
KOBEP1,P23*<I0EP1,13 -MACEP13)*<I0EP2,I3-MACEP23)/N?
"FOR"!**»! "STEP" 1 "UNTIL" M "DO"
"BEGIN" MIDEI3,,»KOBEI,I3? "IF" MIDEI3<0»1”—5 "THEN" HIDEI3.,»0,1"5 "END"? "FOR" I,.«l “STEP** 1 “UNTIL** M “DO” "FOR" J,»«l ”STEP” 1 "UNTIL" M "DO" KOBEI,J3,,-KOBEI,J3/SQRT <MIDEI3*MIDEU3)?
CHANGE<-1,3,MAO?CHANGE<~1,4,MID)?
CHANGE<-l,12,MAK>SCHANGE(-1,11»MIK>?
"IF" NPRE13«0 "THEN" "GOTO" OLL?
"END"?
GRUDA<PRED)?
"BEGIN" "ARRAY" ZE1:P,1SPRED3?
"PROCEDURE" MRS<T>? "ARRAY" T?
"BEGIN" "INTEGER" XrY?
"FOR" I»,«0 "STEP" t "UNTIL" R "DO"
"FOR" J,,«0**STFP“ 1 “UNTIL** S “DO“
TEI,J3..«0?
"FOR" I,.«l “STEP** 1 “UNTIL” N “DO” "IF" METEI3»ME "THEN"
"BEGIN" X.,«I0EP1,I3?Y,,«I0EP2,I3?
“FOR** J.»«l “STEP” 1 “UNTIL” R "DO"
"IF" X«ZEF1,J3 "THEty" "BEGIN" X,,»J?"GOTO" El? "END"?
E1»»”FOR” J»»«l "STEP" 1 “UNTIL” S "DO" “IF” Y«ZEP2,J3 "THEN" "BEGIN" Y»»«JP“G0T0”E2? "END"? E2»»TEX,Y3»w«TEX,Y3fl5TEX,03,,«TEX,03MPTE0,Y3»»»TE0,Y'rM “END”? "END" MRS?
r<EUIND<100) ?GETARRAY(100,Z> ? "FOR" P1»,~NPRE23+NPRE3J*1 "STEP" 1 "UNTIL" P "DO" "FOR" P2.,«P1*1 ”STEP” 1 ’’UNTIL” P "DO" "BEGIN" "ARRAY" TE05CHGEP13,0sCHGEP231?
R.,«CHGEP13?S,,«CHGEP23?MRS<T>?F.,«0?
“FOR” I»,«l "STEP" 1 “UNTIL*’ R “DO** “FOR” J,,«l “STEP** 1 “UNTIL” S “DO”
Рис. 2.2 (продолжение).
гГТуЛ.. . =^Г1у JJ/SQRT<TEI,03*TE0rJ3>у
“IOR" !--«! "STEP" 1 "UNTIL" R HDOH
“FOR**"STEP" 1 "UNTIL" S "DO"
Гew~F<TEI»J3**2?
К0ВСР2уР13..-KOBCP1»P23..«(F-l>/(MIN(R,S>-1> 5
“IF" PR^l "THEN" "GOTO" OLL?
"END"?
“BEGIN"
"ARRAY" DIClSNPRE13*(P—NPRE13)у 1 sPRED-f-23 у "INTEGER" A?
A.^0?
"FOR" P2. ^NPRE23+NPRE33+1 "STEP" 1 "UNTIL" P "DO" "FOR" Pl-»=1 "STEP" 1 "UNTIL" NPRE33♦NF^E23 "DO" "BEGIN" "REAL" Qy Q.^MACCPXly
AM^AH?DlEAy13. и=Р2?В1ЕАУ23е.=Р1?
R. ^CHGEP13?S. ^^GEP23?
"BEGIN" "ARRAY" TC0SR,0SS3»CfD«OLE 1:S3rBE0:R3?
"REAL" АХуВХуСХуРХу
"INTEGER" PERE»SRAV?
"ARRAY" B2E18S3?
"IF" Pl "NOT GREATER" NPRE33 "THEN"
"BEGIN" "FOR" J. ..«kI "STEP" 1 "UNTIL" S "ПО** "begin" B2Ezep2,j33.w«j;dej3ww»j;cej3.w^0$ TL0»J3WW=0?
"END"?
"FOR" I..:k1 ••STEP** 1 "UNTIL" N "DO"
"IF" METEI3»ME "THEN" "BEGIN" J.^B2EI0EP2^IJ3? CEJ3.W .=cCJDM0CPly 13?
TE0fJ3.^TE0fJ3bl?
"END"?
"FOR" JM.»1 "STEP" 1 "UNTIL" S "DO"
CEJJ. w«=CEJ3/TE0y JJ?
"GOTO" E3?
"END"?
MRS<T)?
"FOR" Jw„»«l "STEP" 1 "UNTIL** S "DO"
"BEGIN** CEJ3m.«0?DEJ3m ,^J?F\^0?
"FOR" Iww^l "STEP" 1 "UNTIL" R "DO"
"BEGIN" CEJ3. ^CEJ3 t TEIf J3«I?F. *«РфТЕТ»Л? "END"?
CEJ3.w=CLJ3/F?"END"?
E3...F1^^0?
"FOR" Jn^l "STEP" 1 "UNTIL." S "DCF*
"BEGIN** MINI (CySrFfK) ?CLE J3 , -к«ТС0уКТ* (CEKJ • Q) ? FlWM-FltJ*CLEJ:.l?
"FOR" Iww^0 "STEP" 1 "UNTIL** R "DO" BE 13 . . ««ТС I г КЗ 5 F , w =DCK1 ?
"FOR" L.^K "STEP"-1 "UNTIL" Л-1 "DO"
"BEGIN" CEL3. ,=CEL-13?DEL3. ,««DCL-II?
"FOR" I,.w:»0 “STEP" 1 "UNTIL** R "DO"
ТС I у L 3 „ w =:TE I у L I 3 ? "END" ?
РИС. 2.2 (продолжение).
•FOR" I..«0 "STEP" J "UNTIL" R "DO"
TCI,J3..-BCI3?
B2rzCP2,F33..=J?DCJ3..-F?D1CA,J*23.,-ZCP2rDrj33?
CCJ3..=0.1"<.,ti; "END"?
M..=0?CP..=0?DP..=0?F..»0?
"FOR" I.. = l "STEP" 1 "UNTIL" N “DO"
"IF" METCI3=ME "THEN"
"BEGIN" M..=M+1?
Sr." *^tw4S£0CP?!l33$DP- -=™:‘-<В2С10ЕР2,133**2? "END"?
CF . *««CP/KvDP . *«=DP/M-CPx*2 5 “TF“ KOH “THEN“ "GOTO" E45 PERE. * ««SRAM. .«=05
E: “FOR“I..=1 “STEP" 1 "UNTIL" S "DO"
"FOR" Jw.«If-l "STEP" 1 "UNTIL" S "DO"
"BEGIN" t
Al..=«(J-lV*<CLCI3-CLCJ3>5
Cl.. ^ < J-I)*(TE0у13-TE0 у J3)/М ?
BE .^C1*(I +J -2*CP-C1) ?
SR AV.,~SRAV41?
"IF" C14VM/F1)/SC^T<1HU/DP) >1 “THEN11
"BEGIN"- Fl..—Fl4Al?DP..»DP4Bl?CP..»CP4Cl5
Cl. . ««DC I35DCI3.. ««DC JI 5DCJ3 . . ««Cl v
Al . . * CL E13 ? CLE13.. -CLE J3 ? CLE J3.. =^A1 ?
Bl. . »TE0 * 13 v TE0у 13 . . =TC0 у J3 ? TE0 у JI ..««Bt?
PERE..^PERE41?
"GOTO" E?
"END"? "END"?
"FOR" J..=l "STEP" 1 "UNTII." S "DO"
"BEGIN" B2EZEP2yDEJ3 3 3. .-J?DlEAy J4 23. .:«ZEP2yDEJ3 3? "END"?
E4. .КОВЕР2уР13. .«=КОВЕР1уР23. W««F1/(SORT (HIDEPl3xDP> *M> "END" T? "END" P1P2?
CHANGE<-1у2»К0В>?
"GOTO" EX?
BACKSPACE<100>?PUTARRAY<100yDl>?
OUTPUT<61 у °<"2/у °<“УПОРЯДОЧЕНИЕ ")"у
“ СТРАДАНИЙ КЛАССИФИКАНИОННОГО")"у
"<" ГЪ^ИЗНАКА П2у “>“*
°<"ОБЕСПЕЧИВАНШЕЕ МАКСИМУМ")"у
"("КОЭФФИНИЭНТА КОРРЕЛЯЦИИ")"")°) ?
"IF" КОМ "THEN""GOTO" Е4?
OUTPUT<61 у"<"/у"<"<ГРАДИЕНТНЫй МЕТОД)")"")")?
Е4..0иТРиТ<61у"<"2/ЗВу"<"П2 П1 ")"у "<"НОМЕРА ГРАДАЦИЙ ПРИЗНАКА П2">"")")?
L..-NPRE13*<P-NPRE13)?
"FOF?"I..^1"STEP"1"UNTIL"L"DO"
"BEGIN"F..-KOBEIU EI у 13 у DIEI у 23 3 ?
OUTPUT <61 у"<"/IB у-3Z2Bу-3Z2B“>"у DIEI у 13 уDIEI у 23)?
"FOR"J..«1"STEP"1"UNTIL"CHGED1EI у 133"DO"
"BEGIN"
OUTPUT(61 у"<" ~ 2ZB")"у DIEIу J+23)?
•4F“J««32“THEN“OUTPUT (61 » " <"/10B"> ") ?
Рис. 2.2 (продолжение).
"ЕЖ1Н" OUTPUT(61f" ( ""("КОЭФФ- п>и»
•• ("КОРРЕЛЯЦИИ R^") "f -ZD^R'If/MBf ”("ЗАВИСИМОСТЬ ' МЕЖДУ ” ) " f «• ("ПРИЗНАКАМИ ”) "") ”fF) У "П " F(0,2"THEN" OUTPUT<6tг"(""("ПРАКТИЧЕСКИ ")", "("ОТСУТСТВУЕТ")"">")? "IF“ F"NOT LESS" 0*2 "AND" F<0W4 "THEN" OUTPUT(61>" (""("СЛАБАЯ")"">");
"IF"FHNOT LESS^wB'^HEN1* output(61f"(""("сильная")"")")? ••IF" F "NOT LE3S"0*4"AND" F<0*S"THEN" OUTPUT (61 f " ("" ("ЗАСЛУЖИВАЕТ ВНИМАНИЯ") "")••) ; "IF"D1CIf1J"NOT EQUAL"D1LIH f 1.3 "THEN "OUTPUT (61 / " ("2/") ") у "END"? OLL* ■ "FOR" L.^ "STEP" 1 "UNTIL" P "DO" kobcifI1..^i? J, , .. (NPRr2J^NPRC3J> **2?•
M* *.~NPRE23*NPRC31? OUTPUT(61f"("3/f"("ОЦЕНКИ ПАРАМЕТРОВ")"")")? "IF"U"NOT EQUAL" -1"THEN"OUTPUT(61у"(""("ДЛЯ")"у 2Zf"("F0 КЛАССА")"")"fV)’
"ELSE" OUTPUT(61f" ("" (“ИСХОДНЫХ ДАННЫХ") "") ") ? "BEGIN" "TNTEGER"I1fI2fI3?"INTEGER" "ARRAY" ОКОЛРЗ? CHANGE(1f1? f GR)9 "FOR" I. ,^1"STEP" .16 "UNTIL" P "DO" "BEGIN" II, ^“XF“ T tl5"LESS" P "THEN"!. <15 "ELSE" P? I2,,^"TF" T+15"L.ESS"M "THEN"IH5 "ELSE" M? OUTPUT(61f"("2/f"("НОМЕР ПРИЗНАКА")"f/f2B")")5 "F0R"I3,,^I"STEP"1 "UNTIL" Il "DO"■
"BEGIN" MIDLI3J,,^SQRT(MIDEI31)5 OUIPUT(61f"("3Z5B")"fGREI3J)?"END"f "IF" I"LESS" M "THEN" "BEGIN" OUTPUT(61f"("/f"("СРЕДНИЕ")"f/")")5 "F0R"I3,,^I "STEP"1 "UNTIL"I2 "DO" OUT(MACLI3D?
OUTPUT(61F"("/f"("СТАНДАРТНЫЕ ОТКЛОНЕНИЯ")"f/")")? “FOR’'^..»! “ЗТЕРМ1 "UNTIL"I2 "DO" OUT<MIDL 131) ? OUTPUT(61f"("/f"("МАКСИМУМЫ")"f/")")5 "F0R"I3,.^I "STEP"1 "UNTIL"I2 "DO" OUT(MAKLT3 I)5 OUTPUT(61f"("2/">")? "END"? OUTPUT(61f"("2/f"("ПОЛУЧЕНА КОРРЕЛЯЦИОННАЯ МАТРИЦА")"")")У "FOR"J,,^1 "STEP"! "UNTIL" P"DO" "BEGIN"0UTPUT(61f"("/")")?•
"F0R"I3,,«I "STEP"1 "UNTIL"I1 "DO" OUTPUT(61f"("- 2ZD.3D")"fKODLJf131)?"END"У "END"?"END"?"END"? "END"OCENKI5
Рис. 2.2 (продолжение).
STATISTICAL ESTIMATIONS FOR FEATURES INITIAL DATA
FEATURE NUMBER
4
1
23
MEAN 5.844
3.057
3.758
1.199
STANDART
.824
.434
1.759
.760
MAXIMUM
7.900
4.400
6.900
2.500
MINIMUM
4.300
2.000
1.000
.100
CORRELATION MATRIX 12
3
4
1 J1
.000
118
.872
.818
.1181.
000
.428
.366
3
.872
4281
.000
.963
4
.818
366
.9631
.000
Рис. 2.3. Результаты работы процедуры OCENKI.
ОЦЕНКИ ПАРАМЕТРОВ ИСХОДНЫХ ДАННЫХ
НОМЕР ПРИЗНАКА
1
23
4
5
6
7
8
910
СРЕДНИЕ 34.610
202.590
1.830
СТАНДАРТНЫЕ ОТКЛОНЕНИЯ
8.700
78.484
0.679
МАКСИМУМЫ
60.000
400.000
3.000
МИНИМУМЫ
19.000
100.000
1.000
Рис. 2.4. Фрагмент результатов работы процедуры OCENKI2 - простейшие оценки.
УПОРЯДОЧЕНИЕ ГРАДАЦИЙ КЛАССИФИКАЦИОННОГО ПРИЗНАКА П2, ОБЕСПЕЧИВАЮЩЕЕ МАКСИМУМ КОЭФФИЦИЭНТА КОРРЕЛЯЦИИ
П2 П1 НОМЕРА ГРАДАЦИЙ ПРИЗНАКА П2
41652341 КОЭФФ.
КОРРЕЛЯЦИИ R» 0.184 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
ПРАКТИЧЕСКИ ОТСУТСТВУЕТ
42421365 КОЭФФ.
КОРРЕЛЯЦИИ R« 0.768 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ
434-51236 КОЭФФ.
КОРРЕЛЯЦИИ R= 0.780 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ
5
1
21КОЭФФ. КОРРЕЛЯЦИИ R*
0.090
ЗАВИСИМОСТЬ МЕЖДУ
ПРИЗНАКАМИ
ПРАКТИЧЕСКИ
ОТСУТСТВУЕТ
СЛАБАЯ
21КОЭФФ.
ЗАВИСИМОСТЬ МЕЖДУ
КОРРЕЛЯЦИИ R= ПРИЗНАКАМИ
0.295
5
3
21КОЭФФ.
ЗАВИСИМОСТЬ МЕЖДУ
КОРРЕЛЯЦИИ R» ПРИЗНАКАМИ
0.186
ПРАКТИЧЕСКИ ОТСУТСТВУЕТ
611563247 КОЭФФ.
КОРРЕЛЯЦИИ R« 0.388 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
СЛАБАЯ
627514263 КОЭФФ.
КОРРЕЛЯЦИИ R» 0.481 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ
637612345 КОЭФФ.
КОРРЕЛЯЦИИ R» 0.701 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ
712413 КОЭФФ.
КОРРЕЛЯЦИИ R= 0.125 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
ПРАКТИЧЕСКИ ОТСУТСТВУЕТ
72241£ КОЭФФ.
КОРРЕЛЯЦИИ R= 0.364 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
Рис. 2.5. Фрагмент результатов работы процедуры OCENKI2 - упорядочение градаций.
СЛАБАЯ73412КОРРЕЛЯЦИИ R» -0.494ЗАВИСИМОСТЬЗАСЛУЖИВАЕТ ВНИМАНИЯСЛАБАЯ73412КОРРЕЛЯЦИИ R» -0.494ЗАВИСИМОСТЬЗАСЛУЖИВАЕТ ВНИМАНИЯ81142КОРРЕЛЯЦИИ R» 0.595 ЗАВИСИМОСТЬЗАСЛУЖИВАЕТ ВНИМАНИЯ 82412КОРРЕЛЯЦИИ R« 0.292 ЗАВИСИМОСТЬСЛАБАЯ t 83125КОРРЕЛЯЦИИ R« 0.464 ЗАВИСИМОСТЬЗАСЛУЖИВАЕТ ВНИМАНИЯ81142КОРРЕЛЯЦИИ R» 0.595 ЗАВИСИМОСТЬЗАСЛУЖИВАЕТ ВНИМАНИЯ 82412КОРРЕЛЯЦИИ R« 0.292 ЗАВИСИМОСТЬСЛАБАЯ t 83125КОРРЕЛЯЦИИ R« 0.464 ЗАВИСИМОСТЬЗАСЛУЖИВАЕТ ВНИМАНИЯ912310.244 ЗАВИСИМОСТЬ СЛАБАЯ 921230.547 ЗАВИСИМОСТЬ ЗАСЛУЖИВАЕТ ВНИМАНИЯ 931230.601 ЗАВИСИМОСТЬ ЗАСЛУЖИВАЕТ ВНИМАНИЯ912310.244 ЗАВИСИМОСТЬ СЛАБАЯ 921230.547 ЗАВИСИМОСТЬ ЗАСЛУЖИВАЕТ ВНИМАНИЯ 931230.601 ЗАВИСИМОСТЬ ЗАСЛУЖИВАЕТ ВНИМАНИЯ3 КОЭФФ.МЕЖДУ ПРИЗНАКАМИ35 КОЭФФ.МЕЖДУ ПРИЗНАКАМИ35КОЭФФ.МЕЖДУ ПРИЗНАКАМИ34КОЭФФ.МЕЖДУ ПРИЗНАКАМИКОЭФФ. КОРРЕЛЯЦИИ R»МЕЖДУ ПРИЗНАКАМИКОЭФФ. КОРРЕЛЯЦИИ R»МЕЖДУ ПРИЗНАКАМИКОЭФФ. КОРРЕЛЯЦИИ R«МЕЖДУ ПРИЗНАКАМИ3 КОЭФФ.МЕЖДУ ПРИЗНАКАМИ35 КОЭФФ.МЕЖДУ ПРИЗНАКАМИ35КОЭФФ.МЕЖДУ ПРИЗНАКАМИ34КОЭФФ.МЕЖДУ ПРИЗНАКАМИКОЭФФ. КОРРЕЛЯЦИИ R»МЕЖДУ ПРИЗНАКАМИКОЭФФ. КОРРЕЛЯЦИИ R»МЕЖДУ ПРИЗНАКАМИКОЭФФ. КОРРЕЛЯЦИИ R«МЕЖДУ ПРИЗНАКАМИ
СЛАБАЯ
73412
КОРРЕЛЯЦИИ R» -0.494
ЗАВИСИМОСТЬ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ
СЛАБАЯ
73412
КОРРЕЛЯЦИИ R» -0.494
ЗАВИСИМОСТЬ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ
81142
КОРРЕЛЯЦИИ R» 0.595 ЗАВИСИМОСТЬ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ 82412
КОРРЕЛЯЦИИ R« 0.292 ЗАВИСИМОСТЬ
СЛАБАЯ t 83125
КОРРЕЛЯЦИИ R« 0.464 ЗАВИСИМОСТЬ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ
81142
КОРРЕЛЯЦИИ R» 0.595 ЗАВИСИМОСТЬ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ 82412
КОРРЕЛЯЦИИ R« 0.292 ЗАВИСИМОСТЬ
СЛАБАЯ t 83125
КОРРЕЛЯЦИИ R« 0.464 ЗАВИСИМОСТЬ
ЗАСЛУЖИВАЕТ ВНИМАНИЯ
91231
0.244 ЗАВИСИМОСТЬ СЛАБАЯ 92123
0.547 ЗАВИСИМОСТЬ ЗАСЛУЖИВАЕТ ВНИМАНИЯ 93123
0.601 ЗАВИСИМОСТЬ ЗАСЛУЖИВАЕТ ВНИМАНИЯ
91231
0.244 ЗАВИСИМОСТЬ СЛАБАЯ 92123
0.547 ЗАВИСИМОСТЬ ЗАСЛУЖИВАЕТ ВНИМАНИЯ 93123
0.601 ЗАВИСИМОСТЬ ЗАСЛУЖИВАЕТ ВНИМАНИЯ
3 КОЭФФ.
МЕЖДУ ПРИЗНАКАМИ
35 КОЭФФ.
МЕЖДУ ПРИЗНАКАМИ
35КОЭФФ.
МЕЖДУ ПРИЗНАКАМИ
34КОЭФФ.
МЕЖДУ ПРИЗНАКАМИ
КОЭФФ. КОРРЕЛЯЦИИ R»
МЕЖДУ ПРИЗНАКАМИ
КОЭФФ. КОРРЕЛЯЦИИ R»
МЕЖДУ ПРИЗНАКАМИ
КОЭФФ. КОРРЕЛЯЦИИ R«
МЕЖДУ ПРИЗНАКАМИ
3 КОЭФФ.
МЕЖДУ ПРИЗНАКАМИ
35 КОЭФФ.
МЕЖДУ ПРИЗНАКАМИ
35КОЭФФ.
МЕЖДУ ПРИЗНАКАМИ
34КОЭФФ.
МЕЖДУ ПРИЗНАКАМИ
КОЭФФ. КОРРЕЛЯЦИИ R»
МЕЖДУ ПРИЗНАКАМИ
КОЭФФ. КОРРЕЛЯЦИИ R»
МЕЖДУ ПРИЗНАКАМИ
КОЭФФ. КОРРЕЛЯЦИИ R«
МЕЖДУ ПРИЗНАКАМИ
1011324 КОЭФФ.
КОРРЕЛЯЦИИ R» 0.094 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
ПРАКТИЧЕСКИ ОТСУТСТВУЕТ
1022431 КОЭФФ.
КОРРЕЛЯЦИИ R» 0.133 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
ПРАКТИЧЕСКИ ОТСУТСТВУЕТ 1034132 КОЭФФ.
КОРРЕЛЯЦИИ R» 0.327 ЗАВИСИМОСТЬ МЕЖДУ ПРИЗНАКАМИ
СЛАБАЯ
Рис. 2.5 (продолжение).
ПОЛУЧЕНА КОРРЕЛЯЦИОННАЯ МАТРИЦА
1.000
0.273
-0.008
0.184
0.090
0.388
0.125
0.595
0.244
0.094
0.273
1.000
0.374
0.768
0.295
0.481
0.364
0.292
0.547
0.133
-0.008
0.374
1.000
0.780
0.186
0.701
0.494
0.464
0.601
0.327
0.184
0.768
0.780
1.000
0.055
0.232
0.212
0.108
0.427
0.083
0.090
0.295
0.186
0.055
1.000
0.070
0.169
0.013
0.067
0.009
0.388
0.481
0.701
0.232
0.070
1.000
0.169
0.146
0.330
0.155
0.125
0.364
0.494
0.212
0.169
0.169
1.000
0.066
0.054
0.085
0.595
0.292
0.464
0.108
0.013
0.146
0.066
1.000
0.068
0.031
0.244
0.547
0.601
0.427
0.067
0.330
0.054
0.068
1.000
0.042
0.094
0.133
0.327
0.083
0.009
0.155
0.085
0.031
0.042
1.000
Рис. 2.6. Фрагмент результатов работы процедуры OCENKI2 — корреляционная матрица.
••PROCEDURE H GLCOMP (Ну NPAR у EPS у KK ) у
•• VALUE”H у NPAR у EPS у KK ? ”INTEGER”KK у H у NPAR 5 ”REAL”EPS 5 ’’BEGIN”” INTEGER” I у Jy NORM у 12 у J2 у К 5 ” RE AL” NOM у NORMA 5 ’’PROCEDURE” CHANGE (ByNyM) у ’’ALGOL” ?
’’PROCEDURE” JACOBI (КуЕуМуЕуЕ) у ’’ALGOL”?
”ARRAY”KOVARyLtl . .NPARy1 . .NPAR3rt.lt 1. .NPARJ? ”INTEGER””ARRAY”OMtl..NPARJ?”BOOLEAN”F?
CHANGE(1 у2уKOVAR)?
F..»”FALSE”?
JACOBI(KOVARrLy NPARyEPSyF)?
”FOR”J..«1”STEP»1”UNTIL”NPAR”DO”
LitJJ..«KOVARtJyJ3?
”FOR”J«.«1”STEP”1”UNTIL”NPAR”DO” ”FOR”I..»J*1”STEP”1”UNTIL”NPAR”DO” ”IF”L1EI3>L1tJJ”THEN””BEGIN”NOM..«LIEJ3?
LltJ3. .«LlEipitEI J. .«NOM?
”FOR”K..«3”STEP”1”UNTIL"NPAR”DO””BEGIN”
NOM,.«LtJyKJSLEJyK3,*«LEI уКЗ?LtI уKJ..«NOM?’’END”?”END”?
NORMA..«0? ,
”FOR”I.. «1’’STEP”3"UNTIL”NPAR”DO”NORMA..«NORMA+L1113 ? ”FOR”I..«1”STEP”1”UNTIL”NPAR”DO”L1EIJ..«LIEIJ/NORMA*100? 0UTPUT(61yw(”2/y”<”L0ADS ON THE MAIN COMPONENTS”>”y/">”) ••BEGIN” ”INTEGER” ”ARRAY” ZZE1..NPARJ?
CHANGE (ly.19yZZ>?
OUTPUT<61 у”(”5B”)”);
’•FOR” I..«3 ”STEP” 1 ’’UNTIL” NPAR ”DO”
OUTPUT (61 у ” (’’2B3Z3B”) ” уZZEI 3) у ’’END” ?
”F0R”I2. *«1”STEP”1 ^UNTIL ”NPAR”DO””BEGIN”OUTPUT (61 у ”(”/y3Z2B”)”yI2)у
”F0R”J2..«l”STEP”l”UNTIL”NPAR”D0”0UTPUT(61у”(”~3Z.3D”>”y LEI2yJ2J)?”END”y
Y.. OUTPUT (61 у ” (”2/y ” (’’PERCENTAGES OF THE ”)”y ’’(’’GENERAL DTSCPERSIONy ”>”y ’’(’’CORRESPOND!?*? TO EACH MAIN COMPONENT. ”) ”у2/”> ”) ? ”FOR” J2..«l ”STEP” 1 ”UNTIL” NPAR ”DO" OUTPUT(61 у”(”3Z.3D”>”yL!EJ2J)?
CHANGE(-1 у10yLl)?
CHANGE(-1у5у1)у ”END”
Рис. 2.10. Распечатка процедуры GLCOMP.
LOADS
ON THE MAIN COMPONENTS 1234
1
2 3
4
.361-.085.857.358
.657.730-.173-.075
.583-.598-.077-.545
.315-.319-.480.755
PERCENTAGES OF THE GENERAL DTSCPERSIONy CORRESPONDING TO EACH MAIN COMPONENT»
92.460 5.3041.713.523
Рис. 2.11. Результаты работы процедуры GLCOMP.
\
GROUPING OF FEATURES FOR 1 AND
2 PRINCIPAL COMPONENTS
-.173
-.031.112
.255,397
.540
,683
I
II
II
I
I
-.08 .
-,06 .
I
-.03 .
I
-.01 . —
.02 .
I
.05 .
I
.07 .
I
.10 .
I
.12 .
I
,15 .
I
.18 .
I
.20 .
I
.23 .
I
.26 .
I
.28 .
I
.31 .
I
.33 .
4 I
1 I
.36 .
I
.39 .
I
.41 ■
I
.44 .
I
.46 .
I
.49 .
I
.52 .
I
.54 .
I
.57 .
I
.60 .
I
e
.62 .
I
.65 .
I
.67 .
I
.70 .
I
.73 .
I
.75 .
I
.78 .
I
.80 .
.83 3 .
I
Рис. 2.13. Проекция признаков на плоскость первых ГК.
Рис. 2.12 см. на вклейке, стр. 169
a
"PROCEDURE"FACTOR (N, H, EPS,KA> ?
"VALUE"N,H,EPS?"INTEGER"N,H,KA?"REAL"EPS?
"BEGIN""INTEGER"M?*
"PROCEDURE" CHANGE(B,N,M) ?"ALGOL"?
"PROCEDURE" TPAH(V,B,N,M>?"ALGOL"?
"PROCEDURE" YMM(X,C,V,B,N,M)?"ALGOL"?
"REAL" "PROCEDURE" FCHI2(V,B,N,M>?"ALGOL"?
"PROCEDURE" ROTE(C,U,B,N,M> ?"ALGOL"?
"PROCEDURE"MKK (R,N,S> ?
"VALUE"N?"INTEGER"N?"ARRAY"R,S?
"BEGIN""INTEGER"I,J,K?
"FOR" I. •-«1 "STEP"1 "UNTIL"N"DO"
"FOR"J..=1"STEP"1"UNTIL"N"DO"
SEI,J3..«REI,J3?SE1,13..«SORT(RE1,13>?
"FOR"KЛ«2"STEP"1"UNTIL"N"DO"
SC1,K3..«RC1,K3/SC1,13?
"FOR"I. .«2"STEP" 1 "UNTIL"N"DO""BEGIN"
"FOR"J,.«1"STEP"!"UNTIL"I-1"DO"
SEI,13..«SEI,IJ-SEJ,13**2?
"IF"SE1,13"NOT GREATER"0"THEN"SEI,I3..«0.001?
SEI,13..«SORT(SEI,I3>?
"FOR"K..«I+1"STEP"1"UNTIL"N"DO""BEGIN"
"FOR"J..«1"STEP"1"UNTIL"1-1"DO"
SEI,K3..=SEI,K3-SEJ,K3*SEJ,I3?
SEI,КЗ..«SEI,K3/SE1,13?"END"?"END"?
"END"PROCEDURE MKK?
"PROCEDURE"KREGR(N,F,M,BT,S>?
"UALUE"N,H?"INTEGER"N,H?"ARRAY"F,BT,S?
"BEGIN""INTEGER"I,J,К ?
"FOR"K.*®1"STEP"1"UNTIL"M"DO"
"FOR"I..«1"STEP"1"UNTIL“N"DO"
BTEI,K3„.^FEK,13?
"FOR"K..«1"STEP"1"UNTIL"H"DO""BEGIN"
BTE1,КЗ..«РЕК,13/SE1,13?
"F0R"I..«2"STEP"l"UNTIL"N"D0""BEGIN"
"FOR"J..«1"STEP"1"UNTIL"I-1"DO"
BTEI,K3..«BTEI,K3—BTEJ,K3*SEJ,13?
BTEI,K3..«ВТЕ1,КЗ/SEIrI3?"END"?"END"5
"FOR"K..«1"STEP"1"IWTIL"M"DO""BEGIN"
BTEN,K3..«BTEN,K3/SEN,N3?
"FOR"I..«1"STEP"1"UNTIL"N-1"DO""BEGIN"
"FOR"J..«1"STEP"1"UNTIL"I"DO"
BTEN-I,K3..«ВТEN~I,K3-SEN-I,N-J*13*BTEN~J+1,K3?
BTEN-I,K3..«BTEN-I,K3/SEN-I,N-13 ?"END"?"END"?
"END"PROCEDUREKREGR?
"PROCEDURE"MMPRAB(N,M,R,A,EPS,D2> ?
"UALUE"H,H?"INTEGER"N,M?"ARRAY"D2,R,A?"REAL"EPS? "BEGIN""ARRAY"C,DAE1..M,1..N3,ABE1..N3r "INTEGER"M1,K,I,J?"REAL"S?
"FOR"I..«1"STEP"1"UNTIL"M"DO"
"FOR"J..«1"STEP"1"UNTIL"N"DO"
CCI,J3..«AEI,J3?
L2.."FOR"J..«1"STEP"1"UNTIL"N"DO""BEGIN"
Рис. 2.15. Распечатка процедур FACTOR (a), ROTF (d).
D2EJ3,,«0?
HFOR"KW•«1"STEP"1"UNTIL"M"DO"
D2EJ3.,«D2EJ3*AEKyJ3**2?
D2E J3 . .«1-D2EJ39 ИЕЬШМ9
"FOR"M1, ,«1"STEP"1"UNTIL"M"DO"
"FOR"J. ,»1 "STEP"1 "UNTIL"N"DO"
DAEM1 у J3,. «АЕМ1 у J3/D2EJ3 9
"FOR"M1.W«1"STEP"1"UNTIL"M"DO""BEGIN" k "ARRAY"LE1,. (Ml*l> yl..N3?K..»l?
"FOR"J,«^l"STEP"1"UNTIL"N"DO""BEGIN"
LEK,J2..«09"FOR"I, . «1"STEP"1"UNTIL"N"DO"
LEKyJ3,««LEKyJ3*REJyI3*DAEM1у 13?"END"?
K--«2?
“FOR"J, -«1"STEP"1"UNTIL"N"DO"
LEKу J3. ,«LEK-1 f J3-AEM1» J3 9
L3..K..«K*l?
"IF"K>(Ml*l)"THEN""GOTO"L19
"FOR"J.,»1"STEP"1"UNTIL"N"DO""BEG!N"SW.«09
"FOR"!«*«1"STEP"1"UNTIL"N"DO”
S..«S+DAEMly!3*AEK-2y13?
LEKyJ3« ««LEK-1уJ3-S*AEK~2rJ3?"END"?"G0T0"L3? L1««S«.«09
"F0R"J..«VlSrEP"V4MU^
S. „«S*DAEHly J3*LEK-1 у J3?
"IF"S"NOT GREATER"0"THEN""GOTO"UH?
S. .«SQRT<S> ?"FOR"J- .«1"STEP"1"WTIL"N"DO"
AEM1 r J3 - . «LEK-1 у J3/S 9 “END119 S . . «0 9
"FOR"H1.W:=1"STEP"1MUNTIL"M"DO"
"FOR" J.w»l "STEP" 1 "UNTIL" N "ПО" "IF"ABS(AEHlyJ3-CEHlyJ3>>EPS"THEN"S.,«5*19 "IF"S>0"THEN""BEGINM
"FOR"M1,,«i"STEP"l"UNTIL"M"DO"
"FOR" J. w«l"STEP"l"UNTIL"N"IiQ"
CCM1у J3,,«АЕМ1уJ39"G0T0"L29"END"9 UHww"END"PROCEriURE MMPRAB?
"PROCEDURE"HI2P(N у H у A у Sy H у D2 у R> ?
"UALUE"NyMyH?"INTEGER"NyMyH?
"ARRAY"Aу R у D2?"REAL"S9
"BEGIN""ARRAY"BE1..Ny1.,МЗуСЕ1..Nyl..N39
"INTEGER"!уJyK?TPAH(ByAyHfN>9
YMM(ByAyMyCyNyN)9
"FOR"!,,«1"STEP"1"UNTIL"N"DO"
"FOR"J,,«1"STEP"1"UNTIL"N"DO"
СЕI у J3..«(REIfJ3-CEIуJ3>**2?
S,W«0?"FOR"K,,«2"STEP"l"UNTIL"N"D0"
"FOR"J.,«1"STEP"1"UNT!L"K-1"DO"
S,,«S*CEJyK3/(D2EJ3*D2EK3)?S,,«S*(H-0.7*H-0W25*N)? "END"PR0CEDUREHI2P?
M..«1?KA,,«19"BEGIN""ARRAY"D2E1.,N3y
RySQE1w,Ny.1..N3?"INTEGER"!уJyMMAXyS2yII уJIySSS? "REAU'S?
CHANGE(1 у 2 у R > ?CHANGE(1 у 4 у D2)?
"FOR"I,,»1"STEP"1"UNTIL"N"DO"
Рис. 2.15 (продолжение).
••FOR” J . . «1”STEP”1 ,•UNTIL••N,,DO,,
REI у JJ..«RE1у J3/(SORT(D2EIJ)«SORT (D2EJJ )>? "IF”N”NOT LESS”8”THEN”MMAX.RENTIER(N/2) ”ELSE” MMAX..«ENTIER((N-l) /2) ? ”IF”MMAX«0”THEN”MMAX.-«1?
••BEGIN” ”ARRAY”BTE1. .Nyl . .MMAXJyAEl . .MMAXу 1. .NJ?
OUTPUT (61 у “V^/y ” (“FACTOR ANALYSIS”) ””) ”> у CHANGE(lySrSQ)?
Hl. . ’’FOR”I. .«1 ’’STEP” 1 “UNTIL“M“DO“ “FOR“J. .«1 ”STEP”1 ”UNTIL”N”DO” AEIyJJ..«SQEIyJJ?M№RAB(NyMyRyAyEPSyD2)?
OUTPUT(61 у ” (“3/, ” (“FACTOR' S LOAD”) ” y/y “(“(TOTAL AMOUNT OF FACTORS»”) ”y2Zy •’(”)”)””> ”,M) I “FOR“I..«1“STEP“1”UNTIL”M”DO"“BEGIN“ Il..»0?OUTPUT(61у”(“/“)”)у ”FOR”J..«lf’STEP”l”UNTIL”N”DO”
OUTPUT(61y“(“-3Z.3D”)”,Ari,J.D ?“END“?
OUTPUT(61f”(”2/f”(”SPESIFIC FACTOR'S LOADS”)”y/“)“)? OUTPUT(61 у”(”(-3Z.3D)”)”,D2)5И12Р<НуМуАуЗуНуВ2уЮ5 S2 . . « ( (N-^) **2-M-N) /2 у
OUTPUT(61 у”(”2/f”(”X-SQUARE«”)”у-4Z.4D5Bу ’’(•’NUMBER DEGREES OF FREEDOM»”) ”у •~3Z.3D”)”»SrS2) у
••IF”FCHI2(SfS2r0w0005fM2)>0.01”THEN””GOTOMM2? ”IF”M»MMAX”THEN””BEGIN”OUTPUT(61у” V‘2/y2Zy ”(” FACTORS ARE NOT ENOUGH TO EXPLAIN THE”)”у ”(” CORRELATIONS”)””)”^)?
KA..«-1?”G0T0”M2?”END”BNB04 KKOMM.у M..«M*1?”GOTO”M1?
М2..КА..«М*КА$ТРАН(ВТуАуМуН>?
ROTF(BT»NrМуЕРЗу”TRUE ”)?
ТРАН(АуВТуNуM)у CHANGE(-1 у 5 у А)?
MKK^RyNySQ)SKREGR(NyAyMyBTySQ)5OUTPUT(61у”(”3/у ••(“COFFICIENTS OF REGRESSION LINE”)”")”)?
”FOR”I..«1”STEP”1”UNTIL”M”DO””BEGIN” I1..»0?OUTPUT(61 у”(”/”)”)?
••FOR” J . . «1 "STEP” 1 ”UNTIL”N”DO”
OUTPUT(61y“(”-3Z.3D”)”yBTEJyI3)?”END”?
ТРАН(АуВТуИуМ)?CHANGE(~ly6yA)у ”END"?”END”K?
XX..”END”PROCEDURE FACTOR?
Рис. 2.15 (продолжение).
"PROCEDURE" ROTF(SfK0,KFyEPSfF>?
••VALUE" K0fKFrEPS9F?"INTEGER" K0yKF?"REAL" EPS?
••BOOLEAN" F? "ARRAY" S?
••BEGIN" "INTEGER" lyJrN?
••ARRAY" HC1.-K0J?"REAL" X9 Yr Ur Vr ArBf C*DrCTySTrFIfPIyUrUl 9 EPS1?
••REAL" "PROCEDURE" MIN(N,M> ?"ALGOL"? PI..«3.14159265359?U..«0.1"-9?
EPS1-.«MIN(EPS*0.0190.1"-7) ?
••FOR" N..«l "STEP" 1 "UNTIL" K0 "DO" "BEGIN"
X..«0? "FOR" J..«1 "STEP" 1 "UNTIL" KF "DO"
X..«X+SCN 9J 3**2?HCN3..«SORT(X>9"END"?
MT3-. D..=U..«0?
"FOR" J..«l "STEP" 1 "UNTIL" KF "DO" "BEGIN"
A.-«B..*09
"FOR" N..»l "STEP" 1 "UNTIL" K0 "DO" "BEGIN"
X..«SCNrJ3/HCN3?Y..«X*X?A..«A+Y*Y?B..«B+Y?"END"?
U..«U+A?D..«D+B*B?"END"?
U..=U*K0-D?
"IF" F "THEN" OUTPUT(61 у"("/"("VARYMAX-TEST 8">"f-Z.5D"-4Dy /")"rU>?
"IF" ABS(W-Wl)(EPS "THEN" "GO TO" MT2 "ELSE" U1W.=U?
MT1.. "FOR" I..«l "STEP" 1 "UNTIL" KF "DO"
"FOR" J..«1+1 "STEP" 1 "UNTIL" KF "DO" "BEGIN"
А..«В..«C..«D..*01 "FOR" N..«l "STEP" 1 "UNTIL" K0 "DO" "BEGIN" X..«SCN913/HCN3?Y..«SCN9 JJ/HCN2?U..«X*X-Y*Y?
V..«2*X*Y?A.-=A+U?B.-=B+V?C..«C+U*U~V*V?
D..«D+U*V?"END"?
ST..«2*(D-A*B/K0)? CT..«С-(A*A-B*B>/К0?
"IF" ABS(CTXEPS1 "THEN" FI..«"IF" ST>0 "THEN" PI/8 "ELSE" -PI/8
"ELSE" "BEGIN" FI..«ARCTAN(ST/CT)? "IF" CT<0 "THEN" FI..«"IF" ST<0 "THEN" FI-PI "ELSE" FI+PI?
FI..==FI/4?"END"?
ST..«SIN(FI>?CT..«COS(FI>?
"FOR" N..=l "STEP" 1 "UNTIL" K0 "DO" "BEGIN" X..«SCNrIJ?
Y..«SCN9 JJ9SCN913..=X*CT+Y*ST?
SCNyJ3..»-X*ST+Y*CT?"END"9"EHDM IJ9 "GO TO" MT3?
MT2.. "END" ROTF?
Рис. 2.15 (продолжение).
U В. В. Александров, Н. Д. Горский
MINIMUM .1000***1
*
1 *
3 *
23*
1415
36
20 *
12
357
9 13 17 IS* 29 34 37 33
39
4142 43 46 48 50
13 *
48
10 1116
20 22 28 32* 33 35 40 49
11 *
6 12
19 2124
26 27* 30 3144 47
2 *
25 45
*
*
*
*
*
*
1 *
99
*
*
2 *
* 58 94
3. *
61* ^65
80
1 *
82*
4 *
60 70
81* 83
8 *
54 ;63
68 72* 89
90 93 100
4 *
62 95
96 97*
6 *
66- 75
76 88 91 *
98
11 *
52 55
56 59 67
69* 79 85 86 92 107
5 *
5157
6474 87
*
9 *
53 71
73 77 122 .
124* 127 128 .139
12 *
78 84 :
102 111 114 :
115* 120 134 142 1.43 147 150
2 *
146 148
*
4 *
112 116 :
140 149*
9 *
104 из :
117 129* 133
135 137 .138 141
6 *
105 109 :
121* 1.25 130
145
2 *
103 144
*
5 *
101 110*
126 131 136
1 *
108*
1 *
* 132
1 *
* 106
2 *
* 118 123
1 *
119
MAXIMUM * 6900”*1
FACTOR’S LOA» (TOTAL AMOUNT OF FACTORS» 1>
.870-.412*993*968
SPESIFIC FACTOR’S LOADS *243*831*014*062
X-SQUARE»58* 6563X-SQUARE»58* 6563NUMBER DEGREES OF FREEDOM» 2*000
X-SQUARE»58* 6563
X-SQUARE»58* 6563
FACTORS ARE NOT ENOUGH TO EXPLAIN THE CORRELATIONS UARYMAX-TEST : 0.00000** *0000 COFFICIENTS OF REGRESSION LINE
*041-.006*786*176
Рис. 2.16. Результаты работы процедуры FACTOR.
••PROCEDURE" SLED (HrNPARyUUfALPAl , VAR) ?
••VALUE" N,NPAR, ALPA1, VAR?
••INTEGER" N,NPAR,ALPA1,VAR?"ARRAY" UU?
••BEGIN" "ARRAY" UE1..NPAR,1,.N*23?
"INTEGER" NKL,12,J2?”ARRAY" ВЕСЕ 1•*NPAR3у
"INTEGER" "ARRAY" C00TE1..N3?
"PROCEDURE" CHANGE(B,N,M)?"ALGOL"?
"REAL" "PROCEDURE" MAXIM(U,L,N>?
"ALGOL"?
"PROCEDURE" TIPI(ОуНуСуK,KLyL>у "ALGOL"?
"REAL" "PROCEDURE" MINIM(U,L,N)?
"AL GOL"?
OUTPUT(61,"("3/,"("ALGORITHM FOR SEQUENTIAL") ", "(" MAPPING OBJECTS ")",/")")?
"IF"ABS(ALPA1)«1"THEN" OUTPUT(61,"(""("DIRECT")"")"> "ELSE" OUTPUT(61,"(""("INVERSE")"")")?
0UTPUT(61,"(""(" ORDER OF OBJECT’S INPUT")"">")?
"IF" ALPAK0 "THEN" "BEGIN"
"FOR" I2..«l "STEP" 1 "UNTIL" NPAR "DO"
ВЕСЕ123..«1?"END" "ELSE" "BEGIN" CHANGE(1,14,BEC)?
"END"?
CHANGE(1,21,COOT)?
"BEGIN" "ARRAY" INFEI..NPAR,1..N3,A,BE1..NPAR3?
"IF" AL.PAK0 "THEN" "BEGIN" CHANGE(1 ,9, INF) ?
"END"
"ELSE" "BEGIN" CHANGE(1,1,INF)?
"END"?
"FOR" J2..«l "STEP" 1 "UNTIL" NPAR "DO" "BEGIN"
"FOR" 12..«1 "STEP" 1 "UNTIL" N "DO" "BEGIN" UUEI2J..«INFEJ2,123?
UEJ2,12+23..«"IF" ABS(ALPA1)«1 "THEN" INFEJ2,I23 "ELSE" INFEJ2,N—I2+13?
"END"?WEJ2,l3..«MINIM(UU,1,N)?WEJ2,23..«MAXIM(UU,1,N)?
"END"?"END" INF?
N.*«N+2?
"BEGIN" "ARRAY" U,L,L1,D,D3,LP,UP,CE1..N3?
"INTEGER" I,J,K,Q,QI,B,NN,TH,II,13,14?
"REAL" S,X4,E,TH2,CP,L2,D2?
UC13..«X4..«LE13..«0?J..«1?K..«NPAR?NN..«N?
MS.. Q..«J+1?Q1..»J~1?S..«0?
"FOR" I..«l "STEP" 1 "UNTIL" J "DO" "BEGIN" DCI3..«0?
"FOR" B..«l "STEP" 1 "UNTIL" К "DO"
Dri3..«Dri3+(UtB,Q3-UCB,I3)**2?"END"?
"FOR" I..«l "STEP" 1 "UNTIL" J "DO" "BEGIN" DE13..«SORT(DEI3)/J?S..«S-DEIJ?
L1EI3..«Lri3?D3EI3..»DEI3?"END"?
M?.. TH..»0?
"FOR" I..«1 "STEP" 1 "UNTIL" QI "DO" "BEGIN" TH..®TH+1?I1..«1+1?
”IF"L1EI13<L1EI3"THEN" "BEGIN" L2..«L1EI3?D2..«D3EI3?L1EI3..«L1EI13?
Рйс. 2.17. Распечатка процедуры SLED.
L1EI13..=L2?D3EI3..=D3EI13?D3EI13..=D2?TH..=TH+1? "END"?"END"? "IF" TH>Q1 "THEN" "GOTO" M7? "IF"J”1 "THEN" "BEGIN" LEQ3..-S?"60T0" M6?"END"? I3..=0?"FOR" I..-1 "STEP" 1 "UNTIL" QI "DO" "BEGIN" S..=S+2*D3EI3?I1..=I+1? "IF" (S>L1EI3>"AND"(S(L1EI13> "THEN" "BEGIN" I3..»I3+1?LPEI33..=S?UPEI33..=S+X4?"END"?"END"? "FOR" 14..-1 "STEP" 1 "UNTIL" 13 "DO" "BEGIN" CEI43..-0? "FOR" I..=l "STEP"' 1 "UNTIL" J "DO"
CEI43..=CCI43+ABS(DEI3*J-ABS(UPEI43-UEI3>> ?"END"?
CP..=CE13?"FOR" I..=>2 "STEP" 1 "UNTIL"I3 "DO" "IF" CP>CEI3 “THEN" CP..=CEI3? “FOR" I..-1 "STEP" 1 "UNTIL" I3"D0" "IF" CP=CEI3“THEN" "BEGIN" LEQ3..»LPEI3?"JGOTO" M6?"END"?
M6.. UEQ3..»LEQ3+X4?
E..=LEQ3/Q?X4..=X4+E? "FOR" I..-1 "STEP" 1 “UNTIL" Q "DO" LEI3..=LEI3-E?J..»J+1? "IF" J(N "THEN" "GOTO" MS?
OUTPUT<61,"("2/,"("COORDINATES OF OBJECTS")",/“>">? "FOR"I..=1 “STEP" 1 "UNTIL" N "DO" "BEGIN" UEI3..«ABS((UEI3- MINIM(U,1,N> >/(MAXIM(U,1,N>-MINIM(U,1,N> >)?
OUTPUT(61, "<“-4ZB,-Z.4DB,"("*")"">",COOTEI-23,UEI3>?"END"? N..=N-2? "FOR" 12..=1 "STEP" 1 "UNTIL" N "DO"
UUEI23..-"IF" ABS(ALPA1>«1 "THEN" UEI2+23 "ELSE" UEN+3-I23? TIPI(UU,N,C,0.8,NKL,3>?"END“? "END" SLED?
Рис. 2.17 (продолжение).
algorithm for sequential mapping objects DIRECT ORDER OF OBJECT'S INPUT
QUANTITATIVE SCALE MINIMUM .0000"*0
9
* 106 123* 132 136 144 145 146 149 150
* 141 148*
4 4
3 4
4
6
4
3 8
5 9
6
4 9
6 3
*108110*137 140
*131138*142 147
*101103*126
*105121130*133
*109113125*143
*104116117*129 135 139
*111112115*134
*78102114*
*537377 84*87 120 124 128
*516971 122 127*
*5255575964*66747692
*6775798688*98
*566285 107*
*54636872*91959697100
*60708389*9093
*65 81* 82
1
1
1
*61* 80
* * 58
* * 94
*99
* *
1 3
3 7
5 9
7 10
3 3
* * 16 *15* 19 34
*6 17* 33
*11213237*4547 49
*2022242844*
*1581827 29*384041
*7 12253650 118*119
*23101323* 2630313546
*44348*
*9* 14 39
* *
1
*42
MAXIMUM .8723м*0
Рис. 2.18. Результаты работы процедуры SLED.
а - первый просчет, б - второй просчет, в - объединение просчетов.
б
ALGORITHM FOR SEQUENTIAL MAPPING OBJECTS INVERSE ORDER OF OBJECT'S INPUT
QUANTITATIVE SCALE MINIMUM .0000H*0 4 *1*61423
3 * 118* 119 132 3 *2*5123
* 106* 136 3 *4*11110
*12108* 131
*8126* 130
*310 103*144
*101.121 125*137 141 145
* 105409 113* 140 142 3 * 116 .146 149*
*13 104 111 117* 129 133 138 148
*7515378112*
*7787124134150*
10 *5759717384 115*127128 139147
*5255646676 102*135143
*974798692 114*120122
*69758898*
*56626772*85
*89919395*96 97 100
*688390*107
*54 60* 63 65 70 81
*80* 82
* *•
* * 4 * * 58 61 94 99 * * * * * 2 *19* 21
*222445*
*1820252627*3244
13 *.161728293031*35 37 40 46 47 49 50
*1533343638*4148
*394243*
MAXIMUM w8588h4-0
Рис. 2.18 (продолжение)
Рис. 2.18 см. на вклейке, стр. 169
••PROCEDURE” MAPFROM(RZMyPORyAyXyl)?
"VALUE" RZM»POR?"INTEGER" RZHrPOR? "ARRAY" A?"REAL" X? .•INTEGER” "ARRAY" I?
"BEGIN"
••INTEGER” JrKrLyM? "INTEGER""ARRAY" ByCyDyGEl , „RZM3 у EiVEl. .RZMyl..PORJ?
••PROCEDURE" VECTROT(RZyGyByl)?
••VALUE” If RZ?"INTEGER" RZ,I? "INTEGER""ARRAY” ByG?
"BEGIN” "INTEGER" JyK?
"INTEGER" "PROCEDURE” AT(RZMyN>?
"VALUE” RZMyN?”INTEGER” RZMyN? "BEGIN” ”INTEGER" I уВуС? "REAL." A?
"FOR” I--«l "STEP" 1 "UNTIL” RZM "DO"
"BEGIN" A..«1/2**I?BW„«ENTIER((N~l)*A*0„5)?
C. .«!*(-!)**B*(ENTIER(N*A*0,5>~B> ?
"IF" C"NOT EQUAL"0 "THEN” "GO TO" BU? "END"?
BU.. AT.^C? "END" AT? "FOR” J,,«l "STEP" .1 "UNTIL" RZ-1 "DO" ВЕЛ..==(и*1)*(1-2*0Еи*и> ?
"IF" I"EQUAL"0 "THEN” "BEGIN" BERZ3..«I?"GO TO" BB? "END"?
К,.«АТ(RZуENTIER((I*1>/2*0w0000000001))?
BERZ3..«RESIGN(K)?K..«ABSCK)?
BEK3..«"IF" K"EQUAL"1 "THEN" 1 "ELSE" -1?
BB.. "END" VECTROT? "REAL” S?"INTEGER" T? "FOR" J..«l "STEP" 1 "UNTIL" RZM "DO” BEЛ*.«СЕЛ**«J?X*.«0*0?
"FOR" J. .«1 "STEP" 1 "UNTIL" RZM "DO" "BEGIN" S..«AEJ3?
"FOR" K.^l "STEP" 1 "UNTIL" РШ "DO" "BEGIN" T..«DVEJyK:U.«ENTIER(S*2> ?S*.«S*2-T? "END"?"END"? "FOR" L..«l "STEP" 1 "UNTIL" POR "DO" "BEGIN" "FOR" J..«l "STEP" 1 "UNTIL" RZM "DO" ВЕЛ -. «CEABS (ВЕЛ) J*SIGN (ВЕЛ) ?
"FOR" J..«l "STEP" .1 "UNTIL” RZM "DO"
СЕЛ *.«В£Л 5 "FOR" J..=l "STEP” 1 "UNTIL" RZM "DO" GERZM-J*1I..«DERZM-J*!3.
(DVEABS (СЕЛ ) уL.J-0.5) *SIGN(СЕЛ ) *0.5?
"FOR" J,.»l "STEP" 1 "UNTIL" RZM-1 "DO" "FOR” K.W«J*1 "STEP" 1 "UNTIL" RZM "DO" GEK.1, .«ABS(GEKl-DEK-JJ) ?
IEL3,.«0?
”FOR" Jw.«l "STEP" 1 "UNTIL" RZM "DO" IEL.1 w .«IELI*2** (RZM-J) *GE Л ?
"FOR" J.^l "STEP" 1 "UNTIL" RZM "DO" GE Л, .«DERZM-J*1.1 у
X.-«X*2**(-RZM*L)*IELJ;
”IF" L"EQUAL"POR "THEN" "GO TO" U?
VE.CTROT(RZMyGyByIELJ> у "END"?
U.. X..»X*2**(-POR*RZM-1)? "END"?
Рис. 2.20. Распечатка процедур MAPFROM (a), MAPON (5).
"PROCEDURE" MAPON(PZMrPPORrArX)F "VALUE” PZMrPPORrXF"INTEGER" PZMrPPORF"ARRAY" AF "REAL" XF "BEGIN" "INTEGER" JrKrLrMF"INTEGER" "ARRAY" BrCrDrGE1,.PZM3 ICl..PPOR3rRCl..PPORrl..PZM3F"REAL" SF"INTEGER" TF "REAL" ZZrEPSF "PROCEDURE" VECTROT(PZrGrBrl)F "VALUE" IrPZF"INTEGER" PZrIF"INTEGER" "ARRAY" BrGF "BEGIN" "INTEGER" JrKF "INTEGER" "PROCEDURE" ET(PZMrN>F "VALUE" PZMrNF"INTEGER" PZMrNF "BEGIN" "INTEGER" IrBrCr"REAL" AF "FOR" I..=l "STEP" 1 "UNTIL" PZM "DO" "BEGIN" a,,=i/2**ifb.Rentier<(N-i>*a*0,5>f C.,«I* <-1>**B*(ENTIER<N*A*0.5)-B)F "IF" C"NOT EQUAL"0 "THEN" "GO TO" BUF"END"F BU.« et. .«cr; "END"F "FOR" J..«l ’’STEP" 1 "UNTIL" PZ-1 "DO" BCJ.1, .« (J+l> *(1-2
*GCJ*13>F "IF" 1=0 "THEN" "BEGIN" BEPZ3, .«1F"GO TO" BBF"END"F К, , =ET (PZr ENTIER ((1*1) /240„ 1 "-?) ) FBEPZ3 , , «K4SIGN <K> F K.,=ABS(K>F ВСЮ.,«"IF" K=1 "THEN" 1 "ELSE" -IF BB,, "END" VECTROTF ZZ.,«X FEPS..=2** (-PPOR-1>F "FOR" J.,»l "STEP" 1 "UNTIL" PPOR "DO" "BEGIN" S,.=0F "FOR" K,,=l "STEP" 1 "UNTIL" PZM "DO" "BEGIN" T,,=RCJrKJ..« ENTIER(ZZ*2)FZZ,,=ZZ*2-TFS,,=S4T*2**(PZM-K)F"END"F ICJ3,.«SF"END"F "FOR" J..=l "STEP" 1 "UNTIL" PZM "DO" "BEGIN" ACJ3..«0.5F BOI, ,=CC J J . ,«JF "END" F "FOR" L,,«l "STEP" 1 "UNTIL" PPOR "DO" "BEGIN" "FOR" J,,=2 "STEP" 1 "UNTIL" PZM "DO" GCPZM-J+1.1. .= ABS(REL rJ3-RELr J-l3>FGEPZMJ..=RCL r13 F "FOR" J,,~l "STEP" 1 "UNTIL" PZM "DO" DEJ3..=CEABS(BEJ3>3*SIGN<BEJ3)F . "FOR" J.,=l "STEP" 1 "UNTIL" PZM "DO" "BEGIN" CEJ3..«DEJJF M,.=ABS(CCJ3)FAEM3..=AEMJ4<GEJ3-0,5)*SIGN(CEJ3)*2**(-L> F "END"F "IF" L«PPOR "THEN" "GO TO" UF VECTROT(PZMrGrBrIEL3>F"END"F U,, "END" MAPONF
Рис. 2.20 (продолжение).
••PROCEDURE" RAZVR(NfPrREZ> ?
••INTEGER" NfP?"ARRAY" REZ?
••BEGIN0
••INTEGER" M?
M „«"IF" N(0 "THEN" 1 "ELSE” 0?
N.*~ABS(N)?
••BEGIN" "INTEGER" IfJfKfLfZfLJ?"REAL" Xf Y? "ARRAY"RAC1. .N3/ AfMI*MAE1--P3fI1E1..Pf1.„N3?"INTEGER" "ARRAY" NPRE1..33?
••INTEGER" "ARRAY" C00TE1-.N3?
••PROCEDURE" CHANGE(BfNfM>?"ALGOL"?
'•REAL" "PROCEDURE" MAXIM(BfNfM)?"ALGOL"?
"PROCEDURE" MAPFR1 (VfBfNfM) ?"ALGOL"?
••PROCEDURE" TIPI (XfCfVfBfNfM)?"ALGOL"?
••PROCEDURE" SORTING(BfNfM)?"ALGOL"?
CHANGE (lf21f COOT)?
CHANGE (1 flZfNPR) ?
••IF" M»1 "THEN" "BEGIN"
CHANGE(lf9f II) ?CHANGEd f7f MI) ?CHANGEd fSf MA) ?"END"
"ELSE" "BEGIN"
CHANGE(1 flfII)?CHANGE(1f11fMI)?CHANGE(1f12fMA)? "END"?
L..«"IF" P>20 "THEN" 3 "ELSE" 4?
OUTPUT(61f"("3/f"("THE MAPPING OF")"f
"(" MULTIDIMENTIONAL SPACE ONTO")"f
••(" NUMERICAL AXIS") "f/") ") ?
"FOR" I..=l "STEP" 1 "UNTIL" P "DO"
AE13■„«MAEI3-MIE13?X■.«MAXIM(Ay1fP)*0„0001?
"FOR" I.,«l "STEP" 1 "UNTIL" L "DO" "BEGIN"
OUTPUT(61f"("2/f"("DIVISION")"f BZf /f"("OBJECTS COORDINAT")"f/")"fI)?
"FOR" J..«l "STEP" 1 "UNTIL" N "DO" "BEGIN"
"FOR" К..«1 "STEP" 1 "UNTIL" P "DO"
AEK3..«(IlEKf J3-MIЕКЗ)/X?
MAPFR1(PfIfAfRAEJ3)?
OUTPUT (61 у"("5ZBf"("-")"f-Z.6D")"fCOOTEJ3fRAEJ3) ?"END"?
OUTPUT(61f"("/f"("A)- ")"fZ")")?
TIPI(RAfNfREZf0.8fKf3)?
OUTPUT(61f"("/f" (" B) . ")"f/")")?
"FOR" J.-=l "STEP" 1 "UNTIL" N "DO" RAEJJ-.«RAEJ3*2**(P*D? SORTING(RAfREZfN)?
M.^l?
F2W, "IF" M>N "THEN" "GOTO" F3?Z..«1?
"FOR" К..=И*1 "STEP" 1 "UNTIL" N "DO"
"IF" RAEMJ«RAEKJ "THEN" Z..»Z+1 "ELSE" "GOTO" Fl?
Fl.. 0UTPUT(61f"("/f"("(")"f5ZDf"(") ")”f3Zf"(" *">"")"f RAEM3fZ>?
"FOR" K..«M "STEP" 1 "UNTIL" M*Z-1 "DO"
OUTPUT(61f"("3ZB")"fCOOTEREZ EK33)?
"IF" M»N "THEN" "GOTO" F3*?
LJ..="IF" RAEM+Z3-RAEM3>3 "THEN" 3 "ELSE" RAEM+Z3-RAEM3?
"FOR" K..«l "STEP" 1 "UNTIL" LJ-1 "DO"
OUTPUT(61f"("/f13Bf"("*")"")")?
M..-M*z?"GOTO" F2?F3..
"FOR" J..=l "STEP" 1 "UNTIL" N "DO"
REZEJJ..«RAEJJ?"END"?"END"?
"END"?
Рис. 2.21. Распечатка процедуры RAZVR.
66THE MAPPING OF MULTIDIMENTIONAL SPACE ONTO NUMERICAL AXIS
6
6
DIVISION 1
<
1)
61 * 99
94
83
; 82 8180 70
65 61
60 58
50
49
48 47
46
45
44 43 42 41
40 39
38 37
36
35
34 33
32
31
30 29 28 27
26 25
24 23
22
21
20 19
18
17
16 15 14 13
12 11
109
8
7
65
4
3
21
*
<
7)
* 8 *136
132
131
123 119 118 108
106
(
8)
81 *150
149
148
147 146 145 144
143 142
141 140
139
138
137
135
134
133
130
129
128
127
126
125
124
122
121
120
117
116
115
114
113
112
111
110
109
107
105
104
103
102
101)
100
98
97
96
95
93
92
91
90
89
88
87
86
85
84
79
78
77
76
75
74
73
72
71
69
68
67
66
64
63
62
59
57
56
55
54
53
52
51
DIVISION 2
(
1)
. 28 * 50
48 46
43
42 40
39
36
35
32
31
30
29
27 26 25 24 :
21
14 13 :
12
10
9
8
7
4
3
2
<
2)
21 * 49
47 45
44
4138
37
34
33
28
23
22
20
19 18 1
L7 16 :
11
65
1
*
<
4)
10 * 99
94 82
81
80 70
65
61
60
58
*
<
13)
*
1 * 83
*
<
15)
1 « 15
*
*
<
104)
2 *132
118
<
105)
6 *136
131 123
119
108 106
*
(
113)
*
1 *135
*
(
116)
*
25 *134
120 98
93
92 88
87
79
77
76
75
74
73
72 69 68 66 <
S4 63 62 59 5
55 53 52 51
(
117)
11 *100
97 96
95
91 90
89
85
67
56
54
*
<
124)
*
3 *122
114 107
<
125)
22 *150 115 112 11
149 148
147
146 143
142
140
139
128
127
124
116
11 102 86 84 78 5
?1 57
*
(
127)
1 *110
<
128)
18 *145
144 141
138
137 133
130
129
126
125
121
117
113
109 105 104 103 101
Рис. 2.22. Фрагмент результатов работы процедуры RAZVR.
а, б, в - первое, второе и третье разбиения.
в
DIVISION 3
(1) 1
* 42 * *
(9>5
* 40 32 29 24 21
*
*
1
21
13 12 10 (17)5
* 25
* 50 48 46 43 39 36 35" 31 30 27 26 14 987432
* 44 41 38 235
*
*
(23)1
(24)14
61
<25)1
* 16
* 49 47 37 34 33 28 22 20 19 18 17 11
* 45
*
*
(57) . 1
* 65 *
<59)1
<60)5
(61)3
* 99
* 82 81 80 70 60
* 94 61 58
*
*
(197)1
* 83 * *
(233)1
* 15
* *
(1660)2
*132 118 * *
( 1669)3
( 1670)2
*123 108 106
*136 131
*
*
(1676)1
*119
*
*
<1798)1
*135 * *
(1847)4
(1848).3
(1849)8
<1850)3
<1851)2
<1852)5
* 87775351
* 766659
* 9892797572 62 55 52
*1347464
*1^073
* 9388696863
Рис. 2.22 (продолжение).
*
*.
<1861>
4 * 95 9190 54
*
*
<1864)
7 *100 97 96 89 85 67 56 *
*
<1973)
1 *107 * *
<1978)
<1979)
1 *122
1 *114 * *
(1986)
-3 1 *115 * *
<1990)
(1991)
(1992)
. 6 *147 143 124 112 102 84
10 *150 149 148 139 128 127 116 111 71 57 1 * 86
*
<1994)
4 *146 142 140 78 * *
< 2017)
1 *110 * *
< 2034)
( 2035)
2 *145 141
2 *137 101
*
*
<2038)
< 2039)
6-*138 133 129 117 105 104
7 *144 130 126 125 121 113 103 *
*
< 2042)
1 *109
Рис. 2.22 (продолжение).
.•PROCEDURE"HIERARH (HуNPARyVARуFORMуKOLK) 9
•• VALUE"HуNPAR* VARуFORMу KOLK9"INTEGER"Hу NPARу VARу FORMу KOLK; ••BEGIN""INTEGER"HTyHi;"REAL"THyFUyFFyALyBEyGAyDE;
••INTEGER" XyYylyJyKy AI,AJyHH;"ARRAY"AlEl . .H3yD10El ..H,L .НЗ; ••INTEGER" "ARRAY"A2yKLyKL3Elw,H3yTHlEl,.Н*13уСООТЕ1.*НЗу ••PROCEDURE" CHANGE (ByNyM) ;"ALGOL"у •'REAL" "PROCEDURE" MAXIM (UyHyK> 9 "ALGOL"; "REAL" "PROCEDURE" MINIM(UyHyK)9 "ALGOL"?
AL. --BE- ««DE* «^„SyGA* .«0,0; '•IF"FORM^1"THEN"DE..--0W5;"IF"FORM~2"THEN"DE..,^ •'IF"F0RM=3"THEN"DE. .=0,5?
"IF"(H"NOT GREATER"2>"OR"(NPAR"NOT GREATER"2"AND"VAR«4>"THEN" "GO TO"MIMO;
"IF" VAR=4 "THEN" CHANGE(1 у19уС00Т> "ELSE" CHANGE(1 у21уСООТ>у "FOR"I-.^1"STEP"1"UNTIL"H"DO" "begin"thici3..=i;klei3. w=kl3EI3w.=i;aiei3-w«0;a2EI3w.=0;"end"; THlCH^irJ-^09 hh..-"if"h<15"then"H"else"15;ht..-h;hi..»i;fu..=0.09 OUTPUT(61 У"("3/y"("HIERARHICAL CLUSTER-PROCEDURE")"y/y "с">"">");
"IF" DE=«-0.5 "THEN"OUTPUT(61 у"("2/y"("VARIANT NEAREST NEIGHBOUR")" ")"); "IF" DE«0.5 "TKN"OUTPUT (61 у " ("2/y " ("VARIANT FURTHEST HEIGBOUR") "") ") ; "IF" DE=0.0 "THEN"OUTPUT(61у"("2/y"("VARIANT MEAN CONNECTION")"")")9 "IF"VAR«l"THEN"0UTPUT(61у"("10Ву"("HEMMING DISTANCE")"")")9 ”IF"VAR«3"THEN"0UTPUT(61у"("10By"("EUCLEAD DISTANCE")"")")9 UIFU VAR»2 "THEN"OUTPUT(61 у"("10Ву"("MAHALANOBIS DISTANCE")"")")9 "IF"VAR«4"THEN"OUTPUT(61 у"("10Ву"("CORRELATION DISTANCE")"у "(" FOR FEATURES")"")"); "IF" VAR»0 "THEN"OUTPUT(61y"("10By"("DISTANCE FOR VARIOUR SCALES")"")"); "BEGIN""INTEGER"AIIyAJj;"REAL"Ay "IF" VAR*4 "THEN""BEGIN""ARRAY"D11E1..NPARyl.„NPAR3;CHANGE(1 у4уА1)9 CHANGE(1 у2уВ11);H..=NPARy "FOR"I.W=1"STEP"1"UNTIL"NPAR"DO" "FOR"J.W«I+1"STEP"1"UNTIL"NPAR"DO" "BEGIN" D10CIyJ3..« D10EJyI3..«(l-ABS(DllCIyJ3/(SQRT(Alt13)*SQRT(A1EJ3))))/ (0.001 -i-ABS (DI 1ГI у J3/ (SORT ( Al L13 ) *SQRT ( A1E J3 ) ) ) ) ; "END"; "FOR"I..=1"STEP"1"UNTIL"H"DO"A1E13 -.«09 "GO TO"CICL1у"END"у "BEGIN""ARRAY"I10E1,.NPARy1»-H3уBE1-.NPAR3yRSEl,.NPAR3; "INTEGER" "ARRAY" TH2E1..33;
Рис. 3.4. Распечатка процедуры HIERARH.
»MF"VAR«0"THEN""BEGIN"CHANGE (1,17,TH2) ?"endh?
CHANGE(1,14,B>?
CHANGE(1,1,I10)?
"FOR"I. »«1"STEP"!"UNTIL"NPAR"DO""BEGIN"
"FOR"J..=1"STEP"1"UNTIL"H"DO"A1EJ3.-«I10EI,J3 ?
RSE13..«MAXIM(Al,1,H)-MINIM(Al,1,H)?"END"?
A..«0?FF..«0?
"FOR"I..«1"STEP"1"UNTIL"H"DO""BEGIN"
KLEI3..«I?D10EI,I3..«0IA1EI3.-«0-0?A2EI3..«0?
"FOR" J.. «1*1 "STEP"1"UNTIL"H"DO""BEGIN"D10EI,J3.. «0.0?
"IF"VAR«3"THEN""BEGIN"
"FOR"K..«1"STEP"1"UNTIL"NPAR"DO"
D10EI,J3-.«D10EI,J3*(I10EK,I3-I10EK,J3)**2?
D10EJ,I3..=D10EI,J3..«SQRT(D10EI,J3)? "GO TO" FORMA?"END"?
"IF"UAR«l"THgN""BEGIN"
"FOR"K.. «1"STEP"1"UNTIL"NPAR"DO"
"IF"I10EK,J3"NOT EQUAL"I10EK,I3"THEN"D10EI,J3..«D10EI,J3
♦BEКЗ?
D10EJ,I3..«Dl0EI,J3? "GO TO" FORMA?"END"? "IF"UAR«2"fHEN""BEGIN" "FOR"K.,«1"STEP"1"UNTIL"NPAR"DO" D10EJ,I3.e«D10EI,J3.e«ABS<I10EK,J3-I10EK,I3>*BEK3/RSEK3
♦D10EI,J3?
"GO TO" FORMA?"END"?
"IF"VAR«0"THEN""BEGIN" "F0R"K..«TH2E33+TH2E23^1"STEP"l"0NTIL"NPAR"D0" "IF"I10EK,J3"NOT EQUAL"I10EK,I3"THEN"A..«A+BEK3? "F0R"K-.«TH2E33+l"STEP"l"UNTIL"TH2E33+TH2E23"D0" AWW«A^ABS(I10EK,J3-I10EK,I3)*BEK3*1W73/RSEKJ?
"F0R"K..«l"STEP"l"UNTIL"TH2E33"D0"
D10EI,J3W.«D10EI,J3^((I10EK,I3-I10EK,I3)*BEK3/RSEK3)**2?
D10EJ, 13.-«D10Ebj3.. «ASSORT (D10EI, J3) *3-0? "GO TO" FORMA?"END"?
FORMA.. "END"J?"END"I?
"END" INF?
CICL1.. A..«10000000.0?
"FOR"I..«1"STEP"1"UNTIL"HT"DO""BEGIN" "FOR"J..«I*1"STEP"1"UNTIL"HT"DO"
"IF"D10EI,J3 <A"THEN""BEGIN"
A..«D10EI,J3?AI..«I?AJ.*«J?AII..«KLEI3?AJJ..«KLEJ3?"END"? "END"?
TH1EAII3..«ТН1EAII3^TH1EAJJ3?
"FOR"I..«AJJ"STEP"l"UNTIL"H"nO"
TH1EI3..«TH1EI+13?
J..«0?K..«0?
"FOR"I..«1"STEP"1"WTIL"H"DO""BEGIN" "IF"KLEI3«AII"THEN"J*.«J*l?
"IF"KLEI3«AJJ"THEN"K..«K*l?"END"?
"IF"(J«1"OR"K«1>"AND"(Hl"NOT EQUAL"1>"THEN"A2EH1-13..«1? "IF"DE-0-0"THEN""BEGIN"AL-.«J/(J*K>?BE..«K/(J^K>?"END"VAR3? A1EH13..«A?
Рис. 3.4 (продолжение).
нIF• *H-Hl+2 >HH"THEN" "GO TO"OBH?
hIF"A2EH1 -23=1 ••THEN""GO TO"OBH9
OUTPUT(61r"("3/f"("STEP ">"f2ZD">"fHl-2)?
TH-.s=A1EH1-1J-A1EH1-23I"IF"TH>FU"THEN""BE:GIN"
KOLK.«-HT-Hl+ZfFU. .«TH?CHANGE(-If 16fKL3> ?"END"?
»F0RmI..«1mSTEP"1"UNTIL"HT-H1+2”D0""BEGIN"
0UTPUT(61f"("/f"("CLASS ")",3Z5B")", I)9
“FORnJ. .«1,,STEPH1"UNTIL"H"DO"
”IF"KL3EJJ»I"THEN"OUTPUT(61f"("4Z">"fCOOTEJJ>9
"END"?
OBH-.
Hl --«Hl+lf
••FOR"I--«lnSTEP"l"UNTIL"H"DO""BEGIN"
KL3Ei:J-.=KLEI3f
••IF"KLEI3«AJJ"THEN"KLEI J . .«All 9
”IF"KLLI3>AJJ"THEN"KLLI3,.=KLLI3-19
"END"?
"IF"DE«-1.5"THEN”"BEGIN"
"FOR"I-.»1"STEP"1"UNTIL"H"DO"
"FOR"J..«I-*-l”STEP"l"UNTIL"H"DO""BEGIN"
X..«KLEI39Y..«KLEJ3?
"IF"J«AI"THEN"D10EIfJ3..«SQRT((D10EIfAI3**2+(TH1EXJ+TH1EAII.D +D10EIfAJ3**2*(TH!EX1RTH1EAJJ3>+D10EAIfAJ3**2*TH1EX.D /
(TH1EXJ+TH1EAII3+TH1EAJJJ))9
"IF"I«AI"THEN"D10EIf JJ. .«SORT( (DI0EAIf J3**2*(THlCY3*THir.AII3) +D10EAJf J.l**2*(THlEYJ+THlEAJJJ>+D10EAIfAJJ**2*THlEYn/(THlEY3 +TH1EAIIJ+TH1EAJJJ))9
"lF"J«AJ"OR"I«AJ"IW:N"D10EIfJ3..«10000000.0?"END"DE?
"GO TO"BCE?"END"?
"FOR"I..«1"STEP"1"UNTIL"H"DO”"BEGIN"
"FOR"J..«I+1"STEP"1"UNTIL"H"DO""BEGIN"
"IF"J«AI"THEN"D10EIfJ3..«AL*D10EI,J3+BE*D10EIfAJ3+
GA*D10EAIfAJ3+DE*ABS(D10EIfAI3-D10EI,AJ3)9
"IF"I«AI"THEN"D10EIfJ3..«AL*D10EAIfJ3+BE*D10EAJfJ3+
GA*D10EAIfAJ3+DE*ABS(D10EAI,J3-D10EAJf33) 9 "IF"AJ«I"OR”AJ«J"THEN"D10EIfJ3..«0.1"+8?
1"STEP"1"UNTIL"I"DO"1"STEP"1"UNTIL"I"DO""END"?
1"STEP"1"UNTIL"I"DO"
1"STEP"1"UNTIL"I"DO"
"FOR"J..
«D10EJfI3?"END"9"END"I?«D10EJfI3?"END"9"END"I?"BEGIN"
«D10EJfI3?"END"9"END"I?
«D10EJfI3?"END"9"END"I?
D10EIfJ3
BCE.. "IF"H1"NOT GREATER"HT"THEN""GO TO"CICL1?
A1EH3..«A1EH~13?
"FOR"!. . =1"STEP"1"UNTIL"H-1"DO"
A1EI3..«A1EI+13-A1CI3?
TH- .«MAXIM(Al у 1fH-l) ?
”FOR"I..«H-HH"STEP"1"UNTIL"H-l"DO"
••BEGIN"
”IF"A1EI-13<A1EI3"AND"A1EI3>A1EI+13"AND"A2EI3"NOT EQUAL"! "THEN"A2EI3..«2?
nIF"(TH«A1EI3)"AND"(A2EI3«2>"THEN"
OUTPUT(61f"("2/,"("MOST PROBOBLE CLASSIFICATION")", "<M IS DONE ON THE STEP ">"f
Рис. 3.4 (продолжение)
3Zh>hfI>;
UEND"SS?
OUTPUT(61rM(H3/fM("FUNCTION OF INTERCLUSTER")"f
"(" DISTANCE INCREASING.")"r
2/f"("STEP F(X) ">"">"> 5
"FOR"I..=H-HH"STEP"1"UNTIL"H-1"DO""BEGIN"
OUTPUT(61,"("/")") ?"IF"A2LI3~2"THEN"OUTPUT(61r"(""("V">"">"> ,,ELSE,,OUTPUT (61 , " ("B"> H> $
OUTPUT (61 , "("2ZD") ",1)5
OUTPUT(61r,,(,,““3Zw3DBFH(,,In),,M),SAiri3) 5
J. RENTIER (A1£I J*60.0/TH) 5
MFORMK..«lHSTEPnlHUNTILHJMD0H0UTPUT(61»M(""C"*") ,,M>M)? "ЕНЕГ’Г’ЕЫВ’Ч
MIHO..
"ENIV'
Рис. 3.4 (продолжение).
4.062 I
2.28 ..
4.266 I
4.469 I
4.672 I
4.875
5.078 I
5.281 I
5.485 I 23—.
5.688 I
5.891 I
. 6.09^ I
6.297 I
6.500
I ‘
6.704
I
1-4
I
2.37 .
2.47 .
39
43
2.57 .
42
9
48 3
36
2.67 .
4 13
7'
41
38
2.76 .
46
35
50
29
33
15
2.86 .
31
12
8 40
28 22
47 49
3717
34
2.96 .
26
27
11
3.06 .
25
44
32
16
3.15 .
24
21
6
3.25 .
45
19
3.3sL
3.45 .
*
3.54 .
3.6^ .
3.74 ъ
3.84 .
3.93 .
*
4.03 .
4.13 .
4.23 .
4.32 .
4.42 .
-
4.52 .
99
4.62 .
4.71 .
94
4.81 .
4.91 61
5.01 .
5.10 .
80
5.20 .
82
65
5^30 .
81
5.40 .
60
5.49 .
70
83
5.59 .
54
90
93
68
5.69 .
63
100
89 96
5.79 .
95
97
72
5.88 . 107
91
62
5.98 .
85
6.08 .
56 67
98
75
6.18 .
88
79
86
6.27 .
• 74
92
76
66
6.37 .
69
64
52
6.47 .
i
71
5559
57
6.57 .
122
: 139
87
6.66 .
120
73 | 127128
51
6.76 .
114
143
841501^4
77
6.86 .
134
53
6.96 .
115
147
78
7.05 .
111
7.15 .
135
112
148
7.25 .
138149
7.35 .
104
117
146
142
7.44 .
‘ 140
7.54 .
133
137113
7.64 .
125
7.74 .
109
105
141
130
7.83 .
145121
7.93 .
101
1
.44
8.03 .
103
126
8.13 .
a
8.22 .
131
8.32 .
108
110
a
8.42 .
136
a
8.52 .
a
8.61 .
132
8.71 .
106
8.81 .
118
8.91 .
123
9.00 .
9.10 .
9.20 ..
.. 119
Рис. 2.12. Проекция объектов на плоскость первых ГК.
1
1 AND 2 PRINCIPAL COMPONENTS
PROJECTION ONTOPROJECTION ONTO
PROJECTION ONTO
PROJECTION ONTO
Зак. 1538
.00
000 I
. 1321:
.066 I >3136 ..
.132 I ■ 144145
.198 I
.264
I
.330 I 150
.396 I
.462 I
• 528 I
.595 I
.661 I
.727 I
.793 I
.859 I
.01
.02
141
148
.04
*
137
.05
110
140
*06
108
142
147
.07
131
.08
*
126
138
.10
*
103101
.11
ее
130
.12
121
105
133
.13
*
125109
143
.15
113
.16
*
129
135
.17
116117
.18
*
139
.19
111112
115
.21
134
.22
*
78
102
*23
*
53
77 84
114
.24
124 73
120
.25
51
87128
122
.27
»
71
--
.28
*
57 59
69
.29
*
76 74
.30
*
52
92 86 88
.32
*
79 75
.33
•
98
56
.34
*
85107
.35
91
.36
*
72 9763
.38
*
100 93
.39
*
90 70
.40
60
.41
81
.42
*
82
61
.44
*
80
.45
.46
58
.47
*
.94
.48
*50
99
.51
*52
.53
*55
.56
*57
*
16
.58
*59
.61
*
34 .
.62
*
19
.63
6
33 .
*64
*
45 17
.65
11
37
.67
*
21
32 49
.68
*
22
*69
*
24 44
.70
1 5
27 40
41 *
.71
8
50
38 *
.73
*
12
25
.74119
7
35
36 "
.75
*2
10
31 46
*76
23
3
13
.78
4
48 .
*79
43
.80
9
39
.81
14
.82
*
.84
.85
*86.
Рис. 2.18. Результаты работы процедуры SLED.
в - объединение просчетов.
a
HIERARHICAL CLUSTER-PROCEDURE
EUCLEAD DISTANCEEUCLEAD DISTANCEVARIANT NEAREST NEIGHBOUR
EUCLEAD DISTANCE
EUCLEAD DISTANCE
STEP 139
CLASS 1123456789 10 11
1213141516171819202122232425
2627282930313233343536373839
40 41 43 44 45 46 47 48 49 50
CLASS 242
CLASS 351 52 53 54 55 56 57 59 60 62 63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
100
101
102
103
104
105
108
111
112
113
114
115
116
117
120
121
122
124
125
126
127
128
129
130
131
133
134
137
138
139
140
141
142
143
144
145
146 147 148 149 150
CLASS
4
58
61
94
99
CLASS
5
106
119
123
CLASS
6
107
CLASS
7
109
CLASS
8
110
CLASS
9
118
132
CLASS
10
135
CLASS
11
136
45678910:19 20212223242533 34353637383947 48495054555657596062<7172737475767785 868788899091101 102103104105106108116 117119120121122123131 133134135136137138146 147 148 149 1509945678910:19 20212223242533 34353637383947 48495054555657596062<7172737475767785 868788899091101 102103104105106108116 117119120121122123131 133134135136137138146 147 148 149 15099STEP 145
45678910:
19 202122232425
33 343536373839
47 484950
54555657596062<
71727374757677
85 868788899091
101 102103104105106108
116 117119120121122123
131 133134135136137138
146 147 148 149 150
99
45678910:
19 202122232425
33 343536373839
47 484950
54555657596062<
71727374757677
85 868788899091
101 102103104105106108
116 117119120121122123
131 133134135136137138
146 147 148 149 150
99
CLASS 1123
12 131415161718
26 272829303132
40 414243444546
CLASS2515253
64 656667686970
78 798081828384
92 9395969798100
109 110111112113114115
124 125126127128129130
139 140141142143144145
CLASS3586194
CLASS4107
CLASS5118132
Рис. 3.5. Пример работы процедуры HIERARH.
а - „ближний сосед”; б - дальний. сосед”, в - „средняя связь”.
й 12 В. В. Александров, Н. Д. Горский
STEP 147
CLASS 112345678910 11
1213141516171819202122232425
262728293031323334.3536373839
40 41 42 43 44 45 46 47 48 49 50 CLASS 251 52 53 54 55 56 57 58 59 60 61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
•99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
119
120
121
122
123
124
125
126
127
128
129
130
131
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
CLASS 3
118 132
STEP
148
J
CLASS 1
1
n
3
4
5
6
7
8
9 10 11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
‘29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
CLASS 5
51 52 53 54 55 56 5
57 58 59 60 61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
MOST
PROBOBLE CLASSIFICATION
IS DONE
ON THE STEP
148
FUNCTION OF INTERCLUSTER DISTANCE INCREASING.
STEP
F<X>
135
.022 I*
136
.032 I**
137
.000 I
Ml 38
.020 I*
139
.019 I*
140
.009 I
141
.000 I
142
.018 I*
143
.068 I****
144
.008 I
145
.016 I*
146
.087 I******
147
.084 I******
UI 48
.822 I***********************************************
149
.000 I
Рис. 3.5 (продолжение).
б
HIERARHICAL CLUSTER-PROCEDURE
VARIANT MEAN CONNECTIONEUCLEAD DISTANCE
STEP 138
CLASS 1123456789 10 11
12 13 14 17 18 19 20 21 22 23 24 25 26 27
28 29 30 3132 35 36 37 38 39 40 4143 44
45 46 47 48 49 50
CLASS 215 16 33 34
CLASS 342
CLASS 451 52 53 55 57 59 64 66 72 74 75
76 77 78 79 86 87 92 98
CLASS 554 56 60 62 63 65 67 68 70 80 81
82 83 85 89 90 91 93 95 96 97 100
CLASS 658 6194 99
CLASS 769 71 73 84 88 102 114 115 120 122 124
127 128 134 139 143 147 150
CLASS 8101 104 105 111 112 113 116 117 121 125 129
133 137 138 140 141 142 144 145 146 148 149
CLASS 9103 106 108 119 123 126 130 131 136
CLASS 10107
CLASS 11109 135
CLASS 12110 118 132
STEP 142
CLASS
1
123456789 10 11
12
13 14
15 16 17 18 19 20 21 22 23 24 25
26
27 28
29 30 3132 33 34 35 36 37 38 39
40 CLASS
4143
44 45 46 47 48 49 50
42
CLASS
3
5152 53 55 57 59 64 66 69 7172
73
74 75
76 77 78 79 84 86 87 88 92 98 102
114 :
115 120
122 124 127 128 134 139 143 147 150*
CLASS
4
54 56 60 62 63 65 67 68 70 80 81
82 CLASS
83 85 5
89 90 9193 95 96 97 100 107
58 61 94 99
CLASS
6
101 104 105 109 111 112 113 116 117 121 125
129 133 135
137 138 140 141 142 144 145 146 148 149
CLASS7103 106 108 119 123 126 130 131 136
CLASS8110 118 132
Рис. 35 (продолжение).
STEP 147 CLASS 1 12 13 14 26 27 28 40 41 42CLASS 2 62 63 64 76, 77 78 90 91 92 115 120 122CLASS 3/ 116 117 118 136 137 138STEP 147 CLASS 1 12 13 14 26 27 28 40 41 42CLASS 2 62 63 64 76, 77 78 90 91 92 115 120 122CLASS 3/ 116 117 118 136 137 1381234567891011
STEP 147 CLASS 1 12 13 14 26 27 28 40 41 42
CLASS 2 62 63 64 76, 77 78 90 91 92 115 120 122
CLASS 3/ 116 117 118 136 137 138
STEP 147 CLASS 1 12 13 14 26 27 28 40 41 42
CLASS 2 62 63 64 76, 77 78 90 91 92 115 120 122
CLASS 3/ 116 117 118 136 137 138
15 16171819202122232425
29 30313233343536373839
43 44454647484950
5152535Й55565758596061
65 66676869707172737475
79 80818283848586878889
93 949596979899100102107114
124 127128134139143147150
101 103 104 105 106 108 109 110 111 112 113
119 121123125126129130131132133135
140 141142144145146148149
STEP 148
CLASS11234567891011
12 13141516171819202122232425
26 27282930313233343536373839
40 4142> 4344454647484950
CLASS25152535455565758596061
62 63646566676869707172737475
76 77787980818283848586878889
90 919293949596979899100101102103
104 105106107108109110111112113114115116117
118 119120121122123124125126127128129130131
132 133134135136137138139140141142143144145
146 147 148 149 150
MOST PROBOBLE CLASSIFICATION IS DONE ON THE STEP 148
FUNCTION OF INTERCLUSTER DISTANCE INCREASING.
STEP
F (X)
V135
.111 I#**
136
.003 I
137
.007 I
138
.014 I
139
.051 I*
140
.091 I**
141
.008 I
142
.022 I
143
.097 I**
144
.128 I***
145
.066 I#
V146
.405 I*«*«#*#****
147
.178 I###**
V148
2.098 I it#*****»*#*******#*#****#*#****#**##*#*#*######
149
.000 I
Рис. 3.5 (продолжение).
HIERARHICAL cluster-procedure
VARIANT FURTHEST'HEIGBOUREUCLEAD DISTANCE
STEP 135
CLASS
1
1234578 10 13
18
23
26
28 29
30 31 35 36 38 40 41 43 46 48 50
CLASS 2 37 44 45
CLASS 3
CLASS 4
6111219202122 24 25
47 49•
9143942"
1516173334
27
32
CLASS 5 77 79 86
51 52 53 55 57 59 64 66 74
87 92 98
75
76
CLASS 6 81 82 83
CLASS 7
CLASS 8
•54 56 60 62 63 65 67 68 70
85 89 90 91 93 95 96 97 100
58 61 94 99
69 88 120
72
80
CLASS 9 134 135 139
-71 73 84 102 112 114 115 122 124
143 147 150'
127
128
CLASS 10
142 146 148
CLASS 11
CLASS ' 12
CLASS 13 •
CLASS 14
CLASS 15
78 104 105 109 111 113 117 129 133
101 116 121 125 137 141 144 145 149
103 108 126 130 131
106 119 123
107.
110 118 132 136
138
140
STEP 144.
CLASS
1
12345789 10
13
14
18
23
26
28
29 30 31 35 36 38 39 40 41
42
43
46
48
50
CLASS
2
6 1112 15 16 17 19 20 21
22
24
25
27
32
33
34 37 44 45 47 49
CLASS
3
51 52 53 55 57 59 64 66 69
71
73
74
75
76
77
79 84 86 87 88 92 98 102 112
’ 114
115 :
120
122
124
127 128 134 135 139 143 147 150
CLASS
4
*
54 56 58 60 61 62 63 65 67
68
70
72 80 81 82 ' 83 85 89 90 91 93 94 95 96 97
99 100 1071‘
CLASS 578 101 104 105 109 111 113 116 117 121 125
129 133 137 138 140 141 142 144 145 146 148 149
CLASS 6103 106 108 110 118 119 123 126 130 131 132
136’
Рис.3.5 (продолжение).
STEP 147
CLASS 1 12 13
14
123456789 10 11
15 16 17 18 19 20 21 22 23 24 25
26 27
28
29 30 31 32 33 34 35 36 37 38 39
.40 41
42
43 44 45 46 47 48 49 50
CLASS 2
51 52 53 55 57 59 64 66 69 71 73
74 75
76
77 78 79 84 86 87 88 92 98 101 102
103 104
105
106 108 109 110 111 112 113 114 115 116 117
IIS 119
120
121 122 123 124 125 126 127 128 129 130 131
132 133
134
135 136 137 138 139 140 141 142 143 144 145
146 147
148
149 150
CLASS 3
54 56 58 60 61 62 63 65 67 68 70
72 80
81
82 83 85 89 90 91 93 94 95 96 97
99 100
STEP 148
CLASS 1 12 13
107
14
123456789 10 11
15 16 17 18 19 20 21 22 23 24 25
26 27
28;
29 30 31 32 33 34 35 36 37 38 39
40 41
42
43 44 45 46 47 48 49 50 54 56 58
60 61
62
63 65 67 68 70 72 80 81 82 83 85
89 90
91
93 94 95 96 97 99 100 107
CLASS 2
51 52 53 55 57 59 64 66 69 71 73
74 75
76
77 78 79 84 86 87 88 92 98 101 102
103 104
105
106 108 109 110 111 112 113 114 115 116 117
118 119
120
121 122 123 124 125 126 127 128 129 130 131
132 133
134
135 136 137 138 139 140 141 142 143 144 145
146 147
148
149 150
MOST PROBOBLE CLASSIFICATION IS DONE ON TOE STEP 148
FUNCTION OF INTERCLUSTER DISTANCE INCREASING.
STEP
F (X>
VI35
.150 I**
136
.014 I
V137
.018 I
138
.011 I
VI39
.031 I
140
.003 I
141
.010 I
VI42
.198 I***
143
.045 I
V144
.530 I******###*
145
.193 I***
146
.782 I***************
147
.814 I***************
VI48
3.060 I***********************************************
149
.000 I
Рис. 3.5 (продолжение).
a
»pROCEDURE"CONNECT(P,N,GR) I "VALUE" N,P?
••INTEGER"N,P,GR?
••BEGIN""INTEGER"I,J,K,L,M,NO?"REAL"X,Y?
"INTEGER" "ARRAY" COOTE1..N3?
-IF" N(0 "THEN" M..»l "ELSE" M..=2?N..=ABS(N)?
"BEGIN"
"ARRAY"RAE1..N3,A,MI,MAE1..P3,I1E1..P,1..N3?
"INTEGER" "ARRAY" NPRE1..33,
B,Bl,KL,KL1E1..N3 ?"REAL" "PROCEDURE"MAXIM(A,L«P)?"ALGOL"?
"PROCEDURE" CHANGE(B,N.M)?"ALGOL"?
"PROCEDURE"MAPFR1(P.I.A.R) ?"ALGOL"?
"PROCEDURE"SORTING (R,B,N)?"ALGOL"?
"PROCEDURE"CLUST(RA.KL.N.P.I)?"ALGOL"?
"PROCEDURE"CCONNE(RA.KL.N.K)?"ALGOL"?
"FOR"J-.=1"STEP"1"UNTIL"N"DO"BEJ3..-J?
CHANGE(1,21.COOT)?
CHANGE(1,17.NPR)?
"IF"M=1"THEN""BEGIN"
CHANGE(1.9.Il)?CHANGE(1,7.MI)?
CHANGE(1.8.MA)?"END""ELSE""BEGIN"
CHANGE(1,1.Il)?CHANGE(1.11,MI)?
CHANGE(1,12.MA)?"END"?
L..="IF"P>20."THEN"4"ELSE"5?
NO..=1?"IF" GR>0 "THEN" NO..-L.-=GR?
GR..=0?
OUTPUT(61,"("3/,"("THE MAPPING OF MULTIDIMENSIONAL")", "(” SPACE ONTO NUMERICAL AXIS")"")")?
"FOR"I.,=1"STEP"1"UNTIL"P"DO"ACI3..-MAEI3-MIEI3?
X..=MAXIM(A,1,P)*0.000000001?
"FWI.. =NO"STEP" 1 "UNTIL "L "DO" "BEGIN "
"IF"I=1"THEN""BEGIN"
"FOR"J..=1"STEP"1"UNTIL"N"DO""BEGIN"
"FOR"K..=1"STEP"1"UNTIL"P"DO"
AEK3.. = (11 EK.J3-MIЕКЗ)/X ?
MAPFR1(P,I.A.RAEJ3)?
"END"?
SORTING(RA,В,N)?OUTPUT(61," ("2/,"("DIVISION 1")"")")?
OUTPUT(61,"("2/,-Z.5D,"(" fe ")",4ZB")",RAE13,COOTEBE133)?
"F0R"J..=2"STEP"l"UNTIL"N"D0""BEGIN"
"IF"RAEJ-l3"NOT EQUAL"RAEJ3"THEN"
0UTPUT(61,"("/,-Z.5D,"(" * ")"")",RAEJ3)?
OUTPUT(61,"("4ZB")",COOTEBEJ33)?
"END"?
CLUST(RA,KL,N,f*,I) ?
OUTPUT(61,"(”2/,"("CLASSIFICATION OF OBJECT")"")")?
"FOR"J..=1"STEP"1"UNTIL"MAXIM(KL,1,N)"DO""BEGIN"
OUTPUT(61,"("/,"("CLASS ")",3Z")",J>?
"FOR"M..=1"STEP"1"UNTIL"N"DO"
"IF"KLEM3-J"THEN"OUTPUT(61,"("-5Z")",COOTEBEM33> ?
"END"?"END""ELSE""BEGIN"
"FOR"J..=1"STEP"1"UNTIL"N"DO""BEGIN"
"FOR"K..=1"STEP"1"UNTIL"P“DO"
Рис. 3.9. Распечатки процедур выделения связных компонент СД CONNECT (a),CCONE (6),CLUST (в).
АЕКЗ..=(1-1/2**!)*(I1EK,J3-MIEK3)/X?
MAPFR1(P,I,A,RAEJ3)?
”END“?SORTING(RA,B1,N)?
CLUST(RA,KL1,N,P,I)$
"FOR"J..=1"STEP"1"UNTIL"N"DO""BEGIN"
"FOR"K..-1"STEP"1"UNTIL”P"DO"
ACK3..-<1-1/2**I)*(I1EK,J3-MIГКЗ)/Х+1/2**!?
MAPFR1(P,I,A,RAEJ3)?”END"?
SORTING(RA,B,N)?
CLUST(RA,KL,N,P,I)?
"FOR"J..=1"STEP"1"UNTIL"N"DO""BEGIN"
K..-BEJ3?RAEK3..=KLEJ3?"END"?
"FOR"J..=1"STEP"1"UNTIL"N"DO"
KLEJ3.,=RAEB1EJ33?
CCONNE(KL1,KL,N,K)?
OUTPUT(61, " ("Й/,"("DIVISION ")",2Z,
/,"("CLASSIFICATION OF OBJECT")"">",I); gr..=x?
"FOR"J. . =1"STEP"1"UNTIL"K"DO""BEGIN"
OUTPUT(61, " (*"/, " ("CLASS ") ",3Z") " , J) ?
"FOR” M..==l "STEP" 1 "UNTIL" N "DO”
"BEGIN"
KL1CB1CM33..-KLCN31
”IF"KLCM3=J"THEN"OUTPUT(61,"("-5Z")”,COOTEB1CM33)?”END”? "END”?"END"?
CHANGE(-1,15,KL1> ?"END"?
"END"?"END"
6
”PROCEDURE"CCONNE(A,B,N,KOL)?
"ARRAY”A,B?"INTEGER"N,KOL?
"BEGIN""INTEGER'lI,J,K?"REAL"R,S?"ARRAY"GPri..2003,Cri..N3?
"PROCEDURE" CHANGE(B,N,M> ?“ALGOL"?
"FOR"I..=1"STEP"i"UNTIL"N"DO"
CEI3..=0?
"FOR"I..==1"STEP"1"UNTIL"N"DO"
"IF"BCI3"NOT EQUAL"Ari3"AND"CEI3=0"THEN""BEGIN"
R..=AEI3?S..=BEI3?
”FOR"J..=1"STEP"1"UNTIL"N”DO"
"IF"BCJ3=S"AND"CEJ3=0"THEN""BEGIN"BCJ3..=R?CrJ3..=l"END"?
"END”?
"FOR"I..=1"STEP"1"UNTIL"N"DO""IF"BEI3"NOT EQUAL"AEI3
"THEN""BEGIN"R..=ACI3?S..=BCI3?
"FOR"J..»1"STEP"1"UNTIL"N"DO""IF"BrJ3=S"THEN"BCJ3..=R?"END GPE13..=BC13?K..=1?
”FOR"I..=2”STEP"l"UNTIL"N"D0""BEGIN"
"FOR"J..=1"STEP"1"UNTIL"K"DO""IF"GPEJ3=BEI3”THEN""GOTO"M1?
K.,=K*1?GPEK3..=BEI3?M1..”END”?KOL..=K?
”FOR"I..=l"STEP*,l"UNTIL"N"EiO"
"FOR"J..==1"STEP"1"UNTIL"K"DO""IF"BEI3=GPEJ3"THEN"BEI3..=J? "END"?
Рис. 3.9 (продолжение).
•'PROCEDURE "CLUST(AyKLtN#RZMуPOR)у
.. INTEGERS у RZM у POR 5 ” ARRAYMA у KL ?
•.BEGIN*,HARRAY,4NClwwN3r,iNTEGER*,NKyGyIyJyKyLyMyMREAL,,SyPyR,a?
••PROCEDURE " CHANGE (В у N у M> у "ALGOL ° 9
L „=2**(RZM*(POR-1>)9
”FORHI- .=l,,STEP,,l,,UNTILuN,,DO,M,BEGINnKLri3w .=09
INCI3- .= (ACI3-2** (- (RZM*POR+1> ) > *L*2**RZM? "END"?
NK..«l?KtC13;.»l?
••FOR"I-.»1MSTEP"1"UNTIL”N"DO"
INCП-RENTIER(INC13+0.1) 9
••FORHI •--2"STEP"l"UNTIL"N"D0""BEGIN"
••IF"INCI3-INCI-13"THEN""BEGIN"KLCI3W,-KLCI-13y"GOTO"MS?"END"?
••IFHINCIJ-INCI-ll«lnTHENMKLCIJ--«KLCI-13?
jww=I5Kww=ENTIER(ACI3*L>?
•'FOR,,Jww«J-1,,UHILE,?J>0;;AND,,ENTIER(ACJ3*L>=K::DO,,,,BEGINh Q.#«(INCI3-INLJ3-1>/2?,,IF,,Q«0hTHEN,,,,GOTO,,M1?
M. „-19Р.w-(INCIJ+INCJ3+l>/2?
GW.«P$
*‘FORhMm w=M*2,,UHILE,,G/M»G//N,,D0l,
••IF,,G<MMTHEN,M,GOTO,,M1 9
"GOTO*^?
Ml.w*,IF,,KLCIJ=0HTHEN,,,,BEGINHKLCI3w.==KLCJ3r,GOTO,,M2?,,ENDn?
••ifmklci3»klcjjmthenhmgoto”M2;m..«i;
*•FOR,,MW.=M-1MUHILEUM>0HANDHENTIER(ACMJ*L>=K,,DO,,
'• IFHKLCM3=KLC13HTHENHKLCM3..~KLC J3 9
KLCI3.И=KLCJ39М2..MENDH?
"IFi,KLCI3=0,,THENm,,BEGIN’,NKh .-NK+1 ?KLCI3- ^NKr’END”?
M5.,UEND,4
М3» .“END^LUSTy
Рис. 3.9 (продолжение).
’ з в. в. Александров, Н. Д. Горский
THE MAPPING OF MULTIDIMENSIONAL SPACE ONTO NUMERICAL AXIS
DIVISION 3 CLASSIFICATION OF OBJECT
CLASS
1
42
37
32
29
28
21
25
50
48
46
44
43
41
40
39
38
36
35
31
30
27
26
24
23
- 18
14
13
12
10
9
8
7
5
4
3
2
1
47
22
20
49
34
33
19
17
16
15
11
6
45
CLASS
97
96
89
65
62
80100
95
93
90
83
82
81
70
68
60
54
99
94
61
58
72
63
98
75
132
118
136
1
123
119
130
53
51
92
87
86
79
78
76
66
64
59
57
52
135
134
j
L20
88
84
77
74
73
69
55
91
56
85
67
107
150
71
143
122
115
j
114
102
147
127
124
133
129
112
109
149
145
144
141
138
137
125
117
116' j
113
105
104
101
148
14*6
139
128
111
142
140
126
121
103
110
108
106
131
DIVISION 4
CLASSIFICATION OF (
3BJECT
CLASS
1
42
CLASS
2
37
CLASS
3
40
32
29
28
21
18
1
24
25
48
7
44
50
30
27
12
8
46
35
31
26
13
10
9
4
39
14
41
36
3
43
23
38
5
16
15
17
19
49
47
22
20
11
6
33
-
34
45
CLASS
4
100
89
65
90
54
93
83
81
70
68
82
80
60
72
66
87
77
53
51
57
59
55
76
75
52
86
98
79
62
74
92
64
134
84
135
120
69
88
73
91
95
96
97
67
56
85
122
145
114
102
124
147
112
150
133
129
138
117
104
148
111
137
116
149
71
139
128
127
125
121
78
141
140
5
113
146
142
145
101
105
144
CLASS
5
99
61
94
58
CLASS
6
63
CLASS
7
132
CLASS
8
118
CLASS
9
123
106119
CLASS
10
136
130
108
131
103
126
CLASS
11
107
CLASS
12
115
CLASS
13
110
CLASS
14
109
Рис. 3.10. Пример работы процедуры CONNECT.
I I
*п и
I
*****1 £
I
********I£
I
****1 £
I
****1 £
I
****J £
I
* *****I £
I
********** ****J £
** * ** * *** *** * I £ ****** * * * ** ** 1 £ ** *** ***** *****I£
* *************1 £
X*****Х*****J£
X*ХУ*J£
I
I
I
I
I
I
I
**WWW** . W J £
I
*********I £
******Х*****J
**X******W***l£
X*Х***W*J £
*** *********j£
** W*W*****J £
X X** W*J £
WX*W* W*J £
W************J £
**X****J £
*****J £
W*******J £
**********J £
***I £
4
I
I
I
I
I
I
I
I
I
I
I
I
I I I*
Рис. 3.11. Пример анализа связности изображения при помощи процедуры CONNECT.
"PROCEDURE" TIPI (FyHyKLyUyNKLyVAR) ?
••VALUE” НуUyVAR?"INTEGER" HyNKLy VAR? "REAL" U? "ARRAY" Fy KL?
••BEGIN” “INTEGER” Ку I уJyXyMAyTyIJ?"REAL" TCySTEySyXM? ••ARRAY” FMC1..H3?"REAL" REyR2?
“INTEGER” "ARRAY" COOTCI -.H3? "REAL” "PROCEDURE" MIN(NyM)? "ALGOL"?
••REAL" "PROCEDURE” MINIM(UyJyK)? "ALGOL”?
••REAL" "PROCEDURE” MAXIM(UyJyK)? ’’ALGOL”?
’•REAL" "PROCEDURE” MAX(NyM)?
••ALGOL?’? .
’’REAL” ’’PROCEDURE” FCHI2(ХуКуЕуЕ)?
’’ALGOL”?
"PROCEDURE" CHANGE(ByNyM)?"ALGOL"?
CHANGE Цу 21 у COOT)? "IF” VARWARbl "THEN” OUTPUT(61 у”(” ”(” SCALE OF NAMES")””)”)?”IF” VAR*VAR«4 "THEN" 0UTPUT(61y”(""(" SCALE OF ORDER”)"”)")?
"IF” VAR*VAR=9 "THEN" OUTPUT (61 у ” (" ”(” QUANTITATIVE SCALE”)””)”)?
’•FOR” I..«l "STEP” 1 "UNTIL” H "DO" FMCI3..«FC13 ? К . .«ENTIER(3.0*SQRT(H))? ”IF” H>300 ’’THEN” K..«K//2?
IJ..«ENTIER(H**0.33/2)?”IF” IJ<2 “THEN” IJ..«2?
"IF" ABS(VAR)"NOT EQUAL”3 ’’THEN” K. .«ENTIER (MAXIM (Fyl уН) ) M100-. "BEGIN" "INTEGER” "ARRAY” PCI-IJ,-K*I J3?
“ARRAY" PGLE1-IJ..K+IJJ?
"FOR" J..=1-1J "STEP" 1 "UNTIL" K*IJ "DO" "BEGIN" PCJ3..«0? POLEJ3„.=0.0? "END"?
S..= (9+VAR)/3?XM..«MINIM(FylyH)?STE..«MAXIM(Fy1 уH)-XM? "IF" STE<0.1"~6 "THEN" 5ТЕ,.=0Л"-6?
RE.,=XM?R2..=STE? "IF" ABS(VAR)«2"AND"STE*l“N0T GREATER"4 "THEN" "BEGIN" VAR..«SIGN(VAR)?"E^D”? "IF" ABS(VAR)«3 "THEN" "BEGIN" "FOR" J..«l “STEP" 1 "UNTIL" H "DO" FCJ3..«1*(FCJ3-XM)*(K-l)/STE? "FOR" I..«1-IJ "STEP" 1 "UNTIL" K+IJ "DO" "FOR" J..«l "STEP" 1 "UNTIL” H ”DO” ’’BEGIN” ”IF” ABS(FCJJ-I) >S ’’THEN” TC..«0 "ELSE” TC..« (COS(0.5*3.14159265*(FCJ3-I)/S))**2 ?
PGLC13. ,«POLL 13+TC/S? ’’END” ? "END” ?
MA..«0?"FOR” I..«l "STEP” 1 "UNTIL” H "DO" "BEGIN" X..«ENTIER(0.5+FCI3)?PCX3..«PCX3+1?
FCI3..«X?
"IF" PCX3>MA "THEN" MA..«PCX3?
"IF" ABS(VAR)«1 "THEN" "BEGIN" NKL..«ENTIER(XM*STE)? "FOR" I..«l "STEP" 1 "UNTIL" H "DO" KLCI3..«FCI3?
"GO TO" OUT? "END"? "IF" ABS(VAR)«2 "THEN" "BEGIN"
Рис. 3.14. Распечатка процедуры TIPI .1
“IF" SIGN(VAR)=-l "THEN” "BEGIN" pGLEX3..»PGLEX3*0.6?PGLEX*13..«PGLEX*134-0.2? pGLEX-13..-PGLEX-l3*0.2?"END" “ELSE" "BEGIN" PGLEX3..=PGLEXJ*0.34?
PGLEX*13..=РОЕЕХ*13*0.25?РОЕ.ЕХ-13..-PGLEX-13*0.25?
PGLEX*23. .=PGLEX*2J*0.08?PGLEX-23..«PGLEX-23*0.08?"END"? “END"?
OBX.."END"?TC..»0?S..«0?XM..=0?
"FOR" I..«l "STEP" 1 "UNTIL" К "DO" "BEGIN" TC« . =ТОРГ I3*1?S..»S*PEI3*1*1 ? "END" ? тс..«tc/h?s..«s/h-tc*tc?
"FOR" I.. = l "STEP" 1 "UNTIL" К "DO" "BEGIN"
STE..=H*EXP(-0.5*(I-TO**2/S>/SORT(2*3.14159265*S)? "IF" STE"NOT GREATER"0.1"-7 "THEN" STE..»0.1"-7?
XM.-=XM*(PEI3-STE>**2x"END"? "IF" FCHI2(XMxK—2x0.001xFIN)>0.01 "THEN" "BEGIN" NKL..«-1? OUTPUT(61x"("/x"("THE DISTRIBUTION")"x “("OF THE SCALE IS APPROXIMATELY GAUSSIAN")"")")I "END"? "IF" (K*MA*1>>10000 "THEN" "BEGIN" K.RENTIER(0.7*K>?"GOTO" M100?"END"? "BEGIN" "INTEGER" "ARRAY" PLOTE1..Kx0.-MA3? "IF" U<-0.01 "THEN" "BEGIN" U..--U?"GOTO" CH?"END"? "FOR" I..=l "STEP" 1 "UNTIL" К "DO" "FOR" J..=0 "STEP" 1 "UNTIL" MA "DO" PLOTEIxJ3..«0? "FOR" I..=l "STEP" 1 "UNTIL" H "DO" "BEGIN" KLEI3..»0?X..«FEI3? "FOR" J.. = l "STEP" 1 "UNTIL" MA "DO" "IF" PLOTEXxJ3=0 "THEN" "BEGIN" PLOTEXxJJ..-I?
PLOTEXx03..=J? "GO TO" LI? “END" ФОРМ. PLOT?
LI.. "END" I?
XM..-RExSTE..-R2?0UTPUT(61x"(n/x"("MINIMUM ")"x-.4D"*D")"x XM) ?
X..=MAX(MAxENTIER(MAXIM(PGLxl-IJxK*IJ))*l) ? "FOR" I..«l "STEP" 1 "UNTIL" К "DO" "BEGIN" OUTPUT(61x"("/x3Zx"(" * ")"")"xPLOTEIx03)? "FOR" J..^l "STEP" 1 "UNTIL" X "DO" "BEGIN" "IF" PGLEI3>J"AND"PGLEI3(J+1"AND"J<29"THEN" OUTPUT(61x"(" И^И^Н^ПН^П) - "IF" J"NOT GREATER"MA "THEN" "BEGIN" "IF" PLOTEIxJ3"NOT EOUAL"0 "THEN" OUTPUT(61x"("42")" xCOOTEPLOTEIxJ33)?
"IF" PLOTEIxJ3=0"AND"J<30 "THEN" OUTPUT(61x"("4B")">?"END"? "END"?
I 2РМРПЯ Pl ПТ $
OUTPUT(61x"("/x"("MAXIMUM ")"x-.4D"+D">"xXM+STE>?
CH.. "IF" ABS(U)<0.01 "THEN" "GO TO" FIN?
"IF" ABS(VAR)=1 "THEN" "GO TO" FIN?
"IF" NKL«-1 "THEN""GO TO" FIN?
NKL..»1?T..«2?MA..«0?
"FOR" I..«l "STEP" 1 "UNTIL" К "DO" "BEGIN" "IF" SIGN(UAR>=-1 "THEN" "BEGIN" S..»0.0?
"FOR" J..»MAX(l-IJxI-T*IJ> "STEP" 1 "UNTIL"
Рис. 3.14 (продолжение).
MIN<K*IJyI*T#IJ) "DO" S..«S*PGLEJ3*<(IJ*T*1>-ABS<I-J)>/<T*IJ*1)*#2? S..«U*0-6* <3*2/<1*S*K/H))?
"IF" S<1 "THEN11 S,.=i;
"IF"PGLEI3"N0T LESS"S"THEN""GOTO"M1 "ELSE,r"G0T0"M2? "END*19
"IF"VAR>0"THEN"VAR..»2?"IF"VAR«2"THEN""BEGIN" "IF"PGLEI3<PGLEI~13"AND"PGLEI3"NOT GREATER"PGLEI*13 "THEN” "G0T0"M2 ? "END" ?
Ml..MA..==l?"FOR"J..==l"STEP"l"UNTIL"PLOTEIy03"DO" "BEGIN"X..«PLOTEIуJ3 ?KLEX3..«NKL?"END"J? "GOTO"M3?
М2.»"IF"MA«1"THEN""BEGIN"
"IF"VAR«2"THEN""FOR"J..«l"STEP"l"UNTIL"PLOTEIy03"DO" "BEGIN"X..«RLOTEI9J3 9KLEXJ..«NKL 9"END"9 NKL..«NKL*19HA..=09 VEND"9 М3.."IF"I«K"AND"MA«0"THEN"NKL..«NKL-l9"END"I9 "END"?
OUT.."IF"V^R<0"THEN"OUTPUT<61f"<"2/r "<"SCALE DIVISION")"">"> "ELSE" OUTPUT<61 у"<" 2/r"<"TIPICAL OBJECTS FOR CLASSES")"")")9 "FOR"K.«1"STEP"1"UNTIL"NKL"DO""BEGIN" OUTPUT<61r"<"/9"<" CLASS")"9-2Z95B")"91)9 "FOR"J.,«1"STEP"1 "UNTIL"H"DO" "IF"KLEJJ«I"THEN"OUTPUT<61y"<"4Z")"yCOOTEJ3>?"END"OUT? "END"? FIN.."FOR"I..«1"STEP"1 "UNTIL"H"DO" FEI3..«FMEI3?"END"?
Рис. 3.14 (продолжение).
“PROCEDURE"PERES(HtКОС,KL1»KOLKf Q) f “MALUE"KOCfHfQ?"INTEGER"QfHfKOCf “ARRAY"KL1fKOLK?
“BEGIN""INTEGER"NOf
“INTEGER" "ARRAY" COOTCI„.ИЗ 8
“PROCEDURE" CHANGE(BfNfM) f"ALGOL"?
“PROCEDURE"PER2(HfN0fKOLKfKLIfQ)? »UALUE"HfNOfO?"INTEGER"QfHfNO?
“ARRAY"KOLKfKLI? “BEGIN""INTEGER""ARRAY"OBCHfKL£1.,H3? “INTEGER"!fJfNACHfNKIfNK2fKfGR?
“PROCEDURE" CHANGE(BfNfM)8"ALGOL"?
OUTPUT(61f"("2/f"("FOR") " f 2Z f " ( " FEATURES") " "> " f NO) ? "FOR"J..»1"STEP"1"UNTIL"H"DO"KL£J3..«0?
NACH..«GR..«NKl..«1?
Cl-."FOR"J.*«1"STEP"1"UNTIL"H"DO" OBCH£J3..»1?NK2..«1?
C3. . I..«0?
“FOR"K.W=1"STEP"1"UNTIL"H"DO"
"IF"(KL1£1fK3«NK1)"AND"(KL1£NOfK3«NK2)"AND"(OBCH£K3«1)"THEN" I..«I*1"ELSE"OBCH£K3..«0?
"IF"I"NOT GREATER"Q"THEN""GO T0"C2"ELSE""G0 TO" C4$ C2..NK2..-NK2*1f "IF"NK2"N0T GREATER"KOLKCNO3"THEN""BEGIN""FOR"J..»1"STEP"1 "UNTIL"H"DO"OBCHCJ3..«1?"GO T0"C3?"END"?
C5.. NK1..«NK1*1? "IF"NK1>KOLKC13"THEN""GO TO"KONf "GO TO"C1f C4.. 0UTPUT<61f"(”/f2Zf"<" GROUP")"">"fGR>?K..«0? "FOR"J..«1"STEP"1"UNTIL"H"DO" "IF"OBCHCJ3=1"THEN""BEGIN"KLCJ3..=GRf 0UTPUT<61f"<"4Z")"fC00TCJ3)?"END"I GR..=GR*1?"GO T0"C2?
KON.."FOR"J..^1"STEP"1"UNTIL"H"DO" KL1£1f J3..«KL £J3f KOLKC13..«GR-1У CHANGE(-IfISfKL)?
"END"PER2f
CHANGE<1f21fCOOT)?
OUTPUT(61f"<"3/f"("EXTRACTING OF GROUPING OF OBJECTS")"f "(" WITH SIMILAR PRO")"f "("PERTIES :")"f/f "("(GROUPSf CONTAINING MORE")"f "(" THEN ")"f2Zf"(" OBJECTS ARE CONSIDERED)")"")"fO>?
"FOR"NO. .«2"STEP"l"UNTIL,,K0C"D0"
PER2(HfNOfKOLKfKLIfQ)?
"END"
Рис. 3.15. Распечатка процедуры PERES.
FEATURE NUMBER 1 (
QUANTITATIVE SCALE
MINIMUM •4300н*1
1 **14
3 **93943
1 *42*
4 *4*723
2 *330*
4 *121325
7 *21035
10 *5826
48
31*
38 46* /58 107
27 36 41* 44 50 61 94
9 *11820
4 *282933
1 *49
6 *61117
7 *34.3754
6 *65‘*6770
8 *161956
7 *156883
3 *62; 71 150
6 *637984
10 *646972
22 24* 40 45 47 99 60*
*
21* 32 85
81 82* 90 91
89 95* 122
80 $6* 97 100 114
93 102* 115 143
* 86* 120 139 74 92* 98 127 128 135 149
9*577388101 104*124134 137 147
7*5275112116 129*133138
5*55105111117* 148
2*5976*
8 *6678 87* 109 125 141 145 146
3 *77113 144*
4 *53121* 140 142
1 *51*
1 * 103*
3 * * 110 126 130
1 * * 108
1 * * 131 * *
1 * * 106
4 * * 118 119 123 136
1 * 132
MAXIMUM /7900м*1
TIPICAL OBJECTS FOR CLASSES
CLASS
1
1
3
4
5
7
8
9
10
12
13 14
18
20 22
23
24
25
26
27
28
29
30
31
33 35
36
38 39
40
41
42
43
44
45
46
47
48
49 50
58
60 61
94
99
107
CLASS
2
6
11
15
16
17
19
21
32
34
37
54 56
62
63 65
67
68
70
71
79
80
81
82
83
84 85
86
89 90
91
93
95
96
97
100
102
114
115
120 122
139
143 150
CLASS
3
51
52
53
55
57
59
64
66
69
72
73 74
75
76 77
78
87
88
92
98
101
103
104
105
108 109
110
111 112
113
116
117
121
124
125
126
127
128
129 130
131
133 134
135
137
138
140
141
142
144
145
146
147 148
149
CLASS
4
106
118
119
123
132
136
Рис. 3.16. Пример работы процедуры TIPI.
FEATURE NUMBER 2 QUANTITATIVE SCAI
LE
MINIMUM .2000-+1
1 *61
*
* *
3 * * 63 69 120
4 *42*548894
**
3 *5881*82
8 *7073*9099107 109 114
**
5 *80 91 93 119* 135
9 *60 68 83 84 95* 102 1.12
**
147
124 143
14 *5556727477 100 115*
10 *959646575 79 97
*
122 123
98 104*
127
108 *
129
131
133 134
26 *2 13 14 26 39 46 62
96 103 105 106 113 117 128 130 136 :
67 76 78* 85
139 146 148 150
89
92
11 *4 10 31 35 53 66 87 :
138 140*
141
142
13 *3 30 36 43 48 51 52*
**
6 *24 50 57 101 125* 145
71 111
116
121
126
144
12 *78122125*27 29
**
6 *11828*374144
4 *523*38110
**
3 *11*2249
6 *19*204547118132
**
2**617
1**15
*
1 *33
1 *34
1 *16
32 40
86
137
149
MAXIMUM ,4400п*1
TIPICAL OBJECTS FOR CLASSES
:4
S
i 6
.789 10
CLASS
t 1
1
23
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Рис. 3.17. Пример работы процедуры TIP1.
FEATURE NUMBER
3 QUANTITATIVE SCALE
MINIMUM .1000°
+1
1
*
23
*
3
*
14
15
36
*
20
*
1
2
3
5
7
9
13
17
18*
29
34
37
38
39
41
42
43
46
48
50
13
*
4
8
10
11
16
20
22
28
32*
33
35
40
49
11
*
6
12
19
21
24
26
27*
30
31
44
47
*
25
45
*
*
*
*
*
*
1
*
99
*
*
2
*
* 58 J 94
3
*
61*
65
80
1
*
82
*
4
*
60;
70
81*
83
8
*
54
63
68
72*
89
90
93
100
4
*
62
95
96
97
*
6
*
66
75
76
88
91*
98
11
*
52
55
56
59
67
69*
79
85
86
92
107
5
*
51
57
64
74
87
*
9
*
53
71
73
77 1
22 :
124*
127
128
139
12
*
78
84
102
111 1
.14 115*
120
134
142
143
147
150
*
146
148
*
4
*
112
116
140
149*
9
*
104
113
117
129*
133
135
137
138
141
6
*
105
109
121*
125
130
145
2
*
103
144
*
5
*
101
110*
126
131
136
1
*
108*
1
*
* 132
1
*
* 106
2
*
* 118
123
1
*
119
MAXIMUM .6900п*1
TIPICAL OBJECTS TOR Lt ASSES
CLASS
1
1
2
13
:4
6
78
I 9
’ 10
11
12
13
14
15
1x6
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
4x6
47
48
49
50
CLASS
2
51
52
53
: 54
55
56
7 58
i 59
60
61
62
63
64
65
6x6
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
9x6
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
.120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Рис. 3.18. Пример работы процедуры TIPI.
TIPICAL OBJECTS FOR CLASSES
CLASS
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
CLASS
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
107
120
130
134
135
CLASS
3
71
101
102
103
104
105
106
108
109
110
111
112
113
114
115
116
117
118
119
121
122
123
124
125
126
127
128
129
131
132
133
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
FEATURE NUMBER 4 QUANTITATIVE SCALEFEATURE NUMBER 4 QUANTITATIVE SCALEMINIMUM Л000"*0 5 *10 13 1429 *12326 28 29 30 31 50* 7 *7 18 197 *6 16 17**1 * * 241 *44* * * *7 *58* 61 63**3 *70 81* 995 *748391*13 *545659* 8 *51606412 *525355* 4 *578486*2 *78107***12 *71104108*5 *102112131***6 * 111 114* 122 6 * 103 106* 113**3 * 105 118* 133 8 * 116 119* 121**3 *115*1371413 **101110145MAXIMUM .2500”*1MINIMUM Л000"*0 5 *10 13 1429 *12326 28 29 30 31 50* 7 *7 18 197 *6 16 17**1 * * 241 *44* * * *7 *58* 61 63**3 *70 81* 995 *748391*13 *545659* 8 *51606412 *525355* 4 *578486*2 *78107***12 *71104108*5 *102112131***6 * 111 114* 122 6 * 103 106* 113**3 * 105 118* 133 8 * 116 119* 121**3 *115*1371413 **101110145MAXIMUM .2500”*133 38* 458911*3435363739*20414246*22* 27 32 4533 38* 458911*3435363739*20414246*22* 27 32 4568 80 82 9468 80 82 9493 96 65* 72 75 88 89*66 76* 77 92 13562 67* 69 73 79*13093 96 65* 72 75 88 89*66 76* 77 92 13562 67* 69 73 79*130109 117 124 126 127143 147123 132 148125 129 140109 117 124 126 127143 147123 132 148125 129 140136 142 144 146 149136 142 144 146 14912 15 21 23 2540 43 47 48 4912 15 21 23 2540 43 47 48 4990 95 97 98 10085 87 120 134128 138 139 15090 95 97 98 10085 87 120 134128 138 139 150
FEATURE NUMBER 4 QUANTITATIVE SCALE
FEATURE NUMBER 4 QUANTITATIVE SCALE
MINIMUM Л000"*0 5 *10 13 14
29 *123
26 28 29 30 31 50
* 7 *7 18 19
7 *6 16 17
**
1 * * 24
1 *44
* * * *
7 *58* 61 63
**
3 *70 81* 99
5 *748391*
13 *545659
* 8 *516064
12 *525355
* 4 *578486*
2 *78107*
**
12 *71104108*
5 *102112131*
**
6 * 111 114* 122 6 * 103 106* 113
**
3 * 105 118* 133 8 * 116 119* 121
**
3 *115*137141
3 **101110145
MAXIMUM .2500”*1
MINIMUM Л000"*0 5 *10 13 14
29 *123
26 28 29 30 31 50
* 7 *7 18 19
7 *6 16 17
**
1 * * 24
1 *44
* * * *
7 *58* 61 63
**
3 *70 81* 99
5 *748391*
13 *545659
* 8 *516064
12 *525355
* 4 *578486*
2 *78107*
**
12 *71104108*
5 *102112131*
**
6 * 111 114* 122 6 * 103 106* 113
**
3 * 105 118* 133 8 * 116 119* 121
**
3 *115*137141
3 **101110145
MAXIMUM .2500”*1
33 38* 458911*
3435363739
*
20414246*
22* 27 32 45
33 38* 458911*
3435363739
*
20414246*
22* 27 32 45
68 80 82 94
68 80 82 94
93 96 65* 72 75 88 89
*
66 76* 77 92 135
62 67* 69 73 79
*
130
93 96 65* 72 75 88 89
*
66 76* 77 92 135
62 67* 69 73 79
*
130
109 117 124 126 127
143 147
123 132 148
125 129 140
109 117 124 126 127
143 147
123 132 148
125 129 140
136 142 144 146 149
136 142 144 146 149
12 15 21 23 25
40 43 47 48 49
12 15 21 23 25
40 43 47 48 49
90 95 97 98 100
85 87 120 134
128 138 139 150
90 95 97 98 100
85 87 120 134
128 138 139 150
Рис. 3.19. Пример работы процедуры TIPI.
EXTRACTING OF GROUPING OF OBJECTS WITH SIMILAR PROPERTIES 8 (GROUPS» CONTAINING MORE THEN 15 OBJECTS ARE CONSIDERED)
FOR 2 FEATURES
1 GROUP
1
2
3
4
5
7
8
9
10
12
13
14
18 20
22
23
24
25
26
27
28
29
30
31
33
35
36 38
39
40
41
42
43
44
45
46
47
48
49
50
58 60
61
94
99
107
2 GROUP
6
11
15
16
17
19
21
32
34
37
54
56
62 63
65
67
68
70
71
79
80
81
82
83
84
85
86 89
90
91
93
95
96
97
100
102
114
115
120
122
139 143
150
3 GROUP
51
52
53
55
57
59
64
66
69
72
73
74
75 76
77
78
87
88
92
98
101
103
104
105
108
109
110 111
hl2
113
116
117
121
124
125
126
127
128
129
130
131 133
134
135
137
138
140
141
142
144
145
146
147
148
149
FOR 3 FEATURES
1 GROUP
12
3
4
5
7
8
9
10
12
13
14
18 20
22 23
24
25
26
27
28
29
30
31
33
35
36 38
39 40
41
42
43
44
45*
46
47
48
49
50
2 GROUP
54 56
62
63
65
67
68
70
71
79
80
81
82 83
84 85
86
89
90
91
93
95
*96
97
100
102
114 115
120 122
139
143
150
3 GROUP
5152
53
55
57
59
64
66
69
72
73
74
75 76
77 78
87
88
92
98
101
103
104
105
108
109
110 ill
112 113
116
117
121
124
125
126
127
128
129
130
131 133
134 135
137
138
140
141
142
144
145
146
147
148
149
FOR 4 FEATURES
1 GROUP
1' 2
3
4
5
7
8
9
10
12
13
14
18 20
22 23
24
25
26
27
28
29
30
31
33
35
36 38
39 40
41
42
43
44
45
46
47
48
49
50
2 GROUP
54 56
62
63
65
67
68
70
79
80
81
82
83 84
85 86
89
90
91
93
95
96
97
100
120
3 GROUP
51 52
53
55
57
59
64
66
69
72
73
74
75 76
77 78
87
88
92
98
130
134
135
4 GROUP
101 103
104
105
108
109
110
111
112
113
116
117
121 124
125 126
127
128
129
131
133
137
138
140
141
142
144 145
146 147
148
149
Рис. 3.20. Пример работы процедуры PERES.
"PROCEDURE"RECHKA (Hr NPARrKOLKr VARrF) ?
UVALUEHH r NPAR r KOLK r VAR r F ? " INTEGER"H r NPAR r KOLK r VAR r F r "BEGIN""INTEGER"Ir JfKfLfPPVREALVArPAfPO?
"ARRAY" 11E1. . NPAR r1..HJ rINE1.. NPAR r 1. . NPAR J r CPE1.. KOLK J ?
•"INTEGER" "ARRAY"KLE1. .H3rF2El - .KOLKJ?
"INTEGER" "ARRAY" COOTCI..Ю?
"PROCEDURE" CHANGE(BrNrM> r"ALGOL"?
"ВЕО1Ц" "INTEGER" "ARRAY"H1E1..3J? "ARRAY" RS rBE1..NPARJr Al E1. . Ю ?
"REAL"ArFFrFU?
"PROCEDURE" INVERTS(IrNrHrAL)?
"ALGOL"? "REAL" "PROCEDURE" MINIM(UrHrK)r "ALGOL"?
"REAL" "PROCEDURE" MAXIM(UrHrK)?
"ALGOL"?
"REAL" ?'PROteDURE"RASST (VAR rNPARr I r Jr IN r 11) ?
"INTEGER"VARrNPARrIrJ?"ARRAY"INrII?
"BEGIN" " INTEGERS r L r M ? "REAL"S ? "ARRAY "P El.. NPAR J ?
S.*«0.0?A.--PF,.«FU,.«0?
"IF"VAR«0"THEN""BEGIN"
"FOR"K..«H1E3J+H1E2JM"STEP"1"UNTIL"NPAR"DO" "IF"IlEKr JJ"NOT EQUAL"IlСКrIJ"THEN"A..»A*BEKJ? "FOR"K..«:H1E3J-M"STEP"1"UNTIL"H1E3'3+H1E2J"DO" A. .«A*ABS(IlEKrJJ-IlEKrJJ)*BEKJ*1.73ZRSEK:i?
"FOR"K..«1"STEP"1"UNTIL"H1E33"DO"
S.»«S+((IlEKrJJ-IlEKrIJ)*BEKJ/RSEKJ)**2?
S..«SORT(S)*3.0?
"GO TO"FORMA?"END"?
"IF"VAR-1"THEN""BEGIN"
"FOR"K..=1"STEP"1"IMTIL"NPAR"DO"
"IF"IlEKrJJ"NOT EQUAL"IlEKrIJ "THEN" S..«S+BEKJ?
"GO TO"FORMA?"END"?
"IF"VAR«2"THEN""BEGIN"
"FOR"K..=1"STEP"1"UNTIL"NPAR"DO"
S..«S+ABS(11EKrIJ-11EKr JJ)«BEKJ/RSCK3? "GO TO"FORMA?"END"?
"IF"VAR«3"THEN""BEGIN"
"FOR"K..=1"STEP"1"UNTIL"NPAR"DO"
S..»S*CIlCKrJ3-IlCKrIJ)**2? "GO TO"FORMA?"END"?
"IF"VAR«5"THEN""BEGIN"
"FOR"L..«1"STEP"1"UNTIL"NPAR"DO" "BEGIN"PELJ..=0*0?
"FOR"K..=1"STEP"1"UNTIL"NPAR"DO" PCLJ..=PEL:HIlEIrKJ*INEKrLJ?"ENn"?
"FOR"K..=1"STEP"1"UNTIL"NPAR"DO" S..«S-<-PEKJ*IlCJrKJ?S..«SQRT(S) ? "GO TO"FORMA?"END"?
FORMA..RASST..«Sr"END"RASST?
PP..«VAR ? VAR..«ABS(VAR)?
"IF"KOLK"NOT GREATER"!"THEN""GO TO"STOP?
CHANGE(1rlrII)?CHANGE(Ir21rCOOT)?CHANGE(1r15rKL>?
Рис. 3.21. Распечатка процедуры RECHKA.
”IF”VAR«0”THEN” "BEGIN” CHANGE (1 fl 7» HI) $
"END”?
CHANGE(1f14fB>?
"IF”VAR«5"THEN”"BEGIN” CHANGE<1f2fIN)? INVERT2(INfNPARf0.0001fALA) ?
ALA**”END”?
”IF” PP<0 "THEN” ”G0 TO” ALAI5
OUTPUT(61f”(”2/f”("PROCEDURE”)"f
"(” FOR PATTERN RECOGNITION”)"f
/”)”)?
"IF"VAR«l”0R”VAR«2”THEN”0UTPUT(61f”(“”("HEMMING")"")”)? OUTPUT(61f"(”»”)”)?
”IF"VAR«1"THEN"OUTPUT(61f"(""("FOR SCALE OF NAMES”)"”)")I "IF”VAR«2”THEN"0UTPUT(61f"(""("FOR SCALE OF ORDER")"”)")? "IF"VAR«3"THEN"0UTPUT<61f"(””("EUCLEAD")”")")?
"IF"VAR«5^THEN"OUTPU7(61f" (”"("MAHALANOBIS")"")”)?
OUTPUT (61 r'!(""(” DISTANCE")"")") ?
OUTPUT(61f"("10Br"("VARIANT")"")")?
"IF"F«2"THEN"0UTPUT(61f" (••••<•• MEAN CONNECTION") "") ") ?
"IF"F«1"THEN”OUTPUT (61 f " ("" (" NEAREST NEIGHBOUR") "") ") ? "IF"F=3"THEN"0UTPUT(61f”(""(" FURTHEST NEIGHBOUR")"")")? OUTPUT(61f"("2/f"("TRAINING SETS")"")”)f
”FOR"I*.«1"STEP"1"UNTIL"KOLK"DO”"BEGIN”
OUTPUT<61r"(”/f2Zf"(” CLASS”)"”>”fI)?
"FOR”J,.=1"STEP"1"UNTIL"H"DO”
”IFMKLEJ3«I”THEN”OUTPUT(61f”(”-5Z”)”fCOOTEJ3>?"END"?
OUTPUT(61f"("2/f
"("FINAL CLASSIFICATION")"f/")")?
AL.A1 * *
"FOR"I,,=1"STEP"1"UNTIL"NPAR"DO""BEGIN"
"FOR"J*.=1"STEP”!"UNTIL”H”DO”A1ГJJ*.«IICIfJJ?
RSCI3*.«MAXIM(Alf1fH)-MINIM(Alr1fH)?"END”?
”FOR”I..«1”STEP”1"UNTIL”H”DO””IF"KLCIJ«0”THEN” "BEGIN””FOR”J,.«1"STEP”1”UNTIL”KOLK”DO””BEGIN” F2EJ3..«0?CPCJj..«”IF"F«1”THEN”0.1”+l1"E1.SE”0.0?”END”? "FOR”J..«1"STEP”1"UNTIL”H"DO"
”IF"KLCJJ>0”AND”J”NOT EQUAL”!"THEN”
”BEGIN”PA..«RASST(VARfNPARfIfJfINfII)?
L..«KLCJJ?”IF”F«2"THEN"”BEGIN”
CPCLJ. .«(F2ELJ*CPrL3*PA)/(F2EL3-»-l) ?
F2EL3..«F2CL3*1?”END”?
”IF”F«1”AND”PA<CPEL3”THEN”CPEL3..«PA?
”IF”F«3”AND”PA>CPEL3"THENI,CPEL3..»PA?"END"?
A..«0.1”*11?”FOR”K..=1"STEP”1”UNTIL”KOLK”DO”
"IF"CPEK3<A”THEN,,”BEGIN"
AW.«CPEKJ?KLEI3..«K?”END”?”END”?
STOP.."END”?
"IF” PP<0 "THEN” ”60 TO” ALA2?
0U7PUT(61f”(”/")”)?
”FOR”I..«1”STEP”1”UNTIL"H”DO””BEGIN"
"IF” KLEI3>0 ”THEN”
OUTPUT(61f”("5Zf"(”--")”f3Zf”(”?”)"”)"fCOOTEIJfKLEIJ)?
”END”?ALA2.. CHANGE(-1f16fKL)?"END”?
Рис. 3.21 (продолжение).
a
PROCEDURE FOR PATTERN RECOGNITION EUCLEAD DISTANCEVARIANT NEAREST NEIGHBOUR
TRAINING SET^
1
CLASS
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
CLASS
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
3
CLASS
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
FINAL CLASSIFICATION
1™
15
^У weeewe
15
3™
15
4™
15
5—-
15
6™
1?
7™
1 5
8™
1 5.
9—
15
10™
15
11™
1 5
12™
15
13™
1 5
14™
15
1S™
15
16—
15
17™
15
18™
15
19™
15
20™
15
21—
1 5
22™
15
23—
15
24™
15
25™
15
26—
15
27™
15
28—
15
29—
15
30™
1 5
31™
15
32™
15
33™
15
34™
15
35™
15
36™
15
37™
15
38™
15
39™
15
40™
15
41 —
15
42™
15
43™
1 5
44™
15
45™
15
46—
15
47™
15
48™
1 5
49™
15
sa
15
51™
25
52™
25
53™
2 5
54™
25
ss™
25
S6™
25
S7™
25
S8™
25
S9~
25
60™
25
61™
2 5
62™
25
63™
25
64™
25
65™
2 5
66™
25
67™
25
68™
25
69™
25
70™
25
71™
35
72™
25
73™
35
74™
25
75™
25
76™
25
77™
25
78™
у
79™-
25
80™
25
81™
25
82™
25
83™
25
84™
25
85™
25
86™
25
87™
25
88™
25
89™
25
90™
25
91™
25
92™
25
93™
25
94™
25
95™
25
96™
25
97™
25
98—
25
99™
25
100™
25
101—
35
102™
35
103™
35
104™
35
105™
35
106™
35
107™
25
108™
35
109™
35
110™
35
111™
35
112™
35
113™
35
114™
35
115™
35
116™
35
117™
35
118™
35"
119™
35
120™
35
121™
35
122™
35
123™
35
124™
35
125™
35
126™
35
127™
35
128™
35
129™
35
130™
35
131™
35
132™
35
133™
35
134™
35
135™
35
136™
35
137™
35
138™
35
139™
35
140™
35
141™
35
142™
35
143™
35
144™
35
145™
35
146™
35
147™
35
148™
35
149™
35
150™
35
Рис. 3.22. Пример работы процедуры RECHKA.
а - „ближний сосед”; б - „средняя связь”, в - „дальний сосед”.
б
PROCEDURE FOR PATTERN RECOGNITION EUCLEAD DISTANCEVARIANT MEAN CONNECTION
TRAINING SETS
1
CLASS
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
CLASS
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
3
CLASS
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143 •
1^4
145
146
147
148
149
150
FINAL CLASSIFICATION
It—
;i?
2™
15
3™
15
4™
15
5™
15
6™
1 Г
7™
15
8™
15
9™
15
10™
1 5
11™
i;
12™
15
13™
15
14™
15
15“
15
16™
1 5
17™
15
18™
15
19™
15
20™
1 5
21™
1?
22—
15
23™
15
24™
15
25—
15
26™
15
27™
15
28™
15
29™
15
30™
15
31™
15
32™
15
33™
15
34™
15
35™
15
36™
15
37™
15
38™
15
39™
15
40™
15
41—
15
42™
15
43™
15
44™
15
45™
15
46™
15
47—
15
48™
15
49™
15
50—
15
51™
35
52™
25
«кт™
35
54™
25
55™
25
56™
25
57™
25
58™
2 5
59™
25
60-^
25
61—
25
62™
25
63™
64™
25
65™
25
66™
25
67™
25
68™
25
69™
25
70™
25
71™
25
72™
25
73™
25
74™
25
75™
25
76™
у
77™
25
78—
25
79—
25
80™
25
81™
25
82™
25
83™
25
84™
25
85™
25
86™
25
87™
25
88™
25
89™
25
90™
2 5
91™
25
92™
25
93™
25
94™
25
95™
25
96™
25
97™
98—
25
99™
25
100—
25
101™
35
102“
35
103™
35
104—
35
105—
35
106™
35
107™
у
108™
35
109™
35
110—
35
111™
35
112—
35
113™
35 •
114™
25
115™
35
116—
35
117™
35
118™
35
119™
35
120™
25
121™
35
122™
25
123™
35
124™
25
125™
35
126™
35
127™
35
128™
35
129™
35
130—
35
131™
35
132™
35
133™
35
134™
35
135—
35
136™
35
137™
35
138—
35
139™
35
140—
35
141™
35
142-т
35
143—
35
144™
35
145™
35
146™
35
147™
35
148™
35
149™
35
150™
35
Рис. 3.22 (продолжение).
в
PROCEDURE FOR PATTERN RECOGNITION
EUCLEAD
DISTANCE
VARIANT FURTHEST NEIGHBOUR
TRAINING
SETS
1 CLASS
262>
?28:
3930
31
32
33
34
3536
3738
3940
41
42
43
4445
4647
4849
50
2 CLASS
767;
?78;
7980
81
82
83
84
8586
8788
8990
91
92
93
9495
9697
9899
100
3 CLASS
12612;
128129130
131
132
133
134
135136
137138
139140
1411
42
143
144145
146147
148149
150
FINAL CLASSIFICATION
' 1—
152™
153™
154™
15
15
6™
157™
158™
159™
15
10™
15
11™
1512™
1513™
1514™
15
15™
15
16™
1517—
1518™
1519™
15
20™
15
21—
1;22™
1 $23™
1524™
15
25™
15
26™
1 527™
1528™
1529™
15
30—
15
31™
1 f 32“
1533™
1534™
15
35™
1 5
36™
1 537™
1538™
1539—
15
40™
15
41™
1 $42™
1543™
1544™
15
45™
15
46™
1 547—
1548™
1 549—
15
50™
15
51™
3?52“
2553™
3554™
25
55™
25
56™
2557“
2558™
2559™
25
60™
25
61—
2562™
2563™
2564™
25
65™
66™
2567™
2568™
2569™
25
70™
2у
71™
2f 72™
2573™
2574™
25
75™
25
76™
2577™
2578™
2579™
25
80—
2»
81—
2182™
2583™
2584—
25
85™
25
86™
2587™
2588"“““
2589™
25
90™
91™
2592“
2593—
2594™
25
95™
25
96™
2?97“
2598™
2599™
25
100™
25
101™
35102™
25103™
35104—
35
105™
35
106™
35107™
25108™
35109™
35
110™
35
ill™
35 112—
35113—
35 114™
25
115™
25
116™
35117™
35118™
35119™
35
120™
25
121™
35 122™
25123™
35124™
25
125™
35
126™
35127™
35128™
35129™
35
130™
35
131™
35132™
35133—
35134™
35
135™
35
136™
35137™
35138™
35139—
35
140™
35
141—
35142™
35143™
35144—
35
145™
35
146™
35147™
35 -148™
35149—
35
150™
35
Рис. 3.22 (продолжение).
14 В. В. Александров, Н. Д. Горский
"PROCEDURE" OBRAZ(NyPуKLSSуVAR)?
“VALUE” NyPyVARyKLSS? "INTEGER" NyPyVARyKLSS? ”BEGIN”
’’INTEGER” "ARRAY” KLC1..NJ?
’’INTEGER” PORyI уJyT2y13у14уМуКуРР2?"REAL” XI уAl уA2?
"PROCEDURE” CHANGE (ByNyM) 5 ’’ALGOL”?
’’PROCEDURE” MAPFROM (P у PO у IP 9 X у 11 > ?
“ALGOL”?
“PROCEDURE” SORTING(ХуAyN)?
’’ALGOL” у
“REAL” ’’PROCEDURE” MAXIM (ByNyM) $ “ALGOL”?
PRZ..«”IF” P(0 ’’THEN” 0 ’’ELSE” 1?P..«ABS(P)?
CHANGE (1 у 15yKL) ?
POR..RENTIER(LN(N)/LN(10) ) *1 ? J. .«ENTIER(LN(N+l)/(P*LN(2)> > ? ”IF” POR<J ’’THEN” POR..«J? "BEGIN”
•’INTEGER””ARRAY” ADRC1. .NJyRCl . .KLSSу 1. .PORJ>
COOTE1..NJу
KLASSC0..(N-i)J у IIEl..PORJу INIE0..(N-l) у 1..PORJу INCI..Nr1..PORJ? "ARRAY” IR1E1..PJyXCl..NJrFC0..(N-l)J?
••BEGIN” “ARRAY” IRC1..Ру 1..NJyMIyMAEl.*PJ?
“IF” VAR«1 ’’THEN” ’’BEGIN” CHANGE(1 у 1 уIR)?CHANGE(1у 11rMI)? CHANGE (1 у 12 у MA)? ’’END"
’’ELSE” ’’BEGIN” CHANGE (1 у9у IR) ?CHANGE (1 у7уМ1) ?CHANGE(1 у8уMA)?
”END”x
’’FOR”
I..«l
•’STEP” 1 ”UNTIL”
P
”DO” MACIJ..«MACIJ—MICIJ?
A2..«MAXIM(МАу1yP)+0.1”-9?
CHANGE(1у21уС00Т)? ’’FOR” J..«l "STEP" 1 ’’UNTIL”
P
"DO” “BEGIN"
’’FOR”
I..«l
“STEP” 1 ”UNTIL”
N
"DO” ’’BEGIN”
IRCJy
IJ..«(1
-1/2**POR)*(IRCJ
ylJ
-MICJJ)/A2?”END”? ’’END”?
•’FOR”
I..«l
“STEP” 1 “UNTIL”
N
"DO” ’’BEGIN”
’’FOR”
J..«l
’’STEP” 1 “UNTIL”
P
”DO"
IR1CJJ..«IREJr IJ?
MAPFROM(Pу PORуIR1у XI у11> у ХЕIJ..«XI? “FOR” J..«l ’’STEP” 1 “UNTIL” POR “DO” INCIr JJ. .«UEJJ? ’’END”?’’END"?
SORTING(XyADRyN> ?
OUTPUT(61 у”(“60By“(“PROCEDURE FOR DESISION MAKING”)“у2/у7Ву “(“BELONGING OF EACH OBJECTS”)”у ”(“ IS DETERMINED ON ONE OF THE ”)”yZy ”(“ LEVELS.”>””)”yPOR)?
0UTPUT(61y“(”/y7By”(“0N EACH LEVEL AN AMOUNT OF ”)”y ’’(“OBJECTS FROM EVERY TRAYNING”) ”y “(“ SET IN MOST DEGREE RESEMBLE”)”у/у7Ву ”(“ON THE OBJECT UNDER”)’’у ”(“ INVESTIGATION IS CALCULATED.”)””)”)?
OUTPUT(61 у”(“2/“(”TRAINING SETS”)””)”)?
’’FOR” J..«l ’’STEP” 1 “UNTIL” KLSS ”DO” “BEGIN”
OUTPUT(61 у“(”/y2Zy”(” CLASS”)””)”уJ)?
’’FOR” I..«l ’’STEP” 1 ’’UNTIL” N ”DO”
Рис. 3.24. Распечатка процедуры OBRAZ.
"IF" KLEI3«J "THEN" OUTPUT<61r"<"6Z")"яCOOTE13) ? "END"? "IF" PRZ«0 "THEN" "GO TO" KK?
OUTPUT<61r"<"2/9 "<"IOBJECTIPATTERNI AMOUT OF OBJECTS OF")"# "<" EACH I")"")")?
OUTPUT<61#"<" "<" PROBABLE")"#/#"<"I II")"#
"<" TRAINING SET ON LEVELS s I DESISION")"9/9 nV4jJ,.)..,,),,).
"FOR" 12..«1 "STEP" 1 "UNTIL" POR "DO" OUTPUT<619"<"2Zf"<"I")"")"f12)5
OUTPUT<61 9 " <"/# " <"I««««««I«»«««««I") "") ") 9 "FOR" 12..«1 "STEP" 1 "UNTIL" POR "DO" 0UTPUT<619"<""<"««-«!")"")")?
OUTPUT <61 9 " <"" <”«««»»®««~^"")")?
KK.. "FOR" I..«0 "STEP" 1 "UNTIL" N-l "DO" "BEGIN" J..«ADREI*13 $FEI3..«ХЕI*139KLASSE13..«KLEJ3? "FOR" 12..«1 "STEP" 1 "UNTIL" POR "DO" INIEI 912J..«INEJ91239"END"? "FOR" I..«0 "STEP" 1 "UNTIL" <N-1) "DO" "IF" KLEADREI+133«0 "THEN" "BEGIN" "FOR" 12..=1 "STEP" 1 "UNTIL" POR "DO" "FOR" 13..=1 "STEP" 1 "UNTIL" KLSS "DO" REI3#123..«0? J..«1-1? K0H3-. "IF" J<0 "THEN" "GO TO" KH1? "IF" FEI3«FEJ3 "THEN" "BEGIN" "IF" KLEADREJ+133>0 "THEN" "BEGIN" I3..«KLEADREJ+133?REI3#POR3..«REI3#POR3+1?"END"? J..«J-1?"GO TO" K0H3?"END"? KH1.. J..«1+1? KHO.. "IF" J«N "THEN" "GO TO" KOH4? "IF" FEI3«FEJ3 "THEN" "BEGIN" "IF" KLEADREJ+133>0 "THEN" "BEGIN" I3..«KLEADREJ+l33?REI39POR3..«REI39POR3+1?"END"? J..«J+1?"GO TO" KHO?"END"?
K0H4.. I3..=l?K0H5.. "IF" I3«POR "THEN" "GO TO" KOH11? 14..«1-1?
K0H7.. "FOR" J..«l "STEP" 1 "UNTIL" <P0R-I3) "DO" "BEGIN" "IF" I4<0 "THEN" "GO TO" K0H6?
"IF" IN1EI,J3"NOT EQUAL"INIE14rJ3 "THEN" "GO TO" K0H6? "END"? 14..«14-1?
"GO TO" K0H7? K0H6.. "IF" 14<<l-l) "THEN" "BEGIN" "FOR" J..«<I4+1> "STEP" 1 "UNTIL" <I-1> "DO" "IF" KLEADREJ+133>0 "THEN" "BEGIN"
.«KLEADREJ+133?REI2rPOR-I33..«REI2*POR-133+1?"END"?"END"? 14..«1+1?
K0H9.. "FOR" J..«l "STEP" 1 "UNTIL" <POR-I3> "DO" "BEGIN" "IF" I4>N—1 "THEN" "GO TO" KOHS? "IF" INlEIyJ3"NOT EQUAL"INIE14fJ3 "THEN" "GO TO" KOHS? "END"?
Рис. 3.24 (продолжение).
I4..«I4*i; "GO TO” KOH?;
KOHS.. "IF" 14X1*1) "THEN" "BEGIN"
"FOR” J..=(I*1) "STEP” 1 "UNTIL" (14-1) "DO"
"IF" KLEADREJ*133>0 "THEN" "BEGIN”
12..=KLEADREJ*133;REI2,POR-133 *.«REI2,POR-133*!; "END"; ’’END”;
.=13*1; "GO TO” KOHS*
KOH11..
"FOR” I2..=P0R "STEP” -1 "UNTIL" 1 "DO” "BEGIN”
K..=0;
K067.. "FOR" J..=l "STEP" 1 "UNTIL" KL.SS "DO"
"IF" RE J, 123 Ж ’’THEN” "BEGIN"
K..=REJ»123;14..=J;"END”;
.=0;"FOR" J..=l "STEP” 1 ’’UNTIL” KLSS ”DO”
"IF” REJ,I23=K "THEN" 13.. =13*1;
"IF” 13=1 "THEty" "BEGIN”
KLASSEI3.-=14;Й..«0;
"FOR” J..=l ’’STEP” 1 ’’UNTIL” KLSS "DO”
“IF” REJ,123>M”AND”J”NOT EQUAL"I4 ’’THEN” M..=REJ,I23;
"IF" M=0 "THEN" ”GO TO” KO50;
"IF” K/M>!.5 "THEN” "GO TO” KO50;
.=2; ”go ro” dr; "end"; -end”;
dr.. ai..«0.1"*ii;a2..=0.1”*ii;
”IF” 1=1 "THEN" "GO TO” P22;
’’FOR” J..=1-1 "STEP” -1 "UNTIL" 1 "DO"
”IF” KLEADREJ*133>0 "THEN" ’’BEGIN”
.=j;ai..=fei3-fej3; -go to” p2; ”end”;
P2.. "IF" I=N "THEN" "GO TO” P4;
P22. .
’’FOR" J..=1*1 "STEP" 1 "UNTIL” N ”DO"
"IF" KLEADREJ*133>0 "THEN” "BEGIN" m..=j;
A2..«FEJ3-FEI3; "GO TO" P4; "END";
P4.. KLASSri3..«*^F" A1<A2 "THEN” KLEADREK*133
’’ELSE-” KLEADREM*133;
KO50..
••if" prz=0 "then" "go то" kkk;
OUTPUT (Al ,"("/,"(•• I") ",52,"<" I 1I")•”’)",
COOTEADREI*133>;
"FOR" J..=l "STEP" 1 "UNTIL" POR "DO"
OUTPUT(61,"("3ZD,"("I")"">",RE1,J3);
OUTPUT(61,"<"2B,"("OBJECT OF PATTERN ">",3Z,
/,"("1 I 2I")"”)",KLASSEI3);
"FOR" J..=l "STEP" 1 "UNTIL" POR "DO"
OUTPUT(61,"("3ZD,"("I")"">",RE2,J3>;
"IF" I3"N0T EQUAL"! "THEN" OUTPUT(61,"("2B,"("(NEAREST")", "(" NEIGHBOUR)")’”’)") "ELSE" OUTPUT(61,"("2B,"("LEVEL")",2Z ")",I2>;
"IF" KLSS«2 "THEN" "GO TO" KOH20;
"FOR" J..«3 "STEP" 1 "UNTIL" KLSS "DO" "BEGIN"
OUTPUT (61,"(’’/, "("II")",4Z,"("I") •”’>", J);
"FOR" 13..=1 "STEP" 1 "UNTIL" POR "DO"
OUTPUT(61,"("3ZD,"("I") •”’)",REJ,133);"END";
Рис. 3.24 (продолжение).
КОН20*.
OUI PUT <619 " ("/ 9 " < " III ") "
")">?
•’FOR” 13. .=1 "STEP" 1 "UNTIL" POR "DO”
output<61t”<””<".■..I”)”">”>;
OUTPUT <61 9 " <"" <”I”) ""> "> ?
KKK**
"IF” VAR<0 "THEN” KLEADREI^JJ-.^KLASSEIJ?
"END"?
"IF" VAR>0 "THEN"
"FOR"I..=0 "ST^P" 1 "UNTIL" N-l "DO" KLEADREI+13J.„«KLASSEIJ $ OUTPUT<619"<"2/933B9"<"FINAL”>"9 "<” CLASSIFICATION <")"f ”<"OBJECT-PATTERN)")"9/")”)$
"FOR” J,.«1 "STEP" 1"UNTIL" N "DO"
"IF" KLEJJ>0 "THETN"
OUTPUT<619"<"5Zf"<"--")"93Z>”<"?")"")"»COOTEJTyKLEJT)5 "END"?FINIT.- "END"?
Рис. 3.24 (продолжение).
PROCEDURE FOR DESISION MAKING
BELONGING OF EACH OBJECTS IS DETERMINED ON ONE OF THE 3 LEVELS. ON EACH LEVEL AN AMOUNT OF OBJECTS FROM EVERY TRAYNING SET IN MOST DEGREE RESEMBLE ON THE OBJECT UNDER INVESTIGATION IS CALCULATED.
TRAINING SETS
1
CLASS
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
CLASS
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
3
CLASS
126
127
128
129
130
131
132
133
134
135 .
136
137
138
139
140
141
142
143
144 J
145
146
147
148
149
150
IOBJECTIPATTERNI AMOUT OF OBJECTS OF EACH I PROBABLE
I II TRAINING SET ON LEVELS s I DESISION
I I ' I 1 I 2 I 3 I
I scssssaassss J ssssss««ssss J sansas as J asasasss J aasaasas J аазааазааааааааагазаавзазааааааазааааа J
I
21
I
1
I
251
201
41
OBJECT OF PATTERN
1
I
I
2
I
141
01
01
LEVEL 3
I
I
3
I
01
01
01
I..
, T„ ,
, T
T .
т
T
X
I
25
I
1
I
251
201
01
OBJECT OF PATTERN
1
I
I
2
I
141
01
01
LEVEL 2
I
I
3
I
01
01
01
I..
LL—
L
1.
L-
I
I
24
I
1
I
251
201.
151
OBJECT OF PATTERN
1
I
I
I
141
01
01
LEVEL 3
I
I
3
I
01
01
01
I..
, T
т
T
т T
I
I
23
I
1
I
251
201
151
OBJECT OF PATTERN
1
I
I
2
I
141
01
01
LEVEL 3
I
I
3
I
01
01
01
I..
T
T
- т .
T
т
.'....I
I
18
I
1
I
251
201
151
OBJECT OF PATTERN
1
I
I
2
I
141
01
01
LEVEL 3
I
I
3
I
01
01
01
I..
T
T
т _
T
T
„I
I
56
I
1
I
01
01
01
OBJECT OF PATTERN
2
I
I
2
I
111
11
LEVEL 3
I
I
3
I
231
01
01
I..
JL—
—JL
L.
T
L
I
I
67
I
1
I
01
01
01
OBJECT OF PATTERN
2
I
I
I
111
21
11
LEVEL 3
I
I
3
I
231
01
01
III....I. ...I. ...II
Рис. 3.25. Пример работы процедуры OBRAZ.
I
107 I
1
I
01
01
01
OBJECT OF PATTERN 2
I
I
2
I
111
21
01
LEVEL 2
I
I
3
I
231
01
01
L
т
-T_
т
L-
L.
I
71 I
1
I
01
01
01
OBJECT OF PATTERN 3
I
1I
I
111
01
01
LEVEL 3
I
I
3
I
231
21
11
I*
r
. - T _
T
т
T
I
I
122 I
1
I
01
01
01
OBJECT OF PATTERN 3
I
I
2
I
111
01
01
LEVEL 3
I
I
3
I
231
21
11
I,
* T
T
т
T
T _
„„I
I
115 I
1
I
01
01
01
OBJECT OF PATTERN 3
I
I
I
111
01
01
LEVEL 3
I
I
3
I
231
21
11
I,
T
T
т
T
T
I
114 I
1
I
01
01
01
OBJECT OF PATTERN 3
I
I
2
I
111
01
01
LEVEL 3
I
I
3
I
231
21
11
т
FINAL CLASSIFICATION (OBJECT-PATTERN)
1™
1?
2—
15
3™
15
4™
15
5™
1 5
6™
1$
7—
15
8—
15
9™
15
10™
15
11™
1 5
12™
15
13™
15
14™
15
15™
1 5
16—
15
17—
15
18™
15
19™
15
20™
15
21™
If
15
23™
15
24—
15
25—
15
26—
15
27™
15
28™
15
29™
15
30™
15
31"
i;
32—
15
33™
15
34™
15
35—
15
36™
is
37—
15
38™
1 5
39—
15
40—
1.5
41™
i?
42™
15
43™
1 5
44™
15
45™
15
46™
1?
47™
15
48—
15
49™
15
50™
15
51™
2f
52™
25
53™
25
54™
25
55—
2 5
56—
2 f
57—
25
58™
25
59—
25
60—
2 5
61 —
25
62™
2 f
63™
25
64™
25
65—
2 5
66™
25
67—
68™
25
69™
25
70—
25
71 —
35
72™
2?
73™
25
74—
25
75—
25
76—
2f
77™
25
78™
25
79™
80™
81™
25
82™
25
83™
25
84™
25
85—
2?
86™
25
87™
25
88™
25
89—
25
90—
25
91 —
2 f
92™
25
93™
2 5
94"
25
95™
25
96—
25
97™
25
98™
25
99—
25
100—
25
101™
35
102™
35
103™
35
104™
35
105™
35
106™
35
107™
25
108™
35
109—
35
110—
35
Hi
35
112™
35
113™
35
114—
35
115™
35
ll 6—
35
117™
35
118™
35
119—
35
120™
121™
35
122™
35
123™
35
124—
35
125—
35
126—
35
127™
35
128™
35
129—
35
130™
35
131™
35
132™
35
133—
35
134—
35
135™
35
136—
35
137™
35
138"’
35
139—
35
140™
35
141™
35
142™
35
143—
35
144™
35
145—
35
146—
35
147™
35
148™
35
149—
35
150-r
35
Рис. 3.25 (продолжение).
"PROCEDURE" INP<Z)? "INTEGER" "ARRAY" Z? "BEGIN" "INTEGER" I*J*C?
"ARRAY" ВЕСЕ1..ZE233 * 11E1, .ZE23*1,,ZE133*ADE1 - -143 ?
"INTEGER" "ARRAY" TIPE1,.ZE2 3 3,KLE1-.ZEl3 3*TE1■.33*ADRE1,-73 ? "PROCEDURE" CHANGE<B*N*H)?"ALGOL"?
"FOR" I.w«l "STEP" 1 "UNTIL" 7 "DO" ADREI3..«8?.
"FOR" I.,=l "STEP" 1 "UNTIL" 14 "DO" ADEI3,W«15?
.«1?STOREITEH<2*1*ADR)?
I w * «1 ?STOREITEH<1 * I * AD)?
C-^"IF" ZE73«0 "THEN" 60 "ELSE" 71?
"IF" ABS<ZE33)«2 "THEN" "BEGIN" "ARRAY" FE1..ZE233?
"FOR" I,w=l "STEP" 1 "UNTIL" ZE13 "DO" "BEGIN" INARRAY<C*F)?
"FOR" J.w=l "STEP" 1 "UNTIL" ZE23 "DO"
IlEJ*13 -.«FEJ3 ?"END"?"END" "ELSE" INARRAY<C*I1)?
CHANGE(-1*1*11)?
Cww="IF"ZE73=d 4THEN" 71 "ELSE" 60?
"IF" ZE43=0 "THEN" INARRAY<C*TIP)
"ELSE" "FOR" L.=l "STEP" 1 "UNTIL" ZE23 "DO"
TIPEI3.,=ZE43?"
CHANGE<-1*18*TIP)?
"FOR" L.«1*2*3 "DO" "BEGIN"
TEI3,,«0?
"FOR" J..«l "STEP" 1 "UNTIL" ZE23 "DO" "IF" TIPEJ3«I "THEN" TCI3.W«TEI3*1?
"END"?
CHANGE<-l*17*T)?
"BEGIN" "INTEGER" "ARRAY" BBE1..ZE233?
"FOR" I..«l "STEP" 1 "UNTIL" ZE23 "DO" BBEI3..«I*
CHANGE<-l*19*BB)?
"END"?*•
"IF" ZE53«0 "THEN"-"BEGIN" "FOR" I..«l "STEP" 1 "UNTIL" ZE23 "DO" ВЕСЕI3„.«1?"END".
"ELSE" INARRAY<C*BEC)?
CHANGE<-1*14*ВЕС)?
"IF" ZE63==0 "THEN" "BEGIN" "FOR" !,.==!
"STEP" 1 "UNTIL" ZE13 "DO" KLEI3--«0? "END" "ELSE" INARRAY<C*KL)*
CHANGE<-l*15*KL)?
"FOR" I..=l ^STEP" 1 "UNTIL" ZE13 "DO" KLEI3..«I?
CHANGE (-1*21 *KLH.
"END” li^?•
Рис. 5.2. Распечатка процедуры INP.
"PROCEDURE" CHANGE(DfAfС);
’•VALUE” DfA;"INTEGER" DfA;"ARRAY” C;
"BEGIN” "INTEGER" Bfi;
”IF” A>14 "THEN" “GO TO” INT?
“BEGIN41 “ARRAY” ADE1..143;
B,.=i;FETCHITEMCifBfAD);B..«ADEA3;
”IF“ D<0 “THEN" "BEGIN" STOREITEMdfBfC>9 “FOR" I..«l "STEP" 1 "UNTIL" 14 "DO"
“IF” I“NOT EQUAL"A “THEN" “BEGIN”
“IF” ADCI3«ADCA3 “THEN" ADEI3..«B;"END"9
I..=19STOREITEM(1fIf AD> ?"END”
“ELSE” FETCHITEM <1f Bf C)9 “END”?
••go to” fin;
INT.. “BEGIN” “INTEGER” “ARRAY” ADC1..73;
A*«—A—14;
B. .«15FETCHITEM(2f Bf AD) 9B. .«ADCA3;
”IF” D<0 "THEN" "BEGIN" STOREITEM(2fBfC>9 "FOR” I..»l "STEP” 1 "UNTIL” 7 “DO”
"IF" I“NOT EQUAL“A ”THEN” "BEGIN"
"IF” ADCI3«ADCA3 "THEN” ADCI3«.«B;"END";
. «1;STOREITEM <2f I f AD) 9 "END"
"ELSE" FETCHITEM(2fBfC),;
"END";
FIN..
"END"
Рис. 5.3. Распечатка процедуры CHANGE.
"PROCEDURE" CODE(HrNPAR);
"VALUE" HrNPAR;"INTEGER" HrNPAR;
“BEGIN” "INTEGER" IfJrKtLrFrMrSOS;"REAL“R;
"INTEGER" "ARRAY” TIPCI . .NPAR3 9 "ARRAY" lift. .NPARr 1. .Ю9
“INTEGER" "ARRAY" ZE1..NPARD9
“PROCEDURE" CHANGE(BfNfM)f"ALGOL";
"BEGIN" "ARRAY” BECE1..NPAR39
CHANGE(1f18fTIP);CHANGE<1f14 fBEC)9
change(ififii);sos..«i;m..«0;
“FOR" I..«l "STEP" 1 "UNTIL" NPAR "DO" ZEI3..«i;
"FOR" I..«l "STEP" 1 "UNTIL" NPAR-1 “DO”
“FOR” J..«1*1 "STEP” 1 "UNTIL" NPAR "DO"
"IF" TIPEJDTIPCIJ "THEN" "BEGIN" L..«TIPEI3;
TIPEI3..»TIPEJ3;TIREJ3..«L;R..«ВЕСЕI39
becei3..«becej3;becej3w.»r;l..«zei3;
zei3..«zej3;zej3..«l;
m..«i;
"FOR" K..«l "STEP" 1 "UNTIL” H "DO" "BEGIN"
R„.«IlEIfK3;ilEIfK3..«IlEJfK3;ilEJfK3..»R;"END“;
"END”;
"IF" M«0 "THEN" "GO TO" FU;
OUTPUT(61f"("3/"("*********ATTENTION *********")"f
3/f"("REORDERING OF FEATURES IS MODE.")"f
"(" CORRESPONDING OF NEU AND OLD FEATURES IS")"f2/")">9
"FOR" I..«l "STEP" 1 "UNTIL" NPAR "DO" OUTPUT(61у"("3Zy"("-")"y3Z")"yIfZCI3)? FU.. CHANGE(-1f18fTIP)?CHANGE(-1f19f Z)?CHANGE(-1»14fBEC)? "END"?
"BEGIN" "INTEGER" "ARRAY11 TCI. .33fZlCl. .20035 CHANGE(1 у17fT)?
"BEGIN" "INTEGER" "ARRAY" GRC1..TC13+TC23+13?
"FOR" K..«TC33*1 "STEP" 1 "UNTIL" NPAR "DO" "BEGIN" ZlC13..«IlCKfl3?L..»l?
"FOR" I..«2 "STEP" 1 "UNTIL" H "DO" "BEGIN" "FOR" J..«l "STEP" 1 "UNTIL" L "DO" "IF" ZlCJ3«IlCKfI3 "THEN" "GOTO" BH?
L. .«L*l?Z1CL3..«IlCKfI3?BH.• "END"?
"FOR" I..Al "STEP" 1 "UNTIL" L "DO" "BEGIN"
"FOR" J..«l "STEP" 1 "UNTIL" L" DO"
"IF" ZILIZW "THEN" "GOTO" YES?"GO TO" NO?
YES.. "END"?
"FOR" I..«l "STEP" 1 "UNTIL" L "DO" Z1CI3..«I?
"GOTO" GOdD?
NO.. OUTPUT(61y"("/"("OLD AND NEU GRADATIONS OF")"y 3Zf"("(")"f3Zf"(")-TH FEATURE s")"y/")"yZCKJyK)? "IF" TIPCK3«2 "THEN" "BEGIN" "FOR" I..«l "STEP" 1 "UNTIL" L-l "DO" "FOR" J..«1*1 "STEP" 1 "UNTIL" L "DO" "IF" Z1CI3>Z1CJ3 "THEN" "BEGIN"
F..«Z1CI3?Z1CI3..~Z1CJ3?Z1CJ3..«F?"END"#"END"?
"FOR" J..«l "STEP" 1 "UNTIL" L "DO" "BEGIN" OUTPUT(61 у"("2ZD у"("-")"у 3Z")"f Z1C JJ f J)? "FOR" I..«l "STEP" 1 "UNTIL" H "DO"
"BEGIN" "FOR" J..«l "STEP" 1 "UNTIL" L "DO" "IF" IlCKfI3«ZlCJ3 "THEN" "BEGIN"IlCKf13..«J? "GOTO" S?"END"? S.. "END"?
"END"?
GOOD..
GRCK-TC333..«LF "FOR" I..«l "STEP" 1 "UNTIL" L "DO" STOREITEH(4fSOSfZ1CI3)?
"END"? CHANGE(-1f20уGR)?"END"?"END"?
CHANGE(-lylyll)?
"END"?
Рис. 5.4 (продолжение).
"PROCEDURE"GEH(WAY уHуNPARуNCARу DANO)?
”UALUE"WAYyHyNPARyNCARyDANO?"INTEGER"WAYyHyNPARyNCARyDANO? "BEGIN""ARRAY"CPyDISE1..NPARJуI£1..H/NCARу1..NPARJ у INFE1..Hyl..NPARJ 5"INTEGER"I2yJ2yK2yII у III уPRINT5 "PROCEDURE" CHANGE(ByNyM)?"ALGOL"?
"PROCEDURE" UNR(IyAyN)?
"ALGOL"?
"PROCEDURE"VECTOR(NyАуВуРОТуРЕСуВЕСуINFORyII)?
"VALUE"Ny PUT у PEC у 11 у BEC $ "INTEGERS у PUT у PEC у 11 у BEC?
"ARRAY"INFORyAyD?
"BEGIN""INTEGER"IуJ?
"REAL""PROCEDURE"RASP(Pl у Al у Bl уК у 11)?
"VALUE"P1уК?"INTEGER"KyPlу II?"ARRAY"A1уDI?
"BEGIN" "REAL1* AN у AR ?
UNR(IlyARyAN)?
"IF"P1«1"THEN"RASP..=AN*D1£KJ*A1£KJ"ELSE"
RASP..«AR*2.6*D1£KJ*A1£KJ?"END"?
OUTPUT(61 у "("3/40Bу3Zy"("-МЕРНОЕ")"")"уPEC)?
"IF"PUT«l"THEN"0UTPUT(61у"(""(" НОРМАЛЬНОЕ РАСПРЕДЕЛЕНИЕ") ")")
"ELSE"OUTPUT(61 у"(""(" РАВНОМЕРНОЕ РАСПРЕДЕЛЕНИЕ")"")")?
OUTPUT(61 у"("3/60Ву"("ПАРАМЕТРЫ")"у2/у"("МАТ. ОЖИДАНИЕ")"у /у-3Z.3Dу2/у"("СТАНД.ОТКЛОНЕНИЯ")"у/у-3Z.3D")"уА уD)?
"FOR"J..«1"STEP"1"UNTIL"N"DO""BEGIN"
"FOR"I..»1"STEP"1"UNTIL"PEC"DO"
INFOR£JyIJ..=RASP(PUTyAyDyIyIl)?
"END"?
"IF" BEC»1"THEN"OUTPUT(61 у"("4/40Ву"("КООРДИНАТЫ СЛУЧАЙНОГО ВЕКТОРА")"y/y-3Z.3D")"yINFOR)?
"END"VECTOR?
III..«257?PRINT..=0?
OUTPUT(61у"("5/"("ГЕНЕРАЦИЯ ИСХОДНЫХ ДАННЫХ")"у2/у "("ЧИСЛО ОБЪЕКТОВ-")"у42у2/у"("ЧИСЛО ПРИЗНАКОВ-")"у 3Z")"yHyNPAR)?
"F0R"I2..=l"STEP"l"UNTIL"NCAR"D0"
"BEGIN""IF"DANO=0"THEN"
"BEGIN"
"FOR"J2..«1"STEP"1"UNTIL"NPAR"DO"
"BEGIN"CPCJ2J..=0.0?
DISCJ2J..«0.16?
"END"?
CP£12J..«0.7?"END"
"ELSE""BEGIN"INPUT(60 у"("")"уСРуDIS)?"END"?
VECTOR(H/NCARу СРу DISу WAYу NPARу PRINT у Iу111> ?
III..=111*22?
"FOR"J2..«1"STEP"1"UNTIL"H/NCAR"DO"
"F0R"K2..=l"STEP"l"UNTIL"NPAR,*D0"
"BEGIN"II..=(I2-1)*H/NCAR+J2?
INFCIIуК2J..«IEJ2yK2J?"END"?"END"?
CHANGE(-1 у 1 у INF)?"END"
Рис. 5.5. Распечатка процедуры GEN.
"PR0CEDURE"RED2(NypyPR0P> 5 M INTEGERS, P?"REAL"PROPу "BEGIN""INTEGER"Iу JyKy JI,AS"REAL"S4yKIуК2уКЗуSMINy "ARRAYMHE1 ..Ру 1. -NJ у 8Ху8Еу8Х1у8уК01уК02уК03Е1. .N3yBECEl. .P3yRSEl..P3S "INTEGER" "ARRAY" MPC1..P35 "PROCEDURE" CHANGE(ByNyM)5"ALGOL"?
OUTPUT(61 у"("3/y"("ПРОЦЕДУРА")"у "(" ЗАПОЛНЕНИЯ ПРОПУСКОВ В ТЭД")"у/у "("ЗАПОЛНЕНЫ ПРОПУСКИу " ) " у "(" ЗАКОДИРОВАННЫЕ ЗНАЧЕНИЕМ ")"y-6Zy. "(" В ЧИСЛОВЫХ ПРИЗНАКАХ ИЛИ")"у "(" СИМВОЛОМ * В ТЕКСТОВЫХ")"У "(" ПРИЗНАКАХ")"")"yPROP)? CHANGEd у1 у И)у CHANGE(1 у 18уHP)? CHANGE(1 у14уВЕС)?
"FOR"J..»1"STEP"1"UNTIL"P"DO""BEGIN" Kl..«0.1"+li?K2..«0?
"FOR"I..«1"STEP"1"UNTIL"N"DO" . "IF"HEJyI3"NOT EQUAL"PROP"THEN""BEGIN" ”IF"HE Jy 13 >K2"THEN"K2.. «II EJy13?
"IF"IlEJу13<K1"THEN"K1..«11EJy13 ?"END"I RSE J3..«K2-K1у"END"?
OUTPUT(61 у"("/"("RS ")"y(3Z.3D)")"yRS)? "FOR"I..«1"STEP"1"UNTIL"N"DO""BEGIN" Jl..«l?
LAB2.."IF"P<J1"THEN""GOTO"LAB1? "IF"HEJ1уI3"NOT EQUAL"PROP"THEN""BEGIN" JI.i«Jl+l?"G0T0"LAB2?"END"?
"FOR"K.w»=l"STEP"l"WTIL"N"DO""BEGIN" "IF"K"NOT EQUA1."I"THEN""BEGIN"
KI,.«K2..«КЗ..*SEEK3..«SXEK3..«SX1EK3..« KO1EK3..«KO2EK3..«KO3EK3.*«0y "FOR"J..«1"STEP"1"UNTIL"P"DO""BEGIN" "IF"IlEJyI3"NO7 EQUAL"PROP"AND"IlEJyK3"NOT EQUAL"PROP"THEN "BEGIN" "IF"MPEJ3«3"THEN""BEGIN"K1..«Kl+1?KO1EK3..«KI у SEEK3. .«SEEK3* ( (HE Jy 13-11 EJyK3) *BECE J3/RSEJ3) **2? "END"у "IF"MPEJ3«2"THEN""BEGIN"K2..«K2+1УКО2ЕКЗ.,«K2?
SXEK3 . .«SXEK3+ABS (HE Jy I3-I1E JyK3) *BECE J3/RSE J3 5 "END" ? "IF"MPEJ3«1"THEN""BEGIN"KO3EK3..«КЗ..«K3+1?
S4. .«ABS(HEJyI3-HEJyI3) у "IF"S4 >0"THEN"SX1EK3..«SX1EK3+BECEJ3 5"END"?"END"?"END"у KI..«К1/Р?K2--=K2/P?КЗ..«КЗ/Pу "IF"K1«0"THEN"K1..«ly"IF"K2«0"THEN"K2..«1? "IF"K3«0"THEN"K3..«1?
SEK3..«(3.0*SQRT(SEEK3)+1.7*SXEK3+SX1EK3*1.2*0.1*P)/ (K1+K2+K3)?
"END"у"END"у "FOR"J..«Л"STEP"1"UNTIL"P"DO""BEGIN" "IF"HEJy I3«PROP"THEN""BETGIN"SMIN. .«0.1"*11 у "FOR"K..«1"STEP"1"UNTIL"N"DO""BEGIN"
Рис. 5.6. Распечатка процедуры RED 2.
”lF"IlEJyK3"N0T EQUAL"PROP“THEN""BEGIN"
”IF“SEK3(SMIN"THEN"“BEGIN"
A..-Ку SHIN..«SEK3 у "END"5"END"9"END"5
HE Jy 13 . .«HE Jy АЗ у
“FOR"K.. «1 “STEP" 1 "UNTIL“N"DO“
MIF"K"NOT EQUAL"I"THEN""BEGIN"
”IF"IlEJyK3"NOT EQUAL"PROP“THEN""BEGIN"
"IF“MPEJJS=3"THEN""BEGIN"KO1EK3-.«KOIEKI*!yKl--«KOlEKJy
SEEK3. .«SEEK3* ((HEJy 13-11 EJyK3) *BECEJ3/RSEJ3)**2y "END"у “IF"MPEJ3«2"THEN""BEGIN"K2..«K02EK3..«KO2EK3+1;
SXEK3- .«SXEK3+ABS (HEJy 13-11 EJyK3)*BECEJ3/RSEJ3; "END"?
'•IF"MPrJ3«l"THEN"“BEGIN“K3w.«KO3EK3.w«KO3EK3*i;
S4..«ABS(IlEJyI3-IlEJyK3) ;
”IF"S4 >0"THEN"SX1EK3.-«SX1EK3*BECEJ3у"END" у
KI -.«K1/P5K2..«K2/P;K3..«K3/P?
”IF"K1«0"THEN"K1 ..=1? ,,IF,,K2»0,,THEN,,K2. ,«1 ?
"IF"K3=0"THEN"K3..«1;
STK3..«(3.0*SQRT(SEEK3)*1.7*SXEK3*SXirKJ*l.2+0.1*P)/
(K1+K2+K3)у
"END" у "END" ; "END" ? "END" 5
LABI.."END"у
CHANGE(-lylyII)у
"END"RED2y
Рис. 5.6 (продолжение).
"PROCEDURE"NORM!R (N уNPAR уPKу Aу NORMу BEC > у "VALUE"NуNPARу PKуNORMуBEC5
UINTEGER HNу NPARуPKуNORMу BEC5“ARRAY“A 5 ‘ ‘BEG IN * * “ IN TEGER" I у J у К у “PROCEDURE" CHANGE(ВуNtM)5“ALGOL"? “IF“PK“NOT GREATER"0"THEN“"GO TO"ENDy “BEGIN" "ARRAY"I1E1„„NPARy1-,N1у СуDEI-„РКЗу "INTEGER" "ARRAY" ZZEl^NPARIy
CHANGE (1 у 19у ZZ> SCHANGE (1 у 1 у 11> 5 “IF“N0RM«l"0R“N0RM«2"THEN""BEGIN" “FOR"I..«1"STEP"1"UNTIL"PK"DO""BEGIN“CEI3W.»DEI3..«0; “FOR"J..«1“STEP"1"UNTIL"N“DO""BEGIN"
СГ13.n «СГ13*11ГIУ J3;DE13,-«DE13*11СIУ J3**2;“END"; CEI3n.«CEI3/N;
DE 13 -.«SQRT(DГ13/N-СE13**2);"END";
“FOR"I„.«1"STEP"1"UNTIL"PK“DO“ “FOR"J-.«1"STEP"1"UNTIL"N"DO"
11EI у J 3..« <11EI у J3-СЕ13)/((NORM-1)*C E13*(2-NORM)*DГ13 >;
OUTPUT(61 у"(“2/y “\“ПРОИЗВЕДЕНА НОРМИРОВКА ПРИЗНАКОВ”)"“)")5 “IF“BEC«1"THEN““BEGIN“ OUTPUT(61 у"("2/“("БУДУТ ИСПОЛЬЗОВАТЬСЯ ВЕСА")"у “(" ПРИЗНАКОВ")"у2/у“(“ПРИЗНАК ")"“)“)у “FOR“I-.«1“STEP“1“UNTIL"NPAR"DO“OUTPUT(61 у“(“2B3Z2B”)“yZZEI3) штрит(б.1у“("/у“ (" вес “>““>“);
“FOR"!и W«1"STEP"1"UNTIL"NPAR"DO"OUTPUT(61 у"("-3Z-3D")"уАЕ13); “FOR"IWW«1“STEP“1"UNTIL"NPAR"DO“
“FOR"J„W«1“STEP"1"UNTIL"N"DO" Il EI у J3, ««HEI у J3*AEI3 у "END" у "END"уCHANGE(-1 у 1 у II);"END"; END.-"END"
Рис. 5.7. Распечатка процедуры NORMIR.
"PROCEDURE"PROGECT (H уNPARy INF>DL уВТ> ?
"UALUE"HyNPARyDL ? "!NTEGER"Hy NPARyDL? ’’ARRAY"ВТу INF?
"BEGIN""ARRAY"OCyDICP£l..NPAR3yFlуЕ2Г1*.H3?
"INTEGER""ARRAY"METуCOOTE1. .H3 ?
"INTEGER"!уJyXyYyMMyPOZyCIRy
"REAL"ХМу YMу STEPXу STEPY?
"PROCEDURE" CHANGE (В уN уM) ?"ALGOL"?
"REAL" "PROCEDURE" MINIM(UyNyK)$
"ALGO!.."?
"REAL" "PROCEDURE" MAXIM(UyNyK)?
"ALGOL"? .
"FOR"!. .«1"STEP"1"WTIL"H"DO"METEI3. .«1?
"IF"ABS(DL)«2"THEN" "BEGIN" CHANGE(1 у15уMET)?
"END"?CHANGE6 у21уС00Т> ?
"IF"DL>0"THEN"NM. .«1 ?
DL..«120?POZ..«"IF"H>1000"THEN"4"ELSE"3?
"IF"H<25"THEN"DL..«60?CIR..«ENTIER(72*DL/120>?
"FOR"!*.«1"STEP"1"UNTIL"H"DO""BEGIN"F1EI3*.«F2EI3..«0?
"FOR"J..«1"STEP"!"UNTIL"NPAR"DO”"BEGIN"
Fl E13 . .«Fl EI3*BTE1 у J3*INFE Jy 1.1 ?
F2E13..«F2EI3*BTE2yJ3*INFEJу 13?"END"?"END"?
XM..«MINIM(Fl у 1 уH)?STEPX..«MAXIM(Fl у 1уН)-ХМ?
YM..«MINIM(F2у 1 у H)?STEPY..«MAXIM(F2у1 у H)-YM?
"IF"STEPX<0.1"~?"THEN"STEPX..«0.1"-9?
”TF"STEPY<0.1"-9"THEN"STEPY..«0.1"-9?
0UTPUT(61y"("*3B">")?
"FOR"I..«1"STEP"!"UNTIL"DL//9*!"DO"
OUTPUT(61 у"("-3Z.3DB">"у YM*9*(1-1>*STEPY/(DL-3)>?
OUTPUT(61 у"("/9B")")?
"FOR"!..«1"STEP"1"UNTIL"(6+DL)/9"D0"
0UTPUT(61y"(""("I.,)!...>..) -
"BEGIN""INTEGER""ARRAY"UE1..CIRy1..DL/POZ3 ?
"FOR"I..«1"STEP".F,UNTIL"CIR"DO"
"FOR"J..«1"STEP"1"UNTIL"DL/POZ"DO"
UEIyJ3..«0?
"FOR"I..«1"STEP"1"UNTIL"H"DO""BEGIN" X..«ENT!ER((F1EI3-XM)*(CIR-1>/STEPX)+1?
Y..«ENTTER((F2ET3-YM)*(DL-1>/(POZ*STEPY>)*1?
UEXyY3..«I?"END"?
"FOR"I..«1"STEP"1"UNTTL"CIR"DO"
"BEGIN"OUTPUT(61 у"("/y-3Z.2D">"yXM+
(I-1>*STEPX/CIR>?
"FOR"J..«l"STEP"l"UNTIL"Dl../POZ"DO" "IF"UEIyJ3«0"OR"METEUEIyJ33«0"THEN""BEGIN" "IF"I«1"OR"J«1"OR"J«DL/POZ"OR"I«CIR"THEN""BEGIN" OUTPUT (61 у "(""(" „ ’’)"”) ")?"GO TO"BE?"END"?
"IF"(YM*(J-l>*STEPY*POZ/DL)*(YM*J*POZ*STEPY/DL)"NOT GREATER"0 "THEN""BEGIN"OUTPUT(61 у"(""(" I")"">">?"GO TO"BE?"END"?
"IF"(XM*(1-1)*STEPX/CIR>*(XM*I*STEPX/CIR>"NOT GREATER"0"THEN" "BEGIN"0UTPUT(61yn(""("")"")")?"GO TO"BE?"END"?
"IF"P0Z«3"THEN"0UTPUT(61y"("3B">")"ELSE"
OUTPUT(6!у"("4B")")?
BE. . "ENri""ELSE""TF"P0Z=3"THEN"arrPUT <61," C3Z"> ",COOTEUCI, J33>
Рис. 5.8. Распечатка процедуры PROGECT.
"ELSE"OUTPUT <61 г” ("4Z"> " fCOOTLUEI, JJ 2> r "ENT!” 5
"IF" HH»1 "THEN” "BEGIN" OUTPUT<61,"<"/
"("OBJECTS COORDINATES")"r/")")r
"FOR"I..«1"STEP"1"UNTIL"H"DO"
OUTPUT(61r"(""("*")"r5ZBr-3Z.3DBr-3Z.3Dr"(" **">"">" rCOOTEIJrFtrilrFZriJ)r"END" "ELSE" OUTPUT(61r"("*">">?"END"?
OUTPUT(61r"("2/")")r
"END"
Рис. 5.8 (продолжение).
ОГЛАВЛЕНИЕ
Предисловие 3
Глава 1. Структурный подход к обработке экспериментальных данных 6
. Основные определения 7
. Структуры данных 10
1.3. Отображение структуры данных в память ЭВМ 16
Глава 2. Алгоритмы исследования взаимозависимости признаков и снижения размерности пространства описания 20
2.1. Корреляционный анализ для разнотипных признаков . . .22
. Метод главных компонент 29
2.3. Факторный анализ .37
. Нелинейные методы снижения размерности 44
. Рекурсивное отображение многомерного пространства на числовую ось 49
Глава 3. Алгоритмы автоматической классификации и распознавания образов '. 56
Иерархическая группировка 56
Выделение связных компонент структуры данных. . . .65
Комбинаторный метод классификации 71
Распознавание образов в метрическом пространстве . . . .78
Рекурсивный алгоритм распознавания образов 82
Глава 4. Система обработки данных SITO 88
Общие сведения о системе 88
Работа с «Редактором системы» 95
Работа с «первым этапом» 102
Работа со «вторым этапом» 108
Работа с системой SITO с использованием терминала ЭВМ CYBER-172/6 111
Глава 5. Некоторые дополнительные сведения о системе SITO . . .116
Рекомендации по написанию управляющих программ . . .116
Процедуры подготовки и редактирования исходных данных 118
Вспомогательныепроцедуры обработки данных124
Сервисныепрограммы 129
Список сокращений 132
Литература 133
Распечатки процедур и примеры их работы; .135
95 коп.
5 ВГ 66
A-4b ^
е
НАУКА
ЛЕНИНГРАДСКОЕ
ОТДЕЛЕНИЕ