УДК 519.3+519.7 Вестник СПбГУ. Сер. 10, 2006, вып. 3
В. В. Демьянова
ОДНОМЕРНАЯ ИДЕНТИФИКАЦИЯ МЕТОДОМ РАЗДЕЛЕНИЯ
1. Введение и постановка задачи. Задачи разделения двух точечных множеств на прямой возникают, например, в теории распознавания и диагностики. В данной работе задача разделения решается с помощью линейного идентификатора. В качестве функционала выбран максимум количества неверно идентифицированных точек. Этот функционал является разрывным. Используя его квазивыпуклость, удается вывести необходимые и достаточные условия оптимальности и на их основе построить численный метод.
Пусть заданы множества i С R и £ С R: А — {a¿ € R | г £ /}, В = {bj 6 R | j € J}, где I = 1 : Ni, J — 1 : iV2. Предположим, что точки а, и bj упорядочены: ai < й2 < ■■■ < a/Vj, bi < 62 < ■■• < bis¡2 и что они различны: a¿ ф bj Vi е I, j € J.
Требуется указать сравнительно простой алгоритм для «разделения» множеств А и В. Если
max{a¿|'í € 1} < minimi j 6 J}
min{a,|¿ € 1} > max{fy|j e J},
задача разделения не представляет трудностей. Далее рассматривается случай, когда точки множеств «перемешаны».
Будем использовать следующую процедуру идентификации.
Пусть дана функция F(x, с) : R2 R. Функцию F(x, с) будем называть идентификатором (или классификатором). Выберем любое с G A U В. Если F(x,c) > 0, то считаем, что точка с принадлежит множеству А. Если F(x, с) < 0, то считаем, что с является точкой множества В. В случае F(x, с) — 0 точка с считается неидентифициро-ванной идентификатором F(x, с). Далее рассматривается только случай F(x, с) = с —х. (Функция F(xiC) — х — с используется, если поменять местами расположение множеств Л и Б, на практике надо применять оба идентификатора.)
Пусть mi (я») = \А~ где А" = {o¿ € А \ а,- ^ ж}, т2(2;) = \В~\, где В~ = {bj е В | bj ^ ж}. Здесь \С\ - число точек множества С. Итак, rrii (х) (ш2(х)) представляет собой количество точек множества А (соответственно, В), неправильно идентифицированных идентификатором F(x,c). Теперь построим критериальную функцию, положив
т(х) — max{mi(x),m2(x)}. (1)
Требуется найти min^R,т(х) = т*. Функции m(x),mi(x),m2(x) принимают только целые значения, они разрывны и кусочно постоянны. Множество А является множеством точек разрыва функции mi, а множество В - множеством точек разрыва функции 7712 - Функция гл.] (х) неубывающая и, следовательно, квазивыпукла, а функция mi (ж) невозрастающая и также квазивыпукла Функция т(х), как максимум квазивыпуклых функций, - тоже квазивыпукла **'. В качестве критериальной можно
*) Заботин Я. И., Кораблев Ф. И., Хабибулин Р. Ф. О минимизации квазивыпуклых функционалов // Изв. вузов. Математика. 1972. № 10. С. 27-33.
См. там же.
© В. В. Демьянова, 2006
выбрать и другие функции. Например, функция fl{x) — т^х) + т2(х) представляет интерес (это общее количество ошибочно идентифицированных точек). Однако множество точек глобального минимума функции га выпукло и не существует локальных минимумов, в то время как функция /1 может иметь локальные минимумы, а множество точек глобального минимума может оказаться невыпуклым.
2. Необходимые и достаточные условия оптимальности. Пусть М* - множество точек минимума функции га, определенной соотношением (1). Функция га квазивыпуклая, поэтому множество М* - выпуклое Так как мы рассматриваем одномерный случай, то отличное от точки выпуклое множество М* имеет один из следующих видов: М* = [р, д], М* = (р, д], М* — [р, д), М* = (р, д)- Функция га кусочно постоянна на К \ [А и -В], следовательно, точки р и д принадлежат А и В.
Через тп\(х+) обозначим значение тп\(г) для г € (ж, ж'), где х' такое, что (х, ж')П[Ли В~ — 0 (т. е. в интервале (х,х') нет точек множеств А и В). Через т\(х~) обозначим значение га1(2) для г € (х',х), где х' такое, что (х',х) П [А и В] = 0 (т. е. в интервале (х^х) нет точек множеств Л и Б).
Функции гп2(х+) и т2(х~) вводятся аналогично. Положим
га(ж+) = тах{га1(ж+), га2(ж+)}, га(ж~) = тах{га1(х~),га2(ж~)}.
Теорема. Множество М* имеет вид М* = (Ь^а*), где а, € ^4,6./ € В. Кроме того,
т2(Ь^)=т1(аГ) = т*. (2)
Доказательство. Очевидно, что
7П1 (ж+) ^ Ш1(х), т2{х+) ^ га2(ж), 'тц(ж-) ^ ^г(х), т2(х~) ^ га2(х).
Если й{ € А, Ь^ € Б, то
7711(0+) = "71 («О, "И (О = т1(а{) - 1, "11(6+) = 771!(ьт) = т^ЬД га2(а+) = га2(а7) = т2(а*),
т2(6+) = га2(^) - 1, га2(57) = т2{Ь5).
Легко заметить, что га(а^) ^ га(а,) = га(а+), га(6+) ^ ) — га(б^).
Теперь покажем, что М* имеет вид М* = (р, д). Допустив противное, получим следующее.
В случае р € М*: если р — Ъ^; 6 то
"И(&7) = тД&Д га2(б7) = 7712(6;), и интервал М* можно расширить (налево); если р = о, € Л, то га1(а7) = 7711 (а,) - 1, га2(а7) = га2(а0, и интервал М* можно расширить (также налево).
*) Там же.
В случае q € М*: если р = е В, то
тт(Ь+) = тт(Ь3-), т2(6+) = т2{Ъ3) - 1,
и интервал М* можно расширить (направо); если р — о» е Л, то
Ш1(а+) = тх(аг), т2(а+) = т2(а»),
и интервал М* можно расширить (также направо).
Итак, М* = (р, (/). Далее покажем, что' р е В, q Е А. Вначале установим, что р е В. Предположим противное, пусть р — о». Тогда
7711(0») = 7711(0+),7711(07) = 7711(0») - 1 = т,!^) - 1,
т2(о7) = Г772(а+) = 7712(0»),
поэтому 777(07) ^ т(а^) (т. е. точки, близкие к о» слева, принадлежат М*). Получили противоречие. Следовательно, р € В.
Теперь покажем, что q Е А. Предположим противное, пусть д = /л,. Тогда
Ш2(Ь+) = 7712(Ь,) - 1 = 7712(67) - 1, Гщ(6+) - ГГЦ(Ь~) = тД&Д
поэтому т(6+) ^ 7/1(67) (т. е. точки, близкие к bj справа, принадлежат М*). Снова получили противоречие. Таким образом, q Е А.
Итак, доказано, что М* = (6;,о»). Теперь установим, что 7772(6+) = 7711(07) = т*. Действительно, предположим, например, что 7772(6+) < ш*. Так как
"12(67) = — "^(6+) + 1 ^ Г77*, 7771(67) = 7711(6+) <С 771*,
т. е. 777(67) ^ 777*, и поскольку т(г) ^ ш* Уя, то 771(67) = 777*. Следовательно, множество М* можно расширить (налево), а это невозможно. Аналогично, предполагая, что 7771(07) < т*, получаем
т1(а*") = "1-1(07) + 1 ^ 777*, 7772(а+) = ГП2(а~) ^ 777*,
т. е. т(о+) ^ 777*. Поскольку т(г) ^ т* Уг, то г?7(а+) = т*. Отсюда заключаем, что множество М* может быть расширено (в этот раз направо), что снова невозможно. Таким образом, теорема доказана.
Замечание. Условие (2) является необходимым и достаточным условием оптимальности разбиения.
3. Численный метод для минимизации т(х). С помощью сформулированной теоремы опишем метод для построения множества М*. Выберем произвольное множество М0 = (ро,<?о), где
Ро ^ шт{гшпОг, ттбЛ, до > тах{таха»,тахбЛ. г£/ ¿е/ j£J
Тогда
т(р0) = т2(р0) = N1, т(д0) = "11(до) = N-2, 7711 (р0) = т2(д0) = 0.
Пусть уже построено множество М* — (рь,Як), такое, что т^й) < т2(рк), "12(д/0 < тп^к). Положим с*; = ¿(р* + д*).
Если mi(cfc) = т2(ск), то т(ск) = т* (т. е. ск - точка минимума, поскольку т2 -убьшающая функция, a mi - возрастающая). Теперь найдем точку bJk € В, ближайшую к точке ск слева, и точку aik € А, ближайшую к точке ск справа. Тогда М* — (bjk, а^).
Если mi(cfc) < m2(cfe), то полагаем = (pfc+i,gfc+i), где рк+1 = ск, qk+1 = qk.
Отметим, что
mi(pk+i) = mi(ck) < т2(ск) = т2(рк+1),
m2(qk+i) - m2{qk) < mi(qk) = mi{qk+i).
Наконец, если mx{ck) > m2(ck), то возьмем Mfe+1 = (pk+i,qk+1), где pk+1 = pk, qk+x = ct. Снова заметим, что mi(pfc+i) = mi{pk) < m2(pk) = m2{pk+i), m2(qk+i) - m2(ck) < mi(ck) = mi(qk+i). Продолжая ангилогично, построим последовательность интервалов {М*}. Нетрудно заметить, что процесс прекратится за конечное число шагов, причем последнее полученное множество и будет искомым множеством М*. При этом количество шагов не превзойдет значения К, где К таково, что
<7о - Ро ^ , . , , ,
Summary
Demyanova V. V. One-dimensional identification by a separation method.
The problem of separation of two sets of points located on the line by a linear classifier is discussed. As a functional, the maximum of the number of misclassified points is employed. A necessary and sufficient optimality condition is proved and a numerical method is presented.
Статья поступила в редакцию 20 июня 2006 г.