Cloud of Science. 2016. T. 3. № 1 http:/ / cloudofscience.ru ISSN 2409-031X
Классификация больших данных: использование SVM-ансамблей и SVM-классификаторов с модифицированным роевым алгоритмом
Л. А. Демидова*, **, Е. В. Никульчев*, Ю. С. Соколова**
Московский технологический институт 119334, Москва, Ленинский проспект, 38а,
**Рязанский государственный радиотехнический университет 390005, Рязань, ул. Гагарина, 59/1
e-mail: [email protected], [email protected], [email protected]
Аннотация. Рассматривается проблема разработки SVM-классифика-торов на основе модифицированного алгоритма роя частиц (PSO-алго-ритма) и ансамблей SVM-классификаторов с целью обеспечения высокого качества классификации данных. Решение данной проблемы позволит выполнять классификацию данных, особенно больших данных (Big Data), с высокой точностью и с приемлемыми временными затратами. При построении SVM-классификатора модифицированный PSO-алгоритм осуществляет одновременный поиск типа функции ядра, значений параметров функции ядра, значения параметра регуляризации, а также соответствующего им набора опорных векторов. В основу предлагаемого модифицированного PSO-алгоритма заложена идея о «перерождении» частиц, предполагающая возможность того, что некоторые частицы могут изменить тип функции ядра на тип, который соответствует частице с наилучшим значением точности классификации. Предлагаемый PSO-алгоритм позволяет сократить временные затраты на разработку SVM-классификатора, что очень важно для Big Data классификации. В большинстве случаев SVM-классификатор на основе модифицированного PSO-алгоритма обеспечивает высокое качество классификации данных при приемлемых временных затратах. Наряду с SVM-классификатором на основе модифицированного PSO-алгоритма предлагается использовать ансамбли SVM-классификаторов, построенных на основе алгоритма максимальной декорреляции для различных стратегий принятия классификационных решений и правила большинства голосов. Представленные результаты экспериментальных исследований подтверждают эффективность SVM-классификаторов на основе модифицированного PSO-алгоритма и ансамблей SVM-классификаторов для Big Data классификации.
Ключевые слова: Big Data, классификация, ансамбль, SVM-классификатор, тип функции ядра, параметры функции ядра, алгоритм роя частиц, параметр регуляризации, опорные векторы.
1. Введение
Термин Big Data (большие данные) применяется для наборов данных, которые являются настолько большими и/или сложными, что использование традиционных технологий обработки данных для них является недостаточным. Такие данные нуждаются в технологиях, которые могут быть использованы для хранения и обработки экспоненциально растущих объемов наборов данных, содержащих структурированные, полуструктурированные и неструктурированные данные. Объем, разнообразие и скорость — три определяющие характеристики больших данных. Объем характеризует количество данных, разнообразие — число типов данных, а скорость — скорость обработки этих данных. Проблемы, связанные с управлением большими данными , предполагают одновременный учет всех трех вышеназванных характеристик. Термин Big Data не означает просто цифры или строки, к большим данным относятся геопространственные данные, аудио, видео, веб-данные, социальные файлы и т. д., полученные из различных источников, таких как датчики, мобильные телефоны, камеры и т. д.
Основная цель технологий больших данных заключается в обеспечении высокого качества обработки и анализа данных. В настоящее время технологии больших данных используются во многих научных и инженерных областях, в том числе, при решении задач физической, биологической и медико-биологической направленности. Кроме того, технологии больших данных находят широкое применение в деятельности правительственных учреждений, финансовых корпораций, крупных предприятий и т. д. В последние годы все большее внимание уделяется применению облачных решений в сфере технологий больших данных.
В настоящее время все большее применение при анализе больших данных находят алгоритмы интеллектуального анализа данных. Так, например, в анализе больших данных важную роль играют подходы, реализующие отбор значимых параметров, кластеризацию, классификацию данных. Эти подходы могут быть использованы для таких задач, как задачи распознавания образов, машинного обучения, биоинформатики, интеллектуального анализа данных, семантической онтологии и т. д. Поскольку в настоящее время известно большое количество алгоритмов отбора параметров, алгоритмов кластерного анализа и алгоритмов классификации, необходимо суметь выбрать среди них такие, которые в должной мере соответствовали бы специфике, свойственной проблеме анализа больших данных.
Алгоритмы машинного обучения можно разбить на две группы: алгоритмы неконтролируемого обучения и алгоритмы контролируемого обучения. Алгоритмы первой группы позволяют выявить структуру кластеров в наборах немаркированных данных, а вторые используют обучающие выборки с маркированными данными для построения классификаторов, которые могут быть использованы для клас-
сификации новых данных. При этом в контексте задачи анализа больших данных и те и другие алгоритмы сталкиваются с проблемой растущего числа параметров и растущего объема входных данных.
Алгоритм опорных векторов ^УМ) относится к контролируемым алгоритмам машинного обучения. В настоящее время SVM-алгоритм успешно используется для решения классификационных задач в различных прикладных областях. Данный алгоритм относится к группе граничных алгоритмов и методов классификации [2].
8УМ-классификаторы, разработанные на основе SVM-алгоритма, используются при решении задач, связанных с анализом кредитного риска [3], медицинской диагностикой [4], распознаванием рукописных символов (почерка) [5], категоризацией текстов [6], извлечением информации [7], идентификацией изображений пешеходов [8], идентификацией изображений лиц [9], дистанционным зондированием Земли [10] и т. д.
Главной особенностью SVM-классификатора является применение специальной функции, называемой ядром, используемой для перевода экспериментального набора данных из исходного пространства характеристик в пространство более высокой размерности, в котором строится гиперплоскость, разделяющая классы. При этом по обеим сторонам разделяющей гиперплоскости определяются две параллельных гиперплоскости, задающие границы классов и находящиеся на максимально возможном расстоянии друг от друга. Предполагается, что чем больше расстояние между этими параллельными гиперплоскостями, тем меньше средняя ошибка SVM-классификатора. Векторы характеристик классифицируемых объектов, ближайшие к параллельным гиперплоскостям, называются опорными векторами. Пример построения разделяющей гиперплоскости в пространстве D-2 приведен на рис. 1.
2 А
• 2, + Ь =+1}
Разделяющая гиперплоскость
• 2, + Ь = 0} {2^ • 2, + Ь = -1}
О класс «+1» класс«-1»
---разделяющие плоскости
ОО опорные векторы
_граница между классами
«-1 » и «+1»
Рисунок 1. Линейное разделение двух классов SVM-классификатором в пространстве D-2
1
2
SVM-алгоритм предполагает выполнение обучения, тестирования и классификации. При удовлетворительном качестве обучения и тестирования построенный таким образом SVM-классификатор в дальнейшем может быть применен для классификации новых объектов.
SVM-алгоритмы хорошо зарекомендовали себя в области статистической классификации. Однако наличие высоких вычислительных затрат, связанных с кубической сложностью выполнения расчетов, приводит к проблематичности использования SVM-алгоритмов для больших данных. Разработка SVM-классификатора связана с решением задачи квадратичной оптимизации [1-3]. Использование базового подхода к разработке SVM-классификатора на основе SVM-алгоритма сопряжено с необходимостью решения задачи квадратичного программирования большой размерности, что ограничивает спектр практических задач классификации данных, которые могут быть решены с применением SVM-классификаторов. В последние десятилетия были предложены различные оригинальные подходы к вышеуказанной проблеме, реализующие такие алгоритмы, как SMO-алгоритм [10, 11], алгоритм образования фрагментов (Chunking) [12], простой (simple) SVM-алгоритм [13], Pegasos-алгоритм [14]. Данные алгоритмы реализуют итерационное уточнение искомого решения и имеют линейную сложность выполнения расчетов [15]. В последние годы для ослабления остроты проблемы высокой сложности выполнения расчетов был предложен каскадный SVM-алгоритм [16]. В этом алгоритме SVM-классификаторы итеративно обучаются на подмножествах исходного экспериментального набора данных, и опорные векторы построенных классификаторов объединяются для создания новых обучающих наборов данных. При этом каскадный SVM-алгоритм может быть легко распараллелен [17].
Современной моделью распределенных вычислений является модель MapReduce, представленная компанией Google и используемая для параллельных вычислений над очень большими наборами данных в компьютерных кластерах [18]. Одной из последних тенденций в сфере обработки и анализа больших данных является использование платформы Hadoop MapReduce при разработке SVM-классификаторов [18]. Hadoop представляет собой свободно распространяемый набор утилит, библиотек, который используется для разработки и выполнения распределенных программ, работающих на кластерах из сотен и тысяч узлов. При этом кластер Hadoop — это особый тип вычислительного кластера, который разработан специально для хранения и анализа огромного количества неструктурированных данных в распределенной вычислительной среде.
Таким образом, с учетом вышеприведенных фактов, можно сделать вывод о высокой перспективности использования SVM-алгоритма при разработке
SVM-классификаторов, предназначенных для выполнения классификации больших данных [19-21].
Существенный интерес при разработке SVM-классификатора представляет решение проблемы, связанной с выбором оптимальных значений таких параметров классификатора: типа функции ядра, значений параметров функции ядра; значения параметра регуляризации — они заранее задаются пользователем и не изменяются в процессе обучения [1, 2]. Без адекватного качественного решения данной проблемы невозможно обеспечить получение высокоточных результатов классификации данных с применением SVM-классификатора.
Значения параметров SVM-классификатора будем считать оптимальными, если достигнута высокая точность классификации: количество ошибок на обучающем и тестовом наборах минимально, причем количество ошибок обученного алгоритма на объектах тестовой выборки не сильно отличается от количества ошибок на обучающей выборке во избежание «переобучения» классификатора.
В простейшем случае решение данной проблемы осуществляется посредством перебора возможных типов функции ядра, значений параметров функции ядра и значения параметра регуляризации — это требует значительных вычислительных затрат. Для оценки качества классификации могут быть использованы показатели точности, полноты классификации и др. [3].
В большинстве случаев при построении бинарных классификаторов целевая функция является сложной, многоэкстремальной, многопараметрической. Для поиска ее оптимума не применимы градиентные методы, но могут быть использованы поисковые алгоритмы стохастической оптимизации, такие как генетический алгоритм [22-24], алгоритм пчелиной колонии [25], алгоритм роя частиц [26-29] и т. п. В таких алгоритмах поиск оптимума производится сразу по всему пространству возможных решений. Алгоритм роя частиц (Particle Swarm Optimization, PSO-алгоритм), основанный на идее о возможности решения задач оптимизации с помощью моделирования поведения групп животных, является наиболее простым эволюционным алгоритмом оптимизации, поскольку для его реализации необходимо уметь определять только значение оптимизируемой функции [26, 27].
Традиционный подход к применению PSO-алгоритма заключается в его многократном применении при фиксированном типе функции ядра с целью выбора оптимальных значений параметров функции ядра и значения параметра регуляризации. Затем осуществляется выбор лучшего типа функции ядра, соответствующих ему значений параметров функции ядра и значения параметра регуляризации.
Наряду с традиционным подходом к применению PSO-алгоритма предлагается применять его новый, модифицированный подход. Он реализует одновременный поиск лучшего типа функции ядра, значений параметров функции ядра и значения
параметра регуляризации. Здесь и далее алгоритмы роя частиц, соответствующие традиционному и модифицированному подходам, будут называться как традиционный PSO-алгоритм и модифицированный PSO-алгоритм [30, 31].
В последнее время значительно возрос интерес к вопросу увеличения точностей моделей, основанных на алгоритмах машинного обучения, посредством объединения возможностей нескольких классификаторов и создания ансамблей классификаторов, что в итоге позволит повысить качество решения прикладных задач [3-5]. Под обучением ансамбля классификаторов понимается процедура обучения конечного набора базовых классификаторов, частные решения которых затем объединяются с целью формирования результирующего классификационного решения на основе агрегированного классификатора. Существуют различные подходы и к правилам объединения частных классификаторов в ансамбль, и к стратегиям формирования результирующего классификационного решения [2].
Основными целями данной работы являются: разработка модифицированного PSO-алгоритма для решения задачи построения SVM-классификатора и сравнения традиционного и предлагаемого PSO-алгоритмов — как по времени поиска оптимальных параметров SVM-классификатора, так и по качеству классификации данных; повышение точности классификационных решений с использованием ансамбля SVM-классификаторов, построенных на основе алгоритма максимальной декорреляции для различных стратегий принятия решений по классификации данных и правила большинства голосов.
2. Теоретические основы SVM-классификации
Пусть имеется экспериментальный набор вида: {(z1,y1),..., (zs,ys)} , в котором каждому объекту е Z поставлено в соответствие число y е Y = {—1; +1}, принимающее значение —1 или +1 в зависимости от того, какому классу принадлежит объект z . При этом предполагается, что каждому объекту z поставлен в соответствие ^-мерный вектор числовых значений характеристик zi = (z' ...,z1' ) (обычно нормированный значениями из отрезка [0, 1]), где z\ — числовое значение 1-й характеристики для /-го объекта (i = 1, s; I = 1, q) [2, 6]. При построении SVM-классификатора с помощью специальной функции к(z , zT ), называемой ядром, определяется классифицирующая функция (классификатор) F: Z ^ Y, сопоставляющая классу Y = {—1; +1} произвольный объект из Z.
При разработке SVM-классификатора необходимо реализовать многократное обучение и тестирование на разных случайным образом сформированных обучаю-
щем и тестовом наборах, состоящих соответственно из S и 5 — S элементов (s > S), с последующим определением лучшего SVM-классификатора в смысле обеспечения максимально возможного качества классификации, оценка которого может быть выполнена с применением различных показателей качества классификации [3]. Тестовая выборка составляет от 1/10 до 1/3 от всего экспериментального
набора, она не участвует в настройке параметров классификатора, а используется для проверки его точности. Если качество обучения и тестирования является приемлемым, то SVM-классификатор может быть применен для классификации новых объектов. В результате обучения SVM-классификатора определяется разделяющая гиперплоскость, которая может быть задана уравнением (w, z) + b = 0, где w —
вектор-перпендикуляр к разделяющей гиперплоскости; b — параметр, соответствующий кратчайшему расстоянию от начала координат до гиперплоскости; ('w,z) — скалярное произведение векторов w и z [1-3]. Условие —1 <(w,z) + b < 1
задает полосу, которая разделяет классы. Чем шире эта полоса, тем увереннее можно классифицировать объекты. При этом объекты, ближайшие к разделяющей гиперплоскости называются опорными векторами. Они расположены точно на границах полосы, разделяющей классы, и несут всю информацию о их разделении.
В случае линейной разделимости классов можно выбрать гиперплоскости таким образом, чтобы между ними не лежал ни один объект из обучающей выборки, затем максимизировать расстояние между гиперплоскостями (ширину полосы) 2/( w, w), решив задачу квадратичной оптимизации [1, 2]:
f(w, w) ^ min,
J __(1)
[Я-({wz) + b)> 1, i = 1, S.
При решении задачи классификации объектов приходится выполнять построение SVM-классификатора как в случае линейной разделимости классов, так и в случае линейной неразделимости классов. Поэтому, с учетом теоремы Куна-Таккера, в общем случае задача построения разделяющей гиперплоскости может быть переформулирована как двойственная задача поиска седловой точки функции Лагранжа — она сводится к задаче квадратичного программирования, содержащей только двойственные переменные [1, 2]:
S Y S S
—ВД = ■Xi + 1 • Z Z Xi ' V У, ■ У г ■ K(zi, Zx ) ^ min,
2 ,=i T=i ъ
S 1 S S
+
i
,=1 S
ZXi • Уi = 0, (2)
0 < Я, < C, i = LS,
где — двойственная переменная; г — объект из обучающей выборки; у — число (-1 или +1), характеризующее классовую принадлежность объекта г из обучающей выборки; к(г,., гх) — функция ядра; С — параметр регуляризации (С > 0);
5 — количество объектов в обучающей выборке; . = 1, 5.
Для обучения SVM-классификатора необходимо определить тип функции ядра к( г,, гх), значения параметров ядра и значение параметра регуляризации С, позволяющего найти компромисс между максимизацией ширины полосы, разделяющей классы, и минимизацией суммарной ошибки. При этом в качестве функции ядра к( г, г), позволяющей разделить объекты разных классов, обычно используется одна из следующих функций [1, 3, 32]:
- линейная: к( г{, гх) = ( г{, гх);
- полиномиальная: к(г , г ) = ((гi , гт) +1) ;
- радиальная базисная: к(г.,гх) = expг - г,г - гт)/(2' ст2)];
- сигмоидная: к(г., гх) = Ш (к2 + к ' ( г., гх)),
где {21,гх) — скалярное произведение векторов гi и гт; й [й е N (по умолчанию й = 3)], ст [с>0 (по умолчанию а2 = 1)], к2 [к2 < 0 (по умолчанию к2 =-1)] и к [кх > 0 (по умолчанию к = 1)] — некоторые параметры; Ш — гиперболический тангенс.
В результате обучения определяется классифицирующая функция [1]:
S
f (z) = £X, • У,-к(z,,z) + b. (3)
i=i
Классификационное решение, сопоставляющее объект z классу с меткой «-1» или «+1», принимается в соответствии с правилом [1]:
( S \
F(z) = sign(f (z)) = sign • y,-k(z,,z) + b I. (4)
V i=1 J
В результате обучения SVM-классификатора определяются опорные векторы, которые находятся ближе всего к гиперплоскости, разделяющей классы, и несут всю информацию о разделении классов. Основная проблема, возникающая при обучении SVM-классификатора, связана с отсутствием рекомендаций по выбору значения параметра регуляризации C, функции, описывающей ядро к(zt, zx), а также значений параметров самой функции ядра, при которых будет обеспечена высокая точность классификации данных. Эта проблема может быть решена с при-
менением тех или иных оптимизационных алгоритмов, в частности с использованием Р80-алгоритма.
Оценка качества SVM-классификатора может быть выполнена с применением различных показателей качества классификации [3]. Это могут быть показатель, учитывающий данные кросс-проверки, показатели точности и полноты классификации, показатель, основанный на анализе ROC-кривой, и т. п.
3. Модифицированный алгоритм роя частиц
При реализации традиционного PSO-алгоритма «-мерное пространство поиска (п — количество параметров, подлежащих оптимизации) населяется роем из т агентов-частиц (элементарных решений). Положение (позиция) 7-й частицы задается вектором Х1 = (х' .х~,.... х"). который определяет некоторый набор значений параметров оптимизации. При этом в аналитической записи целевой функции и(х) = и(х1, х2,..., х") алгоритма оптимизации (оптимум — это, например, минимум которой необходимо найти) такие параметры могут как присутствовать в явном виде, так и отсутствовать.
В процессе инициализации роя частицы случайным образом располагаются по всей области поиска. При этом каждая 7-я частица (7 = 1, т) имеет свой собственный вектор скорости V е , который в каждый конкретный момент времени, соответствующий некоторой итерации PSO-алгоритма, определенным образом влияет на значения координат позиции 7 -й частицы (7 = 1, т). Эти координаты в «-мерном пространстве поиска однозначно определяют значение целевой функции и( х) = и(х1, х2,..., х"), которое является некоторым решением задачи оптимизации [26-29].
Для каждой позиции «-мерного пространства поиска, в которой побывала 7-я частица (7 = 1, т), выполняется вычисление значения целевой функции и(хг). При этом каждая 7-я частица запоминает, какое лучшее значение целевой функции лично она нашла, а также координаты позиции в «-мерном пространстве, соответствующие этому значению целевой функции. Кроме того, каждая 7-я частица (7 = 1,т) «знает», где расположена позиция, являющаяся лучшей (с точки зрения достижения оптимума целевой функции) среди всех позиций, которые «разведали» (опробовали) частицы — благодаря этому имитируется мгновенный обмен информацией между всеми частицами роя. На каждой итерации частицы корректируют свою скорость так, чтобы, с одной стороны, быть поближе к лучшей позиции, которую частица нашла сама, и в то же время приблизиться к позиции, которая в данный мо-
мент является глобально лучшей (среди совокупности позиций, найденных всеми частицами). Через некоторое количество итераций частицы должны собраться вблизи наиболее хорошей позиции (глобально лучшей по результатам всех итераций). Однако возможно, что часть частиц роя останется где-то в относительно неплохом локальном оптимуме или нескольких таких оптимумах.
Сходимость PSO-алгоритма зависит от того, каким образом выполняется коррекция векторов скоростей частиц. Известны различные подходы к выполнению коррекции вектора скорости V для 7-й частицы (7 = 1, ш) [26]. В традиционном PSO-алгоритме коррекция/-й координаты вектора скорости (у = 1, п) для 7-й частицы (7 = 1, ш) производится по формуле [26]
V;' = V;' + ф • /• • - Х> ) + ф • г ■ (х1 - X;' ), (5)
где — /-я координата вектора скорости 7-й частицы; х/ — ]-я координата вектора х, задающего позицию 7-й частицы; X/ — у-я координата вектора лучшей позиции, найденного 7-й частицей за все время ее существования; х1 —/-я координата глобально лучшей позиции всего роя частиц, в которой целевая функция имеет оптимальное значение; гиг — случайные числа в интервале (0, 1), которые вносят элемент стохастичности в процесс поиска; фиф — личный и глобальный коэффициенты ускорения частиц — они являются константами и определяют поведение и эффективность PSO-алгоритма в целом.
С помощью личного и глобального коэффициентов ускорения частиц в (5) масштабируются случайные числа г и г. При этом глобальный коэффициент ускорения ф управляет воздействием глобальной лучшей позиции на скорости всех частиц (групповое управление), а личный коэффициент ускорения ф — воздействием личной лучшей позиции на скорость этой частицы.
В настоящее время известны различные версии традиционного PSO-алгоритма. В одной из самых распространенных (канонической версии) предлагается выполнять нормировку коэффициентов ускорения фиф — для того, чтобы сходимость алгоритма не так сильно зависела от выбора их значений [26]. При этом коррекция каждой ] -й координаты вектора скорости (у = 1, п) I -ой частицы (I = 1, ш ) производится в соответствии с формулой [26]
V/ =хф'/ +ф-Я-(х/ -х/) + ф-г-(х' -х/)], (6)
где х — коэффициента сжатия;
Х = 2'К)\2-ф-^/ф2 -4'ф | ; (7)
Ф = Ф+Ф (ф>4);
(8)
К — некоторый масштабирующий коэффициент, принимающий значения из интервала (0, 1).
При использовании формулы (6) для коррекции вектора скорости гарантируется сходимость PSO-алгоритма и нет необходимости в явном контролировании скоростей частиц [26].
Пусть коррекция вектора скорости 7-й частицы (7 = 1, т) выполнена в соответствии с формулой (5) или (6). Тогда коррекция /-й координаты позиции 7-й частицы (7 = 1, т) выполняется по формуле
Далее для каждой 7-й частицы (7 = 1, т) рассчитывается новое значение целевой функции и (хл) и выполняется проверка: не стала ли новая позиция с вектором координат х лучшей среди всех позиций, в которых 7-я частица ранее побывала. Если новая позиция 7-й частицы признается лучшей для нее на текущий момент времени, то информация об этой позиции сохраняется в векторе х, (7 = 1, т) — с «запоминанием» значения целевой функции и(х;) в этой позиции. Затем среди всех новых позиций частиц роя осуществляется проверка на наличие глобально лучшей позиции. Если некоторая новая позиция, соответствующая одной из частиц роя, признается глобально лучшей на текущий момент времени, то информация о ней сохраняется в векторе х — с «запоминанием» значения целевой функции ч(х;) в этой позиции.
В случае использования Р80-алгоритма при разработке 8УМ-классификатора частицам роя могут быть сопоставлены векторы, описывающие их позиции в пространстве поиска и закодированные параметрами функции ядра и параметром регуляризации: (х1,х2,С), где 7 — номер частицы (7 = 1,т); (х1, х2 — параметры функции ядра 7-й частицы [при этом параметр х1 полагается равным параметрам функций ядра й, о или к2 (в зависимости от того, какому типу функции ядра соответствует частица роя); параметр х2 полагается равным параметру функций ядра к, если частица роя соответствует сигмоидному типу функции ядра, в противном случае значение этого параметра считается равным нулю]; С — параметр регуляризации [30, 31].
Тогда традиционный подход к применению Р80-алгоритма при разработке 8УМ-классификатора заключается в многократном применении Р80-алгоритма
х] = х + у] .
(9)
при фиксированном типе функции ядра с целью выбора оптимальных значений параметров функции ядра и значения параметра регуляризации.
В результате для каждого типа Т функции ядра, участвующего в поиске, будет определена частица с оптимальной комбинацией значений параметров
(х\х",С), обеспечивающая высокое качество классификации [30, 31].
Лучший тип и лучшие значения соответствующих ему параметров определяются по результатам сравнительного анализа лучших частиц, полученных при реализации PSO-алгоритма с фиксированным типом функции ядра.
Наряду с традиционным подходом к применению Р80-алгоритма при разработке 8УМ-классификатора предлагается применять новый подход, реализующий одновременный поиск лучшего типа функции ядра Т, значений параметров и х2 функции ядра и значения параметра регуляризации С [30]. При таком подходе каждой 7-й частицы роя (7 = 1, т) соответствует вектор, описывающий ее позицию в пространстве поиска: (Т, х1, х], С ), где Т7 — номер типа функции ядра (например, 1, 2, 3 — для полиномиальной, радиальной базисной и сигмоидной функций соответственно); параметры х1, х2, С7 определяются аналогично предыдущему случаю. При этом возможно «перерождение» частицы — изменение ее координаты Т на номер того типа функции ядра, частицы которого показывают максимально высокое качество классификации. При «перерождении» возможно изменение значений параметров х1 , х2 и С так, чтобы они соответствовали новому типу функции ядра (с учетом диапазонов изменения их значений). Частицы, которые не подверглись «перерождению», осуществляют движение в своем собственном пространстве поиска (некоторой размерности).
Доля частиц, участвующих в «перерождении» определяется перед запуском алгоритма, ее рекомендуется выбирать от 15 до 25%, чтобы частицы смогли исследовать свое пространство поиска, но при этом не задерживались в нем надолго, если их показатели оказываются наихудшими. Предложенная модификация Р80-алгоритма может быть представлена следующей последовательностью шагов [30].
Шаг 1. Определить параметры PSO-алгоритма: количество частиц в рое т, масштабирующий коэффициент для скорости К , личный и глобальный коэффициенты ускорения фиф, максимальное количество итераций Р80-алгоритма Определить типы Т функций ядра, участвующие в поиске (Т = 1 — полиномиальная, Т = 2 — радиальная базисная, Т = 3 — сигмоидная функция ядра) и границы изменения параметров функции ядра и параметра регуляризации С для выбранных
типов функций ядра T: x , x , x , x , С , С (x = 0 их = 0 для
v TJ ^ r^j^"- - 'vmin ' max' min ' max ' min' max V min max ^
T = 1 и T = 2). Определить процент «перерождения» частиц p.
Шаг 2. Задать равное количество частиц для каждого ядра T, включенного в поиск. Затем для каждой i-й частицы (i = 1,m) инициализировать координату T (так, чтобы каждому используемому в процессе поиска типу функции ядра соответствовало одинаковое количество частиц). Остальные координаты i-й частицы
(i = 1,m) сгенерировать случайным образом из соответствующих диапазонов: x e[xü, x^J, xf e[x2n, x2j (x2 = 0 при T = 1 и T = 2), Ct e^, О. Инициализировать случайный вектор скорости v (v),vf, Х) i-й частицы (i = 1, m) (v2 = 0 при T = 1 и T = 2). Принять начальное положение i-й частицы (i = 1, m) за лучшее ее известное положение ( T, x1, x2, Ci) и определить лучшую частицу с вектором координат (Т, х1, х-, С) среди всех m частиц, а также лучшую частицу для каждого типа функции ядра T , включенного в поиск, с вектором координат (T, xlT, x2Т, CT). При этом количество выполненных итераций полагается равным 1.
Шаг 3. Пока количество выполненных итераций не превышает заданное число iVmax выполнять такие операции:
- «перерождение» частиц: из тех частиц, у которых координата 7J Ф Т (i = 1, m), выбрать p% частиц, показавших самое низкое качество классификации, и изменить значение координаты T с номером типа функции ядра на значение Г; изменить значения параметров х', х2, (" «перерождаемой» частицы так, чтобы они соответствовали новому типу ядра Т (т. е. попадали в соответствующие диапазоны);
- выполнить коррекцию вектора скорости v (v1, v2, v3) и положение
(x), xf,Ci) i-й частицы (i = 1, m) по формулам
x = x/+ vi для j = 1,2, (11)
q=q+X, (12)
где гиг — случайные числа в интервале (0, 1); % — коэффициент сжатия, рассчитанный по формуле (7); xlT, x2T, CT — координаты ча-
стицы, лучшей для типа функции ядра Т = Т; при этом формула (10) является модификацией формулы (6): вместо значений координат глобально лучшей частицы х\ х2, С используются значения х1Т, х~т, Сг;
- произвести расчет точности 8УМ-классификатора со значениями параметров (Т, х1, х2, С ) (7 = 1, т) — с целью поиска оптимальной комбинации ( Г, х1, х", С), обеспечивающей высокое качество классификации;
- увеличить количество итераций на «1».
После выполнения данного алгоритма будет определена частица с оптимальной комбинацией значений параметров ( Г, х1, х", С), обеспечивающая высшее качество классификации на включенных в поиск типах функций ядра.
В модифицированном Р80-алгоритме у частиц происходит изменение координаты (значения), отвечающей за номер функции ядра. Поэтому после выполнения данного алгоритма может оказаться, что все частицы будут сосредоточены в пространстве поиска, которое соответствует функции ядра с максимально высоким качеством классификации. При этом остальные пространства поиска окажутся пустыми, так как у всех частиц, принадлежавших этим пространствам изначально, произойдет «перерождение» координаты с номером (значения) типа функции ядра. В ряде случаев (при небольших значениях количества итераций Мтях или процента «перерождения» частиц р) также возможно, что у некоторых частиц «перерождение» ядер не произойдет, и они останутся в своем пространстве поиска.
Использование модифицированного Р80-алгоритма в задаче разработки 8УМ-классификатора позволяет снизить временные затраты на построение искомого 8УМ-классификатора.
4. Ансамбль БУМ-классификаторов
В большинстве случаев 8УМ-классификатор, построенный на основе модифицированного Р80-алгоритма, обеспечивает высокое качество классификации данных. В некоторых случаях для повышения точности классификации могут быть использованы 8УМ-ансамбли.
После обучения каждый 8УМ-классификатор генерирует свои собственные (частные) классификационные решения, в одних случаях совпадающие с результатами реальной классификации, а в других — отличающиеся от них. Соответственно, разным частным 8УМ-классификаторам соответствуют разные точности классификации. Качество принятых классификационных решений может быть повышено с помощью ансамблей SVM-классификаторов [3, 33-36]. В этом случае обучает-
ся конечный набор частных классификаторов, классификационные решения которых затем объединяются. Результирующее решение формируется на основе агрегированного классификатора. В качестве правил (стратегий) определения агрегированного решения могут быть использованы метод голосования по большинству и метод голосования по степени надежности.
Метод голосования по большинству является наиболее общим и часто используемым методом для комбинирования решений в ансамбле классификаторов. Но этот метод не в полной мере использует информацию о надежности каждого частного SVM-классификатора. Например, пусть SVM-ансамбль агрегирует результаты пяти частных SVM-классификаторов, где значения функции /(г) для объекта г (3), полученные от трех частных SVM-классификаторов отрицательны (класс с меткой «-1»), но очень близки к нейтральному положению, а значение функции / (г) от двух других SVM-классификаторов сильно положительно (класс с меткой «+1»), т. е. очень далеко от нейтрального положения. Тогда результатом агрегированного решения ансамбля на основе метода «один классификатор — один голос» будет определение объекта г в класс с меткой «-1» (так проголосовало большинство классификаторов), хотя очевидно, что оптимальным и более подходящим выбором для объекта г является класс с меткой «+1». Несмотря на хорошие возможности метода голосования по большинству для комбинирования групповых решений, целесообразно выполнить поиск других методов повышения точности классификации.
Метод голосования по степени надежности предполагает использование значение функции / (г) объекта г, полученное каждым частным 8УМ-классификатором. Чем больше положительное значение / (г) в (3), возвращаемое 8УМ-классификатором, тем точнее объект г определяется в класс с меткой «+1», и чем меньше отрицательное значение /(г), тем точнее объект г определяется в класс с меткой «-1». Значение /(г), равное «-1» и «+1» показывает попадание объекта г на границу отрицательного и положительного классов соответственно.
При использовании ансамбля 8УМ-классификаторов при решении классификационных задач следует обратить особое внимание на способы формирования набора частных классификаторов, который в дальнейшем может быть использован при построении итогового ансамбля 8УМ-классификаторов. Экспериментально подтверждено [3, 33-37], что ансамбль классификаторов показывает большую точность, чем любой из его участников, в случае если частные классификаторы точны и разнообразны. Поэтому при формировании набора частных 8УМ-классификаторов необходимо: 1) использовать различные функции ядра; 2) строить классификаторы на разных диапазонах изменения значений параметров ядра и па-
раметра регуляризации; 3) использовать различные обучающие и тестовые выборки данных. Для выбора соответствующих членов ансамбля из нескольких обученных 8УМ-классификаторов целесообразно использовать принцип максимальной декор-реляции, постулирующий, что корреляция между выбранными классификаторами должна быть как можно меньше. После обучения каждому у-му частному классификатору из к обученных будет соответствовать некоторый массив ошибок: е =|у.. - у.1, где — ошибкау-го классификатора на 7-й строке экспериментального набора данных (1 = 1, п, у = 1, к); у у — классификационное решение (метка
класса «—1» или «+1») у-го классификатора на 7-й строке экспериментального набора данных; у у — реальное значение метки класса («—1» или «+1»), к которому относится 7-й объект.
8УМ-классификаторы, недопускающие ошибки на экспериментальном наборе данных, следует исключить из дальнейшего рассмотрения, а из оставшегося количества SVM-классификаторов необходимо каким-либо образом выбрать соответствующее количество частных SVM-классификаторов, обладающих максимальным разнообразием. Для решения данной задачи может быть использован декорреляци-онный алгоритм максимизации, обеспечивающий разнообразие частных 8УМ-классификаторов, используемых при построении ансамбля [3]. Если корреляция между выбранными классификаторами мала, то декорреляция — максимальна.
Пусть имеется матрица ошибок Е набора частных SVM-классификаторов размером £ х к.
Е =
е2к
(13)
где ву — ошибка у-го классификатора на 7-й строке экспериментального набора
данных (1 = 1, £, } = 1, к).
На основе матрицы ошибок Е (13) могут быть вычислены [3]: математическое ожидание:
вариация:
1 £ _
в} = - Е ву (} = 1, к); (14)
£ 1=1
1 £ _
V =1Е (в} - )2 (} = 1. *); (15)
£ 1=1
ковариация:
1 * _ _
V = -] <ей -е) (] = 1,к, * = 1,к). (16)
* 7=1
Тогда элементы г корреляционной матрицы Я размером к х к вычисляются
как:
Г, = , (17)
где г. — коэффициент корреляции, представляющий корреляцию 7-го и /-го классификаторов (] = 1, к, * = 1, к); г, = 1 (] = 1, к).
Используя корреляционную матрицу Я, можно для каждого частного /-го классификатора вычислить множественный коэффициент корреляции р., характеризующий степень корреляции /-го классификатора и всех остальных (к — 1) классификаторов с номерами I (? = 1, к, * Ф ]) [3]:
Р] 1—ас1 Я/Я] (]=й), (18)
где det Я — определитель корреляционной матрицы Я; Я^. — алгебраическое дополнение элемента г^ корреляционной матрицы Я.
Величина р], называемая коэффициентом детерминации, показывает, какую долю вариации исследуемой переменной объясняет вариация остальных переменных. Коэффициент детерминации р] может принимать значения от 0 до 1. Чем
ближе значение коэффициента к 1, тем сильнее зависимость между анализируемыми переменными (в данном случае, между частными классификаторами) [3]. Считается, что зависимость существует, если коэффициент детерминации не меньше 0,5. Если коэффициент детерминации больше 0.8, принято говорить о наличии высокой зависимости.
Для отбора частных SVM-классификаторов для интеграции в ансамбль необходимо определить пороговое значение 9. Так, /-й частный классификатор должен быть удален из списка классификаторов, если коэффициент детерминации р]
удовлетворяет условию: р] >9 (] = 1,к). В случае, когда нужно выявить наиболее
разнообразные классификаторы, генерирующие решения с максимально различными массивами ошибок на экспериментальном наборе данных, следует выбирать пороговые значения 9, удовлетворяющие условию: 9< 0.7. При этом могут учитываться дополнительные соображения, позволяющие избежать исключения недостаточного или излишнего количества частных SVM-классификаторов.
Декорреляционный алгоритм максимизации может быть описан следующей последовательностью шагов [3].
Шаг 1. Вычисление матрицы V и корреляционной матрицы Я с применением формул (15)-(17) соответственно.
Шаг 2. Вычисление для классификаторов коэффициентов множественной корреляции р. (] = 1, к) по формуле (18).
Шаг 3. Удаление из списка классификаторов тех, для которых р] >9 (] = 1, к).
Шаг 4. Итерационное повторение шагов 1-3 для оставшихся в списке классификаторов до тех пор, пока для всех классификаторов не будет выполняться условие р] < 9.
В результате список классификаторов, используемых для формирования ансамбля, будет состоять из т (т < к) частных классификаторов.
Для классификаторов, отобранных в ансамбль, необходимо:
— провести нормирование степеней надежности;
— определить стратегию интеграции членов ансамбля;
— получить агрегированное решение ансамбля.
Значение надежности fj (г), определенное для объекта г /-м классификатором
попадает в интервал (-да, +да). Основным недостатком таких значений является то, что в ансамбле частные классификаторы с большим абсолютным значением часто доминируют в окончательном решении ансамбля. Для преодоления этого недостатка проводится нормирование — преобразование значений степеней надежности в отрезок [0; 1]. В случае бинарной классификации при нормировании для объекта г вычисляются значения степени надежности его принадлежности классу с меткой «+1» — gj (г) и классу с меткой «-1» — g- (г), которые могут быть определены по
формулам [3]
С учетом надежности значений gj (г) и g— (г) (] = 1, т) отобранные частные
классификаторы интегрируются в ансамбль в соответствии с одной из следующих пяти стратегий [3].
1. Стратегия максимума:
(19)
,г) = 1 — g;( г).
(20)
если тах g+ (г) > тах g (г),
J = 1,т J = 1,т
в остальных случаях.
j=1,т
2. Стратегия минимума:
[ 1, если mingj(z) > mingj(z), A(z) = <j j=1,m j=1,m j (22)
1—1, в остальных случаях.
3. Стратегия медианы:
А( 2) =
4. Стратегия суммы:
А( 2) =
1 т 1 т
если — е8,+(-—е8}(^
т }=1 } т } I }
—1, в остальных случаях.
(23)
\ если Е 82(-Е 8—(
}=1 }=1
— 1, в остальных случаях. 5. Стратегия произведения:
(24)
A( z) =
(25)
1, если П (*) -П 8— (*)>
}=1 }=1
—1, в остальных случаях.
Рассчитанное по формулам (21)-(26) значение А(2) является агрегированным показателем степени надежности ансамбля SVM-классификаторов. Это значение можно использовать для интеграции членов ансамбля.
Алгоритм обучения ансамбля 8УМ-классификаторов можно разбить на следующие шаги.
Шаг 1. Экспериментальный набор данных разбить на к обучающих выборок: ТЯ, Щ, ..., тк.
Шаг 2. Обучить к частных 8УМ-классификаторов на обучающих выборках данных ТЯ, ТЯ2, ..., ТЯк с целью получения к частных 8УМ-классификаторов, т. е. членов ансамбля.
Шаг 3. Выбрать т 8УМ-классификаторов из к частных 8УМ-классификаторов (т < к) по принципу максимальной декорреляции.
Шаг 4. Определить значения т классифицирующих функций для каждого выбранного частного 8УМ-классификатора: / (7), /2 (2), ..., /т (7).
Шаг 5. Используя формулы (19) и (20), вычислить значения степеней надежности классу с меткой «+1»: 82(8т (7), ... , 82(7) и классу с меткой «-1»: 8— (
8—(. , 8— (7).
Шаг 6. Определить агрегированный показатель степени надежности ансамбля 8УМ-классификаторов А(2) по формулам (21)-(25).
Данный алгоритм, примененный к слабым в прогнозном отношении SVM-классификаторам, позволит получить более высокую точность классификации данных, чем точность любого отдельно взятого частного классификатора, используемого в агрегате.
Особый интерес представляет задача выбора порогового значения 9. В качестве порогового значения 9* (9* < 0,7) следует выбрать значение, при котором все пять правил классификации (21)-(25) показывают стабильное улучшение качества классификации (т. е. при меньшем количестве частных классификаторов, соответствующем пороговому значению 9, использование каждого из пяти правил приводит к улучшению качества классификации в смысле уменьшения количества ошибочных решений), при этом при всех рассмотренных значениях 9', для которых
9' > 9 , такое стабильное улучшение качества классификации не наблюдается. Следует отметить, что при необходимости для определения искомого порогового значения 9* может быть использовано правило простого большинства для решений, полученных с применением правил классификации (21)-(25).
5. Экспериментальные результаты
Целесообразность использования предложенных подходов к разработке 8УМ-классификаторов и их ансамблей была подтверждена на тестовых и реальных данных.
При проведении эксперимента для конкретного набора данных производился запуск традиционного Р80-алгоритма и предложенного модифицированного Р80-алгоритма — с последующим сравнением найденных ими оптимальных значений параметров 8УМ-классификатора; точности классификации, проводимой с учетом найденных значений; времени, затраченного на поиск.
Реальные данные для проведения экспериментальных исследований были взяты из проекта Statlog и библиотеки машинного обучения иС1. В частности, были использованы два набора данных из медицинской диагностики, два набора данных для кредитного скоринга и один набор данных для создания прогнозной модели распознавания спама на основе данных электронных писем:
— выборка данных хирургического отделения университета штата Висконсин о диагностике рака молочной железы 569 пациентов, содержащая информацию о клеточных ядрах, описываемых 30 характеристиками (д = 30); она была получена на основе оцифрованных изображений снимков грудных желез, при этом у 212 пациентов (класс 1) была правильно диагностирована злокачественная опухоль, а у 357 пациентов (класс 2) диагноз не был подтвержден (в табл. 1 набор WDBC, ис-
точник http: //archive.ics.uci.edu/ml/machine -learning-database s/breast-cancer-wisconsin/);
- выборка данных о диагностике болезни сердца у 270 пациентов, описываемых 13 характеристиками (q = 13), при этом у 150 пациентов (класс 1) заболевание было диагностировано правильно, а у 120 пациентов (класс 2) диагноз не был подтвержден (в табл. 1 набор Heart, источник http://archive.ics.uci.edu/ml/machine-learning-databases/statlog/ heart/);
- выборка данных о заявках на потребительские кредиты в Австралии, содержащая информацию о 690 заявках, описываемых 14 характеристиками (q = 14); при этом 382 заявкам (класс 1) было отказано в выдаче кредита, а для 308 заявок (класс 2) кредит был одобрен (в табл. 1 набор Australian, источник http://archive.ics.uci.edu/ml/machine-learning-data bases/statlog/ australian/);
- выборка данных заемщиков немецкого банка, содержащая информацию о 1000 кредиторах, описываемых 24 характеристиками (q = 24), при этом 700 заемщиков (класс 1) имели положительную кредитную историю, а 300 заемщиков (класс 2) — негативную (в табл. 1 набор German, источник http: //archive.ics.uci.edu/ml/machine -learning-databases/ statlog/german/);
- выборка электронных писем, состоящая из 4601 сообщений, описываемых 57 характеристиками (q = 57), при этом 1813 сообщений были признаны спамом (класс 1), а 2788 (класс 2) не были определены в спам (в табл. 1 набор Spam, источник https://archive.ics.uci.edu/ml/machine-learning-databases/spambase/); этот набор данных является примером Big Data.
Кроме того, для экспериментальных исследований были использованы две тестовые выборки данных: Test и МОТП12 (источник http://machinelearning.ru/wiki/ images/b/b2/MOTP12_svm_example.rar) [26]. В табл. 1 это наборы Test и МОТП12 соответственно.
На всех наборах данных имеет место случай бинарной классификации.
Экспериментальные вычисления производились на ПЭВМ, работающей под 64-разрядной версией Windows 7, с оперативной памятью 3 Гб и четырехядерным процессором Intel® Core™ i3 с тактовой частотой каждого ядра 2.53 ГГц. При моделировании использовался SVM-алгоритм из пакета прикладных программ для выполнения технических вычислений MATLAB 7.12.0.635.
При построении SVM-классификатора для выбора оптимальных значений его параметров были использованы традиционный и модифицированный PSO-ал-горитмы. При этом в поиск были включены ядра с полиномиальной (#1), радиальной базисной (#2) и сигмоидной функциями (#3). Для них были установлены одинаковые значения параметров PSO-алгоритма и одинаковые диапазоны изменения значений искомых параметров SVM-классификатора.
В табл. 1 приведено краткое описание характеристик каждого набора данных и представлены результаты поиска оптимальных значений параметров SVM-клас-сификатора с применением традиционного и модифицированного PSO-алгоритмов (в одинаковых диапазонах изменения параметров и при одинаковых параметрах PSO-алгоритма); количество ошибок, допущенных при обучении и тестировании SVM-классификатора; время поиска.
Так, например, для набора WDBC с применением традиционного и модифицированного PSO-алгоритмов в качестве оптимального ядра было определено ядро с радиальной базисной функцией (#2). При этом для традиционного PSO-алгоритма оптимальными значениями параметра ядра и параметра регуляризации оказались соответственно значения а = 2.89 и С = 9.36 , а для модифицированного PSO-алго-ритма — соответственно значения а = 3.99 и С = 9.84.
Таблица 1. Результаты поиска с применением традиционного
и модифицированного PSO-алгоритмов
Тип PSO- Найденный параметр Ошибка Время поиска, сек.
Набор данных Количество объектов Количество характеристик алгоритма номер ядра и * * при обучении при тесте Число опорных векторов Точность, %
WDB 569 30 традиц. 2 4.93 6.81 - 5 из 427 0 из 142 66 99.12 10108
C модиф. 2 9.83 4.01 - 1 из 427 1 из 142 80 99.65 3250
Heart 270 13 традиц. 2 8.51 3.18 - 7 из 192 11 из 78 106 93.33 6558
модиф. 2 5.92 2.89 - 4 из 192 10 из 78 99 94.81 2733
Aus- 690 14 традиц. 2 6.79 2.31 - 21 из 492 28 из 198 237 92.9 16018
tralian модиф. 2 7.64 2.38 - 21 из 492 26 из 198 225 93.19 8013
Ger- 1000 24 традиц. 1 1.58 3 - 0 из 850 42 из 150 438 95.8 18198
man модиф. 1 5.53 4 - 0 из 850 42 из 150 546 95.8 7156
Spam 4601 57 традиц. 2 7.82 2.47 - 40 из 3681 56 из 920 1634 97.91 92645
модиф. 2 8.57 2.45 - 36 из 3681 60 из 920 1659 97.91 44933
МОТ 400 2 традиц. 2 8.10 0.18 - 9 из 340 9 из 60 166 95.50 15697
П12 модиф. 2 5.69 0.22 - 11 из 340 4 из 60 146 96.25 7146
Test 300 2 традиц. 1 8.85 3 - 0 из 240 0 из 60 7 100 3433
модиф. 1 9.24 3 - 0 из 240 0 из 60 6 100 648
Точность классификации, достигнутая с применением традиционного PSO-ал-горитма, составила 99,47%, а с применением модифицированного PSO-алго-ритма — 99,65%. При этом время поиска составило соответственно 3919 и 1464 сек.
Для набора Spam в результате поиска, выполненного с применением традиционного и модифицированного PSO-алгоритмов, в качестве оптимального ядра также было определено ядро с радиальной базисной функцией (#2). При этом для традиционного PSO-алгоритма оптимальными значениями параметра ядра и параметра регуляризации оказались соответственно значения а = 2.47 и C = 7.82, а для модифицированного PSO-алгоритма — соответственно значения а = 2.45 и C = 8.57.
Точность классификации, достигнутая с применением традиционного и модифицированного PSO-алгоритма, составила 97.91%. При этом время поиска составило соответственно 92645 и 44933 сек.
Для набора Spam на рис. 2-4 показаны примеры расположения роя частиц в пространствах поиска D-2 и D-3 в момент инициализации, а также на 3-й и 12-й итерациях соответственно — при поиске с применением модифицированного PSO-алгоритма. В поиск были включены ядра с полиномиальной, радиальной базисной и сигмоидной функциями, для которых были установлены следующие диапазоны изменения значений параметров: 3 < d < 8, d е N (для полиномиальной функции); 0,1 <а< 10 (для радиальной базисной функции); -10<k2 <-0.1 и 0.1 < k < 10 (для сигмоидной функции). Для параметра регуляризации C диапазон изменения был определен как: 0.1 < C < 10. Кроме того, были заданы следующие значения параметров PSO-алгоритма: количество частиц m в рое, равное 600 (по 200 на каждый тип функции ядра); количество итераций Nmax = 20; коэффициенты личного и глобального ускорения, равные соответственно ф = 2 и ф = 5; масштабирующий коэффициент K = 0.3; показатель «перерождения» частиц p = 20%.
В пространствах поиска сами частицы помечены маркерами-звездочками, а лучшая позиция в пространстве поиска — белым круглым маркером. Как видно из рисунков, в ходе реализации модифицированного PSO-алгоритма частицы роя в собственном пространстве поиска движутся к некоторой лучшей (оптимальной) для текущей итерации позиции, демонстрируя коллективный поиск лучшей позиции в ареале обитания. При этом корректируются скорость и направление движения каждой частицы. Помимо этого происходит «перерождение» частиц — у некоторых из них изменяется пространство поиска на то пространство, в котором частицы показывают максимально высокое качество классификации.
Рисунок 2. Расположение частиц в рое в момент инициализации (слева — полиномальная, в центре — радиальная базисная, справа — сигмоидная функция ядра)
123456789 10 123456739 10 24 6 3 10
С С kl
Рисунок 3. Расположение частиц в рое на 3-й итерации (слева — полиномальная, в центре — радиальная базисная, справа — сигмоидная функция ядра)
123456789 10 123456789 10
С С
Рисунок 4. Расположение частиц в рое на 12-й итерации (слева — радиальная базисная,
справа — сигмоидная функция ядра)
Кроме того, в ходе реализации модифицированного PSO-алгоритма происходит не только изменение координат частиц, отвечающих за параметры функции яд-
ра к(z , zT) и параметр регуляризации C, но изменяется и тип функции ядра. В результате этого все частицы устремляются в единое пространство поиска (в данном случае — пространство, соответствующее радиальной функции ядра). При этом они удаляются (убираются) из того пространства, в котором были изначально инициализированы.
В рассматриваемом примере после 20 итерации только у 7 частиц не изменился тип функции ядра, остальные же частицы расположились около лучшей позиции в пространстве поиска, отвечающей за найденное оптимальное решение (рис. 5).
10 9
е
7 6
S 5 4 3 2 1
123456789 10
С
Рисунок 5. Расположение частиц после 20-й итерации
На рис. 6 показаны примеры расположения роя частиц в пространстве поиска D-2 в момент инициализации, а также на 2-й, 7-й и 10-й итерациях соответственно для частного случая реализации PSO-алгоритма при использовании только радиальной базисной функции ядра в собственном пространстве поиска. При этом лучшая частица была обнаружена уже на 8-й итерации из 20 итераций, включенных в поиск.
В поиск были включены ядра с полиномиальной, радиальной базисной и сиг-моидной функциями, для которых были установлены следующие диапазоны изменения значений параметров: 3 < d < 8, d е N (для полиномиальной функции); 0.1 <ст< 10 (для радиальной базисной функции); -10<k2 <-0.1 и 0.1 <k < 10 (для сигмоидной функции). Для параметра регуляризации C диапазон изменения был определен как: 0.1 < C < 10.
В табл. 2 содержится информация о характеристике лучшего классификатора, параметры которого определяются традиционным (только для радиальной базисной функции, которая была определена как лучшая) и модифицированным (для трех функций ядра) алгоритмом роя частиц в процессе поиска на различных итерациях PSO-алгоритма для набора данных Spam.
• *. V • \
(а) (Ь) (с) (4)
Рисунок 6. Расположение частиц в рое: а) момент инициализации; Ь) 2-я итерация; с) 7-я итерация; 4) 10-я итерация (горизонтальная ось — параметр регуляризации С, вертикальная — параметр ст)
Таблица 2. Характеристики лучшего классификатора при поиске с использованием PSO-алгоритма
Традиционный PSO-алгоритм Модифицированный PSO-алгоритм
(только радиальная базисная функция ядра)
этап количество сумма кол-во этап количество сумма кол-во
выполнения ошибок на оши- опор- выполнения ошибок на оши- опор-
выборках бок ных выборках бок ных
обуча- тесто- векто- обуча тесто векто-
ющей вой ров ющей вой ров
Инициали- 45 85 130 1483 Инициализа- 45 56 101 1494
зация ция, 1 и 2 итерации
1 итерация 41 88 129 1648 3 итерация 43 57 100 1582
2 итерация 56 73 129 1264 4 итерация 38 61 99 1592
3 и 4 итера- 54 73 127 1240 5 и 6 итерации 38 61 99 1584
ции
5 итерация 54 73 127 1240 7 итерация 37 61 98 1671
6 итерация 40 58 98 1645 8 итерация 37 61 98 1589
7 итерация 35 61 96 1686 9-11 итерации 38 59 97 1602
8-20 итера- 40 56 96 1634 12-20 итерации 36 60 96 1659
ции
Из табл. 2 видно, что в результате поиска для рассматриваемых наборов данных оба алгоритма определили в качестве оптимальных одинаковый тип функции ядра, близкие значения параметра функции ядра и параметра регуляризации, а также близкие значения точности обучения и тестирования SVM-классификатора, построенного с учетом найденных значений параметров. Однако, по времени поиска модифицированный PSO-алгоритм оказался более эффективным — затраченное им время на поиск искомого решения оказалось меньше (в 2-3 раза), чем время поиска, с применением традиционного PSO-алгоритма.
При определении оптимальных параметров SVM-классификатора с использованием традиционного или модифицированного алгоритма в заданном пространстве поиска происходит построение большого числа классификаторов с последую-
щим определением того из них, который показывает максимальную точность классификации при минимальном числе опорных векторов. Поэтому при включении в поиск 600 частиц на 20 итераций PSO-алгоритма приходится строить и сравнивать 12000 классификаторов, а если за среднее время обучения и тестирования одного классификатора принять 5 сек., то временные затраты на поиск оптимальных параметров SVM-классификатора составят 600 х 20 х 5 = 60000 сек. или примерно 16.67 час., что значительно превосходит временные расходы на разработку ансамбля из 18 SVM-классификаторов (90 сек., что будет показано ниже).
Как показывают экспериментальные исследования, время поиска определяется как входными параметрами PSO-алгоритма (коэффициентами скорости, количеством и типом функции искомых ядер, диапазонами поиска и т. п.), так и самим набором данных, используемом при обучении и тестировании SVM-классификаторов (их количеством, числом характеристик). Меньшее время поиска модифицированного алгоритма в сравнении со временем поиска традиционным алгоритмом связано с тем, что частицы «перерождаются» из ядра, в котором на построение классификатора уходит больше времени (в частности, самым затратным по времени является ядро с полиномиальной функцией), чем на его построение в новом ядре, куда частицы попадают.
Следует отметить, что SVM-классификатор, построенный для набора данных German, показывает не очень хорошую оценку точности классификации (по сравнению с SVM-классификаторами для других наборов данных). Попытка обучения SVM-классификатора в этом случае приводит к построению SVM-классификатора с не очень высокой точностью классификации или к переобучению классификатора, когда число ошибок для тестового набора значительно больше, чем для обучающего набора (с приемлемой точностью классификации, установленной на всем экспериментальном наборе). Поэтому целесообразно применить другой подход к разработке классификаторов, в частности, подход, основанный на использовании ансамбля SVM-классификаторов.
Еще одним аргументом использования ансамбля SVM-классификаторов является то, что реализация PSO-алгоритма для поиска оптимальных параметров классификатора сталкивает нас с известной проблемой увеличения времени поиска: для повышения точности классификации, мы должны увеличить число итераций PSO-алгоритма и/или количество частиц в рое, однако это не гарантирует получение ожидаемой высокой точности классификации. Поэтому необходимо попытаться разработать ансамбль на базе частных SVM-классификаторов возможно даже с не очень высокой точностью классификации, при этом точность ансамбля SVM-классификаторов должна быть выше точности классификации, полученной частными SVM-классификаторами, используемыми в ансамбле.
В ходе экспериментов, проводимых для различных экспериментальных данных, применительно к конкретному набору производилось обучение нескольких SVM-классификаторов с различными типами функции ядра, различными значениями параметров функции ядра и параметра регуляризации; при этом из исходных данных обучающие и тестовых выборки генерировались случайным образом. После чего к обученным классификаторам применялись принцип максимальной деко-релляции (для отбора частных классификаторов в ансамбль) и различные стратегии формирования агрегированного классификатора. При определении агрегированного решения также использовался метод голосования по большинству. Например, для набора данных German было обучено 18 частных SVM-классификаторов с использованием различных входных параметров. В ходе эксперимента было установлено, что частные классификаторы показывают точность классификационных решений от 83.5% до 93.2%, а начальные значения коэффициентов детерминации, рассчитанные для всех 18 частных классификаторов, содержатся в диапазоне от 0.049 до 0.534. В связи с этим были рассмотрены пороговые значения G из отрезка [0.1; 0.55] с шагом 0.05. Значения параметров классификации, соответствующие различным пороговым значениям G, приведены в табл. 3.
Таблица 3. Значения показателей классификации
при различных пороговых значениях коэффициента детерминации (набор German)
Показатель Стратегия Пороговое значение коэффициента детерминации
0,55 0,5 0,45/0,4 0,35 0,3 0,25 0,2 0,15/0,1
Общая точность (%) Большинство голосов 96,80 96,80 96,80 96,80 96,80 96,80 96,80 96,80
Максимум и минимум 79,90 80,10 81,10 83,80 90,30 91,20 92,30 93,50
Медиана и сумма 95,20 96,20 95,60 97,20 98,29 97,70 97,80 97,60
Произведение 87,40 89,10 89,00 90,90 97,10 97,30 97,00 96,10
Чувствительность (%) Большинство голосов 98,00 98,00 98,00 98,00 98,00 98,00 98,00 98,00
Максимум и минимум 84,71 84,86 85,86 88,00 94,57 95,57 96,29 96,71
Медиана и сумма 96,14 97,43 96,86 98,57 99,29 99,14 99,43 98,57
Произведение 89,14 90,86 90,86 92,29 99,00 99,00 98,86 97,71
Специфичность (%) Большинство голосов 94,00 94,00 94,00 94,00 94,00 94,00 94,00 94,00
Максимум и минимум 68,67 69,00 70,00 74,00 80,33 81,00 83,00 86,00
Медиана и сумма 93,00 93,33 92,67 94,00 95,67 94,33 94,00 95,33
Произведение 83,33 85,00 84,67 87,67 92,67 93,33 92,67 92,33
Количество ошибок I рода Большинство голосов 14 14 14 14 14 14 14 14
Максимум и минимум 107 106 99 84 38 31 26 23
Медиана и сумма 27 18 22 10 5 6 4 10
Произведение 76 64 64 54 7 7 8 16
Количество ошибок II рода Большинство голосов 18 18 18 18 18 18 18 18
Максимум и минимум 94 93 90 78 59 57 51 42
Медиана и сумма 21 20 22 18 13 17 18 14
Произведение 50 45 46 37 22 20 22 23
Количество классификаторов в ансамбле 18 15 13 8 6 5 4 3
Оптимальным пороговым значением 0* для рассматриваемого примера целесообразно считать значение, равное 0.3, так как при 0 = 0.3 все пять правил клас-
сификации (21)-(25) дают стабильное улучшение качества классификации при уменьшении количества классификаторов до количества, соответствующего значению 9 = 0.3. При этом среднее конечное количество классификаторов в ансамбле оказалось равно 6. Дальнейшее уменьшение количества классификаторов не является целесообразным (ввиду дальнейшего уменьшения их количества и существенного уменьшения их разнообразия).
При 9 = 0.3 с использованием медианной стратегии (или стратегии суммы) удалось правильно классифицировать 98.29% объектов исходного набора данных, в то время, как максимальная точность одного из частных SVM-классификаторов, используемого в агрегате, достигала 93.2%, а точность достигнутая правилом простого большинства составила 96.8%.
Таким образом, использование ансамбля SVM-классификаторов позволило повысить точность классификации более чем на 5%, по сравнению с максимальной точностью одного из частных SVM-классификаторов.
Для набора данных Spam также было обучено 18 частных SVM-классификаторов с использованием различных входных параметров.
Параметры и характеристики 18 частных классификаторов показаны в табл. 4.
В поиск были включены ядра с полиномиальной (#1), радиальной базисной (#2), сигмоидной (#3) и линейной (#4) функциями. В таблице для сигмоидной функции ядра первое значение параметра ядра — k , второе — k . Также в табл. 4 представлена информация о временных затратах на обучение каждого частного SVM-классификатора. Общее время обучения составляет 90 сек. При обучении для каждого частного SVM-классификатора учебный набор формировался случайным образом на основе исходного экспериментального набора данных Spam. Количество объектов в тестовой выборке составляло 10-25% от исходного количества объектов в исходном наборе экспериментальных данных.
В ходе эксперимента было установлено, что частные классификаторы показывают точность классификационных решений от 82.29% до 94.63%, а начальные
значения коэффициентов детерминации (при 9 = 1), рассчитанные для всех 18 частных классификаторов, содержатся в диапазоне от 0.025 до 0.757. В связи с этим были рассмотрены пороговые значения 9 из отрезка [0.15; 0.8] с шагом 0.05. Значения параметров классификации, соответствующие различным пороговым значениям 9 приведены в табл. 5.
Оптимальное пороговое значение для рассматриваемого примера принадлежит диапазону [0.15; 0.25], так как для пороговых значений из этого диапазона, то все пять правил классификации (21)-(25) дают стабильное улучшение качества классификации, когда количество классификаторов сводится к числу, соответствующе-
му пороговому значению 0* из диапазона [0.15; 0.25]. При этом конечное число классификаторов в ансамбле SVM оказалось равным 4. Дальнейшее уменьшение количества классификаторов не является целесообразным (ввиду дальнейшего уменьшения их количества и существенного уменьшения их разнообразия).
Таблица 4. Параметры и характеристики частных классификаторов (набор Spam)
Номер частного классификатора 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Тип функции ядра 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 4
Параметр регуляризации 1.2 3.1 2 1.3 2.5 4 0.5 4 10 15 12 10 0.25 0.5 0.5 0.2 3.4 1.2
Параметры ядра 3 3 4 4 3 0.2 0.4 0.6 5 10 10 15 0.5 0.15/ -1.00 0.50/ -1.50 0.20/ -2.20 0.30/ -0.80 -
Точность на всей выборке, % 83.33 91.33 86.72 85.59 90.70 93.44 93.68 94.04 83.89 94.63 92.98 92.87 90.33 87.00 83.53 82.29 82.59 91.72
Количество опорных векторов 578 606 618 549 516 3099 3156 2891 646 686 754 836 3444 585 385 1160 628 874
Размер обучающей выборки 3681 3681 3911 3681 3451 3451 3451 3451 3681 3221 3681 3681 3681 3911 3911 3681 3451 3911
Количество ошибок при обучении 574 286 482 509 273 5 13 11 581 151 253 263 18 510 652 659 613 316
Размер тестовой выборки 920 920 690 920 1150 1150 1150 1150 920 1380 920 920 920 690 690 920 1150 690
Количество ошибок при тестировании 193 113 129 154 155 297 278 263 160 96 70 65 427 88 106 156 188 65
Чувствительность классификатора, % 58.52 79.54 69.39 66.30 78.60 83.45 84.11 85.11 59.85 90.95 85.22 86.05 98.95 81.69 68.34 74.30 81.69 84.28
Специфичность классификатора, % 99.46 99.00 97.99 98.13 98.57 99.93 99.89 99.86 99.53 97.02 98.03 97.31 84.72 90.46 93.40 87.48 83.18 96.56
Количество ошибок I рода 752 371 555 611 388 300 288 270 728 164 268 253 19 332 574 466 332 285
Количество ошибок II рода 15 28 56 52 40 2 3 4 13 83 55 75 426 266 184 349 469 96
Начальный коэффициент детерминации 0.474 0.385 0.312 0.311 0.377 0.106 0.134 0.121 0.383 0.63 0.711 0.757 0.025 0.473 0.486 0.276 0.308 0.572
Время построения, сек 5 6 16 5 5 7 8 7 3 2 3 3 8 2 2 4 2 2
В табл. 6 содержится информация о характеристиках частных SVM-клас-сификаторов, участвующих в принятии агрегированного решения при построении ансамбля. Этот ансамбль был создан на основе стратегий (21)-(25) для пороговых значений 0* из диапазона [0.15; 0.25]. Также в табл. 6 приведены характеристики классификатора, параметры которого были найдены с использованием PSO-ал-горитма. С использованием стратегии максимума (минимума) удалось правильно классифицировать 98.59% объектов исходного набора данных, в то время как максимальная точность одного из частных SVM-классификаторов, используемого в агрегате, составила 94.04% (классификатор с номером 13), а точность, достигнутая с использованием правила большинства голосов, 96.8%.
Таблица 5. Значения показателей классификации при различных пороговых значениях коэффициента детерминации (набор Spam)
Показатель классификации Стратегия Пороговое значение коэ< »фициента детерминации
0,8 0,7 0,6 0,5 0,4 0,35 0,3 0,250,15
Общая точность, % Большинство голосов 95.44 95.44 95.44 95.44 95.44 95.44 95.44 95,44
Максимум и минимум 84.35 84.35 84.35 84.35 84.22 84.13 88.05 98,59
Медиана и сумма 94.31 94.28 94.02 93.89 95.26 95.31 97.09 98,44
Произведение 86.55 86.50 86.39 86.29 85.87 85.09 93.26 98,44
Чувствительность, % Большинство голосов 89.30 89.30 89.30 89.30 89.30 89.30 89.30 89,30
Максимум и минимум 83.78 83.78 83.78 83.78 83.95 83.89 82.24 96,47
Медиана и сумма 86.82 86.43 85.77 85.22 88.36 89.41 94.04 96,14
Произведение 84.28 84.34 84.17 84.00 84.56 84.17 91.01 96,14
Специфичность, % Большинство голосов 99.43 99.43 99.43 99.43 99.43 99.43 99.43 99,43
Максимум и минимум 84.72 84.72 84.72 84.72 84.44 84.29 91.82 99,96
Медиана и сумма 99.18 99.39 99.39 99.53 99.75 99.14 99.07 99,93
Произведение 88.02 87.91 87.84 87.77 86.73 85.69 94.73 99,93
Количество ошибок I рода Большинство голосов 194 194 194 194 194 194 194 194
Максимум и минимум 294 294 294 294 291 292 322 64
Медиана и сумма 239 246 258 268 211 192 108 70
Произведение 285 284 287 290 280 287 163 70
Количество ошибок II рода Большинство голосов 16 16 16 16 16 16 16 16
Максимум и минимум 426 426 426 426 435 438 228 1
Медиана и сумма 23 17 17 13 7 24 26 2
Произведение 334 337 339 341 370 399 147 2
Количество классификаторов в ансамбле 18 16 15 14 11 8 5 4
Применение других стратегий (табл. 6) также приводит к увеличению точности классификации по сравнению с результатами частной классификации, мнением большинства голосов и результатами классификации, выполненной с использованием параметров, найденных с помощью PSO-алгоритма.
Таблица 6. Результаты классификации, выполненной частными классификаторами и ансамблем
Характеристики классификатора Классификатор, построенный с использованием Номер классификатора, вошедшего в агрегированный классификатор Стратегия
тради- моди- мак- меди- произ- боль-
ционного PSO-алго- фици-рован-ного PSO- 6 7 8 13 симум и мини-ни- ана и сумма ведение шинство голосов
ритма алгоритма мум
Общая точность, % 97.91 97.91 93.44 93.68 94.04 90.33 98.59 98.44 98,44 95,44
Чувствительность классификатора, % 96.47 96.14 83.45 84.11 85.11 98.95 96.47 96.14 96,14 89,30
Специфичность классификатора, % 98.85 99.07 99.93 99.89 99.86 84.72 99.96 99.93 99,93 99,43
Количество ошибок 64 70 300 288 270 19 64 70 70 194
I рода
Количество ошибок 32 26 2 3 4 426 1 2 2 16
II рода
Коэффициент детерминации, 0 - - 0.078 0.104 0.091 0.004 G* е [0.15; 0.25] -
Таким образом, использование ансамбля SVM-классификаторов позволило повысить точность классификации почти на 5% по сравнению с максимальной точностью одного из частных SVM-классификаторов, входящего в ансамбль.
SVM-ансамбль с точностью классификации, равной 98.59% не уступает SVM-классификатору (построенному с использованием параметров, найденных с помощью PSO-алгоритма) с точностью классификации, равной 97.91%, а по времени реализации сильно его превосходит.
6. Заключение
Результаты экспериментальных исследований, полученные на основе тестовых данных, традиционно используемых для оценки качества классификации, подтверждают целесообразность использования модифицированного PSO-алгоритма для задач классификации данных.
Модифицированный PSO-алгоритм позволяет определить наилучший тип функции ядра, значения параметров функции ядра и значение параметра регуляризации, обеспечивающих высокое качество классификации объектов при приемлемых временных затратах, которые значительно меньше, чем в случае использования традиционного PSO-алгоритма. Полученные результаты были достигнуты благодаря «перерождению» частиц в модифицированном PSO-алгоритме. Частицы, участвующие в процессе «перерождения», меняют свой тип функции ядра на тот тип, который соответствует частице с наилучшим значением точности классификации. Кроме того, у этих частиц, при необходимости, меняются значения параметров в соответствии с диапазонами их изменения.
Использование ансамблей SVM-классификаторов, построенных на основе алгоритма максимальной декорреляции для различных стратегий принятия решений по классификации данных и правила большинства голосов, позволяет уменьшить случайность классификационного решения, полученного единственным частным SVM-классификатором, и способствует повышению точности классификации. При комбинировании результатов недостатки одних частных SVM-классификаторов компенсируются достоинствами других. Частные SVM-классификаторы уравновешивают случайность результатов друг друга, находя на основе баланса наиболее правдоподобное результирующее классификационное решение, что способствует получению наилучшего результата классификации и минимизации ошибки классификации.
Дальнейшие исследования будут связаны с разработкой рекомендаций по применению SVM-классификаторов на основе модифицированного PSO-алгоритма и SVM-ансамблей для решения практических задач, особенно для задач Big Data классификации. При этом следует заметить, что PSO-алгоритм и другие биоинспи-рированные алгоритмы оптимизации очень хорошо подходят для решения задач, в которых возможно распараллеливание расчетов и необходима обработка больших объемов неструктурированных данных.
Литература
[1] Chapelle O., Vapnik V., Bousquet O., Mukherjee S. Choosing Multiple Parameters for Support Vector Machine // Machine Learning. 2002. Vol. 46. P. 131-159.
[2] Vapnik V. Statistical Learning Theory. — New York: John Wiley & Sons, 1998.
[3] Yu L., Wang S., Lai K. K., Zhou L. Bio-Inspired Credit Risk Analysis. Computational Intelligence with Support Vector Machines. — Berlin Heidelberg : Springer-Verlag, 2008.
[4] Raikwal J. S., Saxena K. Performance Evaluation of SVM and K-Nearest Neighbor Algorithm over Medical Data set // International Journal of Computer Applications. 2012. Vol. 50. No. 14. P. 35-39.
[5] LeCun Y., Jackel L. D, Bottou L. at al. Learning Algorithms for Classification: A Comparison on Handwritten Digit Recognition // Neural Networks: The Statistical Mechanics Perspective / J. H. Oh, C. Kwon, S. Cho (Ed.). — World Scientific, 1995. P. 261-276.
[6] Joachims T. Text Categorization with Support Vector Machines: Learning with Many Relevant Features // Lecture Notes in Computer Science. 2005. Vol. 1398. P. 137-142.
[7] Li Y., Bontcheva K., Cunningham H. SVM Based Learning System For Information Extraction // Lecture Notes in Computer Science. 2005. Vol. 3635. P. 319-339.
[8] Oren M., Papageorgious C., Sinha P., Osuna E., Poggio T. Pedestrian Detection Using Wavelet Templates // 1997 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. — IEEE, 1997. P. 193-199.
[9] Osuna E., FreundR., Girosi F. Training Support Vector Machines: An Application to Face Detection // 1977 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. — IEEE, 1997. P. 130-136.
[10] Saha I., Maulik U., Bandyopadhyay S., Plewczynski D. SVMeFC: SVM Ensemble Fuzzy Clustering for Satellite Image Segmentation // IEEE Geoscience and Remote Sensing Letters. 2012. Vol. 9, No. 1. P. 52-55.
[11] Shevade S. K., Keerthi S. S., Bhattacharyya C., Murthy K. R. K. Improvements to the SMO Algorithm for SVM Regression // IEEE Transactions on Neural Networks. 2000. Vol. 11, No. 5. P. 1188-1193.
[12] Osuna E., FreundR., Girosi F. Improved Training Algorithm for Support Vector Machines // 1997 IEEE Workshop Neural Networks for Signal Processing. — IEEE, 1997. P. 24-26.
[13] Vishwanathan S.V.N., SmolaA., MurtyN. SSVM: a simple SVM algorithm // Proceedings of the 2002 International Joint Conference on Neural Networks. 2002. Vol. 3. P. 2393-2398.
[14] Shalev-Shwartz S., Singer Y., Srebro N., Cotter A. Pegasos: Primal Estimated sub-Gradient Solver for SVM // Mathematical Programming. 2011. Vol. 127, No. 1. P. 3-30.
[15] Bottou L, Lin C.-J. Support Vector Machine Solvers. — MIT Press, 2007. P. 1-28.
[16] Graf H. P., Cosatto E., Bottou L., Durdanovic I., Vapnik V. Parallel Support Vector Machines: The Cascade SVM // Advances in Neural Information Processing Systems. 2005. Vol. 17. P. 521-528.
[17] Meyer O., Bischl B., Weihs C. Support Vector Machines on Large Data Sets: Simple Parallel Approaches // Ch. in book: Data Analysis, Machine Learning and Knowledge Discovery / M. Spiliopoulou, L. Schmidt-Thieme, R. Janning (Eds.). — Springer, 2014. P. 87-95. (Series: Studies in Classification, Data Analysis, and Knowledge Organization)
[18] Priyadarshini A., Agarwal S. A Map Reduce based Support Vector Machine for Big Data Classification // International Journal of Database Theory and Application. 2015. Vol. 8, No. 5. P. 77-98.
[19] Cavallaro G., RiedelM., Richerzhagen M., Benediktsson J. A., Antonio Plaza. On Understanding Big Data Impacts in Remotely Sensed Image Classification Using Support Vector Machine Methods // IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing. 2015. Vol. 8, No. 10. P. 4634-4646.
[20] Yasodha P., Anathanarayanan N. R. Analysing Big Data to Build Knowledge Based System for Early Detection of Ovarian Cancer // Indian Journal of Science and Technology. 2015. Vol 8, No. 14.
[21] Rebentrost P., MasoudM., Seth L. Quantum Support Vector Machine for Big Data Classification // Phys. Rev. Lett. 2014. Vol. 113. P. 130503.
[22] Goldberg D. E., Korb B., Deb K. Messy genetic algorithms: Motivation, analysis, and first results // Complex Systems. 1989. Vol. 3, No. 5. P. 493-530.
[23] Eads D.R., Hill D, Davis S.,Perkins S.J., Ma J, Porter R.B., Theiler J.P. Genetic algorithms and support vector machines for time series classification // Proc. SPIE 4787, Applications and Science of Neural Networks Fuzzy Systems, and Evolutionary Computation. 2002. P. 74-89.
[24] Lessmann S., StahlbockR., Crone S. F. Genetic algorithms for support vector machine model selection // 2006 International Joint Conference on Neural Networks. IJCNN'06. 2006. P. 3063-3069.
[25] Karaboga D., Basturk B. Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems // Proceedings of the 12th international Fuzzy Systems Association world congress on Foundations of Fuzzy Logic and Soft Computing (Proceeding IFSA'07). 2007. P. 789-798.
[26] Sun J., Lai C. H., Wu X. J.Particle Swarm Optimisation: Classical and Quantum Perspectives. — CRC Press, 2011.
[27] Poli R., Kennedy J., Blackwell T. Particle swarm optimization // Swarm Intelligence. 2007. Vol. 1. No. 1. P. 33-57.
[28] Xun W., An Y. B., Jie R. Application of Parallel Particle Swarm Optimize Support Vector Machine Model Based on Hadoop Framework in the Analysis of Railway Passenger Flow Data In China // Chemical Engineering Transactions. 2015. Vol. 46. P. 367-372.
[29] Duggal P. S., Paul S., Tiwari P. Analytics for the Quality of Fertility Data using Particle Swarm Optimization // International Journal of Bio-Science and Bio-Technology. 2015. Vol. 7, No. 1. P. 39-50.
[30] Demidova L., Sokolova Yu. Modification Of Particle Swarm Algorithm For The Problem Of The SVM Classifier Development // 2015 International Conference «Stability and Control Processes» in Memory of V.I. Zubov (SCP). — IEEE, 2015. P. 623-627.
[31] Demidova L., Nikulchev E., Sokolova Yu. The SVM Classifier Based on the Modified Particle Swarm Optimization // International Journal of Advanced Computer Science and Applications. 2016. Vol. 7, No. 2. P. 16-24.
[32] Karatzoglou A., Meyer D., HornikK. Support vector machines in R // Research Report, WU Vienna University of Economics and Business. — Vienna, 2005.
[33] Demidova L., Sokolova Yu., Nikulchev E. Use of Fuzzy Clustering Algorithms' Ensemble for SVM classifier Development // International Review on Modelling and Simulations (IREMOS). 2015. Vol. 8, No. 4. P. 446-457.
[34] Demidova L., Sokolova Yu. SVM-Classifier Development With Use Of Fuzzy Clustering Algorithms' Ensemble On The Base Of Clusters' Tags' Vectors' Similarity Matrixes // 16th International Symposium on Advanced Intelligent Systems, 2015. P. 889-906.
[35] Demidova L., Sokolova Yu. Development of the SVM Classifier Ensemble for the Classification Accuracy Increase // ITM Web of Conferense. 2016. Vol. 6. Atr. 02003.
[36] Demidova L., Sokolova Yu. Training Set Forming For SVM Algorithm With Use Of The Fuzzy Clustering Algorithms Ensemble On Base Of Cluster Tags Vectors Similarity Matrices // 2015 International Conference «Stability and Control Processes» in Memory of V. I. Zubov (SCP). — IEEE, 2015. P. 619-622.
[37] Eastaff M. S.,Premalatha P. Analysis of Big Data Based On Ensemble Classification // Proceedings of the UGC Sponsored National Conference on Advanced Networking and Applications (27th March 2015). 2015. P. 191-193.
Авторы:
Лилия Анатольевна Демидова — доктор технических наук, профессор, профессор кафедры вычислительной и прикладной математики, Рязанский государственный радиотехнический университет
Евгений Витальевич Никульчев — доктор технических наук, профессор, проректор по научной работе, Московский технологический институт
Юлия Сергеевна Соколова — старший преподаватель кафедры вычислительной и прикладной математики, Рязанский государственный радиотехнический университет
Classification Big Data. SVM Classifiers on the Base of the Modified Particle Swarm Optimization Algorithm and the SVM Ensembles
Liliya Demidova*,**, Evgeny Nikulchev*, Yuliya Sokolova**
*Moscow Technological Institute Leninskiy pr., 38A, Moscow, Russian Federation, 119334
**Ryazan State Radio Engineering University Gagarin Str., 59/1, Ryazan, Russian Federation, 390005
e-mail: [email protected], [email protected], [email protected]
Abstract. The problem of development of the support vector machine (SVM) classifiers based on the modified particle swarm optimization (PSO) algorithm and their ensembles has been considered. Solving this problem will allow fulfilling the high-precision data classification, especially Big Data, with the acceptable time expenditure. The modified PSO algorithm carries out the simultaneous search of the kernel function type, values of the kernel function parameters and value of the regularization parameter for the SVM classifier. The idea of particles' «regeneration» is put on the base of the modified PSO algorithm. At the realization of this algorithm, some particles change their kernel function type to the one which corresponds to the particle with the best value of the classification accuracy. The offered PSO algorithm allows reducing the time expenditures for development of the SVM classifier, that is very important for the big data classification problem. In most cases such SVM classifier provides the high quality of data classification. In exceptional cases the SVM ensembles on the base of the decorre-lation maximization algorithm for the different strategies of the decision-making on the data classification and the majority vote rule can be used. The results of experimental studies confirm the efficiency of the SVM classifiers based on the modified particle swarm optimization (PSO) algorithm and their ensembles for Big Data classification.
Keywords: Big Data, classification, ensemble, SVM classifier, kernel function type, kernel function parameters, particle swarm optimization algorithm, regularization parameter, support vectors.
References
[1] Chapelle O., Vapnik V., Bousquet O., Mukherjee S. (2002) Machine Learning, 46:131-159.
[2] Vapnik V. (1998) Statistical Learning. John Wiley & Sons.
[3] Yu L., Wang S., Lai K. K., Zhou L. (2008) Bio-Inspired Credit Risk Analysis. Computational Intelligence with Support Vector Machines. Springer-Verlag.
[4] Raikwal J. S., Saxena K. (2012) International Journal of Computer Applications, 50(14):35-9.
[5] LeCun Y., JackelL. D., Bottou L.,Cortes at al. (1995) Learning Algorithms for Classification: A Comparison on Handwritten Digit Recognition. In Neural Networks: The Statistical Mechanics Perspective. World Scientific, pp. 261-276.
[6] Joachims T. (2005) Lecture Notes in Computer Science, 1398:137-142.
[7] Li Y., Bontcheva K., Cunningham H. (2005) Lecture Notes in Computer Science, 3635:319-339.
[8] Oren M., Papageorgious C., Sinha P., Osuna E., Poggio T. Pedestrian Detection Using Wavelet Templates. In 1997 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp. 193-199.
[9] Osuna E., Freund R., Girosi F. Training Support Vector Machines: An Application to Face Detection. In 1977 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp. 130-136.
[10] Saha I., Maulik U., Bandyopadhyay S., Plewczynski D. (2012) IEEE Geoscience and Remote Sensing Letters, 9(1):52-55.
[11] Shevade S. K., Keerthi S. S., Bhattacharyya C., Murthy K. R. K. (2000) IEEE Transactions on Neural Networks, 11(5):1188-1193.
[12] Osuna E., FreundR., Girosi F. Improved Training Algorithm for Support Vector Machines. In 1997 IEEE Workshop Neural Networks for Signal Processing, pp. 24-26.
[13] Vishwanathan S.V.N., Smola A., Murty N. (2002) SSVM: a simple SVM algorithm. In Proceedings of the 2002 International Joint Conference on Neural Networks, 3:2393-2398.
[14] Shalev-Shwartz S., Singer Y., Srebro N., Cotter A. (2011) Mathematical Programming, 127(1):3-30.
[15] Bottou L., Lin C.-J. (2007) Support Vector Machine Solvers. MIT Press, pp. 1-28.
[16] GrafH. P., Cosatto E., Bottou L., Durdanovic I., Vapnik V. (2005) Advances in Neural Information Processing System, 17:521-528.
[17] Meyer O., Bischl B., Weihs C. (2014) Support Vector Machines on Large Data Sets: Simple Parallel Approaches. In book Data Analysis, Machine Learning and Knowledge Discovery. Springer, pp. 87-95.
[18] Priyadarshini A., Agarwal S. (2015) International Journal of Database Theory and Application, 8(5):77-98.
[19] Cavallaro G., Riedel M., Richerzhagen M., Benediktsson J. A., Antonio Plaza (2015) IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 8(10):4634-4646.
[20] Yasodha P., Anathanarayanan N. R. (2015) Indian Journal of Science and Technology, 8(14).
[21] RebentrostP., MasoudM, Seth L. (2014) Phys. Rev. Lett., 113:130503
[22] Goldberg D. E., Korb B, Deb K. (1989) Complex Systems, 3(5):493-530.
[23] Eads D. R., Hill D., Davis S. at al. (2002) Genetic algorithms and support vector machines for time series classification. In Proc. SPIE 4787, Applications and Science of Neural Networks Fuzzy Systems, and Evolutionary Computation, pp. 74-89.
[24] Lessmann S., Stahlbock R., Crone S.F. (2006) Genetic algorithms for support vector machine model selection. In 2006 International Joint Conference on Neural Networks (IJCNN'06), pp. 3063-3069.
[25] Karaboga D., Basturk B. (2007) Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems. In Proceedings of the 12th international Fuzzy Systems Association world congress on Foundations of Fuzzy Logic and Soft Computing (IFSA '07), pp. 789-798.
[26] Sun J., Lai C. H., Wu X. J. (2011) Particle Swarm Optimisation: Classical and Quantum Perspectives. CRC Press.
[27] Poli R., Kennedy J., Blackwell T. (2007) Swarm Intelligence, 1:33-57.
[28] Xun W., An Y. B., Jie R. (2015) Chemical Engineering Transactions, 46:367-372.
[29] Duggal P.S., Paul S., Tiwari P. (2015) Intern. Journal of Bio-Science and Bio-Technology, 7(1):39-50.
[30] Demidova L., Sokolova Yu. (2015) Modification Of Particle Swarm Algorithm For The Problem Of The SVM Classifier Development. In 2015 International Conference «Stability and Control Processes» in Memory of V. I. Zubov (SCP), pp. 623-627.
[31] Demidova L., Nikulchev E., Sokolova Yu. (2016) International Journal of Advanced Computer Science and Applications, 7(2):16-24.
[32] Karatzoglou A., MeyerD., HornikK. (2005) Support vector machines in Research Report, WU Vienna University of Economics and Business.
[33] Demidova L., Sokolova Yu., Nikulchev E. (2015) International Review on Modelling and Simulations, 8(4):446-457.
[34] Demidova L., Sokolova Yu. (2015) SVM-Classifier Development With Use Of Fuzzy Clustering Algorithms' Ensemble On The Base Of Clusters' Tags' Vectors' Similarity Matrixes // 16th International Symposium on Advanced Intelligent Systems, pp. 889-906.
[35] Demidova L., Sokolova Yu. (2016) ITM Web of Conferense, 6, 02003.
[36] Demidova L., Sokolova Yu. (2015) Training Set Forming For SVM Algorithm With Use Of The Fuzzy Clustering Algorithms Ensemble On Base Of Cluster Tags Vectors Similarity Matrices. In 2015 International Conference «Stability and Control Processes» in Memory of V.I. Zubov (SCP), pp. 619-622.
[37] Eastaff M. S.,Premalatha P. (2015) Analysis of Big Data Based On Ensemble Classification In Proceedings of the UGC Sponsored National Conference on Advanced Networking and Applications (27th March 2015), pp. 191-193.