21
Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логические алгоритмы классификации К. В. Воронцов [email protected] www.MachineLearning.ru, Участник:Vokov ЗАО «Форексис», Вычислительный Центр им. А. А. Дородницына РАН Научный семинар Яндекс Москва, 9 июня 2010 К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Логические алгоритмы классификации

Embed Size (px)

DESCRIPTION

Логические алгоритмы классификации

Citation preview

Page 1: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логические алгоритмы классификации

К. В. Воронцов[email protected]

www.MachineLearning.ru, Участник:Vokov

ЗАО «Форексис»,

Вычислительный Центр им. А. А.Дородницына РАН

Научный семинар ЯндексМосква, 9 июня 2010

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 2: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Содержание

1 Понятия закономерности и информативности

Логическая закономерностьТребование интерпретируемостиТребование информативности

2 Методы построения логических алгоритмов

Индукция закономерностейКомпозиция закономерностейВзвешенное голосование

3 Вероятностное оценивание

Постановка задачиОценки надёжности закономерностейКалибровка Платта

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 3: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Задача классификации

X — множество объектов; Y — множество классов;y : X → Y — неизвестная целевая зависимость (target).

Дано: X ℓ = (xi , yi )ℓi=1

— обучающая выборка, yi = y(xi )

f1(x1) . . . fn(x1). . . . . . . . . . . . . . . . . .f1(xℓ) . . . fn(xℓ)

y1

. . .yℓ

Найти: классификатор — функцию a : X → Y ,приближающую y(x) на всём множестве x ∈ X .

f1(x′1) . . . fn(x

′1)

. . . . . . . . . . . . . . . . . .f1(x

′k) . . . fn(x

′k)

a(x ′1)

. . .a(x ′

k)

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 4: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Задача классификации: уточнение требований

Требования к классификатору:

интерпретируемость ответов

— возможность объяснить классификацию;

интерпретируемость классификатора

— понятность его внутренней структуры;

возможность оценивать риски

— на выходе — оценки вероятностей классов P(y |x);

обобщающая способность

— высокое качество прогнозов на контрольных данных;

масштабируемость

— миллионы объектов ℓ, тысячи признаков n;

Данной совокупности требований удовлетворяютлогические алгоритмы классификации.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 5: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Логическая закономерность

Логическая закономерность (правило, rule) — это предикатR : X → {0, 1}, удовлетворяющий двум требованиям:

1) интерпретируемость:R записывается на естественном языке;R зависит от небольшого числа признаков (1–7);

2) информативность относительно одного из классов c ∈ Y :p(R) =

∣∣{xi : R(xi )=1 и yi=c

}∣∣ → max;

n(R) =∣∣{xi : R(xi )=1 и yi 6=c

}∣∣ → min;

Если R(x) = 1, то говорят «R выделяет x» (R covers x).

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 6: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Часто используемые виды закономерностей

1. Конъюнкция пороговых условий (термов):

R(x) =∧

j∈J

[aj 6 fj(x) 6 bj

].

2. Синдром — когда выполнено не менее d термов из J,(при d = |J| это конъюнкция, при d = 1 — дизъюнкция):

R(x) =

[∑

j∈J

[aj 6 fj(x) 6 bj

]> d

]

,

Синдромы обнаруживаются во многих прикладных областях:в кредитном скоринге, в геологическом прогнозировании,в медицинской диагностике [Переверзев-Орлов, 1990], и др.

Параметры J, aj , bj , d настраиваются по обучающей выборке.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 7: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Часто используемые виды закономерностей

3. Полуплоскость — линейная пороговая функция:

R(x) =[

j∈J

wj fj(x) > w0

]

.

4. Шар — пороговая функция близости:

R(x) =[r(x , x0) 6 w0

],

АВО — алгоритмы вычисления оценок [Ю.И.Журавлёв, 1971]:

r(x , x0) = maxj∈J

wj

∣∣fj(x) − fj(x0)

∣∣.

SCM — машины покрывающих множеств [M.Marchand, 2001]:

r(x , x0) =∑

j∈J

wj

∣∣fj(x) − fj(x0)

∣∣2.

Параметры J, wj , w0, x0 настраиваются по обучающей выборкепутём оптимизации критерия информативности.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 8: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Часто используемые критерии информативности

Проблема: надо сравнивать закономерности R .Как свернуть два критерия в один критерий информативности?

