Научная статья на тему 'Сокращение вычислительной сложности классифицирующих алгоритмов семейства AdaBoost'

Сокращение вычислительной сложности классифицирующих алгоритмов семейства AdaBoost Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
59
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛАССИФИКАЦИЯ / ДЕРЕВЬЯ ПРИНЯТИЯ РЕШЕНИЙ / УСИЛЕНИЕ КЛАССИФИКАТОРОВ / МАШИННОЕ ОБУЧЕНИЕ / ADABOOST / CLASSIFICATION / DECISION TREES / CLASSIFIERS BOOSTING / MACHINE LEARNING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хомяков Марат Юрьевич, Щеголева Надежда Львовна

Обсуждены идеи сокращения вычислительной сложности обучения и построения классификаторов древовидного типа с использованием усиления подхода, позволяющего снизить ошибку алгоритма обучения, комбинируя классификаторы, вероятность ошибки которых хотя бы немного меньше 1/2. Наиболее распространенной версией алгоритма усиления является AdaBoost.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хомяков Марат Юрьевич, Щеголева Надежда Львовна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The computational complexity decrease for AdaBoost classifiers

Boosting is a technique to significantly reduce the error of any learning algorithm that generates classifiers with performance a little better than 1/2. The most widely used algorithm version is AdaBoost. In this paper we propose some ideas to reduce learning and tree pattern classifiers production computational cost. We show practical results of applying these ideas on representative collection of machine-learning benchmarks.

Текст научной работы на тему «Сокращение вычислительной сложности классифицирующих алгоритмов семейства AdaBoost»

УДК 004.89, 004.93

М. Ю. Хомяков, Н. Л. Щеголева

Санкт-Петербургский государственный электротехнический

университет "ЛЭТИ"

I Сокращение вычислительной сложности классифицирующих алгоритмов семейства AdaBoost

Обсуждены идеи сокращения вычислительной сложности обучения и построения классификаторов древовидного типа с использованием усиления - подхода, позволяющего снизить ошибку алгоритма обучения, комбинируя классификаторы, вероятность ошибки которых хотя бы немного меньше 1/2. Наиболее распространенной версией алгоритма усиления является AdaBoost.

Классификация, деревья принятия решений, AdaBoost, усиление классификаторов, машинное обучение

Актуальной задачей в системах автоматического распознавания остается повышение быстродействия и уменьшение ошибки. Подход усиления классификаторов AdaBoost, предложенный в 1996 г. Freud и Schapire [1], послужил основанием для множества как прикладных, так и теоретических исследований.

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

Алгоритм усиления классификаторов. Усиление классификаторов - комбинирование примитивных ("слабых") классификаторов в один "сильный" для улучшения эффективности распознавания. Под "силой" классификатора в данном случае подразумевается эффективность (качество) решения задачи классификации.

AdaBoost. Наиболее распространенные варианты базового алгоритма усиления Discrete AdaBoost, Gentle AdaBoost и Real AdaBoost представлены в [1]-[3] и превосходят базовый алгоритм по быстродействию и точности. Изначально AdaBoost сформулирован для бинарной задачи распознавания, но впоследствии было представлено множество модификаций для мультиклассовой классификации. За счет простоты реализации и эффективности наибольшее распространение получили AdaBoost.MH, AdaBoost.MR [3], [4].

Пусть требуется построить классифицирующую функцию F : X ^ Y, где X - пространство векторов признаков; Y - пространство меток классов*. Для построения используется обучающая выборка (xj,y\), ..., (xN,yN), где xn g X(n = 1, 2, ..., N) - вектор

признаков; yn g Y(n = 1, 2, ..., N) - метка класса, к которому принадлежит xn; N - количество признаков. Таким образом, между векторами признаков и метками класса установлено взаимно-однозначное соответствие.

Рассмотрим для упрощения бинарную задачу Y = {-1; +1}. Финальный классификатор строится в следующей форме:

* Вежневец В. Boosting - усиление простых классификаторов // URL: http://cgm.computergraphics.ru/content/view/112. 32 © Хомяков М. Ю., Щеголева Н. Л., 2010

F (x) = sign - ^ \_atht (x)] j {t=0

где T - количество шагов обучения; at - вещественный коэффициент; ht е H - выбранный на текущем шаге наилучший слабый классификатор; H : X ^ Y множество простых классифицирующих функций. В итеративном процессе обучения на каждом шаге добавляется новое слагаемое ft (x) = ah (x), вычисляемое с учетом работы уже построенной части классификатора.

Каждый объект (xn, yn) из обучающей выборки на каждом шаге обучения имеет "вес", задаваемый следующей формулой:

Dt(n) exp _-ynft (xn)]

