1 Введение 3
2 Глава 1. Теоретические аспекты декомпозиционного подхода к решению оптимизационной задачи
1.1. Формулировка метода декомпозиции для алгоритмов
типа градиентного спуска 8
1.2. Постановка оптимизационной задачи метода опорных
векторов
1.3. Модификация алгоритма применения
декомпозиционного подхода для решения оптимизационной задачи метода опорных векторов 20
3 Глава 2. Практическая реализация применения декомпозиции
к оптимизационной задаче
4 Глава 3. Экспериментальные исследования
декомпозиционного подхода к решению оптимизационной задачи метода опорных векторов
Заключение .
Список использованной литературы
Приложение 1…
Во многих случаях реальные задачи, возникающие в различных областях, которые описывают разнообразные процессы и явления, требуют решения сложных оптимизационных задач и характеризуются большим количеством переменных, не меньшим количеством ограничений, целевых функций, задающихся алгоритмически. Как показывает опыт, нет такого единого подхода, применение которого было бы успешно для широкого круга практических задач. Разнообразие методов решения оптимизационных задач позволяют находить подходящее, варьируя различные параметры, но недостаточная эффективность традиционных методов, ограничения по времени и памяти, особенно для задач большой размерности с несколькими сотнями переменных делают вопросы создания нового математического, программного подхода особенно актуальными. В частности, при решении задач оптимального планирования на макроуровне, матрица ограничений достигает размерности 104—105. При такой размерности классические методы математического программирования (линейного, нелинейного, дискретного) оказываются малоэффективными. Т.е. мы сталкиваемся здесь с феноменом 'проклятие размерности' в понимании Р.Беллмана.
Данная работа посвящена разработке декомпозиционного подхода к решению оптимизационных задач и исследования его применимости. Декомпозиция - разделение целого на части. Суть этих методов можно описать следующим образом, различными способами исходная задача большой размерности разлагается на ряд независимых блоков, нахождения решения для каждого из них и последующей связке этих частных решений в общее решение исходной задачи. Впервые идея декомпозиции применительно к большим задачам оптимизации с блочно-диагональной структурой части ограничений была сформулирована совместно с Г.Данцигом и Вульфом, см.[1], а позднее развита в работах И.Корнаи, Т.Липтака [2]. Два декомпозиционных подхода, которые уже стали классическими и носящие имена их авторов. Метод решения представляет собой итеративный процесс, где решается так называемая координирующая или главная задача и имеется также локальная задача, которая при этом состоит из ряда независимых подзадач, соответствующих каждому блоку. Отличительной особенностью метода декомпозиции является использование координирующей задачи, которая имеет по сравнению с исходной небольшое число строк и большое число столбцов. Существенным является то, что для решения координирующей задачи не требуется задания всех столбцов в явном виде. Как показали исследования, метод применим для задач линейного программирования с матрицей общего вида. Однако неплохо бы было построить такой алгоритм, который позволил бы сократить решение до простых вычислительных процедур, которые выполнялись бы параллельно друг другу.
Обратим свое внимание на одну из широких и динамически развивающихся областей знаний - машинное обучение. Под этим термином понимается класс методов, отличающихся направленностью не на прямое решение задачи, а на процесс обучения, приспособления и применению ко множеству сходных задач. Для построения таких методов используются многочисленные средства математической статистики, численных методов, методов оптимизации, теории вероятности. Целью машинного обучения является частичная или полная автоматизация решения сложных профессиональных задач в самых разных областях человеческой деятельности, например, распознавание речи, жестов, образов, категоризация документов, обнаружение спама. И этот спектр применения постоянно расширяется
В качестве примера возьмем задачу оптимизации, которая ставится в одном из современных методов классификации и распознавания образов - метод опорных векторов (Support Vector Machines, SVM). Подобные системы обладают высокой точностью классификации, однако время обучения, особенно на больших наборах данных, очень велико и сложно, поскольку приходится скрупулезно подбирать параметры системы путем многократного запуска процедуры обучения. Данный метод изначально относится к бинарным классификаторам, хотя существуют способы заставить его работать и для задач мультиклассификации. Основная идея — перевод исходных векторов в пространство более высокой размерности и поиск разделяющей гиперплоскости с максимальным зазором в этом пространстве. Алгоритм работает в предположении, что чем больше разница или расстояние между этими параллельными гиперплоскостями, тем меньше будет средняя ошибка классификатора. Таким образом, для обучения метода опорных векторов можно решать как прямую задачу оптимизации, так и двойственную задачу(из решения которой легко получить решение прямой задачи). При этом граничные условия двойственной задачи имеют простую форму гиперпараллелепипеда.
Актуальность. Популярным подходом к решению двойственной задачи является метод декомпозиции. В этом методе на каждой итерации выбирается небольшое подмножество переменных X, по которым осуществляется оптимизация. Если оптимизируемых переменных всего две, то соответствующая задача решается аналитически. Итерационный процесс останавливается, когда текущее решение удовлетворяет достаточным условиям Куна-Таккера. Одной из наиболее популярных библиотек обучения SVM является LIBSVM1. В ней реализован метод декомпозиции, описанный в работе [4]. За основу же данной работы предполагается взять идею, предложенную И.В.Конновым [4], в которой модифицируются методы спуска интервальной функции, включающие декомпозицию для оптимизационной проблемы, поддерживающей свойство основной сходимости, но позволяющей уменьшить вычислительные затраты на одной итерации и обеспечить вычисление распределенным образом. Они в основном состоят в создании покоординатных шагов вместе со специальным пороговым контролем, которые позволяют установить скорость сходимости.
Целью диссертации является исследование применения декомпозиционного подхода при осуществлении решения задач оптимизации большой размерности, особенно характерных для задач машинного обучения (на примере метода опорных векторов).
Задачи исследования. Для достижения поставленной цели в диссертации сформулированы и решены следующие задачи:
1. Изучить методологию применения декомпозиции в алгоритмах типа градиентного спуска;
2. Сформулировать алгоритм с применением декомпозиции для метода опорных векторов;
3. Разработать программную реализацию алгоритма с применением декомпозиции для решения задачи классификации методом опорных векторов (последовательный и параллельный варианты);
4. Провести экспериментальное исследование алгоритма на основе использования различных подходов при декомпозиции;
5. Сформулировать рекомендации по применению алгоритма для решения задачи классификации;
Методы исследования. Теоретическое исследование базируется на общих принципах теории метрических пространств, аналитической геометрии и линейной алгебры, методе опорных векторов, методах выпуклой и невыпуклой оптимизации. Экспериментальное исследование проводилось с использованием программно-алгоритмического комплекса, разработанного автором.
Научная новизна. В данной работе разработан новый алгоритм для решения задачи бинарной классификации на основе метода градиентного спуска, который находит решение двойственной оптимизационной задачи метода опорных векторов с применением декомпозиции. Разработано программное обеспечение, на основе которого были проведены экспериментальные исследования, позволившие сделать вывод об эффективности использования сформулированного метода, а также разработать стратегии применения для различных вариантов декомпозиции.
Практическая значимость. Разработанный подход позволяет решать широкий класс оптимизационных задач, в частности к ним относиться задача бинарной классификации метода опорных векторов. А различные варианты стратегий декомпозиций позволяют подобрать наиболее подходящую для уже конкретной задачи и решать ее быстрее классического метода.
Таким образом, в работе был сформулирован метод задачи бинарной классификации на основе метода градиентного спуска для решения двойственной оптимизационной задачи метода опорных векторов с применением декомпозиции. Разработаны различные стратегии применения декомпозиционного подхода, последовательно и параллельно. Для реализации этого метода и проведения вычислительного эксперимента разработано программное обеспечение. Выполненные эксперименты позволяют сделать вывод о том, что метод эффективен для решения двойственной оптимизационной задачи метода опорных векторов. Однако следует заметить, что хорошо применим для задач размерности >500, а чрезмерное уменьшение размеров блоков - подзадач может привести к тому, что на вычисления будет тратиться больше времени, это можно объяснить тем, что потоки будут быстро решать подзадачи, но мешать друг другу, “драться за блоки”. Сходимость метода можно отрегулировать, модифицировав метод спуска по интервальной функции. Также следует обратить внимание, что реализация алгоритма не зависит от способа разбиения, без разницы как компоновать блоки.
1. Данциг Дж, Вульф П, Алгоритм разложения для задач линейного программирования. - Математика, т.8, №1, 1964
2. Корнаи И., Липтак Т. Планирование на двух уровнях, В кн.: Применение математики в экономических исследованиях , т.3, - Мысль, 1965
3. John C. Platt Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines // Microsoft Research, Technical Report MSR-TR-98- 14, April 21, 1998
4. Коннов И.В. Sequential threshold control in descent plitting methods for decomposable optimization problems, 2015
5. http://archive.ics.uci.edu/ml/
6. Лебедев С. С. О методе упорядочивающей индексации целочисленного линейного программирования , Экономика и математические методы. -1997. Том 23. Вып. 2. - с. 123-131
7. P. Richtarik and M. TakaV, Parallel coordinate descent methods for big data optimization , November, 2013
8. F.Facchinei, G. Scutari, and S. Sagratella, Parallel selective algorithms for nonconvex big data optimization ,August , 2014
9. Е.В.Котельникова, А.В.Козвонина. Параллельная реализация машины опорных векторов с использованием кластеризации
10. Campbell C., Frie T.-T., Cristianini N. The Kernel Adatron Algorithm: A Fast and Simple Learning Procedure for Support Vector Machines // 15th International Conference Machine Learning, Morgan Kaufman, 1998.
11. Boser B.E., Guyon I.M., Vapnik V.N. A training algorithm for optimal margin classifiers ,1992
12. New Optimization Methods in Data Mining. S. Ozogur-Akyuz, B. Akteke- Ozturk1, T. Tchemisova, and G.-W. Weber, Institute of Applied Mathematics, METU, Turkey, Department of Mathematics, University of Aveiro, Portugal
13. Об одном классе D-интервальных функций для смешанных вариационных неравенств, И.В.Коннов, Январь 1999
14. Метод спуска по интервальной функции для негладких задач равновесия, И.В.Коннов, О.В.Пинягина, Апрель 2003