УДК 519.8 Вестник СПбГУ. Математика. Механика. Астрономия. 2019. Т. 6 (64). Вып. 2
МБС 90С90
Строгое полиномиальное отделение двух множеств
В. Н. Малоземов, А. В. Плоткин
Санкт-Петербургский государственный университет,
Российская Федерация, 199034, Санкт-Петербург, Университетская наб., 7—9
Для цитирования: Малоземов В. Н., Плоткин А. В. Строгое полиномиальное отделение двух множеств // Вестник Санкт-Петербургского университета. Математика. Механика. Астрономия. 2019. Т. 6(64). Вып. 2. С. 232-240. https://doi.org/10.21638/11701/spbu01.2019.205
Одной из основных задач математической диагностики является строгое отделение двух конечных множеств в евклидовом пространстве. Широко известно строгое линейное отделение, которое сводится к решению задачи линейного программирования. Мы вводим понятие строгого полиномиального отделения и показываем, что строгое полиномиальное отделение двух множеств также сводится к решению задачи линейного программирования. Целевая функция предложенной в статье задачи линейного программирования имеет следующую особенность: ее оптимальное значение может равняться только нулю или единице — нулю, если множества допускают строгое полиномиальное отделение, и единице в противном случае. Приведены наглядные примеры строгого отделения двух множеств на плоскости с помощью алгебраических полиномов четвертой степени от двух переменных. Анализируется эффективность применения строгого полиномиального отделения при решении задач бинарной классификации данных.
Ключевые слова: строгое линейное отделение, строгое полиномиальное отделение, линейное программирование, математическая диагностика.
1. Введение. Пусть в пространстве К" заданы два конечных множества
А = {а,}™! и В = [Ъ0}к=1 .
Определение 1. Множества А и В называются строго линейно отделимыми, если существует ненулевой вектор и € К" и вещественное число 7 такие, что
(и, а^) — 7 ^ 1 при всех г € 1 : т, 1
(и, Ъ) — 7 ^ —1 при всех ] € 1 : к.
При выполнении условий (1) говорят также, что гиперплоскость, определяемая уравнением (и, х) = 7, строго отделяет множество А от множества В. Следуя [1], введем функцию
1 т 1 к
/ы = - Е Н™> <Ч> + 7 + 1]+ + Г Е К™> Ьо) - 7 + 1]+ , (2)
т ¿=1 к ¿=1
где д = (и, 7) и [и]+ = тах{0, и}. Ясно, что /(д) ^ 0 при всех д € К"+1.
Предложение 1. Множества А и В строго линейно отделимы тогда и только тогда, когда существует вектор д*, на котором /(д*) = 0.
(¡5 Санкт-Петербургский государственный университет, 2019 232 https://doi.org/10.21638/11701/spbu01.2019.205
Если f (g*) = 0 на некотором векторе g* = (w», 7*), то необходимо w* = O и все слагаемые
[—(w*, а») + y* + 1]+ и [(w*, bj) - 7* + 1]+ равны нулю. Последнее справедливо лишь тогда, когда
— (w*, а») + 7* + 1 ^ 0 при всех i G 1 : m, (w*, bj) — y* + 1 ^ 0 при всех j G 1 : k.
Неравенства (3) обеспечивают выполнение условий строгой линейной отделимости (1) с w = w* и y = y*.
Предложение 1 показывает, что строгое линейное отделение множеств A и B сводится к минимизации функции f (g). Рассмотрим экстремальную задачу
f (g) ^ mii+ (4)
где f (g) — функция вида (2). Эта задача эквивалентна следующей задаче линейного программирования:
1 m 1 k
у, z) := — + - V Zj min,
i= 1 j= 1
(w, a») — y + у» > 1, i G 1: m; (5)
— (w, bj) + y + zj > 1, j G 1 : k; у» ^ 0, i G 1 : m; Zj ^ 0, j G 1 : k.
Множество планов задачи (5) непусто и целевая функция ограничена снизу нулем. Значит, задача (5) имеет решение. По эквивалентности существует решение и у задачи (4), причем минимальные значения целевых функций у этих задач равны между собой. Это общее значение обозначим через Отметим, что если (w*, 7*,y*,z*) — решение задачи (5), то g* :=(w*, 7*) —решение задачи (4), при этом f (g*) = Если ^ = 0, то гиперплоскость, определяемая уравнением (w*,x) = 7*, строго линейно отделяет множество A от множества B.
Мы кратко напомнили некоторые результаты из работы [1] в том виде, который позволит нам обобщить понятие строгой линейной отделимости. Предварительно введем обозначения, связанные с вектором x = (xi,..., xn):
(x) = 1, wo = —7; ys(x) = xs при s G 1 : n;
n
P(w, x) = ^ ws^s(x).
s=0
Выражение P(w, x) есть алгебраический полином первой степени от n переменных. Условия строгой линейной отделимости (1) можно переписать в виде
P(w, a») ^ 1 при всех i G 1 : m; P(w, bj) ^ —1 при всех j G 1 : k.
В следующем параграфе мы введем понятие строгого полиномиального отделения и покажем, что строгое полиномиальное отделение двух множеств также сводится к решению задачи линейного программирования.
2. Строгое полиномиальное отделение. По-прежнему считаем, что в пространстве Rn заданы два конечных множества
A = К}™! и B = {bj}k=1.
Введем обобщенный полином
r
P(w,x) = ^ ws^>s(x), (6)
s=0
где уо(ж),у>1 (x),...,yr(x) —произвольные (но фиксированные) базисные функции, заданные и непрерывные на выпуклой оболочке множества A U B, и w = (wo, wi,..., wr) — вектор коэффициентов полинома.
Определение 2. Множества A и B назовем строго полиномиально отделимыми, если найдется вектор коэффициентов w такой, что
P(w, aj) ^ 1 при всех г G 1 : m; (7)
P(w, bj) ^ —1 при всех j G 1 : k.
При выполнении условий (7) будем говорить, что гиперповерхность, определяемая уравнением P(w, x) = 0, строго отделяет множество A от множества B. Введем целевую функцию
f (w) = max < max [1 — P(w, aj)] + , max [1 + P(w, bj)] + f . (8)
li£l:m + je1:fc + 1
Очевидно, что f (w) ^ 0 при всех w.
Лемма 1. Равенство f (w0) = 0 выполняется тогда и только тогда, когда полином P(wo, x) строго отделяет множества A и B.
Доказательство. Условия строгой отделимости (7) можно переписать в эквивалентном виде
max [1 — P(w, aj)] + =0 и max [1 + P(w, bj)]+ = 0.
i£l:m + je1:fc +
Теперь заключение леммы становится очевидным. □
Лемма показывает, что задача строгого полиномиального отделения множеств A и B сводится к минимизации функции f (w). Рассмотрим экстремальную задачу
f (w) ^ min , (9)
v ' weRn+i v '
где f(w) 234
— функция вида (8).
Теорема 1. Задача (9) эквивалентна следующей задаче линейного программирования:
t ^ min
P (w, a, ) + t ^ 1, i £ 1 : m;
V ч (10)
—P(w, bj-)+ t > 1, j G 1: k; v 7
t > 0.
Доказательство. Ограничения задачи (10) можно переписать так:
t ^ [1 — P(w, a*-)] , , i G 1 : m;
+ ' ' (11) t > [1+ P(w, bj)]+ , j G 1: k.
Напомним, что две задачи на минимум называются эквивалентными, если любому плану каждой из этих задач можно сопоставить план другой задачи с равным или меньшим значением целевой функции. В данном случае плану w G Rr+1 задачи (9) сопоставим вектор (w, t), где t = f (w). Согласно (11), вектор (w,t) является планом задачи (9), при этом t = f(w).
Наоборот, пусть (w,t) — план задачи (10). Тогда w — план задачи (9). При этом, в силу (11), f (w) ^ t.
Теорема доказана. □
Задача линейного программирования (10) имеет решение, поскольку множество ее планов непусто (планом является вектор (w, t) с w = O и t = 1)и целевая функция ограничена снизу нулем. По лемме об эквивалентных задачах [2, с. 11] задача (9) также имеет решение, причем минимальные значения у целевых функций задач (9) и (10) совпадают. Обозначим это общее значение через t*.
Теорема 2. Величина t* может принимать только два значения — ноль или единица.
Доказательство. Пусть (w*,t*) — решение задачи (10). Ясно, что t* > 0. Так как пара w = O, t = 1 является планом задачи (10) со значением целевой функции, равным единице, то t* ^ 1. Таким образом, t* G [0,1].
Предположим, что t* G (0,1). Согласно (10) для полинома P(w*, t) выполняются неравенства
P(w*, a») > 1 — t*, i G 1 : m; —P(w*, bj) > 1 — t*, j G 1 : k.
Пара wo = j^j-w*, to = 0 удовлетворяет ограничениям задачи (10). Значит, необходимо t* ^ to, что противоречит условию t* G (0,1).
Для t* остается только две возможности: t* =0 или t* = 1.
Теорема доказана. □
Подведем итог. Строгое полиномиальное отделение множеств A и B сводится к решению задачи линейного программирования (10). Если (w*,t*) —решение этой задачи, то при t* = 0 полином P(w* , x) строго отделяет множества A и B. При t* = 1 строгое отделение множеств A и B с помощью полиномов вида (6) невозможно.
Замечание 1. Частным случаем строгого полиномиального отделения является строгое линейное отделение (когда в качестве обобщенного полинома Р(ад, ж) берется алгебраический полином первой степени от п переменных).
Замечание 2. Строгое линейное отделение имеет следующую особенность: для всех точек ж из выпуклой оболочки множества А сохраняется неравенство Р(ад, ж) ^ 1, а для всех точек ж из выпуклой оболочки множества В сохраняется неравенство Р (ад, ж) ^ -1. В случае строгого полиномиального отделения ситуация более сложная. Чтобы избежать неправильной идентификации, рекомендуется использовать обобщенные полиномы невысоких порядков. Также необходимо, чтобы количество элементов множества А и В значительно превосходило размерность пространства К".
3. Примеры строгого полиномиального отделения на плоскости. На
рис. 1 представлены примеры строгого полиномиального отделения двух множеств на плоскости с помощью алгебраических полиномов четвертой степени от двух переменных. На рис. 1, а и б получилось стандартное нелинейное отделение, в то время как отделение на рис.1, в выглядит нестандартно (эффект «переотделения»). На рис. 1, г отделяющая кривая распалась на две бесконечные компоненты. На рис. 1, д и е она распалась на две конечные компоненты.
Рассмотрим более подробно еще один пример. Выполним строгое полиномиальное отделение точек двух видов, представленных на рис. 2. Координаты точек не превосходят по модулю единицы. С помощью полиномов первой, второй и третьей степени строгое отделение получить не удалось. Эту задачу решает полином четвертой степени. В результате приходим к кривой, изображенной на рис. 3 тонкой линией.
Разделяющий полином можно упростить. Выделим в его представлении базисную функцию, соответствующую наименьшему по модулю коэффициенту. После этого выполним строгое полиномиальное отделение с помощью полинома, у которого отсутствует выделенная базисная функция. Допустим, что отделение прошло успешно. Тогда данную процедуру можно повторить. Уменьшение количества базисных функций можно проводить, пока очередной полином реализует строгое отделение.
В рассматриваемом примере итоговый полином имеет вид
Р(ад*, ж) = -19366 ж? - 49259 ж| + 608 ж? ж2 - 25706 ж! ж|-
- 883 ж? ж2 +4173 ж? + 10383 ж2.
Соответствующая ему разделяющая кривая изображена на рис. 3 жирной линией. Количество коэффициентов сократилось с 15 до 7.
4. Приложение к бинарной классификации данных. Рассмотрим вопрос о применении строгого полиномиального отделения к бинарной классификации данных. Напомним относящиеся к этой теме понятия.
Пусть X — множество описаний объектов и У = {-1,1}. Имеется конечная обучающая выборка Сг = {(ж?, у?),..., (жг,уг)}, где все жк принадлежат X и все принадлежат У. Требуется построить алгоритм О : X ^ У, способный на основе информации об обучающей выборке Сг классифицировать произвольный объект ж е X.
а
О о
Рис. 1. Строгое полиномиальное отделение на плоскости.
Точность алгоритмов бинарной классификации оценивается следующим образом. Из обучающей выборки исключим некоторый набор объектов. Исключенную часть назовем тестовой выборкой. Построим алгоритм О по урезанной обучающей выборке и применим его к объектам тестовой. Процент объектов, для которых клас-
совая принадлежность была предсказана верно, считают точностью алгоритма G. Очевидно, что при таком определении точности ее значение сильно зависит от конкретной тестовой выборки. Для получения более объективного результата этот эксперимент проводится несколько раз с разными тестовыми выборками, а точностью алгоритма считается среднее арифметическое вычисленных значений точности. Метод кросс-валидации [3, с. 241-249] является наиболее распространенным подходом к такой тестовой процедуре.
В подавляющем большинстве случаев все рассматриваемые объекты можно представить в виде векторов пространства Rn. По этой причине далее будем считать, что X = Rn.
Перейдем к построению алгоритма бинарной классификации на основе строгого полиномиального отделения. Пусть множества
A = К}^ и B = {bj}k=1
являются объектами обучающей выборки первого (у = 1) и второго (у = -1) классов соответственно. Решая задачу линейного программирования (10), произведем строгое полиномиальное отделение множеств A и B. Если отделение возможно (t* = 0), то положим
G(x) = signP(w*,x) Vx e Rn.
Если G(x) = 1, то объект x принадлежит первому классу, если G(x) = -1, то объект x принадлежит второму классу. При G(x) = 0 будем считать, что классифицировать объект x не удалось.
Одним из наиболее популярных алгоритмов бинарной классификации является метод опорных векторов (SVM) [3, с. 417-438]. Проведем сравнение точности и скорости работы предложенного в статье алгоритма с тремя наиболее распространенными вариантами SVM: linear, polynomial, radial [3, с. 424]. Для тестирования было выбрано пять тестовых задач из репозитория UCI Machine Learning Repository [4]: Flowmeters, Mesothelioma, Ionosphere, Wisconsin, Tic-Tac-Toe. Реализация SVM была взята из библиотеки LIBSVM [5], а алгоритм строгого полиномиального отделения был реализован в среде MATLAB. В качестве разделяющего полинома P для каждой задачи использовался алгебраический полином второй степени. В табл. 1 приведены полученные результаты точности и времени работы алгоритмов при десятиблочной кросс-валидации данных.
Также была рассмотрена задача Wilt из того же репозитория тестовых задач. В отличие от рассмотренных ранее задач, для задачи Wilt была известна наряду с обучающей некоторая тестовая выборка. Строгое полиномиальное отделение обучающей выборки с помощью алгебраического полинома второй степени оказалось невозможным. В связи с этим, отделение проводилось алгебраическим полиномом третьей степени. В табл. 2 представлены полученные результаты. В первом столбце приведено количество объектов обучающей выборки, а во втором — количество объектов тестовой выборки.
Стоит отметить, что скорость и качество работы алгоритма строгого полиномиального отделения напрямую зависит от метода решения задачи линейного программирования. В нашей реализации использовалась встроенная в MATLAB функция linprog. В версии MATLAB R2018a она по умолчанию ориентирована на двойственный симплекс-метод.
Таблица 1. Точность и время работы алгоритмов при десятиблочной кросс-валидации выбранных баз данных
Точность (%)
Время работы (секунды)
База данных Полиномиальное SVM SVM SVM
(т + к) X п отделение (Linear) (Polynomial) (Radial)
Flowmeters 84.15 59.07 61.63 58.00
87 X 36 0.39 3.32 6.20 0.01
Mesothelioma 99.14 87.89 83.78 70.38
324 X 34 0.37 36.72 68.67 0.15
Ionosphere 74.79 86.84 64.10 92.76
351 X 34 1.07 0.05 0.07 0.04
Wisconsin 95.55 95.19 65.77 62.74
569 X 30 1.16 6.95 32.14 0.25
Tic-Tac-Toe 96.69 65.35 91.03 87.83
958 X 9 0.77 0.13 0.39 0.19
Таблица 2. Точность и время работы на базе данных Wilt
# Train # Test Полиномиальное SVM SVM SVM
n отделение (Linear) (Polynomial) (Radial)
4339 500 5 85.80 71.80 77.80 62.80
1.15 1.04 4.88 1.39
5. Заключение. В статье рассматривается строгое полиномиальное отделение двух конечных множеств в евклидовом пространстве, включающее строгое линейное отделение и являющееся его естественным обобщением на нелинейный случай. Строгое полиномиальное отделение сведено к простой задаче линейного программирования со следующей особенностью: оптимальное значение ее целевой функции может равняться только нулю или единице — нулю, когда отделение возможно, и единице в противном случае.
Приведены примеры строгого полиномиального отделения на плоскости с помощью алгебраических полиномов четвертой степени от двух переменных. Они показывают, что отделяющая кривая может распадаться на компоненты, ограниченные и неограниченные.
На примере известных баз данных сравнивалась эффективность строгого полиномиального отделения с эффективностью трех вариантов SVM-метода. Подтверждена конкурентоспособность предложенного метода строгого отделения.
Литература
1. Bennett K.P., Mangasarian O.L. Robust linear programming discrimination of two linearly inseparable sets // Optimization Methods and Software. 1992. Vol.1. P. 23—34.
2. Гавурин М.К., Малоземов В.Н. Экстремальные задачи с линейными ограничениями. Л.: Изд-во ЛГУ, 1984. 176 с.
3. Hastie T., Tibshirani R., Friedman J. H. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. New York: Springer, 2009.
4. Dua D., Karra Taniskidou E. UCI Machine Learning Repository. Irvine, CA: University of California, School of Information and Computer Science. Available at: http://archive.ics.uci.edu/ml (accessed December 20, 2018).
5. Chih-Chung C., Chih-Jen L. LIBSVM: a library for support vector machines // ACM Transactions on Intelligent Systems and Technology. 2011. Vol. 2(3). P. 27:1—27:27. Software available at http://www.csie.ntu.edu.tw/ cjlin/libsvm (accessed December 20, 2018).
Статья поступила в редакцию 26 октября 2018 г.;
после доработки 25 ноября 2018 г.; рекомендована в печать 20 декабря 2018 г.
Контактная информация:
Малоземов Василий Николаевич —д-р физ.-мат. наук, проф.; [email protected] Плоткин Артем Владимирович — студент; [email protected]
Strict polynomial separation of two sets
V. N. Malozemov, A. V. Plotkin
St. Petersburg State University, Universitetskaya nab., 7—9, St. Petersburg, 199034, Russian Federation
For citation: Malozemov V. N., Plotkin A. V. Strict polynomial separation of two sets. Vestnik of Saint Petersburg University. Mathematics. Mechanics. Astronomy, 2019, vol. 6(64), issue 2, pp. 232-240. https://doi.org/10.21638/11701/spbu01.2019.205 (In Russian)
One of the main tasks of mathematical diagnostics is the strict separation of two finite sets in Euclidean space. A strict linear separation is widely known and is reduced to a linear programming problem. We introduce a strict polynomial separation and show that the strict polynomial separation of two sets also is reduced to a linear programming problem. The objective function of the linear programming problem proposed in this paper has the following feature: its optimal value can only be zero or one. It is zero if the sets are strictly polynomially separable; otherwise, it is one. We give illustrative examples of strict separation of two sets with the help of two-variable fourth-degree algebraic polynomials on the plane. We also analyze the efficiency of applying the strict polynomial separation to binary classification problems.
Keywords: strict linear separation, strict polynomial separation, linear programming, mathematical diagnostics.
References
1. Bennett K. P., Mangasarian O.L., "Robust linear programming discrimination of two linearly inseparable sets", Optimization Methods and Software 1, 23—34 (1992).
2. Gavurin M. K., Malozemov V. N., Extremal Problems with Linear Constraints (Leningrad, 1984). (In Russian)
3. Hastie T., Tibshirani R., Friedman J.H., The Elements of Statistical Learning: Data Mining, Inference, and Prediction (Springer, New York, 2009).
4. Dua D., Karra Taniskidou E., UCI Machine Learning Repository (Irvine, CA, University of California, School of Information and Computer Science). Available at: http://archive.ics.uci.edu/ml (accessed December 20, 2018).
5. Chih-Chung C., Chih-Jen L., "LIBSVM: a library for support vector machines", ACM Transactions on Intelligent Systems and Technology 2(3), 27:1—27:27 (2011). Software available at http://www.csie.ntu.edu.tw/ cjlin/libsvm (accessed December 20, 2018).
Received: October 26, 2018 Revised: November 25, 2018 Accepted: December 20, 2018
Author's information:
Vassili N. Malozemov — [email protected] Artem V. Plotkin — [email protected]