Dt+i (n )= t

7

^n

N

где Do (п) = 1/N; 1п - нормализующий коэффициент, такой что ^ Dt+1 (п) = 1. Вес зада-

п=1

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

Очередной простой классификатор выбирается исходя из взвешенной с весами Dt ошибки. Целью обучения является получение е Н, минимизирующей взвешенную

N

ошибку классификации = ^ |Dt (п)[ht (хп ) ^ уп ]}.

п=1

Количество шагов обучения алгоритма Т является настраиваемым параметром [1]. Деревья решений - один из методов автоматического анализа данных с интуитивно понятной классификационной моделью, высокой точностью прогноза и быстрым процессом обучения. Большой интерес представляет их анализ при комбинировании с алгоритмами усиления.

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

Если L2, ..., Lс, ..., Lc | - классы (значения метки класса) [5] (С - количество классов), то возможны три варианта.

• Множество WN содержит один или более примеров, относящихся к одному классу Lc . Тогда деревом решений для WN является лист, определяющий класс Lc.

* Шахиди А. Деревья решений - общие принципы работы // URL: http://www.basegroup.ru/library/analysis/tree/description.

33

• Множество Wn не содержит ни одного примера, т. е. пустое. Его решением также является лист, а ассоциированный класс выбирается из множества, отличного от Wn и ассоциированного с родителем.

• Множество Wn содержит примеры, относящиеся к разным классам. В этом случае оно разбивается на некоторые подмножества. Для этого выбирается один из признаков, имеющий в Wn два или более отличных друг от друга значений Vly, Vlj, • ••, VM и

Wn разбивается на подмножества Wvi, Wn2, •••, Wnm , где каждое подмножество содержит все примеры, имеющие одинаковое значение Vlm для выбранного признака.

Эта процедура рекурсивно продолжается до тех пор, пока конечное множество не будет состоять из примеров, относящихся к одному и тому же классу.

Построение дерева решений ведется сверху вниз. Описанная процедура ("разделяй и властвуй") лежит в основе многих современных алгоритмов построения деревьев решений.

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

На сегодняшний день существует значительное число алгоритмов, реализующих деревья решений, но наибольшее распространение и популярность, за счет простоты реализации и качества классификации, получили алгоритмы, основанные на следующих двух базовых*:

• Classification and regression tree (CART) - алгоритм построения бинарного дерева решений - дихотомической классификационной модели. Каждый узел дерева при разбиении имеет только двух потомков.

• C4.5 - алгоритм построения дерева решений, количество потомков у узла не ограничено; допускается только дискретное множество значений атрибутов. При построении деревьев решений особое внимание уделяется выбору критерия атрибута, по которому пойдет разбиение, остановки обучения и отсечения ветвей.

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

Деревья принятия решений с единичной глубиной получили специальное название -пороги.

Алгоритм C4.5 использует теоретико-информационный подход. Для выбора наиболее подходящего атрибута предлагается критерий Gain (D) = Info (WN )- Infod (Wn ), где

Wn2, •••, Wns - подмножества, полученные при разбиении исходного множества Wn по

* Шахиди А. Деревья решений - общие принципы работы // URL: http://www.basegroup.ru/library/analysis/tree/description.

Info (WN ) - энтропия множества

некоторому условию D; S - количество подмножеств). На каждом шаге алгоритма выбирается атрибут, дающий максимальное значение по критерию Gain.

Алгоритм CART использует статистический критерий - так называемый индекс Gini,

который оценивает "расстояние" между распределениями классов: Gini (Nd) = 1 pk ,

k

где Nd - текущий узел; Pk - вероятность класса k в узле Nd.

Предложения по модификации алгоритмов и классификаторов

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

непрерывного атрибута после его дискретизации).

Введем некоторое значение точности а, в соответствии с которым будем осуществлять поиск уникальных значений числовых атрибутов - дискретизацию. Пусть точность дискретизации области значений числовых атрибутов задается как а е [0, 1]. Тогда расчет для

каждого конкретного p-го атрибута производится по формуле s^ = а

(P) • (P)

f\t-/ _ min /

max xn ' - min xn

п = 1, ..., N. Эффективность такого подхода с вычислительной точки зрения и влияние на точность классификации будут показаны далее.

