Построение линейных разделяющих функций с применением методов линейного программирования
Проблема нахождения разделяющей гиперплоскости, возникающая в задачах медицинской диагностики, в частности при обнаружении некоторых классов биомедицинских сигналов, может быть сформулирована и решена в виде задачи линейного программирования (ЛП)1.
Определим распознаваемый объект как точку в m-мерном евклидовом пространстве признаков. Для множества объектов (j = 1,2, …) положение соответствующих точек задается вектором Pj = (p1j,p2j,…,pmj), являющимся матрицей-столбцом. Предполагается, что для обучающей последовательности известна принадлежность объектов к одному из классов w1 (j ∈ w1) или w2 (j ∈ w2).
Отнесение объекта Pj к одному из классов осуществляется в соответствии с правилом
(1.30) ,
где θ > 0, а вектор Λ = (λ1, λ2,…,λm) представлен в виде матрицы-строки.
Как видно из (1.30), по знаку линейной функции
ΛTPj – θ = λ1p1j + λ2p2j + … + λmpmj – θ
можно судить о принадлежности объекта к одному из классов.
Геометрически это означает построение разделяющей гиперплоскости ΛTPj – θ = 0. Задачу нахождения элементов вектора Λ, удовлетворяющего системе линейных неравенств (1.30), можно решить с использованием методов ЛП.
Для этого рассмотрим задачу нахождения двух параллельных гиперплоскостей и , для которых выполняются следующие условия:
(1.31)
(1.32)
(1.33)
Таким образом, ставится задача максимизации расстояния между полупространствами (1.31) и (1.32), содержащими все точки из множеств w1 и w2 соответственно. Если окажется, что искомый максимум (1.33) отрицательный, то очевидно, что множества w1 и w2 неразделимы.
Пример нахождения по критерию (1.33) вектора Λ и параллельных гиперплоскостей Н1 и Н2, задающих области решений в одной из задач распознавания двух классов электрокардиосигналов (w1 и w2), приведен на рис. 1.
Здесь два класса сигналов заданы в пространстве спектральных признаков p1 и p2. Расстояние между центрами классов обозначено Δ. Результирующее решающее правило (1.30), которое используется в линейном классификаторе, задается гиперплоскостью H.
Если ввести условие нормировки:
задачу (1.31 )-(1.33) можно записать как нахождение
, (1.34)
при условиях
где
(1.35)
(1.36)
Очевидно, что вместо (1.34) (1.36) можно решать задачу ЛП
(1.37)
при тех же условиях
и определить величину θ из (1.36), а искомые коэффициенты — из (1.35). Задачу (1.37) удобно решать, переходя к двойственной задаче линейного программирования2. Для этого рассмотрим следующую общую задачу ЛП. записав ее в виде
max(c1x1 + c2x2 + … + cnxn);
(1.38)
или в матричной записи:
шах (с, х); Ах ≤ b,
где целевая функция представлена в виде скалярного произведения (с, х) двух векторов х = (x1, x2,….,xn), с = (с1, с2…..сn), а вектор ограничений — в виде матрицы-столбца b = (b1,b2…..bm). Здесь, как и в (1.37), на координаты вектора х не накладывается никаких дополнительных условий.
Двойственной к (1.38) будет задача ЛП от m переменных y1, y2, … ,ym вида
min(b1y1 + b2y2 + … + bmym));
(1.39)
где , или в матричной записи:
min(b, у);
АTу = с; у ≥0, где Y = (y1, y2, …,ym).
Как видно в (1.39), переменных столько же, сколько строк в матрице А задачи (1.38). Матрица ограничений в (1.39) транспонированная матрица А. Вектором правой части ограничений в (1.39) служит вектор коэффициентов максимизируемой линейной функции (1.38), при этом знаки неравенств меняются на равенство. Коэффициенты целевой функции в (1.39) задаются вектором правой части ограничений задачи (1.38). При этом символ max меняется на min. На переменные yi , накладывается условие неотрицательности.
В соответствии со второй теоремой двойственности оптимальный план X* = (x1*,x2*, … ,xn*) прямой задачи (1.38) однозначно связан с решением двойственной задачи (1.39) у* = (y1*, y2*, …,ym*) 3. Существующую зависимость можно представить следующим образом: если yi* > 0, то
ai1x1* + ai2x2* + • • • + ainxn* = bi (1.40)
Это соотношение позволяет получить систему, состоящую из n уравнений, которая используется для нахождения оптимального решения прямой задачи.
Таким образом, если в прямой задаче (1.38) число ограничений m значительно превосходит число переменных n, целесообразно вначале решить двойственную задачу (1.39), а затем перейти к составлению системы уравнений и ее решению относительно неизвестных X* = (x1*,x2*, … ,xn*).
Итак, сформулированную выше задачу отыскания разделяющей гиперплоскости (1.37) можно решить на основе двойственной задачи. Условия ограничения в (1.37) можно привести к виду
-(λ’1p1j +λ’2p2j + … + λ’mpmj) + ≤ -1, j ∈ w1 (1.41)
λ’1p1j +λ’2p2j + … + λ’mpmj + ≤ 1, j ∈ w2 (1.42)
Здесь неизвестными являются параметры λ’1,λ’2,….λ’m,, , оптимальные значения которых входят в уравнения двух параллельных гиперплоскостей. Число ограничений определено количеством объектов, образующих классы w1 и w2. Оно же задает и число неизвестных xj, j ∈ w1, j ∈ w2 в двойственной задаче.
Следуя правилам построения сопряженных задач (1.38) и (1.39), ее можно представить следующим образом. Найти
при условиях, записанных в виде системы уравнений-ограничений
где xj ≥ 0.
В данной задаче имеется лишь m + 2 ограничения, что значительно упрощает ее решение. Обычно число объектов значительно превышает размерность пространства признаков, в котором строится разделяющая гиперплоскость. Если общее число объектов равно я, то число свободных переменных xj будет равно n – (m + 2). Выразив ?и базисных переменных через выбранные свободные переменные, можно перейти к стандартной форме представления системы уравнений-ограничений. Применение симплекс-метода, основанного на табличном алгоритме замены базисных переменных, позволит найти все множество оптимальных значений (xj, j ∈ w1, j ∈ w2), из которых лишь m + 2 переменных будут иметь ненулевые значения. Если найденный оптимальный план этой задачи представить в виде (x1*,x2*, … ,xm+2* …0,0), то лишь для первых m + 2 переменных будет составлена система уравнений-ограничений прямой задачи следующего вида:
-(λ’1p1j +λ’2p2j + … + λ’mpmj) + = -1, j ∈ w1
λ’1p1j +λ’2p2j + … + λ’mpmj + = 1, j ∈ w2
Как следует из (1.40). форму равенств приобретают только те неравенства из ограничений (1.41), (1.42), в которых индексы j определяются ненулевыми значениями (x1*,x2*, … ,xm+2*). Решение этой системы уравнений позволяет найти оптимальные значения переменных (λ’1,λ’2,….λ’m,, )* и определить вид решающего правила (1.30).
Данный подход показывает возможности применения методов ЛП для построения разделяющих гиперплоскостей в различных задачах медицинской диагностики.
Footnotes
- Первозванский А. А. Распознавание абстрактных образов как задача линейного программирования // Изв. Академии наук СССР. Сер. «Техническая кибернетика». 1965. № 4. С. 41-44.
- Таха X. А. Введение в исследование операций. 6-е изд. / Пер. с англ. — М.: Вильямс, 2001. — 912 с.
- Таха X. А. Введение в исследование операций. 6-е изд. / Пер. с англ. — М.: Вильямс, 2001. — 912 с.