ing layer of a hydrodynamic bearing using a trained two-layer neural network. A quantitative evaluation of the accuracy and speed of the software module of a neural network is presented in comparison with the results of a physical experiment.
Key words: neural network, rotational dynamics, optimal trajectories of motion, intellectual algorithm, nonlinear reactions, fluid friction bearing, equations of motion, pressure fields, mathematical model.
Kornaev Nikolay Valerievich, postgraduate, [email protected], Russia, Orel, Orel State University named after I.S. Turgenev,
Kornaeva Elena Petrovna, candidate of physical and mathematical sciences, docent, lenoks hox a mail.ru, Russia, Orel, Orel State University named after I.S. Turgenev,
Savin Leonid Alexeevich, doctor of technical sciences, professor, [email protected], Russia, Orel, Orel State University named after I.S. Turgenev
УДК 004.855
СРАВНИТЕЛЬНЫЙ АНАЛИЗ РЕАЛИЗАЦИЙ МЕТОДА ОПОРНЫХ ВЕКТОРОВ ДЛЯ ОБУЧЕНИЯ ДВУХКЛАССОВОМУ РАСПОЗНАВАНИЮ В УСЛОВИЯХ
БОЛЬШОГО ЧИСЛА ОБЪЕКТОВ
А.И. Макарова, В.В. Сулимова
Проведен сравнительный анализ реализаций SVM, находящихся в открытом доступе, проведенный в единых условиях на практических задачах с большим числом объектов, выявлены особенности их поведения в условиях плотных и разреженных, нормированных и ненормированных данных, в линейном пространстве признаков объектов и в пространстве, порожденном потенциальной функцией, а также выявлены условия, в которых применение конкретных реализаций может быть целесообразным. Исследование производительности параллельных реализаций проводилось с использованием оборудования Центра коллективного пользования сверхвысокопроизводительными вычислительными ресурсами МГУ имени М.В. Ломоносова.
Ключевые слова: двухклассовое распознавание, метод опорных векторов (SVM), высокопроизводительные вычисления, большие данные.
Задача двухклассового распознавания [1] является одной из наиболее распространенных задач анализа данных. Массовыми источниками таких задач являются такие важные области, как молекулярная биология, горнодобывающая и нефтяная промышленности, медицинские системы и системы видеонаблюдения, маркетинг и многие другие.
Решение задачи двухклассового распознавания состоит из двух этапов: обучение и распознавание. На этапе обучения на основе анализа некоторой доступной совокупности объектов W* = {w,, j = 1,.., N} О W, снабженных метками
y. = y(Wj) О{+1;- 1}, определяющими их классовую принадлежность к одному из
двух классов, строится решающее правило распознавания - классифицирующая функция y(w) :W® {+ 1;- 1}, которая для любого поступившего на ее вход объекта wОW (в
том числе не участвовавшего в обучении) определяет метку класса. Этап распознавания заключается в применении построенного решающего правила к новым объектам для определения их классов.
Одним из наиболее удобных и точных методов решения задач обучения двух-классовому распознаванию является метод опорных векторов (Support Vector Machines, SVM), предложенный В.Н. Вапником [1].
Задача обучения по методу SVM является задачей квадратичного программирования. Она имеет единственное решение, которое при небольшой размерности признакового пространства и небольшом числе объектов может быть легко найдено классическими методами оптимизации.
Однако важной особенностью современных задач анализа данных, обусловленной глобальной информатизацией, является необходимость обучения в условиях большого числа объектов. Обучающая совокупность может содержать десятки и сотни тысяч, а в ряде случае и миллионы объектов. При этом процесс обучения оказывается весьма трудоемким - построение одного решающего правила может занимать десятки минут, часов или даже дней. В связи с этим в мировом сообществе накопилось достаточно большое количество подходов к решению задачи SVM, направленных на повышение производительности [2-6 и др.]. Однако каждый из подходов и его реализаций имеет свои достоинства и недостатки. Более того, несмотря на то, что ряд реализаций SVM находятся в свободном доступе и адаптированы для наиболее популярных языков программирования (таких, как С/С++, MATLAB, python и др.), существует проблема выбора реализации, наиболее подходящей для решения конкретной задачи, поскольку опубликованные сравнительные исследования не охватывают одновременно все реализации и осуществляются, как правило, в разных условиях (с использованием разных архитектур вычислительных систем, различных языков и сред программирования) и при разных параметрах алгоритмов (которые в тому же не всегда указываются, но могут существенно влиять на скорость и качество работы алгоритма). Все это существенно затрудняет принятие решения о целесообразности использования конкретной реализации в имеющихся условиях и обусловливает актуальность проведения сравнительного анализа существующих реализаций метода опорных векторов, которое и определяет основную цель данной работы.
1. Метод опорных векторов (SVM) для обучения двухклассовому распознаванию
1.1. Обучение в линейном признаковом пространстве
В классической теории распознавания образов [7,8] предполагается, что на
каждом объекте W измерен набор его числовых характеристик х(^)О Rm
(признаков), в результате чего каждый объект представляется в виде точки в m -мерном линейном признаковом пространстве.
Идея метода опорных векторов состоит в построении линейной разделяющей гиперплоскости
наилучшим образом разделяющей объекты положительного и отрицательного классов обучающего множества, допуская при этом возможность ошибок dj для некоторых
объектов хj :
Параметр С здесь определяет степень влияния ошибок распознавания объектов обучающей совокупности на положение оптимальной разделяющей гиперплоско-
сти, вектор а Е Я"' является направляющим вектором разделяющей гиперплоскости,
тл т ^
определяющим ее ориентацию в признаковом пространстве к , а скалярный параметр Ь задает смещение гиперплоскости вдоль направляющего вектора.
Часто данную задачу решают в двойственной форме в терминах множителей Лагранжа 1 . при каждом из ограничений-неравенств:
(1)
Множители Лагранжа 1 .,. = 1,...,N, являющиеся решением задачи (1),
позволяют в явном виде выразить направляющий вектор оптимальной разделяющей гиперплоскости:
а ее смещение Ъ может быть определено, например, по формуле:
4.1 2
min V^
о. ^
1 - max
М= 1
Важным достоинством метода опорных векторов является то, что, фактически, решающее правило, определяется обычно лишь относительно небольшим числом объектов, называемых опорными, множители Лагранжа при которых оказываются отличными от нуля.
1.2. Обучение в пространстве, порожденном потенциальной функцией
В ряде практических задач оказывается сложно заранее указать набор признаков, позволяющих сформировать признаковое пространство, в котором выполнялась бы гипотеза компактности - объекты разных классов образовывали бы компактные, не пересекающиеся (или мало пересекающиеся) множества в этом пространстве.
В таких случаях объекты обычно представляются значениями их парного сходства или несходства с другими объектами. Удобно в качестве способа сравнения объектов использовать меру сходства специального вида, называемую потенциальной функцией К), и _ действительнозначную симметричную функцию двух аргументов, обладающую свойствами скалярного произведения, матрица значений которой для любой конечной совокупности объектов (в том числе и для обучающего множества) неотрицательно определена [9]. Любая потенциальная функция погружает множество объектов О в гипотетическое евклидово линейное пространство Г2 3 Г2 с евклидовой метрикой
р w,w" =y¡K uV +К и",и" -2-К и/у , а сама играет роль скалярного произведения в этом пространстве [10].
Свойства потенциальной функции позволяют сформулировать метод опорных векторов (в данном случае его более уместно называть методом опорных объектов), минуя введение признакового описания объектов. Такой подход получил название беспризнакового [11].
Однако и при наличии признакового описания потенциальные функции часто используются для введения нелинейности при построении решающего правила, что в ряде случаев позволяет повысить качество распознавания. Чаще всего в таком случае используется так называемая радиальная потенциальная функция (Radial Basis Function, RBF):
где ^ > 0 _ параметр потенциальной функции, а - Евклидово расстояние между
векторами признаков х' = х(и/) и х" = х(ш")5 представляющими соответствующие объекты. Задача поиска оптимальной разделяющей гиперплоскости в терминах потенциальной функции принимает следующий вид:
■Л,h
ElEL
max
X
2
4 j ■
Л EL^K'0^ + Ь -1 ~ 8я -у
Как и в случае признакового пространства, сформулированная задача может быть записана в двойственной форме в терминах множителей Лагранжа:
Направляющий вектор в данном случае не может быть найден явно, но множители Лагранжа ^,,./ = 1,..., А' определяют значения коэффициентов aj j-vj -, входящих в решающее правило:
¿/(ш;а,6) = Е] j M + Ь
Смещение гиперплоскости вдоль направляющего вектора может быть найдено по формуле:
max Y^l.
ryj=1 1
2. Обзор реализаций метода опорных векторов (SVM), находящихся в свободном доступе
Одной из популярных библиотек, реализующих решение задачи обучения по методу опорных векторов, является LibSVM [12,13]. Это библиотека с открытым исходным кодом, написанная на языке C и имеющая интерфейсы ко многим популярным языкам программирования, таким, как MATLAB, python (sklearn.svm.SVC), R, SciLAB, Java, Ruby, Perl и др. При помощи библиотеки LibSVM обучение может осуществляться как в исходном признаковом пространстве, так и в пространстве, порожденном потенциальной функцией. Возможность работы с относительно большими обучающими совокупностями осуществляется за счет применения метода SMO [14] для решения двойственной задачи квадратичного программирования.
Другой реализацией метода опорных векторов, ориентированной на работу с большими наборами данных, является LIBLINEAR [15]. Данная библиотека также, как и LibSVM, реализована на C, снабжена интерфейсами ко многим популярным языкам программирования, таким, как MATLAB, python (sklearn.svm.LinearSVC), R, SciLAB, Java, Ruby, Perl и др. и имеет тот же формат входных данных, что и LibSVM, что облегчает ее использование для тех, кто уже использовал LibSVM. В отличие от LibSVM, данная библиотека позволяет решать задачу обучения только в линейном признаковом пространстве, но за счет учета ее особенностей работает существенно быстрее, чем LibSVM. Библиотека LIBLINEAR ориентирована на работу с разреженными матрицами объект-признак, в условиях, когда и число объектов, и число признаков может быть очень большим, что характерно для задач обработки текстовых документов. Заявлено, что данная библиотека позволяет получить точное решение задачи SVM.
Существует также параллельная реализация библиотеки LIBLINEAR -MPILIBLINEAR [16] для систем с распределенной памятью с применением технологии MPI, но может применяться и для работы на одной вычислительной машине. Однако, она не является столь универсальной, как описанные выше библиотеки, и может применяться только для unix-подобных операционных систем. Интерфейсы для других языков отсутствуют. Так же, как и LIBLINEAR, данная библиотека ориентирована на работу с разреженными данными.
Библиотека SVMlight [17,18] представляет собой реализацию SVM на языке C, позволяющую производить обучение как в исходном признаковом пространстве, так и в пространстве, порожденном потенциальной функцией. Адаптация к условиям большого числа объектов в ней осуществляется за счет применения ряда эвристик, таких, как специальный способ выбора рабочего множества, "сжатие" ("shrinking") множества переменных, из которых выбирается рабочее множество, кэширование значений потенциальной функции и некоторые другие. Также, как и liblinear, данная библиотека предусматривает более эффективный вариант реализации для работы с разреженными данными.
Библиотека SvmSgd [19,20] реализует быстрое приближенное решение задачи SVM в линейном признаковом пространстве на основе метода стохастического градиента [21]. Использование нелинейных потенциальных функций в библиотеке не предусмотрено. Написана SvmSgd на языке C, имеются варианты исходного кода для Linux и Windows, а также интерфейс для языка python, включенный в пакет sklearn (sklearn.linear_ model.SGDClassifier).
Библиотека nSVM [22] реализует распределенный вариант метода последовательной оптимизации SMO [14] на языке С с применением технологии программирования MPI, ориентирована на системы с распределенной памятью, но может быть использована и для систем с общей памятью. Данная библиотека позволяет проводить обучение как в линейном признаковом пространстве, так и в пространстве, порожденном потенциальной функцией. Также, как и MPILIBLINEAR, данная реализация может применяться только для Unix-подобных операционных систем.
Все описанные выше библиотеки ориентированы на использование центральных процессоров (cpu). Помимо них существуют также реализации SVM, ориентированные на использование графических процессоров (gpu) - GPU-accelerated LibSVM [23] и CuSVM [24]. Первая библиотека реализует алгоритм SMO, используемый в LibSVM, вторая - модифицированный SMO. Обе библиотеки реализованы с применением технологии CUDA. Применение графических процессоров в ряде случаев позволяет существенно повысить скорость решения задачи, однако имеет достаточно существенный недостаток - сильную аппаратную зависимость. В частности, в рамках данной работы не удалось применить указанные библиотеки из-за проблем с программно-аппаратной совместимостью.
3. Экспериментальное исследование реализаций SVM
3.1. Условия проведения экспериментального исследования
Тестирование последовательных реализаций метода SVM проводилось на ПК со следующими техническими характеристиками: Intel® Core™ i5-4210U (2.4GHz), 2 ядра, 6Gb RAM, а параллельных - на суперкомпьютерном комплексе МГУ имени М.В. Ломоносова, с со следующими характеристиками вычислительных узлов: Intel Xeon X5570 (2.93 GHz), 8 ядер, 8Gb RAM. Более детальное техническое описание данного суперкомпьютера приведено на сайте https://parallel.ru/cluster/ lomonosov.html.
3.2. Используемые наборы данных
Рассматриваемые реализации метода опорных векторов экспериментально тестировались на известных наборах данных из репозитория LibSVM [25], таких как ijcnn1, mnist-576, mnist-784 и covtype. Их характеристики приведены в табл. 1.
Приведенные наборы данных являются разреженными и масштабированными, однако, было выявлено, что они не являются стандартизованными, т.е. математическое ожидание и дисперсия по многим признакам отличается от стандартных значений (0 и 1, соответственно).
Таблица 1
Наборы данных для тестирования реализаций 8УМ
Название набора данных Объектов на обучении Объектов на конпроле Число признаков
цспп1 35000 91701 22
шш81—576-ГЬ^8УГ 60000 10000 576
шш81-784-ро1у-8уг 60000 10000 784
соу1уре-2уг 435759 145253 54
3.3. Результаты экспериментов в признаковом пространстве В табл. 2 представлены результаты обучения и распознавания, усредненные по трем запускам, для случая обучения в линейном признаковом пространстве для исходных и стандартизованных наборов данных (приведенных к нулевому среднему и единичной дисперсии по каждому признаку). Во всех случаях значение параметра С=10.
Как видно из табл. 2, при обучении в линейном признаковом пространстве, в случае, когда данные существенно разрежены, библиотека ЫВЬШЕАВ. и ее параллельная реализация МРГЬЮЬШЕАВ. позволяют быстро получить точный или близкий к точному результат. Однако для плотных данных, полученных в результате стандартизации, время работы существенно возрастает, а для используемых реализаций данной библиотеки на языке С, в дополнение к этому еще и достаточно существенно понижается точность найденного решения.
Таблица 2
Результаты обучения в линейном признаковом пространстве
Параметр SVMlight (C) libSVM (С) SVC (LibSVM, python) nSVM (1 процесс) liblinear (С) linear-SVC (Liblinear, python) MPI -liblinear (l процесс) SGD (python)
вре-мя(с) точность вре-мя(с) точность вре-мя(с) точность вре-мя(с) точность вре-мя(с) точность вре-мя(с) точность ь вре-мя(с) точность время (с) точность
ijcnnl
обуч. 12,41 0,917 22,193 0,917 40,4 0,917 13,99 0,917 0,16 0,913 0,915 0,916 0,45 0,914 9,89 0,905
распозн. 0,0267 21,146 25,72 24,67 0,34 0,02 0,09 0,01
mnist 576
обуч. 51,26 0,994 512,74 0,994 499,8 0,994 95,41 0,994 2,17 0,989 4,553 0,994 4,73 0,992 0,51 0,903
распозн. 0,0067 30,506 44,08 35,12 1,03 0,016 1,09 0,02
mnist 784
обуч. 39,916 0,967 838,57 0,967 717,7 0,967 450,5 0,967 2,49 0,948 5,53 0,967 5,37 0,948 0,77 0,903
распозн. 0,03 64,767 50,13 68,45 1,27 0,016 1,32 0,03
covtype 2vr
обуч. 44209 0,951 >180000 - >3600 - 25410 0,961 36,39 0,755 238,4 0.545 0,79 0,612 185 0,505
распозн. 112,3 - - 10456 0,69 0,172 0,8 0,17
ijcnnl (со стандартизацией)
обуч. 197,21 0,957 200,8 0,957 122,5 0,917 25,96 0,930 0,14 0,602 5,486 0,916 0,08 0,602 7,44 0,905
распозн. 102,73 82,1 1,13 108,8 0,59 0,018 0,58 0,03
mnist 576 (со стандартизацией)
обуч. 33072 0,903 31946 0,992 >3600 - 145 0,999 73,09 0,822 32,07 0,991 36,95 0,822 118 0,988
распозн. 1189,6 16,27 - 52,11 1,57 0,047 1,57 0,03
mnist 784 (со стандартизацией)
обуч. 31083 0,903 19446 0,903 >3600 - 483,9 0,995 13,98 0,678 62,7 0,946 13,26 0,679 83,8 0,947
распозн. 1039,4 730,48 - 82,09 1,32 0,031 1,3 0,02
covtype 2vr (со стандартизацией)
обуч. 177502 0,769 >180000 - >3600 - 9185 0,785 2,72 0,756 158 0,756 2,47 0,754 130 0,693
распозн. 0,03 - - 17521 4,24 0,094 4,29 0,08
При этом, следует отметить, что реализация данной библиотеки, входящая в пакет sklearn языка python, позволяет получить решение для стандартизованных данных с почти той же точностью, в то время как библиотека p SVM, наоборот, для стандартизованных данных позволяет получить заметно более точный результат.
Также в данном случае результат улучшается и при использовании библиотеки SGD (в данной работе использовалась реализация, на языке python, входящая в пакет sklearn - skleam.linear_model.SGDClassifier). Обучение с использованием данной библиотеки во всех экспериментах производилось с параметрами по умолчанию, кроме двух: alpha=0.1 (что соответствует параметру С=10 в остальных библиотеках) и максимальное число итераций max_iter=1000. Экспериментально было установлено, что такое значение (вместо принятого по умолчанию max_iter=5) приводит к увеличению времени вычислений, но в случае стандартизованных данных позволяет достаточно ощутимо повысить точность распознавания.
Параллельные версии библиотек позволяют повысить скорость решения в некоторых пределах, но для этого требуется вычислительная система с большим числом процессоров под управлением ОС linux. В данной работе тестирование производительности параллельных реализаций SVM проводилось на суперкомпьютерном комплексе НИВЦ МГУ "Ломоносов". На рис.1 и рис. 2 приведены зависимости времени обучения и распознавания, а также полученного ускорения при обучении и распознавании от числа используемых процессов для библиотек p SVM и MPILIBLINEAR. Во всех проведенных экспериментах число задействованных процессоров вычислительной системы было равно числу запущенных процессов, таким образом все процессы выполнялись параллельно.
4 S 16 32 Число процессов
a
i 2
1" mnist-mnist- 576 784
\\ l\ ijcnnl covtyp e
Д
- \ \\
\\ \\
80 70 60 SO 40 30 20 10 0
-4- inn is t-576
t-784
u ■
V i. \ IS. *
\ . 4
_ "** «« ^
4 8 16 32 Число процессов
б
1 2 4 8 16 32 64 128 Число процессов
в г
Рис. 1. Зависимость времени обучения и распознавания в признаковом пространстве от числа процессов: а, б — для библиотеки р 8УМ; в, г - для МРШВЬШЕЛЯ
170
Как видно из графиков, обе библиотеки позволяют получить достаточно существенное ускорение для обучающих совокупностей большого размера. Однако в ряде случаев можно заметить насыщение и даже последующее уменьшение ускорения при росте числа процессов при обучении распознаванию. Это объясняется тем, что эффект от распараллеливания начинает перекрываться затратами на интенсивное межпроцессное взаимодействие. При этом оптимальное число используемых процессов определяется объемом обучающей совокупности и размерностью признакового пространства, в котором происходит обучение. Процесс распознавания обладает существенно более высокой степенью параллелизма по данным, в связи с чем при распознавании аналогичного эффекта не наблюдается и увеличение числа используемых процессов приводит к увеличению ускорения работы и сокращению общего времени распознавания.
30
о 10
— — т — т п ¡51-57 п ¡51-78 Б 4
-- УС пп1
/ Л *
С" ✓ *
"-
4 8 16 32 Число процессов
а
30 25 20 15
— — тг тг пз1>57 >
-и с
г/*
4 8 16 32 Число процессов
б
Число процессов Число процессов
в г
Рис. 2. Зависимость ускорения от числа процессов при обучении и распознавании в признаковом пространстве: а, б — для библиотеки р 8УМ; в, г - для МРШВЬШЕЛЯ
3.3. Результаты экспериментов в пространстве, порожденном потенциальной функцией
Наиболее часто при решении практических задач анализа данных для введения нелинейности используется радиальная потенциальная функция, имеющая вид (2), поэтому именно она используется в данной работе для сравнительного исследования производительности существующих реализаций БУМ.
Следует отметить, что не все открытые реализации умеют работать с потенциальными функциями вообще и с радиальными потенциальными функциями в частности - это ЫЬБУМ, БУМ^^ и р БУМ. Более того, из-за особенностей формулировки задачи в терминах потенциальных функций процесс обучения распознаванию в большинстве случаев оказывается более долгим по сравнению с обучением в линейном призна-
171
ковом пространстве. Более того, время работы может достаточно сильно варьироваться в зависимости от значений параметров (параметр C метода SVM и параметра g радиальной потенциальной функции). В табл. 3 приведены результаты обучения в пространстве, порожденном радиальной потенциальной функцией с разными значениями степени радиальности g и значении параметра C=10.
Таблица3
Результаты обучения в пространстве, порожденном радиальной потенциальной функцией с разными значениями степени радиальности §
Параметр SVMlight (C) libSVM (С) nSVM (1 процесс)
время(с) точность время(с) точность время(с) точность
ijcnn1
gamma=0.25 обучение 122,44 0,9812 15,03 0,9812 13,95 0,9812
распозн. 28,39 25,31 46,93
gamma=0.5 обучение 82,01 0,9835 12,88 0,9835 12,06 0,9835
распозн. 24,19 19,85 39,64
gamma=0.75 обучение 85,48 0,9951 12,27 0,9951 11,89 0,9951
распозн. 22,4 18,24 36,65
mnist-576
gamma=0.25 обучение 729,8 0,9985 3116,83 0,9985 61 0,9985
распозн. 22,693 21,23 41,83
gamma=0.5 обучение 631,79 0,9987 431,56 0,9987 93,65 0,9987
распозн. 27,15 25,11 48,08
gamma=0.75 обучение 580,16 0,9988 517 0,9988 166,81 0,9988
распозн. 34,81 30,71 56,13
mnist-784
gamma=0.25 обучение 1267,8 0,9915 387,59 0,9915 302,25 0,9915
распозн. 65,41 46,94 121,68
gamma=0.5 обучение 1392,29 0,9944 429,54 0,9944 232,98 0,9944
распозн. 49,93 36,07 92,13
gamma=0.75 обучение 1404,97 0,9951 463,12 0,9951 337,07 0,9951
распозн. 45,49 32,48 83,41
Из табл. 3 видно, что все сравниваемые реализации при одинаковых условиях позволяют получить решение с одинаковой точностью. Однако следует отметить, что качество решения может меняться в зависти от значения параметра радиальной потенциальной функции, поэтому на практике часто встает вопрос о выборе подходящего значения данного параметра, а также значения параметра С метода БУМ. Для автоматического выбора значений параметров обычно используется процедура кросс-валидации, заключающаяся в многократном обучении по подвыборкам, взятым из обучающей совокупности с тестированием на оставшейся части объектов. В результате обучение с выбором параметров оказывается в десятки раз дольше простого обучения с фиксированными значениями параметров. Таким образом, вопрос эффективности вычислений в данном случае стоит еще более остро.
Из реализаций БУМ, находящихся в открытом доступе и предоставляющих возможность производить обучение в пространстве, порожденном нелинейной потенциальной функцией, только библиотека р БУМ позволяет повысить эффективность вычислений, задействуя возможности многопроцессорной системы.
На рис. 3 приведены зависимости времени обучения и ускорения от числа процессов при обучении с использованием библиотеки р БУМ с параметрами § = 0.75 и С=10.
300 250 200 150 100 50 О
[ - - — mtiis'i 576
mnist 784
1 \
л \ 4 \ \ 1
Ч ■ \ \
30 25 20
-m nist-57 nist-78 6 4 j
«-ijc nnl /7 f/ V \ Ni
y
4 S 16 32 Число процессов
4 8 16 32 Число процессов
a б
Рис. 3. Зависимость (а) времени обучения и (б) ускорения от числа процессов при обучении в пространстве, порожденном радиальной потенциальной функцией
при помощи библиотеки p SVM
Заключение. В данной работе проведен сравнительный анализ основных существующих реализаций SVM, находящихся в открытом доступе, выявлены основные особенности их работы и условия, в которых их применение может быть целесообразно. В частности, установлено, что для обучения в линейном признаковом пространстве, в случае, когда матрица объект-признак является существенно разреженной высокую эффективность демонстрирует библиотека LIBLINEAR. Однако зафиксированные случаи существенного понижения точности вычислений при работе со стандартизованными данными ставят под вопрос целесообразность ее использования.
Обратный эффект наблюдается при использовании реализации SGD, которая для стандартизованных данных, наоборот, как правило находит решение, более близкое к точному. Более того, выявлено, что в некоторых случаях решение, найденное SGD, имеет даже меньший процент ошибок по сравнению с реализацией LibSVM, которая считается эталонной. К очевидному недостатку SGD следует отнести сильную чувствительность к выбору значений параметров и, как и у LIBLINEAR, невозможность использования потенциальных функций.
В случае обучения в пространстве, порожденном потенциальной функцией, наиболее эффективным инструментом, позволяющим получить точное решение задачи SVM, является библиотека piSVM, реализованная при помощи технологии распределенных вычислений MPI. Основным ее недостатком является то, что она совместима только с unix-подобными операционными системами и наибольший эффект позволяет получить для систем с большим числом процессоров.
Для одной вычислительной машины, работающей под управлением ОС Windows, реализации, приемлемой одновременно и по точности, и по скорости, найти не удалось.
Таким образом, исследование показало, что, несмотря на наличие большого числа работ в области повышения эффективности обучения, до сих пор нет универсального подхода, который был бы одновременно: быстрым; экономичным по памяти (для обеспечения возможности работы на одной вычислительной машине) и имел высокую степень параллелизма (для организации высокопроизводительных вычислений для систем с общей и распределенной памятью).
Работа выполнена с использованием оборудования Центра коллективного пользования сверхвысокопроизводительными вычислительными ресурсами МГУ имени М.В. Ломоносова при поддержке гранта РФФИ №18-07-01087.
173
Список литературы
1. Vapnik V. Statistical Learning Theory. John-Wiley & Sons, Inc. 1998.
2. Joachims T. Making large-scale support vector machine learning practical // in Advances in kernel methods: support vector learning. Cambridge, MA, USA: MIT Press, 1999. P. 169-184.
3. Zhao H.X., Magoules F. Parallel support vector machines on multi-core and multiprocessor systems. R. Fox. 11th International Conference on Arti_cial Intelligence and Applications (AIA 2011), Feb 2011, Innsbruck, Austria. IASTED, 2011. 10.2316/P.2011.717-056.
4. Стародубова (Пескишева), Т.А. Вариант параллельной реализации процесса обучения машин опорных векторов на основе алгоритма Chunking [Текст] / Е.В. Котельников, Т.А. Стародубова (Пескишева), А.В. Котельникова // Параллельные вычислительные технологии (ПАВТ' 2009): труды междунар. науч. конф. (Нижний Новгород, 30 марта - 3 апреля 2009 г.). Челябинск: Изд-во ЮУрГУ, 2009. С. 549-555.
5. Hsieh C.-J., Dhillon S. Si, and I.S. A divide-and-conquer solver for kernel support vector machines. arXiv preprint arXiv:1311.0914, 2013.
6. Yang You, James Demmel, Kenneth Czechowski, Le Song and Richard Vuduc. CA-SVM: Communication-Avoiding Parallel Support Vector Machines on Distributed Systems. EECS Department University of California, Berkeley Technical Report No. UCB/EECS-2015-9 February 27, 2015.
7. Вапник В.Н., Червоненкис А.Я. Теория распознавания образов. М.: Наука, 1974, 415 с.
8. Ту Дж., Гонсалес Р. Принципы распознавания образов. М.: МИР, 1978, 401с.
9. Айзерман М.А., Браверман Э.М., Розоноэр Л.И. Метод потенциальных функций в теории обучения машин. М.: Наука, 1970. 384 с.
10. Моттль В. В. Метрические пространства, допускающие введение линейных операций и скалярного произведения // ДАН, 2003. Т. 67. №1.
11. Duin R.P.W, De Ridder D., Tax D.M.J. Experiments with a featureless approach to pattern recognition. Pattern Recognition Letters, 1997. Vol. 18. No. 11-13. P. 1159-1166.
12. Chang C.-C., Lin C.-J. LIBSVM: a library for support vector machines. Software available at [Электронный ресурс] http://www.csie.ntu.edu.tw/ cjlin/libsvm (дата обращения: 10.09.2018).
13. LIBSVM-A Library for Support Vector Machines [Электронный ресурс] URL: https://www.csie.ntu.edu.tw/~cilin/libsvm/ (дата обращения: 10.09.2018).
14. Platt, J. (1998). Sequential minimal optimization: A fast algorithm for training support vector machines (Technical Report MSR-TR-98-14). Microsoft Research.
15. liblinear Support Vector Machine [Электронный ресурс]. URL: https://www.csie.ntu.edu.tw/~cilin/liblinear/ (дата обращения: 10.09.2018).
16. Mpiliblinear Support Vector Machine [Электронный ресурс]. URL: https://www.csie.ntu.edu.tw/~cilin/libsvmtools/distributed-liblinear/ (дата обращения: 10.09.2018).
17. svmLight Support Vector Machine [Электронный ресурс]. URL: http:// svmlight.ioachims.org (дата обращения: 10.09.2018).
18. Thorsten Joachims, Transductive Inference for Text Classification using Support Vector Machines. International Conference on Machine Learning (ICML), 1999.
19. Stochastic Gradient Descent SVM classifier [Электронный ресурс]. URL: https://github.com/ioaofaro/SVMSGD (дата обращения: 10.09.2018).
174
20. Bottou L. Large-Scale Machine Learning with Stochastic Gradient Descent, Proceedings of the 19th International Conference on Computational Statistics (C0MPSTAT'2010), 177-187, Edited by Yves Lechevallier and Gilbert Saporta, Paris, France, August 2010, Springer.
21. Bottou L. Stochastic Learning. Advanced Lectures on Machine Learning, 146168, Edited by Olivier Bousquet and Ulrike von Luxburg, Lecture Notes in Artificial Intelligence, LNAI 3176, Springer Verlag, Berlin, 2004.
22. PiSvMSoftware [Электронный ресурс]. URL: http://pisvm.source-forge.net (дата обращения: 10.09.2018).
23. Athanasopoulos A., Dimou A., Mezaris V., Kompatsiaris I. GPU Acceleration for Support Vector Machines // Proc. 12th International Workshop on Image Analysis for Multimedia Interactive Services (WIAMIS 2011). Delft, The Netherlands, April 2011.
24. Carpenter Austin. cuSVM: a CUDA implementation of support vector classification and regression, 2009.
25. LIBSVM Data: Classification, Regression, and Multi-label [Электронный ресурс]. URL: https://www.csie.ntu.edu.tw/~cilin/libsvmtools/ datasets/ (дата обращения: 10.09.2018).
Макарова Александра Игоревна, студент, aleksarovaagmail. com, Россия, Тула, Тульский государственный университет,
Сулимова Валентина Вячеславовна, канд. физ.-мат. наук, доцент, vstilimovaayandex. ru, Россия, Тула, Тульский государственный университет
COMPARATIVE ANALYSIS OF SUPPORT VECTOR MACHINES (SVM) REALIZATIONS FOR TWO-CLASS RECOGNITION IN THE CASE OF A LARGE NUMBER OF OBJECTS
A.I. Makarova, V. V. Sulimova
In this paper, we carried out a comparative analysis of open access SVM implementations. We conducted it in unified conditions for practical applications with a large number of objects. We revealed behavior characteristics of considered implementations under dense and sparse, normalized and non-normalized data, in a linear feature space and in a space, produced by the radial basis kernel function. Finally, we formulated conditions in which these realizations can be reasonably applied. Parallel implementations were tested using the equipment of the shared research facilities of HPC computing resources at Lomonosov Moscow State University.
Key words: two-class pattern recognition, Support Vector Machines (SVM), highperformance computing, big data.
Makarova Alexandra Igorevna, student, aleksarovaagmail. com, Russia, Tula, Tula State University,
Sulimova Valentina Vyacheslavovna, candidate of physical and mathematical sciences, docent, vstilimovaayandex.ru, Russia, Tula, Tula State University