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

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

Jun 16, 2015

Download

Business

yaevents

Логические алгоритмы классификации
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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) Логические алгоритмы классификации