Настройка весов AdaBoost Как описано ранее, на каждом шаге обучения AdaBoost происходит перераспределение весов примеров. Вес каждого элемента обучающей выборки на текущем шаге задает "важность" этого примера для очередного шага обучения алгоритма.

Алгоритм AdaBoost характеризуется концентрацией на самых критичных для распознавания примерах, количество которых на более поздних итерациях существенно снижается. Введем пороговое значение Р для весов примеров, участвующих в формировании клас-

сификатора на текущем шаге. Производная от Р величина S2 = Р

max Dt (n) - min Dt (n)

n = 1, ..., N рассчитывается на каждой итерации для текущего распределения. Обычно удобно выбирать Р е [0.01, 0.1], тогда в обучении будет участвовать от 90 до 99 % весов примеров Dt. Перераспределение весов происходит на каждой итерации и для всех примеров независимо от значения Р, поэтому примеры, не участвовавшие в обучении, могут на следующей итерации быть включены в состав обучающих. Далее будет показана эффективность такого подхода.

Эксперименты и результаты. Использованные в экспериментах наборы данных были получены из базы данных задач машинного обучения UCI machine learning repository*

* http://archive.ics.uci.edu/ml/datasets.html

(University of California at Irvine). В таблице приведено описание наборов данных, использованных в экспериментах.

При выборе данных для анализа предпочтение отдавалось наборам с количеством примеров, не превышающим 1000, и преимущественно числовыми атрибутами. Также не рассматривались наборы с пропущенными значениями.

Для всех экспериментов проводилась кроссвалидация со стратификацией* в случае, если тестовая выборка явно не была представлена. Кроссвалидация проводилась на десяти подмножествах. В случае если набор данных подразумевал бинарную задачу классификации, применялся классический алгоритм AdaBoost, иначе AdaBoost.MH [3]. Все эксперименты проводились на 100 итерациях обучения.

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

Качество классификации оценивалось по величине суммарной ошибки I и II рода FR. Вычислительная сложность модифицированного алгоритма построения классификаторов оценивалась как количество операций разбиения множества при построении узлов дерева для модифицированной и исходной версий. Для процедуры настройки весов алгоритма AdaBoost затраты оценивались как размер обучающей выборки на каждом шаге обучения.

Эксперимент по оценке модификации классификаторов древовидного типа проводился с использованием порогового классификатора для разных значений а е [0.01, 0.1]. В результате каждого эксперимента получена ошибка классификации и количество вызовов операции проверки разбиения множества на каждой итерации GR . Это количество можно считать относительной характеристикой производительности при измерении на одном наборе данных.

Рассмотрим поведение модифицированного алгоритма на наборе "Wine" для разных значений ае{0: 0.01: 0.10} . На рис. 1, а приведено изменение ошибки классификации FR в зависимости от а и номера итерации t, на рис. 1, б показана зависимость GR (а). Введение дискретизации значений атрибутов влияет на ошибку классификации достаточно существенно: даже при а = 0.01 существенно сокращается вычислительная сложность при сохранении ошибки классификации в пределах 10...15 %. Анализ графика ошибки классификации (рис. 1, а) показал, что значение а, оптимальное в смысле сокращения вычислительной сложности и ошибки классификации, находится в интервале [0, 0.01]. Из рис. 2, на котором представлен указанный сокращенный диапазон, следует, что значение а е [0.008, 0.010]

сокращает вычислительную сложность на 70 %. Величина ошибки классификации при этом также остается в пределах 10.15 %.

Набор Количество

данных обучающих примеров классов атрибутов

Iris 150 3 4

Wine 178 3 13

Glass 214 7 9

Ionosphere 351 2 34

Vehicle 846 4 18

* Вежневец В. Оценка качества работы классификаторов // URL: http://cgm.computergraphics.ru/content/view/106

36

FR, %

а

FR, %

30 20 10

0

t 0

t0

CR, % 80 60 40 20

CR, % 80 60 40 20

0.02

0.04

б

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 1

0.06

0.08

а

0.02

0.04

б

Рис. 2

0.06

0.08

Аналогичные эксперименты проведены для остальных наборов данных. Сокращение вычислительной сложности, достигнутое в ходе экспериментов, составило 60 % при значениях а е [0.01, 0.03] без существенных потерь в качестве классификации. Максимальная ошибка классификации в этом случае не превысила 10 %.

Эксперимент для оценки влияния модификации настройки весов AdaBoost проводился для значений ße[0.01, 0.1]. В качестве классификатора использовались пороги. Так как

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

