При выборе =1 множество содержит множество предикатов (2)

advertisement
Логические закономерности: определение, нахождение,
распознавание.
Наряду с задачей распознавания по прецедентам (отнесения объекта к одному
из классов) существуют многие другие задачи, исходной информацией в
которых являются выборки признаковых описаний прецедентов, а результатами
их решения – различные величины или функции, имеющие интерпретацию в
терминах практических приложений. К числу подобных задач относятся задачи
поиска закономерностей или зависимостей, извлечения знаний различного вида.
В частности, широкий интерес привлекают методы поиска закономерностей
вида «если A1 (S ) & A2 (S ) & ... & Ak ( S ) то S  K i ». Здесь A1 , A2 ,…, Ak –
предикаты, определенные в пространстве признаковых описаний.
Предполагается, что условия данного вида выполняются если не на всех
объектах обучающей выборки (класса), то по крайней мере на многих эталонах
выборки (класса). Далее рассмотрим случай, когда Ai – одноместные предикаты
«простейшего вида», зависящие от какого-либо признака.
1. Основные определения.
Рассмотрим следующее множество элементарных предикатов, параметрически
зависящих от числовых неизвестных c1j , c 2j , j  1,2,..., n :
1, c1j  x j  c 2j ,
P (c , c , x j )  
иначе.
0,
Пусть   {1,2,..., n} .
Определение. Предикат P (c1 , c 2 , x)  & P(c1j , c 2j , x j )
1
j
2
j
(1)
j
называется логической закономерностью класса K , если
1.  St  K : P (c1 , c 2 , St )  1,
2.  St  K , P (c1 , c 2 , St )  0,
3.  ( P (c1 , c 2 , x)) 
extr
{ P  ( d 1 ,d 2 , x )}
 ( P (c1 , c 2 , x)) , где  – критерий качества
предиката.
В 3. поиск экстремума проводится по множеству всевозможных предикатов
вида (1).
Предикат (1), удовлетворяющий только первым двум ограничениям, называется
допустимым предикатом рассматриваемого класса.
Предикат (1), удовлетворяющий только первому и третьему ограничениям,
называется частичной логической закономерностью класса K ,.
Стандартным критерием качества предиката будем называть следующий
критерий:  ( P (c1 , c 2 , S ))  {Si : Si  K  , P (c1 , c 2 , Si )  1} .
Логические закономерности имеют простую геометрическую интерпретацию.
По данным обучающей выборки требуется найти прямоугольный
гиперпараллелипипед, лежащий в некотором признаковом подпространстве,
содержащий максимальное число эталонов из класса K и только класса K .
2. Нахождение логических закономерностей.
Задача поиска логических закономерностей классов для стандартного критерия
качества предикатов является сложной задачей нелинейной дискретной
оптимизации.
Для создания эффективных методов их поиска рассмотрим "более слабый"
вариант, основанный на следующих двух ограничениях.
1. Множество логических закономерностей "базируется" на эталонах. На
геометрическом языке, в центре каждого искомого гиперпараллелипипеда
находится один из эталонов класса.
2. Вместо стандартного функционала качества предикатов рассматривается
некоторый линейный по признакам эвристический функционал.
Пусть фиксирован произвольный эталон St  K .
Будем искать предикаты вида
Pt , ( x)  & Ptj ( j , x j ) , где   {1,2,..., n} ,
j
1, atj   j  x j  atj   j ,
(2)
Ptj ( j , x j )  
иначе.
0,
Отметим, что Pt(St)=1, т.е. первое условие определения логических
закономерностей класса K выполнено. Объект St будем называть опорным для
предикатов (2).
В качестве критерия оптимальности предиката возьмем функционал
f ( Pt , )    tj ( j ) ,
j
 tj ( j ) 
1
K

