Math-Net.Ru
Общероссийский математический портал
Ю. В. Гончаров, Минимаксная задача выбора признаков для построения клас- сификатора методом опорных векторов, Ж. вычисл. матем. и матем. физ., 2010, том 50, номер 5, 967–976
Использование Общероссийского математического портала Math-Net.Ru подразумевает, что вы прочитали и согласны с пользовательским соглашением
http://www.mathnet.ru/rus/agreement Параметры загрузки:
IP: 178.128.90.69
6 ноября 2022 г., 01:48:49
ЖУРНАЛ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И МАТЕМАТИЧЕСКОЙ ФИЗИКИ, 2010, том 50, № 5, с. 967–976
967 1. ВВЕДЕНИЕ
Данная статья является продолжением работы [1], в которой сформулирована задача выбора признаков при обучении классификации методом опорных векторов (SVM). Алгоритм решения задачи сводится к поиску минимакса выпукло%вогнутой функции. В [1] доказано существование подмножества седловых решений среди множества всех решений задачи, проведен анализ седло%
вых решений и разработан алгоритм их поиска. Множество седловых точек является подмноже%
ством минимаксных решений. Для решения задачи выбора признаков достаточно найти произ%
вольное минимаксное решение. Полученный в [1] результат о свойстве “целочисленности” сед%
ловых решений переносится в настоящей статье на произвольные минимаксные решения задачи. Рассматривается зависимость решений задачи от параметра селективности признаков.
Алгоритм поиска седловых решений использует условия гладкости выпукло%вогнутой функции в задаче выбора признаков. В статье рассматривается подход к поиску произвольных решений задачи с помощью метода недифференцируемой оптимизации субградиентного типа. В этом ме%
тоде на минимизируемую выпуклую функцию не накладываются требования гладкости. Следо%
вало ожидать, что седловой алгоритм для решения задачи выбора признаков должен был быть более эффективным, чем субградиентный. Однако практические вычисления показали, что суб%
градиентный алгоритм быстрее попадает в некоторую окрестность решения задачи, чем седло%
вой алгоритм. Седловой алгоритм более эффективен вблизи решения. С логической точки зре%
ния некорректно объединять оба алгоритма в гибридный, в котором сначала субградиентным методом вычисляется точка в окрестности минимаксного решения, а затем она служит началь%
ной точкой для седлового алгоритма. Субградиентным методом вычисляется точка из окрестно%
сти решения, которое не обязательно является седловым. В настоящей статье предложен гибрид%
ный алгоритм, который вместе с точкой в окрестности решения вычисляет начальную точку для седлового алгоритма. В том случае, когда субградиентная часть гибридного алгоритма вычисляет точку достаточно близкую к решению, то эта точка выдается в качестве решения задачи выбора признаков и перехода к седловой части гибридного алгоритма не происходит.
Условия гладкости для сходимости алгоритма поиска седловых решений в [1] формулируются в виде трех неравенств Липшица с общей константой M. Усиление условий гладкости, наклады%
ваемых на функцию, ведет к улучшению вычислительных свойств алгоритма поиска седловых решений. В настоящей статье описан седловой алгоритм для функции, удовлетворяющей нера%
венствам Липшица с различными константами M1, M2 и M3.
МИНИМАКСНАЯ ЗАДАЧА ВЫБОРА ПРИЗНАКОВ ДЛЯ ПОСТРОЕНИЯ КЛАССИФИКАТОРА
МЕТОДОМ ОПОРНЫХ ВЕКТОРОВ
© 2010 г. Ю. В. Гончаров
(119333 Москва, ул. Вавилова, 40, ВЦ РАН) e#mail: Goncharov.Yuri@gmail.com Поступила в редакцию 28.09.2009 г.
Переработанный вариант 23.12.2009 г.
Рассмотрена минимаксная задача выбора признаков для построения классификатора мето%
дом опорных векторов. Проведен анализ свойств решений задачи. Предложено усовершен%
ствование алгоритма поиска седловой точки с помощью увеличения границы для параметра шага. Разработан новый алгоритм недифференцируемой оптимизации, который вместе с ал%
горитмом поиска седловой точки образует гибридный алгоритм решения задачи выбора при%
знаков. Произведена экспериментальная оценка эффективности алгоритма вычисления про%
екций Дейкстры при решении задачи выбора признаков. Библ. 8. Табл. 1.
Ключевые слова: задача выбора признаков, минимаксная задача, метод опорных векторов, алгоритм поиска седловой точки, субградиентный алгоритм.
УДК 519.7
В обеих составляющих гибридного алгоритма необходимо вычислять проекции на некоторые множества. В [1] было описано применение быстрого алгоритма вычисления проекций Дейкст%
ры на множества из задачи выбора признаков. В настоящей статье анализируется вычислитель%
ная эффективность алгоритма Дейкстры в серии экспериментов. Эксперименты по оценке ре%
шений задачи выбора признаков с точки зрения качества распознавания описаны в [1], [3].
2. ЗАДАЧА ВЫБОРА ПРИЗНАКОВ
Признаками в нашем случае являются координаты пространства ⺢n, которому принадлежат векторы x. Координата xj является j%м признаком объекта, представленного вектором x. Для за%
дания подмножества признаков используется вектор z = (z1, z2, …, zn), где zj принимают значения из отрезка [0, 1]. Равенство zj = 0 означает, что j%й признак удален, неравенство zj > 0 означает, что j%й признак выбран. Поиск решающей функции классификации ведется по обучающей выборке (x1, y1), (x2, y2), …, (xl, yl), где xi∈⺢n, yi∈ {1; –1}, i = 1, 2, …, l. Элемент обучающей выборки состоит из вектора xi и yi – признака принадлежности одному из двух классов. При yi = 1 считается, что вектор xi принадлежит к первому классу, а при yi = –1 – ко второму. Встречающиеся далее обо%
значения нормы вектора и матрицы подразумевают, соответственно, стандартную евклидову норму вектора и подчиненную ей матричную норму.
В [1] задача выбора признаков сводится к следующей задаче минимизации модифицирован%
ного критерия опорных векторов:
(1)
(2)
Пусть z*, w*, b*, ␦* – решение задачи (1), (2). Для классификации вектора x вычисляется следую%
щая величина:
При S ≥ 0 вектор x относится к первому классу, в противном случае – ко второму. Целевая функ%
ция задачи выбора признаков (1), (2) отличается от целевой функции классической постановки SVM наличием штрафа на подмножество выбранных признаков. Присутствие в ограни%
чениях (2) операции взятия квадратного корня необходимо для того, чтобы целевая функция двойственной к (1), (2) задачи была линейной по z. Задача (1), (2) при фиксированном z факти%
чески является классической задачей SVM, в которой элементы обучающей выборки предвари%
тельно шкалируются с помощью вектора z следующим способом:
Можно считать, что процедура решения задачи (1), (2) состоит из поиска оптимальной шкалы признаков и оптимальной разделяющей гиперплоскости в новом шкалированном пространстве.
Задача (1), (2) имеет невыпуклые ограничения. Можно заменить задачу минимизации по со%
вокупности всех переменных на эквивалентную задачу последовательной минимизации:
(3) 1
2 w 2 C δi i=1
l
∑
A zjj=1 n
∑
+ +
⎝ ⎠
⎜ ⎟
⎛ ⎞
,
z w, , ,minb␦
yi wjxij zj+b
j=1
∑
n⎝ ⎠
⎜ ⎟
⎛ ⎞
1–δi,
≥
δi≥0, xi∈⺢n, yi∈{1; –1}, i = 1 2, , ,… l, A>0, zj∈[0 1, ], j = 1 2, , ,… n.
S wj*xj zj*
j=1
∑
n +b*.=
AΣj=1
n zj
zj
xij xij zj, i = 1 2, , ,… l, j = 1 2, , ,… n.
minψ( )z ,
0≤ ≤zj 1, j = 1 2, , ,… n,
ЖУРНАЛ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И МАТЕМАТИЧЕСКОЙ ФИЗИКИ том 50 № 5 2010
МИНИМАКСНАЯ ЗАДАЧА ВЫБОРА ПРИЗНАКОВ 969
где значение ψ(z) получается в результате решения следующей задачи:
(4)
Задача (4) может быть записана в двойственной форме
(5)
Теорема 1 (см. [1]). Функция ψ(z) в задаче (5) является выпуклой.
Используя двойственное представление (5) для ψ(z), задачу (3), (4) можно представить в фор%
ме минимаксной задачи (3), (5) и записать в виде
(6)
L(z, ) – выпукло%вогнутая функция, т.е. выпуклая по z при фиксированном значении и вогну%
тая по при фиксированном z. Рассмотрим задачу поиска седловой точки (z*, *) ∈ Z × Λ: (7) В [1] доказано, что седловая точка в задаче (7) существует. Для седловой точки справедливо ра%
венство
(8) Опираясь на это равенство, можно заменить задачу поиска минимакса на задачу поиска седло%
вой точки. Следующее замечание используется далее при доказательстве теоремы 2.
Замечание 1. Пусть (z0, 0) – решение минимаксной задачи (6), (z*, *) – седловая точка функции L(z, ). То%
гда из общих свойств седловых точек (см. [2]) следует, что (z0, *) – седловая точка функции L(z, ).
3. СВОЙСТВА РЕШЕНИЙ ЗАДАЧИ ВЫБОРА ПРИЗНАКОВ
Рассмотрим свойство “целочисленности” решений задачи выбора признаков и влияние пара%
метра А на множество удаленных признаков. В [1] доказана теорема, которая утверждает суще%
ствование седловой точки (z*, *) в задаче (7), и приведены условия, при которых координаты z*
равны 0 или 1. Справедлива аналогичная теорема о “целочисленности” решений задачи (6).
ψ( )z 1
2 w 2 C δi A zj
j=1
∑
n+
i=1
∑
l⎝ + ⎠
⎜ ⎟
⎛ ⎞
,
w, ,b␦
= min
yi wjxij zj+b
j=1 n
⎝
∑
⎠⎜ ⎟
⎛ ⎞
1–δi,
≥
δi≥0, i = 1 2, , ,… l, A>0.
ψ( )z λi
1
2 yiyk zjxijxkj
j=1 n
⎝
∑
⎠⎜ ⎟
⎛ ⎞
λiλk k=1
l i=1
∑
l
∑
– A zj
j=1 n
∑
+
i=1 l
⎝
∑
⎠⎜ ⎟
⎛ ⎞
,
= max
λiyi
i=1
∑
l = 0, 0≤ ≤λi C, i = 1 2, , ,… l.L z( ,),
∈Λ
max
z∈Z
min L z( ,) λi
1
2 yiyk zjxijxkj
j=1
∑
n⎝ ⎠
⎜ ⎟
⎛ ⎞
λiλk k=1
∑
l i=1∑
l– A zj,
j=1
∑
n+
i=1
∑
l=
Z = {z 0≤ ≤zj 1 j, = 1 2, , ,… n}, Λ λiyi
i=1
∑
l = 0 0, ≤ ≤λi C i, = 1 2, , ,… l⎩ ⎭
⎨ ⎬
⎧ ⎫
= ,
L z*( ,)≤L z*( ,*)≤L z( ,*) ∀z∈Z, ∀∈Λ.
L z( ,)
∈Λ
max
z∈Z
min L z( ,)
z∈Z
∈Λmin
max L z*( ,*).
= =
Теорема 2. Пусть (z0, 0) – решение минимаксной задачи (6), (z*, *) – седловая точка задачи (7), тогда справедливы следующие импликации:
(9)
(10)
(11) Доказательство. Так как (z0, 0) – минимаксное решение, (z*, *) – седловая точка, то соглас%
но замечанию 1 имеем, что (z0, *) седловая точка. В [1] доказано, что соотношения (9)–(11) справедливы для седловой точки (z0, *). Теорема доказана.
Посмотрим, каким образом влияет параметр A в задаче (6) на множество удаленных призна%
ков. Следующее предложение показывает, что, устанавливая достаточно большое значение пара%
метра A в задаче (6), можно получить решение (z0, 0), в котором для произвольного j будет вы%
полнено равенство = 0.
Предложение 1. Пусть величина A в задаче (6) вычислена по формуле
где ε – произвольное положительное число и (z0, 0) – решение задачи (6). Тогда выполняется равен#
ство = 0.
Доказательство. Так как (z0, 0) – решение задачи на минимакс, то существует седловая точка (z0, *) в задаче (7). Справедливо соотношение
Из (10) теоремы 2 следует необходимое равенство = 0.
4. АЛГОРИТМ ПОИСКА СЕДЛОВЫХ РЕШЕНИЙ
Здесь представлено усовершенствование алгоритма поиска седловой точки из [1] с помощью увеличения границы для параметра шага. Пусть некоторая выпукло%вогнутая функция L(z, ) определена на декартовом произведении выпуклых замкнутых множеств Z × Λ и для некоторых констант M1 > 0, M2 > 0, M3 > 0 удовлетворяет неравенствам
(12) (13) (14) Пусть πZ, πΛ – операторы проектирования на множества Z и Λ, т.е. πZ(z) – это проекция точки z на множество Z и, аналогично, πΛ() – проекция точки на множество Λ.
yiykxijxkjλi*λk*
k=1
∑
l i=1∑
l >2A⇒zj0 = 1,yiykxijxkjλi*λk*
k=1
∑
l i=1∑
l <2A⇒zj0 = 0,0 zj0 1 yiykxijxkjλi*λk*
k=1
∑
l i=1∑
l⇒ = 2A.
< <
zj0
A 1
2 yiykxijxkjλiλk+ε,
k=1
∑
l i=1∑
lmax
=
∈Λ, ε>0,
zj0
yiykxijxkjλi*λk*
k=1
∑
l i=1∑
l yiykxijxkjλiλk k=1∑
l i=1∑
lmaxλ
≤ = 2A–2ε<2A.
zj0
L z( ,+h)–L z( ,) ∂L
∂λ z( ,),h
– 1
2M1 h 2,
≤ L z( +h,)–L z( ,) ∂L
∂z
z( ,),h
– 1
2M2 h 2,
≤
∂L
∂z
z( ,+h) ∂L
∂z z( ,)
– ≤M3 h .
ЖУРНАЛ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И МАТЕМАТИЧЕСКОЙ ФИЗИКИ том 50 № 5 2010
МИНИМАКСНАЯ ЗАДАЧА ВЫБОРА ПРИЗНАКОВ 971
В [1] предложен алгоритм поиска седловой точки в задаче (7), в котором одна итерация алго%
ритма состоит из трех шагов:
(15)
В [1] доказана теорема о сходимости алгоритма (15). Одним из условий сходимости является вы%
полнение неравенств (12)–(14) с общей константой M в правых частях неравенств, т.е. при M1 = M, M2 = M, M3 = M. Величина параметра шага α в алгоритме (15) должна выбираться из условия 0 <
<α < 1/(2M). Использование различных констант вместо одной в неравенствах (12)–(14) позво%
ляет увеличить верхнюю границу допустимых значений α и выполнять более крупные шаги в ал%
горитме (15). Справедлива
Теорема 3. Пусть L(z, ) – выпукло#вогнутая функция на Z × Λ, множества Z и Λ выпуклые, замкну#
тые, L(z, ) удовлетворяет неравенствам (12)–(14), выполнены неравенства
Тогда для любой начальной точки z0∈ Z, 0∈ Λ последовательность (zk, k), k = 1, 2, …, вычисляемая по формулам (15), сходится к (z*, *) – седловой точке функции L(z, ).
Доказательство теоремы проводится аналогично доказательству теоремы 3, содержащемуся в [1]. Теорема 3 может быть распространена на случай, когда неравенство (13) выполняется при M2 = 0. В этом случае в качестве константы Липшица в неравенстве (13) можно также взять M2 = ε, где ε > 0 – произвольно малая величина. Для достаточно малой величины ε условие на величину параметра шага α в теореме 3 принимает вид
Будем пользоваться последним условием на величину α при M2 = 0.
Пусть определены матрицы
(16) (17) тогда константы M1, M2 и M3 в (12)–(14) для L(z, ) из (7) вычисляются по следующим формулам:
(18) Вывод соотношений (18) содержится в [1].
5. ГИБРИДНЫЙ АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ ВЫБОРА ПРИЗНАКОВ
Дадим описание алгоритма недифференцируемой оптимизации при решении задачи выбора признаков. Опираясь на свойство выпуклости функции ψ(z), можно использовать субградиент%
ный алгоритм оптимизации для решения задачи (3), (4). В [3] дан обзор различных алгоритмов поиска седловой точки и описан опыт использования алгоритма субградиентного типа в задаче поиска седловой точки (7). Расчеты показали, что такой алгоритм позволяет быстрее получать точки вблизи решения, чем алгоритм поиска седловой точки (15). Однако вблизи решения эф%
фективность субградиентного алгоритма может падать. Описываемый субградиентный алгоритм zk πZ zk α∂L
∂z
z( k,k)
⎝ – ⎠
⎛ ⎞,
=
k+1 πΛ k α∂L
z∂λ( k,k)
⎝ + ⎠
⎛ ⎞,
=
zk+1 πZ zk α∂L
∂z
z( k,k+1)
⎝ – ⎠
⎛ ⎞.
=
0 α min 1 M2
–M1+ M12+8M32 4M32
,
⎝ ⎠
⎜ ⎟
⎛ ⎞
< < .
0 α –M1+ M12+8M32 4M32
.
< <
G = {gij= yixij i= 1 2, , , ,… l j =1 2, , ,… n}, Rj = {Rikj =yiykxijxkj i k, =1 2, , ,… l}, j = 1 2, , ,… n,
M1 G 2, M2 0, M3 Cl Rj .
j=1
∑
n= = =
использует элемент эвристики при вычислении шага и формально не является сходящимся. От%
метим, что некоторые теоретически сходящиеся алгоритмы субградиентного типа оказались не%
пригодными на практике, так как не обеспечивали сходимости вычислительного процесса к ре%
шению задачи (3), (4). В реальных вычислениях используется гибридный алгоритм, где на пер%
вой стадии вычислений выполняется заданное количество итераций субградиентного алгоритма, а на второй стадии работает алгоритм поиска седловой точки. В некоторых случаях решение находится уже на первой стадии вычислений. В этом случае мы получаем (z0, 0) – ре%
шение задачи на минимакс. Для вычисления шага в субградиентном алгоритме решается двой%
ственная ей задача на максимин. После окончания первой фазы гибридного алгоритма имеются текущие значения z = z1 в минимаксной и = 1 в максиминной задаче. Точка (z1, 1) берется в качестве начальной во второй стадии вычислений.
Вектор ∂f(x) ∈⺢n называется субградиентом функции f(x) в точке x, если выполняется следую%
щее неравенство:
Суперградиентом вогнутой функции f(x) называется субградиент выпуклой функции – f(x) взятый с отрицательным знаком. Будем также обозначать через ∂f(x) суперградиент вогнутой функции f(x). Смысл обозначения будет ясен из выпуклости или вогнутости f(x).
Рассмотрим функцию
Предложение 2. Функция ϕ() – вогнутая.
Доказательство предложения аналогично доказательству теоремы 1.
Итерация субградиентного алгоритма минимизации функции ψ(z) имеет вид
(19) где k – номер итерации, ∂ψ(zk) – субградиент функции ψ(z) в точке zk, πZ(z) – проекция точки z∈⺢n на множество Z = {0 ≤ zj≤ 1, j = 1, 2, …, n}. Скалярные величины задают величину шагов.
Для вычисления используется оценка оптимального значения минимизируемой функции.
Опишем вычисление значения . Пусть нам известно минимальное значение ψ(z*), где z* – ре%
шение задачи (3), тогда согласно теореме 7.2 из [4] можно задать в виде
(20) Такой выбор гарантирует сходимость последовательности (19) к z*. В том случае, когда мини%
мальное значение не известно, предлагается использовать эвристику, в которой вместо мини%
мального значения функции используют нижнюю оценку для ψ(z*) (см. § 5.3 и § 7.2 в [4]). В [5]
показано, что если нижняя оценка строго меньше ψ(z*) и остается неизменной на всех итераци%
ях, то алгоритм гарантированно не сходится к решению. Поэтому нужно стремиться к получе%
нию как можно более точной нижней оценки для ψ(z*) в процессе итераций. Очевидно, что вы%
полняются соотношения
(21) Из (21) видно, что любое значение ϕ() будет нижней оценкой для ψ(z*). Для получения все бо%
лее точной нижней оценки будем решать задачу максимизации функции ϕ(). Алгоритм супер%
градиентной максимизации вычисляет последовательность точек по формуле f x( +y)≥f x( )+yт∂f x( ) ∀y∈Rn.
ϕ( ) L z( ,),L z( ,)
z
min λi
1
2 yiyk zjxijxkj
j=1
∑
n⎝ ⎠
⎜ ⎟
⎛ ⎞
λiλk k=1
∑
l i=1∑
l– A zj, 0
j=1
∑
n ≤ ≤zj 1, j= 1 2, , ,… n+
i=1
∑
l .= =
zk+1 πZ zk αk z∂ψ( )zk
( – ),
=
αk z
αk z
αk z
αk z
αk
z ψ( ) ψzk – ( )z*
∂ψ( )zk 2
.
=
ψ( ) ϕz ≤ ( ) , ∀z∈Z, ∈Λ, ψ( )z* ψ( )z
z∈Z
min ϕ( )
∈Λ
max ϕ( )* .
= = =
k+1 πΛ k αk
λ∂ϕ( )k
( + ),
=
ЖУРНАЛ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И МАТЕМАТИЧЕСКОЙ ФИЗИКИ том 50 № 5 2010
МИНИМАКСНАЯ ЗАДАЧА ВЫБОРА ПРИЗНАКОВ 973
где ∂ϕ(k) – суперградиент функции ϕ() в точке k, πΛ() – проекция точки ∈⺢l на множество Λ = { = 0, 0 ≤ λi≤ C, i = 1, 2, …, l}, – скалярные величины, задающие величину шагов.
Пусть ϕrec – максимальное значение ϕ(), достигнутое в процессе максимизации за k итера%
ций. Таким образом, ϕrec дает нам нижнюю оценку для ψ(z*) и мы имеем следующую формулу для параметра шага:
Аналогично получаем формулу, задающую величину шагов по λ:
где ψrec – минимальное значение ψ(z), достигнутое за k итераций.
Для вычисления ∂ψ(z) – субградиента функции ψ(z) в точке z необходимо получить max – реше%
ние следующей задачи:
и вычислить производную функции L(z, max) по z.
Формула для компоненты j субградиента ∂ψ(z) имеет вид
Для вычисления ∂ϕ() – суперградиента функции ϕ() в необходимо получить zmin – решение задачи линейного программирования
и вычислить производную функции L(zmin, ) по . Формула для компоненты i суперградиента
∂ϕ() имеет вид
Для нахождения zmin вычисляем коэффициенты линейной по z функции L(z, ):
и вычисляем = λiyi
i=1
∑
l αkλαk
z ψ( ) ϕzk – rec
∂ψ( )zk 2
= .
αk
λ ψrec–ϕ( )k
∂ϕ( )k 2
,
=
L z( ,),L z( ,)
max λi
1
2 yiyk zjxijxkj
j=1
∑
n⎝ ⎠
⎜ ⎟
⎛ ⎞
λiλk A zj,
j=1
∑
n+
k=1
∑
l i=1∑
l–
i=1
∑
l=
λiyi
i=1
∑
l = 0, 0≤ ≤λi C, i = 1 2, , ,… l,∂ψ( )z
∂zj
1
2 yiykxijxkjλi maxλk
max+A.
k=1
∑
l i=1∑
l–
=
L z( ,) minz
x ,L z( ,) λi
1
2 yiyk zjxijxkj
j=1
∑
n⎝ ⎠
⎜ ⎟
⎛ ⎞
λiλk c zj,
j=1
∑
n+
k=1
∑
l i=1∑
l–
i=1
∑
l=
0≤ ≤zj 1, j = 1 2, , ,… n,
∂ϕ( )
∂λi
1 yiyk zjminxijxkj
j=1
∑
n⎝ ⎠
⎜ ⎟
⎛ ⎞
λk.
k=1
∑
l–
=
pj A 1
2 yiykxijxkjλiλk,
k=1
∑
l i=1∑
l–
=
zjmin 1, pj<0, 0, pj≥0.
⎩⎨
⎧
Описанный субградиентный алгоритм содержит элемент эвристики при выборе параметра . Этот алгоритм может быть заменен на аналогичный, для которого доказана сходимость. В [5]
предложен субградиентный алгоритм, где параметр вычисляется по формуле
(22) При d ≥ψ(z*) последовательность zk, вычисляемая по формулам (19), (22), сходится к точке zd, в которой выполняется неравенство ψ(zd) ≤ d. В этом случае параметр d считается “удачной” ап%
проксимацией оптимального значения функции ψ(z). При d < ψ(z*) последовательность zk не сходится и d считается “неудачной” аппроксимацией. В алгоритме есть процедура, которая за конечное число шагов определяет факт “неудачной” аппроксимации. Алгоритм находит отре%
зок, левый конец которого есть “удачная”, а правый конец – “неудачная” аппроксимации d значения ψ(z*). Тогда методом деления отрезка вычисляется сколь угодно близкая аппроксима%
ция ψ(z*). Недостатком алгоритма является наличие “холостых” итераций, в которых устанавли%
вается факт “неудачной” аппроксимации d значения ψ(z*).
6. БЫСТРОЕ ВЫЧИСЛЕНИЕ ПРОЕКЦИЙ
Оценим эффективность алгоритма вычисления проекций Дейкстры при решении задачи вы%
бора признаков. В [1] описано быстрое вычисление проекции точки на множество Λ алгоритмом чередующихся проекций Дейкстры (см. [6]). Обычно для вычисления проекции на множество, задаваемое системой линейных ограничений, решается задача квадратичного программирова%
ния. Множество Λ является пересечением гиперплоскости куба:
(23) Алгоритм Дейкстры вычисляет проекцию точки на пересечение гиперплоскости куба с помо%
щью простых формул, в которых используются легко вычисляемые проекции отдельно на гипер%
плоскость и на куб. Проекция точки x0∈⺢M на гиперплоскость cтx = 0, c ∈⺢M, вычисляется по формуле
(24) Проекция точки на куб {0 ≤ λj≤ C, j = 1, 2, …, l} вычисляется по формуле
(25)
Алгоритм Дейкстры нахождения проекции точки x на множество Λ имеет вид
(26)
где k ≥ 1 – номер итерации алгоритма, A = { = 0}, B = {0 ≤ λj≤ C, j = 1, 2, …, l} и проекции πA и πB на множества A и B вычисляются по формулам (24) и (25). Последовательности ak, bk схо%
дятся к πΛ(x) – проекции точки x на множество Λ.
Число операций сложения и умножения на одной итерации алгоритма (26) равны, соответ%
ственно, 5l и (l + 1). В практических вычислениях обычно достаточно не более 10 итераций для αk
z
αk z
αk
z ψ( )zk –d
∂ψ( )zk 2
.
=
Λ λiyi
i=1 l
∑
= 0 0, ≤ ≤λi C i, = 1 2, , ,… l⎩ ⎭
⎨ ⎬
⎧ ⎫
= .
x0pr x0 cтx0 cтc –c.
=
ˆ
λj pr
0, λˆ
j<0, λˆ
j, 0 λˆ
j C, j
≤ ≤ = 1 2, , ,… l.
C, λˆ
j>C,
⎩⎪
⎨⎪
⎧
=
b0 = x, q0 = 0, ak = πA(bk–1),
bk = πB(ak+qk–1), qk = ak+qk–1–bk, Σj=1
l λjyj
ЖУРНАЛ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И МАТЕМАТИЧЕСКОЙ ФИЗИКИ том 50 № 5 2010
МИНИМАКСНАЯ ЗАДАЧА ВЫБОРА ПРИЗНАКОВ 975
нахождения проекции на множество Λ с точностью 10–10. Таким образом, можно считать, что для вычисления проекции необходимо 50l операций сложения и 10(l + 1) операций умножения. При подсчете числа операций сложения и умножения на одной итерации алгоритма (26) предполага%
ется, что вычисление проекции на куб не требует операций сложения или умножения. Для оцен%
ки вычислительной эффективности применения алгоритма Дейкстры была проведена серия экспериментов. В каждом эксперименте для различных значений объема выборки l и размерно%
сти n два раза решалась задача выбора признаков (1), (2). Первый раз для вычисления проекций использовался алгоритм Дейкстры, во второй раз применялся алгоритм квадратичного програм%
мирования. Алгоритм квадратичного программирования являлся реализацией метода внутрен%
ней точки (см. [7]). Искусственным способом было сделано так, чтобы во всех экспериментах ал%
горитм решения задачи выполнял 300 итераций субградиентного и 1000 итераций седлового ал%
горитмов. Измерялось время, которое затрачивалось на суммарные 1300 итераций гибридного алгоритма. Подчеркнем, что не анализировалось качество получаемых решений задачи выбора признаков. Обучающая модельная выборка была сгенерированна согласно работе [8]. Хотя в данном эксперименте также не имело значения происхождения обучающей выборки. При опре%
деленных значениях l и n операция вычисления проекции выполнялась определенное число раз вне зависимости от состава обучающей выборки. Из определения (23) множества Λ видно, что затрачиваемое время для вычисления проекции на множество Λ не зависит от размерности n. Ру%
ководствуясь данным соображением, в экспериментах выбирали небольшие значения размерно%
сти n. Количество арифметических операций при вычислении проекции алгоритмом квадратич%
ного программирования можно оценить снизу величиной порядка O(l4.5) (см. [7]). Таким обра%
зом, скорость вычисления проекции алгоритмом Дейкстры можно оценить, как более высокую в O(l3.5) раз. В таблице приведены результаты экспериментов.
В первой колонке указан номер эксперимента, во второй – размерность пространства n, в тре%
тьей – объем обучающей выборки l; в последней колонке таблицы вычислено, во сколько раз уменьшается время решения задачи выбора признаков гибридным алгоритмом за счет примене%
ния алгоритма Дейкстры. Например, в пятом эксперименте время решения задачи выбора при%
знаков уменьшается в 1.27 раз за счет применения алгоритма Дейкстры. Видно, что алгоритм Дейкстры позволяет сокращать общее время работы гибридного алгоритма.
СПИСОК ЛИТЕРАТУРЫ
1. Гончаров Ю.В., Мучник И.Б., Шварцер Л.В. Алгоритм выбора признаков в задаче обучения классифи%
кации методом опорных векторов // Ж. вычисл. матем. и матем. физ. 2008. Т. 48. № 7. С. 1318–1336.
2. Демьянов В.Ф., Малоземов В.Н. Введение в минимакс. М.: Наука, 1972.
3. Goncharov Y., Muchnik I., Shvartser L. Simultaneous feature selection and margin maximization using saddle point approach // DIMACS Techn. Rept. 2004. № 2004%08.
Таблица
Эксперимент n l QP/Dykstra
1 1 113 2.20
2 5 124 1.43
3 2 129 1.67
4 2 135 1.60
5 7 136 1.27
6 4 140 1.41
7 2 187 1.39
8 1 196 1.50
9 1 202 1.62
10 5 224 1.20
11 3 226 1.27
12 1 227 1.71
4. Поляк Б.Т. Введение в оптимизацию. М.: Наука, 1983.
5. Combettes P., Luo J. An adaptive level set method for nondifferentiable constrained image recovery // IEEE Trans. Image Processing. 2002. V. 11. P. 1295–1304.
6. Bauschke H.H., Borwein J.M. Dykstra’s alternating projection algorithm for two sets // J. Approximat. Theory.
1994. V. 79. № 3. P. 418–443.
7. Измайлов А.Ф., Солодов М.Ф. Численные методы оптимизации. М.: Физматлит, 2005.
8. Weston J., Mukherjee S., Chapelle O. et al. Feature selection for SVMs // Advances in Neural Information Pro%
cessing Systems. 2000. V. 13. P. 668–674.
Сдано в набор 12.01.2010 г. Подписано к печати 29.03.2010 г. Формат бумаги 60 × 881/8 Цифровая печать Усл. печ. л. 24.0 Усл. кр.%отт. 5.8 тыс. Уч.%изд. л. 24.0 Бум. л. 12.0
Тираж 235 экз. Зак. 220
Учредители: Российская академия наук, Вычислительный центр им. А.А. Дородницына РАН Издатель: Российская академия наук. Издательство “Наука”, 117997, Москва, Профсоюзная ул., 90
Оригинал%макет подготовлен МАИК “Наука/Интерпериодика”