
- •Терминология и задачи распознавания образов
- •Задача обучения без учителя. Задача таксономии.
- •Алгоритмы классификации на основе обучения по прецедтам
- •Алгоритм классификации с использованием однородных комитетовбольшинства
- •Формирование обучающей и проверочной выборок
- •Процесс решения задачи ро
- •1 Получить у преподавателя буквы, которые необходимо распознать.
- •2 Записать в отчет.
- •3. Переписать папку kvazar в папку мои документы
- •2 Записать в отчет. В отчет пишем, только информацию выделенную зеленым.
- •1 Образ {а,д, й, е, в}: с 1 вектора по 10 вектор.
- •2 Образ {г, и, б, ж, м, я} с 11 вектора по 20 вектор.
- •4. Запуск квазара и ввод данных в квазар
- •Опыт 2. Задача обучения без учителя. Задача таксономии
- •Анализ листингов 1-3 Лабораторная работа 1
- •Таксономия множества признаков
- •Анализ информативности признаков
- •Анализ наличия одинаковых векторов
- •Результаты рабочего распознавания анализом информативности признаков
- •Результаты рабочего распознавания методом комитета старшинства:
- •Входные данные
- •Таксономия множества векторов
- •Таксономия множества признаков
- •Листинг
- •Лабораторные работы 2, 3 Входные данные
- •Анализ информативности признаков
- •Анализ наличия одинаковых векторов
- •Результаты рабочего распознавания анализом информативности признаков
- •Результаты рабочего распознавания методом комитета старшинства:
- •Листинг
- •Библиографический список
- •Информационный менеджмент
- •620002, Екатеринбург, Мира, 19
Формирование обучающей и проверочной выборок
Задача формирования обучающей и проверочной выборок тесно связана с задачей обучения по прецедентам и обусловлена ею. Действительно, для качественного (с точки зрения пригодности результатов для практического использования) решения задачи обучения по прецедентам необходимо производить оценку качества дискриминантных функций, получаемых в результате обучения. С этой целью можно, например, распознать с помощью полученной дискриминантной функции некоторое количество векторов из проверочной выборки, классификация которых априори известна, но которые не участвовали в обучении. На практике проверочную выборку формируют в лучшем случае исходя из каких-либо практических соображений на основе чисто визуального анализа всей имеющейся совокупности векторов, а чаще — случайным образом. При этом в проверочную выборку могут оказаться включенными векторы из областей признакового пространства, не представленных в обучающей выборке, что, естественно, может повлечь плохое качество обучения распознаванию векторов из этой области. В [106] предлагается воспользоваться для формирования обучающей и проверочной выборок результатами таксономии множества объектов, представленных для обучения. Данный подход позволяет получать достаточно прецедентные (т. е. отражающие основные особенности описания объектов) обучающие и проверочные выборки.
В пакете имеются три различные возможности формирования названных выборок:
по результатам таксономии,
случайным образом,
по указанию пользователя.
Алгоритм классификации с использованием комитетов старшинства
В статье [126] М. Осборн ввел понятие комитета старшинства для разделения двух классов объектов и предложил алгоритм построения комитета, работающий с двоичными векторами. Сотрудником ИММ УрО АН СССР Н. Г. Белецким понятие комитета старшинства было обобщено па случай произвольного числа классов и разработан алгоритм построения такого комитета [12].
Алгоритм
ориентирован на обработку векторов,
координатами которых являются произвольные
вещественные числа. В соответствии
с определением, данным в [12],
комитет старшинства, предназначенный
для разделения
непересекающихся
множеств векторов
,
,
представляет собой совокупность весовых
векторов
.
Члены комитета
ранжированы
от 1 до
(1
— самый высокий ранг,
—
самый низкий) и характеризуются типом
Для
классификации произвольного вектора
с помощью комитета старшинства
последовательно вычисляются
скалярные произведения вектора
на
векторы
и
т. д. до получения первого положительного
скалярного произведения. Если первым
таким произведением является
относим
вектор
к
классу
.
Если же все
скалярных
произведений отрицательны, относим
вектор
к
классу
.
Другими
словами можно сказать, что член комитета
голосует
за вектор
,
еслиили
воздерживается
от голосования, если
Если
все члены
комитета воздерживаются, то считается
проголосовавшим
член самого низкого ранга, т. е.
В
противном случае решающее значение
имеет, как показано выше, голос наиболее
высоко ранжированного члена. Такая
логика процедуры голосования и определила
название «комитет старшинства».
В
качестве обучающей информации при
построении комитета используется
множество
где
.
Комитет строится
последовательно
в том смысле, что сначала в него включается
всего один член
,
а затем число членов увеличивается по
мере необходимости. Причем в процессе
построения
комитета изменяется не только число его членов, а изменяются (корректируются) и сами эти члены. Текущее состояние комитета в процессе его построения в [12]
предложено называть приближением комитета. Коррекция приближения представляет собой процедуру, предусматривающую коррекцию некоторых его членов по определенному правилу.
Коррекцией
-го
члена комитета в ответ на предъявление
вектора
из
класса
называется
изменение вектора
,
определенное последовательностью
действий:
где
—
знак присваивания значения;
—
кон-
станта,
называемая возрастом члена комитета и
имеющая перед
первой коррекцией значение
—
константа,
Сопротивлением
члена комитета
на
векторе
названа величина
где
—
возраст члена комитета,
—
положительная константа.
Значения сопротивлений используются в алгоритме при принятии решений относительно включения в приближение новых членов.
Понятие комитета старшинства и алгоритм его построения можно упрощенно проиллюстрировать на примере разделения двух множеств на плоскости. Элементы множеств обозначим соответственно «крестиками» и «ноликами» и пронумеруем (см. рис. 1.6, а).
На рис. 1.6,б, 1.6, в и 1.6, г показана последовательность построения разделяющего комитета старшинства, состоящего из четырех членов. Каждому члену комитета на рисунках соответствует прямая линия. Около каждой прямой указан номер члена комитета и его тип (в скобках). Значение ранга члена комитета совпадает с его номером. Черточками на прямых отмечены положительные полуплоскости, в которых члены комитета голосуют.
Рис. 1.6. Пример построения комитета старшинства
При построении первого члена комитета (рис. 1.6, б) алгоритм стремится отделить по возможности большее число объектов какого-то одного класса. В данном случае были отделены «нолики» с номерами 6, 9 и 11. При построении второго члена комитета эти объекты во внимание не принимаются. Построение выполняется с учетом того же принципа: отделить по возможности большее число объектов одного класса. С помощью прямой, соответствующей второму члену комитета, таким образом отделяются «крестики» с номерами 3, 4 и 5 (рис. 1.6, в). На рис. 1.6, г изображен уже полностью сформированный комитет. Добавились, как видно, еще два члена. При этом третий член комитета строился так же, как первые два, но без учета ранее отделенных объектов 3, 4, 5, 6, 9, 11. С помощью этого члена комитета «нолики» с номерами 7, 8, 10 отделились от «крестиков» 1 и 2. И, наконец, четвертый член комитета построен для того, чтобы, согласно определению комитета, правильно классифицировались «крестики» с номерами 1 и 2.
Следует еще раз подчеркнуть, что приведенный
пример лишь приблизительно иллюстрирует алгоритм построения комитета. Так, на рисунках показано, что члены комитета строятся строго последовательно. В действительности же процесс построения является параллельно-последовательным. При этом включение в комитет новых членов сочетается с коррекцией уже построенных.
Пользуясь рисунком 1.6, г, поясним, как осуществляется классификация объектов с помощью полученного комитета. Предположим, требуется классифицировать объект «звездочка» с номером 12, не и пользовавшийся при построении комитета. Для этого сначала необходимо выяснить, лежит ли классифицируемый объект в положительной полуплоскости, определяемой первым, т. е. старшим по рангу, членом комитета. Этот факт устанавливается вычислением соответствующего скалярного произведения. В данном случае оказалось, что в положительной полуплоскости первого члена комитета классифицируемый объект не расположен. Таким образом этот член комитета воздерживается от голосования. Второй член комитета также воздерживается от голосования. И, наконец, третий член комитета голосует за данный объект. Согласно приведенному в начале раздела алгоритму классификации, относим объект «звездочка» ко второму классу, поскольку значение типа третьего члена комитета равно двум.
Рассмотренный алгоритм реализован в пакете в виде программного модуля MK.S. Модуль организован таким образом, что при построении комитета используются обучающие векторы с нормированными признаками, а полученный комитет преобразуется к виду, пригодному для классификации векторов с ненормированными признаками.
Выходная информация. Модуль MKS выдает на печать следующую информацию:
1) число векторов, участвовавших в обучении;
2) процент правильного распознавания векторов обучающей выборки;
число членов комитета;
число векторов материала обучения, отсекаемых каждым членом комитета, и количество допущенных при этом ошибок классификации;
проценты правильного распознавания векторов проверочной выборки (общий и по классам);
результаты классификации векторов рабочего распознавания.