Si K 
j
( j , S t , S i ) 
1
CK 
 (1  
Si CK 
0,
где  j ( j , St , Si )   j ( j , x j ( St ), x j ( Si ))  
1,
j
( j , S t , S i )) ,
(3)
atj  aij   j ,
иначе.
Здесь K , CK означают число эталонных объектов принадлежащих и не
принадлежащих отмеченному классу соответственно.
Вычислим значения a tj  a ij , i=1, 2,…,m, и упорядочим все различные их
значения по возрастанию в виде следующих последовательностей
rj : rj1 , rj 2 ,..., rju j , rjv  rjw при v<w.
Очевидно, r j 0  0.
1. Подпоследовательность rju , u  v, v  1,...v  w, назовем
подпоследовательностью первого типа последовательности (4), если
a) для любого ее элемента rju , v  u  v  w, не существует строк Si  CK:
atj  aij  rju ,
b) любое возможное расширение подпоследовательности дополнением
элементов слева или справа нарушает свойство a).
2. Подпоследовательность rju , u  v, v  1,...v  w, назовем
подпоследовательностью второго типа последовательности (4), если
a) для любого ее элемента rju , v  u  v  w, не существует строк Si  K:,
atj  aij  rju ,
(4)
b) любое возможное расширение подпоследовательности дополнением
элементов слева или справа нарушает свойство a).
Докажем, что область D={j  0, j=1, 2,…n} допустимых значений параметров 
можно ограничить некоторым конечным множеством D*D таким, что
(5)
min f ( Pt , )  min f ( Pt , ) .
D
D*
Очевидно, что условие (5) будет выполнено, если в качестве D* взять
множество D'={=(1,2,…,n): i ri , i = 1, 2,…n}.
Покажем, что множество D' может быть далее существенно сокращено с
помощью трех алгоритмов сокращения последовательностей (4) (или их
подпоследовательностей, которые будем обозначать так же).
1. Первый алгоритм сокращения.
В последовательности rj выделяется подпоследовательность первого типа
r ju , u  v, v  1,..., v  w. Из rj вычеркиваются все элементы данной
подпоследовательности кроме r ju , u  v  w. Данная процедура повторяется для
всех подпоследовательностей первого типа последовательностей rj.
2. Второй алгоритм сокращения.
В последовательности rj выделяется подпоследовательность второго типа
r ju , u  v, v  1,..., v  w. Из rj вычеркиваются все элементы данной
подпоследовательности кроме r jv . Данная процедура повторяется для всех
подпоследовательностей второго типа последовательностей rj.
3. Пусть дана произвольная числовая последовательность С: c1 ,c2,…, ck и
функция действительного аргумента (x)0. Последовательности С
соответствует числовая последовательность  (c1),  (c2),…,  (ck), которую
будем называть функциональной.
Третий алгоритм сокращения произвольной конечной числовой
последовательности С состоит в выделении такой ее подпоследовательности
ci1 , ci2 ,..., cih ,
(6)
которой соответствует специальная строго убывающая подпоследовательность
функциональной последовательности  (c1),  (c2),…,  (ck).
Третий алгоритм сокращения.
1. Полагаем v=w=1, i1=1.
2. Шаг w1. Пусть из c1 ,c2 ,…,cw выделена подпоследовательность
ci1 , ci2 ,..., civ , v  w . Если w=k подпоследовательность (6) считается
построенной и переход на этап 3.
В противном случае w увеличивается на единицу.
Если  (civ )   (cw ) , тогда v увеличивается на единицу, iv=w и осуществляется
переход на начало этапа 2.
3. Конец алгоритма.
Пусть Pt , ( x) – произвольный допустимый предикат такой, что j rj
 j {rju , u  v, v  1,..., v  w}  r j , где rj – последовательность (4) или ее
подпоследовательность, а rju , u  v, v  1,..., v  w – подпоследовательность
первого типа последовательности rj.
  , i  j,
Рассмотрим предикат Pt ,e ( x) , для которого ei   i
rv w , i  j.
Ясно, что если предикат Pt , ( x) – допустимый, то будет допустимым также и
предикат Pt ,e ( x) .
Из условий  j (e j , St , Si )   j ( j , St , Si ) для Si  K и  j (e j , St , Si )   j ( j , St , Si )
для Si  K следует, что f ( Pt ,e )  f ( Pt , ) .
Рассмотрим теперь случай, когда rju , u  v, v  1,..., v  w –
подпоследовательность второго типа последовательности rj.
 , i  j,
Рассмотрим предикат Pt ,e ( x) , для которого ei   i
 rv , i  j.
Тогда, если предикат Pt , ( x) – допустимый, то будет допустимым также и
предикат Pt ,e ( x) в силу неравенства еjj . Кроме того выполнено
f ( Pt ,e )  f ( Pt , ) .
Таким образом, после последовательного применения первого и второго
алгоритмов сокращения к последовательностям rj , j=1,2,…n, вычисляется такое
подмножество D'' множества D , минимум на котором основного функционала
совпадает с минимумом на D'. Без ограничения общности, обозначим данное
подмножество снова как D''=r1  r2  …  rn . Применим к последовательностям
rj , j=1,2,…n, третий алгоритм сокращения, рассматривая в качестве
соответствующих функциональных последовательностей последовательности
 tj (rji ), i  1,2,..., u j . В итоге получим множество D*=1  2  …  n,
где j={ji ,i=1,2,…,kj },ju <jv , при u<v.
В силу свойств третьего алгоритма сокращения для любого допустимого
предиката Pt , ( x) , j rj, существует e=(e1 ,e2 ,…,en), ,ej=jv(j)j , для которого
 tj (e j )   tj ( j ) , т.е.  допустимый предикат Pt ,e ( x) , для которого