{

p(R) → max

n(R) → min

?=⇒ I (p, n) → max

Очевидные, но не всегда адекватные свёртки:p

p + n→ max (precision);

p − n → max (accuracy);

p − Cn → max (linear cost accuracy);p

P− n

N→ max (relative accuracy);

P =∣∣{xi : yi=c

}∣∣ — число «своих» во всей выборке;

N =∣∣{xi : yi 6=c

}∣∣ — число «чужих» во всей выборке.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 9: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Часто используемые критерии информативности

Адекватные, но неочевидные критерии:

энтропийный критерий информационного выигрыша:

h

(P

)

−p + n

ℓh

(p

p + n

)

− ℓ − p − n

ℓh

(P − p

ℓ − p − n

)

→ max,

где h(q) = −q log2 q − (1 − q) log2(1 − q);

критерий неслучайности FET (Fisher’s Exact Test):C

pPC

nN/C

p+nP+N → min;

критерий бустинга [Cohen, Singer, 1999]:√p −√

n → max

нормированный критерий бустинга:√

p/P −√

n/N → max;

предсказательные критерии на основе мета-обучения[J. Furnkranz at al., 2001–2007].

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 10: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Где находятся закономерности в (p, n)-плоскости

Логические закономерности: np+n

6 0.1, pP+N

> 0.05.

Статистические закономерности: CpPC

nN/C

p+nP+N 6 0.05.

P = 200

N = 100

0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 1900

10

20

30

40

50

60

70

80

90

100

p

n

логические закономерности низкой информативностилогические закономерности высокой информативности

статистические закономерностиминимум информативности

Вывод: неслучайность — ещё не значит закономерность.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 11: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Логическая закономерностьТребование интерпретируемостиТребование информативности

Парето-критерий информативности

Парето-фронт — множество недоминируемых закономерностей(точка R недоминируема, если правее и ниже точек нет)

0 50 100 150 200 250 3000

5

10

15

20

25

30

35

40

45

50

!"#$ %$#$&!'(#)*+, %-!.(-$/, p(R)

!"#$ $'-!01'(#)*+, %-!.(-$/, n(R

)

