Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логические алгоритмы классификации К. В. Воронцов vokov@forecsys.ru www.MachineLearning.ru, Участник:Vokov ЗАО «Форексис», Вычислительный Центр им. А. А. Дородницына РАН Научный семинар Яндекс Москва, 9 июня 2010 К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Содержание 1 Понятия закономерности и информативности Логическая закономерность Требование интерпретируемости Требование информативности 2 Методы построения логических алгоритмов Индукция закономерностей Композиция закономерностей Взвешенное голосование 3 Вероятностное оценивание Постановка задачи Оценки надёжности закономерностей Калибровка Платта К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Задача классификации X — множество объектов; Y — множество классов; y : X → Y — неизвестная целевая зависимость (target). Дано: X ℓ = (xi , yi )ℓi=1 — обучающая выборка, yi = y (xi ) f1 (x1 ) . . . fn (x1 ) y1 . . . . . . . . . . . . . . . . . . . . . f1 (xℓ ) . . . fn (xℓ ) yℓ Найти: классификатор — функцию a : X → Y , приближающую y (x) на всём множестве x ∈ X . ′ f1 (x1′ ) . . . fn (x1′ ) a(x1 ) . . . . . . . . . . . . . . . . . . . . . a(xk′ ) f1 (xk′ ) . . . fn (xk′ ) К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Задача классификации: уточнение требований Требования к классификатору: интерпретируемость ответов — возможность объяснить классификацию; интерпретируемость классификатора — понятность его внутренней структуры; возможность оценивать риски — на выходе — оценки вероятностей классов P(y |x); обобщающая способность — высокое качество прогнозов на контрольных данных; масштабируемость — миллионы объектов ℓ, тысячи признаков n; Данной совокупности требований удовлетворяют логические алгоритмы классификации. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Логическая закономерность Логическая закономерность (правило, 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) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Часто используемые виды закономерностей 1. Конъюнкция пороговых условий (термов): ^ aj 6 fj (x) 6 bj . R(x) = j∈J 2. Синдром — когда выполнено не менее d термов из J, (при d = |J| это конъюнкция, при d = 1 — дизъюнкция): X R(x) = aj 6 fj (x) 6 bj > d , j∈J Синдромы обнаруживаются во многих прикладных областях: в кредитном скоринге, в геологическом прогнозировании, в медицинской диагностике [Переверзев-Орлов, 1990], и др. Параметры J, aj , bj , d настраиваются по обучающей выборке. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Часто используемые виды закономерностей 3. Полуплоскость — линейная пороговая функция: i hP wj fj (x) > w0 . R(x) = j∈J 4. Шар — пороговая функция близости: R(x) = r (x, x0 ) 6 w0 , АВО — алгоритмы вычисления оценок [Ю. И. Журавлёв, 1971]: r (x, x0 ) = max wj fj (x) − fj (x0 ). j∈J SCM — машины покрывающих множеств [M. Marchand, 2001]: 2 P r (x, x0 ) = wj fj (x) − fj (x0 ) . j∈J Параметры J, wj , w0 , x0 настраиваются по обучающей выборке путём оптимизации критерия информативности. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Часто используемые критерии информативности Проблема: надо сравнивать закономерности R. Как свернуть два критерия в один критерий информативности? ( p(R) → max ? =⇒ I (p, n) → max n(R) → min Очевидные, но не всегда адекватные свёртки: p → max (precision); p+n p − n → max (accuracy); p − Cn → max (linear cost accuracy); n p − → max (relative accuracy); P N P = xi : yi =c — число «своих» во всей выборке; N = xi : yi 6=c — число «чужих» во всей выборке. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Часто используемые критерии информативности Адекватные, но неочевидные критерии: энтропийный критерий информационного выигрыша: p+n ℓ−p−n p P −p P − − → max, h h h ℓ ℓ p+n ℓ ℓ−p−n где h(q) = −q log2 q − (1 − q) log2 (1 − q); критерий неслучайности FET (Fisher’s Exact Test): p+n CPp CNn /CP+N → min; критерий бустинга [Cohen, Singer, 1999]: √ √ p − n → max нормированный критерий бустинга: p p p/P − n/N → max; предсказательные критерии на основе мета-обучения [J. Fürnkranz at al., 2001–2007]. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Где находятся закономерности в (p, n)-плоскости Логические закономерности: n p+n Статистические закономерности: p P+N > 0.05. p+n CPp CNn /CP+N 6 0.05. 6 0.1, n 100 P = 200 90 N = 100 80 70 60 50 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 логические закономерности низкой информативности логические закономерности высокой информативности 100 110 120 130 140 150 160 170 180 190 статистические закономерности минимум информативности p Вывод: неслучайность — ещё не значит закономерность. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Логическая закономерность Требование интерпретируемости Требование информативности Парето-критерий информативности Парето-фронт — множество недоминируемых закономерностей (точка R недоминируема, если правее и ниже точек нет) 50 2$.!*!-3(.+( 415$*$.(-*$"'! 6 "#$6 5 "#$6 4 "#$6 3 "#$6 2 "#$6 1 "#$6 *(321 *+( 415$*$.(-*$"'! !"#$ $'-!01'(#)*+, %-!.(-$/, n(R) 45 40 35 30 25 20 15 10 5 0 0 50 задача UCI:german 100 150 200 !"#$ %$#$&!'(#)*+, %-!.(-$/, p(R) К. В. Воронцов (www.ccas.ru/voron) 250 300 Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Индукция закономерностей Композиция закономерностей Взвешенное голосование Поиск информативных наборов признаков Проблема: как сократить перебор предикатов, захватив побольше закономерностей из первых Парето-слоёв. Это задача комбинаторной оптимизации. Основные эвристические методы поиска: поиск в глубину, метод ветвей и границ (КОРА); поиск в ширину (ТЭМП); стохастический локальный поиск (SLIPPER); генетические (эволюционные) алгоритмы (DMEL); случайный поиск с адаптацией (СПА); Основной практический вывод: Почти не важно, каким именно методом поиска пользоваться. Гораздо важнее критерий отбора закономерностей. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Индукция закономерностей Композиция закономерностей Взвешенное голосование Локальное улучшение найденных закономерностей Редукция (pruning): 1: заранее выделить контрольную выборку; 2: для всех найденных закономерностей R(x) 3: для всех признаков fj из J 4: если удаление признака повышает информативность закономерности на контроле, то 5: признак удаляется; Стабилизация: 1: для всех найденных закономерностей R(x) 2: для всех признаков fj из J 3: оптимизировать пороги aj , bj по критерию максимума информативности на всей выборке; 4: удалить дубликаты среди закономерностей; К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Индукция закономерностей Композиция закономерностей Взвешенное голосование Композиция закономерностей Каждое правило выделяет лишь небольшую долю объектов. Следовательно, правил нужно много. Две основные идеи: 1: покрытие (комитеты старшинства, решающие списки и деревья) К. В. Воронцов (www.ccas.ru/voron) 2: голосование (комитеты большинства, бустинг и бэггинг) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Индукция закономерностей Композиция закономерностей Взвешенное голосование Взвешенное голосование закономерностей Пусть Ryt (x), t = 1, . . . , Ty — закономерности класса y . Взвешенное голосование: 1) сумма голосов закономерностей за класс y : Γy (x) = Ty X ayt Ryt (x); t=1 2) алгоритм классификации: a(x) = arg max Γy (x). y ∈Y ayt Методы настройки весов по обучающей выборке: t простое голосование: ay = 1/Ty ; LR — логистическая регрессия; SVM — метод опорных векторов; бустинг. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Индукция закономерностей Композиция закономерностей Взвешенное голосование Покрытие выборки Перевес голосов (margin) за правильный класс yi на объекте xi : M(xi ) = Γyi (xi ) − max Γy (xi ). y 6=yi Margin 0.8 0.6 0.4 0.2 шумы пограничные объекты надёжно классифицируемые объекты эталонные объекты 0 -0.2 ошибки -0.4 -0.6 0 20 40 60 80 100 120 140 160 180 200 i Практический вывод: метод настройки весов не столь важен, как обеспечение надёжного покрытия выборки и отсев шума. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Постановка задачи Оценки надёжности закономерностей Калибровка Платта Задача вероятностного оценивания Задача: наряду с классификацией объекта a(x) вычислять оценки вероятностей P(y |x) для всех классов y . Основные методы решения: оценивание надёжности отдельных закономерностей (для решающих списков и деревьев); калибровка Платта (для взвешенного голосования); нечёткие закономерности и др. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Постановка задачи Оценки надёжности закономерностей Калибровка Платта Оценки надёжности закономерностей Переобучение закономерностей: p ′ (R) на контроле меньше, чем p(R) на обучении; n′ (R) на контроле больше, чем n(R) на обучении; Смещённость оценки вероятности: если Ry (x) = 1, то вероятность того, что «x из класса y »: p − δ(p, n, . . .) . P(y |x) = | {z } p+n поправка на переобученность Способы несмещённого оценивания: По контрольным данным: P y (x)=c ≈ p′ p ′ +n′ . Метаобучение: строится регрессионная модель δ(p, n, . . .). Точные комбинаторные оценки вероятности переобучения (теория under construction). К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Постановка задачи Оценки надёжности закономерностей Калибровка Платта Калибровка Платта Пусть для простоты классов два, Y = {−1, +1}. При некоторых (не слишком сильных) допущениях вероятность P(y |x) связана с перевесом голосов ∆y (x) = Γy (x) − Γ−y (x) через сигмоидную функцию σ(z): 1.0 P(y |x) = σ(a∆y (x) + b), σ(z) = 1 1 + e −z σ(z) 0.5 0 -6 -4 -2 0 2 4 6 Настройка коэффициентов a, b по контрольной выборке методом максимума правдоподобия: X X log 1 − p(xi ; a, b) + log p(xi ; a, b) → max yi =−1 К. В. Воронцов (www.ccas.ru/voron) yi =+1 a,b Логические алгоритмы классификации z Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Постановка задачи Оценки надёжности закономерностей Калибровка Платта Сухой остаток 1 Закономерности — это простые информативные правила. Чаще всего применяются закономерности-конъюнкции. 2 Популярные критерии информативности не вполне адекватны. Спасает расслоение Парето. 3 Поиск закономерностей сводится к отбору признаков. Выбор конкретного метода отбора почти не важен. 4 Два основных типа композиций закономерностей. Взвешенное голосование немного надёжнее покрытия. 5 Визуальный контроль граничных и шумовых объектов. Калибровка Платта даёт вероятности классов. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации Понятия закономерности и информативности Методы построения логических алгоритмов Вероятностное оценивание Постановка задачи Оценки надёжности закономерностей Калибровка Платта Литература Ю. И. Журавлёв, В. В. Никифоров. Алгоритмы распознавания, основанные на вычислении оценок // Кибернетика, Киев, 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. Fürnkranz, P. A. Flach. ROC‘n’Rule Learning — Towards a Better Understanding of Covering Algorithms // Machine Learning, 2005, No. 1, Vol. 58, Pp. 39–77. F. Janssen, J. Fürnkranz. 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 Platts Probabilistic Outputs for SVM // Machine Learning, 2007, No. 3, Vol. 68, Pp. 267–276. M. Marchand, J. Shawe-Taylor. Learning with the Set Covering Machine // ICML-18, 2001, Pp. 345–352. К. В. Воронцов (www.ccas.ru/voron) Логические алгоритмы классификации