f ( Pt ,e )  f ( Pt , ) .
После явного описания процедуры нахождения множества D* покажем, что
задача поиска логических закономерностей может быть сформулирована в виде
специальной задачи целочисленного линейного программирования.
Введем следующие обозначения:
cij   tj ( ij ), y  ( y11, y12 ,..., y1k1 , y21, y22 ,..., y2 k2 ..., yn1 , yn 2 ,..., ynkn ),
yij  {0,1}, i  1,2,..., n, j  1,2,..., ki ,
biju  i ( ij , xi (St ), xi (Su )) ,
n
ki
i 1
j 1
n
ki
 c
ij
 b
i 1
j 1
u
ij
yij  min ,
(7)
yij  1, u  1,2,..., m, Su  K  .
(8)
По определению коэффициентов и в силу свойств третьего алгоритма
сокращения для задачи (7-8) имеют место следующие свойства коэффициентов:
(9)
ciu  civ  0, при u  v, biju  bijv  0, biju {0,1}.
В силу свойств коэффициентов (9) задачу (7-8) будем называть задачей
целочисленного линейного программирования с блочно-монотонными
столбцами (задача БМС-ЦЛП).
Пример задачи (7-8).
i=1
i=2
i=n
0.5 0.4 0.3 0.1 0.8 0.6 0.3 …
0.9 0.8 0.6 0.4 0.2
1
1
1
0
1
1
1
…
1
1
1
1
0
1
0
0
0
1
1
1
…
1
1
1
1
1
1
1
0
0
1
0
0
…
0
0
0
0
0
1
1
0
0
1
1
0
…
1
0
0
0
0
1
0
0
0
0
0
0
…
0
0
0
0
0
1
0
0
0
1
0
0
…
1
1
1
0
0
1
1
1
1
0
0
0
…
0
0
0
0
0
.
.
.
.
.
.
.
…
.
.
.
.
.
1
1
1
0
1
1
0
…
1
1
0
0
0
В силу свойств коэффициентов функции (7) оптимальное решение
y*  ( y *11, y *12 ,... y *1k1 , y *21, y *22 ,... y *2 k2 ,..., y *n1 , y *n 2 ,... y *nkn ) содержит не более
одной единичной компоненты для каждой из n групп параметров
y *i1 , y *i 2 ,... y *iki .
Множество единичных компонент однозначно определяет предикат Pt , ( x) .
Действительно, множество  признаков предиката определяется первыми
индексами единичных значений компонент y*ij , а соответствующие значения –
-порогов задаются вторыми индексами (i =ij ).
3. Распознавание на основе логических закономерностей.
Пусть имеется некоторый алгоритм поиска локально-оптимальных
решений задачи (7-8). Найденному множеству локально-оптимальных решений
задачи (7-8) соответствует некоторое множество логических закономерностей
{ Pt , ( x) }, связанных с объектом St класса Kj и функционалом f. Обозначим
через P j   Pt , ( x) множество логических закономерностей класса Kj как
t
объединение множеств предикатов { Pt , ( x) }, найденных для всех эталонов
класса Kj.
Общая схема, которая используется в алгоритмах распознавания,
основанных на голосовании по системам логических закономерностей,
включает три последовательных этапа и является частным случаем общей
последовательности выполнения этапов в моделях вычисления оценок.
1. Для каждого класса Kj по обучающей информации I0 согласно
описанному
ранее
алгоритму
находится
множество
логических
закономерностей Pj , из которого вычеркиваются предикаты с малыми
значениями стандартного функционала качества.
2. Для произвольного распознаваемого объекта S вычисляется "мера
близости" Gj=t Pt , ( S ) объекта S к классу Kj, где суммирование проводится
по всем Pt , ( x)  Pj . Здесь Gj является "взвешенной суммой голосов" за класс
Kj , или, следуя терминологии [2], оценкой S за класс Kj. Нормировочные
коэффициенты i могут вычисляться различными способами и задают тип
процедуры голосования.
3. По значениям Gj вычисляется информационный вектор (A1(I(S)),
A2(I(S)), …, Al(I(S))).
Например, Ar(I(S))=1 , если Gr=max{Gj, j=1, 2,...,l}. В противном случае
Ar(I(S))=0. Строка A(I(S)) = (A1(I(S)), A2(I(S)),..., Al(I(S))), содержащая ровно
одну единицу, означает однозначное решение задачи распознавания – отнесение
алгоритмом распознавания A объекта S в один из l классов. Строка A(I(S)),
содержащая несколько единиц, означает многозначное решение задачи
распознавание. В данной ситуации алгоритм распознавания указывает
несколько классов, которым может принадлежать объект S. Строка A(I(S)),
содержащая одни нули, интерпретируется как отсутствие классов, на которые
похож распознаваемый объект.
4. Нахождение логических закономерностей при обучающих выборках
большой длины.
Изложенный в п.2 подход для построения множества логических
закономерностей предполагает нахождение предикатов вида (2) для каждого
эталонного объекта, т.е. решение задач БМС-ЦЛП (7-8) для каждого эталона.
Решение большого числа задач БМС-ЦЛП приводит к существенным затратам
процессорного времени для поиска предикатов и памяти для хранения
предикатов, времени распознавания новых объектов. Ясно, что найденные
множества логических закономерностей будут содержать много похожих
предикатов (2), а само их число будет «избыточным». Таким образом
представляет интерес вычисление множеств логических закономерностей
различной мощности.
Разумным подходом для решения данной задачи представляется
реализация следующей общей схемы.
Пусть задан критерий (Sj) оценки важности (представительности)
произвольного объекта Sj обучающей выборки, I={S1, S2,…, Sm }, 1 –
некоторое фиксированное число,   {1 , 2 ,..., m }, i  0, i  1,2,..., m.
Рассмотрим следующий алгоритм вычисления множеств Pj , j=1,2,…l.
1. Полагаем Pj  , j=1,2,…,l, v=1.
2. Пусть S iv  I – эталонный объект, Siv  K  , для которого выполнено
 ( Si )  max  ( S j ) . Решается задача БМС-ЦЛП (7-8) относительно Si и
