Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом_лукина.doc
Скачиваний:
4
Добавлен:
30.08.2019
Размер:
1.65 Mб
Скачать

4.3 Рандомизированные решающие деревья

В разработанном алгоритме в качестве метода классификации предлагаются рандомизированные решающие деревья (Random Forest), модифицированные для одновременной классификации нескольких атрибутов. Классификатор представляет собой набор решающих деревьев, каждое из которых обучено на случайном подмножестве обучающей выборки. Результатом классификации является тот класс, за который «проголосовали» (то есть выдали его в качестве результата) наибольшее число деревьев.

Рассмотрим подробнее работу решающих деревьев на этапе классификации. Объект, который необходимо классифицировать, начинает путь по дереву от корня и заканчивает в одном из листьев. В каждом узле, через который проходит объект, происходит сравнение значения одного из признаков с порогом. Если оно меньше порога, то объект направляется в левую ветвь, если больше – то в правую. Каждой листовой вершине в дереве присвоен один из классов, на которые будут поделены объекты. Когда объект доходит до листа, результатом классификации признается класс, соответствующий этому листу.

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

В данной работе предлагается одновременно классифицировать все атрибуты, то есть в каждом узле дерева, помимо признака и порога, будет выбираться атрибут, по которому будет разделяться обучающая выборка. Для этого используется такой критерий: для каждого возможного разделения вычислим, какие классы были бы присвоены левому и правому потомкам, если бы они были листьями, и подсчитаем долю правильно классифицированных объектов в этом случае. Формально это можно записать так:

, (2)

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

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

5 Экспериментальные результаты

Для проведения тестирования алгоритма из нескольких существующих баз фотографий была составлена общая база. В нее вошли базы FERET [14], FG-NET [15], IMM [16], ORL [17] и AR [18]. Объем базы составил 5470 фотографий, среди них фотографии разного качества: как снятые в лабораторных условиях при хорошем освещении, так и обычные фотографии из личных архивов людей. Примеры фотографий из баз показаны на рисунке 4.

Рисунок 4. Примеры фотографий из базы для тестирования

В рамках тестирования проводилась классификация четырех атрибутов: пола, возрастной группы, наличия очков и наличия усов или бороды. По возрасту разделение проводилось на 3 возрастные группы: от 0 до 15 лет, от 16 до 40, от 40 и старше. Было выбрано небольшое количество возрастных групп, но оно является достаточным для большинства практических приложений.

Тестирование проводилось методом скользящего контроля. Вся база фотографий была разделена на 4 части примерно равного объема, и на каждом из 4 этапов тестирования 3 части составляли обучающую выборку, 1 часть – тестовую. Критерий оценки работы алгоритма – процент правильно классифицированных объектов для каждого атрибута и каждого класса. Было проведено 2 тестовых запуска алгоритма: первый – одновременная классификация всех атрибутов (предложенный метод), второй – классификация каждого атрибута по отдельности тем же методом. Результаты двух запусков представлены в таблице 1.

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

Таблица 1. Результаты тестирования

Название атрибута

Общая точность

Точность по отдельным классам

Одновременная классификация

Возраст

82,6%

0-15

16-40

>40

46,2%

98,9%

36,2%

Пол

85,1%

Мужчины

Женщины

94,8%

69,7%

Усы или борода

91,4%

Без усов/бороды

С усами/бородой

99,6%

46,6%

Очки

98,4%

Без очков

В очках

99,7%

91,9%

Отдельная классификация

Возраст

80,7%

0-15

16-40

>40

48,6%

95,7%

37,3%

Пол

81,3%

Мужчины

Женщины

91,5%

64,9%

Усы или борода

87,9%

Без усов/бороды

С усами/бородой

98,5%

30,3%

Очки

97,8%

Без очков

В очках

99,4%

89,4%