Поведение модифицированного алгоритма анализировалось на наборе "Wine" для разных значений ß е {0 : 0.01: 0.1} . На рис. 3, а приведено изменение ошибки классификации в зависимости от ß и шага итерации, а на рис. 3, б показана вычислительная сложность модифицированной версии алгоритма.

Ошибка классификации при ß = 0.01 (рис. 3, в) несколько больше в модифицированной версии. Анализ рис. 3, в, г показывает, что до пятой итерации обучение проходит на всей обучающей выборке и разброс весов объектов невелик. На пятой итерации прослеживается резкое уменьшение обучающей выборки и увеличение ошибки классификации в связи с неравномерным распределением весов объектов. Это приводит к повторному включению ошибочно распознанных объектов в выборку. В ходе этого затухающего про-

37

а

а

а

0

0

а

FR, % 28 21 14 7

0

Nt, %

t 0

FR, % 28 21 14 7

10

0

Nt, %

P = 0.01

P = 0.01 0

••••■•.. >.. ,y<_„.......'Л............

40

60

Рис. 3

цесса с постепенным сокращением объема обучающей выборки алгоритм выделяет некоторое "ядро" плохо классифицируемых объектов.

Проведенные эксперименты показали, что сокращение обучающей выборки влияет на ошибку классификации несущественно. При обучении на 20 % от общего числа всех объектов (рис. 3, б) ошибка классификации остается в пределах 10 %. Слабая зависимость ошибки классификации от Р связана с резким сокращением количества объектов, не участвующих в обучении уже при Р = 0.01. Таким образом, оставляя для обучения около 99 % общей весовой доли примеров (менее 30 % исходного количества обучающих объектов после 100 итераций), вычислительная сложность обучения сокращается в пять раз без потери качества классификации.

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

Список литературы

1. Freud Y., Schapire R. Experiments with a new boosting algorithm // Machine learning: Proc. of the 13th int. conf. ICML '96, 3-6 July 1996. Bari, Italy. San Mateo, CA: Morgan Kaufmann, 1996. P. 148-156.

2. Friedman J., Hastie T., Tibshirani R. Additive logistic regression: a statistical view of boosting (with discussion) // Annals of statistics. 2000. Vol. 28, № 2. P. 337-374.

3. Schapire R., Singer Y. Improved boosting algorithms using confidence-rated predictions // Machine learning. 1999. Vol. 37, № 3. P. 297-336.

Р

0

б

а

0

t

в

г

4. Freud Y., Schapire R. A decision theoretic generalization of on-line learning and an application to boosting // J. of computer and system sciences. 1997. Vol. 55, № 1. P. 119-139.

5. Quinlan R. C4.5: programs for machine learning. San Mateo, CA: Morgan Kaufmann, 1993. 302 p.

M. U. Khomyakov, N. L. Shegoleva Saint-Petersburg state electrotechnical university "LETI"

The computational complexity decrease for AdaBoost classifiers

Boosting is a technique to significantly reduce the error of any learning algorithm that generates classifiers with performance a little better than 1/2. The most widely used algorithm version is AdaBoost. In this paper we propose some ideas to reduce learning and tree pattern classifiers production computational cost. We show practical results of applying these ideas on representative collection of machine-learning benchmarks.

Classification, decision trees, AdaBoost, classifiers boosting, machine learning

Статья поступила в редакцию 2 февраля 2010 г.

УДК 631.394/395

В. Н. Диби

Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича

Приоритетные модели обслуживания запросов современных контакт-центров

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

IP-контакт-центр, запрос, моделирование, вероятностно-временные характеристики

В последние годы произошла интеграция телефонной и компьютерной индустрии, которая привела к появлению так называемых мультисервисных центров обслуживания вызовов (МЦОВ) на базе IP-технологий или IP-контакт-центров (IPCC), обладающих несравненно большим набором услуг и возможностями. МЦОВ обеспечивают обработку запросов, передаваемых как по телефонным, так и по пакетным сетям (Интернету, сетям 1Р-телефонии) [1], сохраняя возможность распределения телефонных вызовов, обеспечивая тем самым совместимость с наиболее распространенными браузерами (MS Internet Explorer, Opera, Firefox). МЦОВ обрабатывает множество типов запросов, таких как электронная почта; интернет-чат; обратный вызов (web call back), обращение пользователя через IP-канал связи (web call through VoIP), одновременный просмотр страниц в интернете оператором и пользователем (web collaboration).

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

© Диби В. Н., 2010 39

i Надоели баннеры? Вы всегда можете отключить рекламу.