v
S j I
v
находится множество логических закономерностей Piv  {Piv , ( x)} , для
которых Siv является опорным. Множество P дополняется предикатами
из P iv .
3. Для каждого iI величина  i увеличивается на число предикатов из P iv ,
принимающих единичные значения на объекте Si .
4. Из I исключаются все Si, для которых  i .
Если I=, множества Pj , j=1, 2,…, l, считаются построенными и алгоритм
заканчивает свою работу.
В противном случае значение v увеличивается на единицу и
осуществляется переход на второй этап.
При выборе =1 множество Pj содержит множество предикатов (2),
причем для каждого эталонного объекта из Kj имеется хотя бы один предикат,
принимающий на данном объекте значение 1. При выборе  = m множество Pj
является, как правило, объединением всех предикатов (2), вычисленных для
всех задач БМС-ЦЛП с использованием всех эталонов Kj в качестве опорных.
Рассмотрим теперь вопрос выбора функции (Sp), оценивающей
«важность» объекта Sp.
Разобьем область определения (d 0i , d ki ] признака Xi на интервалы
(d ti , d ti1 ] , t = 0, 1,…, k–1, длины h и пусть  ti  (d ti , d ti1 ] – произвольная точка
интервала.
Определим следующие функции:
1, d ti  x  d ti1 ,
– характеристическая функция интервала номер t
ti ( x)  
0
,
иначе,

признака Xi ;
k 1
f i ( x) 
m
 (a )
  ( x )

t 1
i
t
i
t
1
i
– доля объектов обучающей выборки, значение
m
признака Xi которых принадлежит тому же интервалу, что и значение
переменной x ;
k 1
  ( x)   (a )
f ij ( x) 
t 1
i
t
S K j
i
t
i
– доля объектов обучающей выборки из класса Kj ,
m j  m j 1
значение признака Xi которых принадлежит тому же интервалу, что и значение
переменной x ;
Wij ( x)  f i ( x)  f ij ( x) – степень различия среднего значения признака Xi по
классу Kj от среднего значения Xi по всей выборке в точке x.
Определение. Пусть S  Kj. Величину  ( S ) назовем мерой важности (весом)
n
объекта S , если  ( S ) 
W (a )
ij
i 1
i
.
n
С помощью функции Wij (x ) можно определить еще один критерий «важности»
l
k
 W ( )
i
признака Xi : pi 
j 1
v 1
ij
.
kn
Предложенный подход для оценки важности некоторого объекта имеет
линейную сложность вычисления и, главное, не требует хранения в памяти всей
обучающей выборки. Данное обстоятельство может быть решающим
преимуществом относительно других подходов (например, метода kближайших соседей ) при решении задач data miming большой размерности.
Интерпретация данного критерия также весьма проста. Строятся ступенчатые
функции, оценивающие приближенно «индивидуальную» разделяющую
способность каждого признака по каждому классу на области допустимых
значений признака. Далее, некоторый объект считается важным для своего
класса, если многие его признаки имели высокую разделяющую способность.
Download