2$.!*!-3(.+( 415$*$.(-*$"'!

6 "#$6

5 "#$6

4 "#$6

3 "#$6

2 "#$6

1 "#$6

*(321 *+( 415$*$.(-*$"'!

задача UCI:germanК. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 12: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Индукция закономерностейКомпозиция закономерностейВзвешенное голосование

Поиск информативных наборов признаков

Проблема: как сократить перебор предикатов, захвативпобольше закономерностей из первых Парето-слоёв.

Это задача комбинаторной оптимизации.

Основные эвристические методы поиска:

поиск в глубину, метод ветвей и границ (КОРА);

поиск в ширину (ТЭМП);

стохастический локальный поиск (SLIPPER);

генетические (эволюционные) алгоритмы (DMEL);

случайный поиск с адаптацией (СПА);

Основной практический вывод:

Почти не важно, каким именно методом поиска пользоваться.Гораздо важнее критерий отбора закономерностей.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 13: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Индукция закономерностейКомпозиция закономерностейВзвешенное голосование

Локальное улучшение найденных закономерностей

Редукция (pruning):

1: заранее выделить контрольную выборку;2: для всех найденных закономерностей R(x)3: для всех признаков fj из J

4: если удаление признака повышает информативностьзакономерности на контроле, то

5: признак удаляется;

Стабилизация:

1: для всех найденных закономерностей R(x)2: для всех признаков fj из J

3: оптимизировать пороги aj , bj по критериюмаксимума информативности на всей выборке;

4: удалить дубликаты среди закономерностей;

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 14: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Индукция закономерностейКомпозиция закономерностейВзвешенное голосование

Композиция закономерностей

Каждое правило выделяет лишь небольшую долю объектов.Следовательно, правил нужно много.

Две основные идеи:

1: покрытие 2: голосование

(комитеты старшинства, (комитеты большинства,решающие списки и деревья) бустинг и бэггинг)

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 15: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Индукция закономерностейКомпозиция закономерностейВзвешенное голосование

Взвешенное голосование закономерностей

Пусть Rty (x), t = 1, . . . ,Ty — закономерности класса y .

Взвешенное голосование:

1) сумма голосов закономерностей за класс y :

Γy (x) =

Ty∑

t=1

atyRt

y (x);

2) алгоритм классификации:

a(x) = arg maxy∈Y

Γy (x).

Методы настройки весов aty по обучающей выборке:

простое голосование: aty = 1/Ty ;

LR — логистическая регрессия;

SVM — метод опорных векторов;

бустинг.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 16: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Индукция закономерностейКомпозиция закономерностейВзвешенное голосование

Покрытие выборки

Перевес голосов (margin) за правильный класс yi на объекте xi :

M(xi ) = Γyi(xi ) − max

y 6=yi

Γy (xi ).

0 20 40 60 80 100 120 140 160 180 200

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

i

Margin

шумы

ошибки

пограничныеобъекты

надёжно классифицируемые объекты

эталонныеобъекты

Практический вывод: метод настройки весов не столь важен,как обеспечение надёжного покрытия выборки и отсев шума.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 17: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Постановка задачиОценки надёжности закономерностейКалибровка Платта

Задача вероятностного оценивания

Задача:

наряду с классификацией объекта a(x) вычислять оценкивероятностей P(y |x) для всех классов y .

Основные методы решения:

оценивание надёжности отдельных закономерностей(для решающих списков и деревьев);

калибровка Платта(для взвешенного голосования);

нечёткие закономерности и др.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 18: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Постановка задачиОценки надёжности закономерностейКалибровка Платта

Оценки надёжности закономерностей

Переобучение закономерностей:

p′(R) на контроле меньше, чем p(R) на обучении;n′(R) на контроле больше, чем n(R) на обучении;

Смещённость оценки вероятности:

если Ry (x) = 1, то вероятность того, что «x из класса y»:

P(y |x) =p

p + n− δ(p, n, . . .)

︸ ︷︷ ︸поправка на

переобученность

.

Способы несмещённого оценивания:

По контрольным данным: P{y(x)=c

}≈ p′

p′+n′ .

Метаобучение: строится регрессионная модель δ(p, n, . . .).

Точные комбинаторные оценки вероятности переобучения(теория under construction).

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 19: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Постановка задачиОценки надёжности закономерностейКалибровка Платта

Калибровка Платта

Пусть для простоты классов два, Y = {−1, +1}.При некоторых (не слишком сильных) допущенияхвероятность P(y |x) связана с перевесом голосов∆y (x) = Γy (x) − Γ−y (x) через сигмоидную функцию σ(z):

P(y |x) = σ(a∆y (x) + b),

σ(z) =1

1 + e−z

-6 -4 -2 0 2 4 6

0

0.5

1.0

z

σ(z)

Настройка коэффициентов a, b по контрольной выборкеметодом максимума правдоподобия:

yi=−1

log(1 − p(xi ; a, b)

)+

yi=+1

log p(xi ; a, b) → maxa,b

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 20: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Постановка задачиОценки надёжности закономерностейКалибровка Платта

Сухой остаток

1 Закономерности — это простые информативные правила.Чаще всего применяются закономерности-конъюнкции.

2 Популярные критерии информативности не вполне адекватны.Спасает расслоение Парето.

3 Поиск закономерностей сводится к отбору признаков.Выбор конкретного метода отбора почти не важен.

4 Два основных типа композиций закономерностей.Взвешенное голосование немного надёжнее покрытия.

5 Визуальный контроль граничных и шумовых объектов.Калибровка Платта даёт вероятности классов.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации

Page 21: Логические алгоритмы классификации

Понятия закономерности и информативностиМетоды построения логических алгоритмов

Вероятностное оценивание

Постановка задачиОценки надёжности закономерностейКалибровка Платта

Литература

Ю. И. Журавлёв, В. В. Никифоров. Алгоритмы распознавания,основанные на вычислении оценок // Кибернетика, Киев, 1971, № 3.

В. С. Переверзев-Орлов. Советчик специалиста: опыт созданияпартнерской системы. Наука, Москва, 1990. 133 С.

W. W. Cohen, Y. Singer, A Simple, Fast and Effective Rule Learner //16th National Conference on Artificial Intelligence, 1999, Pp. 335–342.

J. Furnkranz, P. A. Flach. ROC‘n’Rule Learning — Towards a BetterUnderstanding of Covering Algorithms // Machine Learning, 2005, No. 1,Vol. 58, Pp. 39–77.

F. Janssen, J. Furnkranz. Meta-Learning Rule Learning Heuristics //Martin-Luther-University Halle-Wittenberg, 2007, Pp. 167–174.

Hsuan-tien Lin, Chih-Jen Lin, Ruby C. Weng. A Note on PlattsProbabilistic Outputs for SVM // Machine Learning, 2007, No. 3, Vol. 68,Pp. 267–276.

M.Marchand, J. Shawe-Taylor. Learning with the Set CoveringMachine // ICML-18, 2001, Pp. 345–352.

К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации