Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Метрические методы классификации К. В. Воронцов vokov@forecsys.ru Этот курс доступен на странице вики-ресурса http://www.MachineLearning.ru/wiki «Машинное обучение (курс лекций, К.В.Воронцов)» март 2011 К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Содержание 1 Метрические алгоритмы классификации Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций 2 Отбор эталонов и оптимизация метрики Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики 3 Профиль компактности и скользящий контроль Полный скользящий контроль CCV Понятие профиля компактности Отбор эталонов по функционалу CCV К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Гипотеза компактности Задача классификации: X — объекты, Y — ответы (идентификаторы классов); X ℓ = (xi , yi )ℓi=1 — обучающая выборка; Гипотеза компактности: Схожие объекты, как правило, лежат в одном классе. Формализация понятия «сходства»: Задана функция расстояния ρ : X × X → [0, ∞). Например, евклидово расстояние: X 1/2 n j j 2 ρ(u, xi ) = u − xi , j=1 где u = (u 1 , . . . , u n ), xi = (xi1 , . . . , xin ) — признаковые описания объектов. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Пример: задача классификации цветков ириса [Фишер, 1936] n = 4 признака, |Y | = 3 класса, длина выборки ℓ = 150. длина чашелистика ширина чашелистика длина лепестка ширина лепестка 2 0.5 1.0 1.5 2.0 2.5 7 6 5 4 3 2 6 4 2 2 1 0 5 6 Iris-setosa 7 2.0 2.5 3.0 3.5 4.0 Iris-versicolor 1 3 4 5 6 Iris-virginica К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Обобщённый метрический классификатор Для произвольного u ∈ X отсортируем объекты x1 , . . . , xℓ : (1) (2) (ℓ) ρ(u, xu ) 6 ρ(u, xu ) 6 · · · 6 ρ(u, xu ), (i) xu — i-й сосед объекта u среди x1 , . . . , xℓ ; (i) yu — ответ на i-м соседе объекта u. Метрический алгоритм классификации: ℓ X (i) a(u; X ℓ ) = arg max yu = y w (i, u), y ∈Y |i=1 {z Γy (u,X ℓ ) } w (i, u) — вес (степень важности) i-го соседа объекта u, неотрицателен, не возрастает по i. Γy (u, X ℓ ) — оценка близости объекта u к классу y . К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Метод ближайшего соседа w (i, u) = [i=1]. Преимущества: простота реализации; интерпретируемость решений, вывод на основе прецедентов (case-based reasoning, CBR) Недостатки: неустойчивость к погрешностям (шуму, выбросам); отсутствие настраиваемых параметров; низкое качество классификации; приходится хранить всю выборку целиком. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Метод k ближайших соседей w (i, u) = [i 6 k]. Преимущества: менее чувствителен к шуму; появился параметр k. Оптимизация числа соседей k: функционал скользящего контроля leave-one-out ℓ h i X a xi ; X ℓ \{xi }, k 6= yi → min . LOO(k, X ℓ ) = k i=1 Проблема: неоднозначность классификации при Γy (u, X ℓ ) = Γs (u, X ℓ ), y 6= s. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Пример зависимости LOO(k) Пример. Задача UCI: Breast Cancer (Wisconsin) частота ошибок на обучении и контроле (исключая и не исключая себя) 0.12 0.11 0.10 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 число соседей k — смещённое число ошибок, когда объект учитывается как сосед самого себя — несмещённое число ошибок LOO В реальных задачах минимум редко бывает при k = 1. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Метод k взвешенных ближайших соседей w (i, u) = [i 6 k]wi , где wi — вес, зависящий только от номера соседа; Возможные эвристики: — линейное убывающие веса; wi = k+1−i k i wi = q — экспоненциально убывающие веса, 0 < q < 1; Проблемы: как более обоснованно задать веса? возможно, было бы лучше, если бы вес w (i, u) зависел не от порядкового номера соседа i, (i) а от расстояния до него ρ(u, xu ). К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Снова метод парзеновского окна (i) u ) w (i, u) = K ρ(u,x , h где K (r ) — ядро, невозрастающее, положительное на [0, 1]. Метод парзеновского окна фиксированной ширины: ! ℓ (i) X ρ(u, x ) u (i) [yu = y ] K a(u; X ℓ , h, K ) = arg max . y ∈Y h i=1 | {z } w (i,u) Метод парзеновского окна переменной ширины: ℓ a(u; X , k, K ) = arg max y ∈Y ℓ X i=1 К. В. Воронцов (www.ccas.ru/voron) (i) [yu (i) = y] K | ρ(u, xu ) (k+1) ρ(u, xu {z w (i,u) ) ! } Метрические методы классификации . Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Метод парзеновского окна Пример: классификация двумерной выборки. 4.0 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0 -0.5 -1.0 -1.5 -2.0 -1.5 -1.0 -0.5 0 0.5 1.0 1.5 2.0 2.5 К. В. Воронцов (www.ccas.ru/voron) 3.0 3.5 Метрические методы классификации Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Метод потенциальных функций (i) w (i, u) = γu K (i) ρ(u,xu ) (i) hu Более простая запись: a(u; X ℓ ) = arg max y ∈Y ℓ X [yi = y ] γi K i=1 ρ(u, xi ) hi , где γi — веса объектов, γi > 0, hi > 0. Физическая аналогия: γi — величина «заряда» в точке xi ; hi — «радиус действия» потенциала с центром в точке xi ; yi — знак «заряда» (предполагается, что Y = {−1, +1}); 1 в электростатике K (r ) = 1r или r +a . К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Алгоритм настройки весов объектов Простой эвристический алгоритм настройки γi . Вход: X ℓ — обучающая выборка; Выход: Коэффициенты γi , i = 1, . . . , ℓ; 1: 2: 3: 4: 5: 6: Инициализация: γi = 0 для всех i = 1, . . . , ℓ; повторять выбрать объект xi ∈ X ℓ ; если a(xi ) 6= yi то γi := γi + 1; пока число ошибок на выборке Q(a, X ℓ ) > ε. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Гипотеза компактности Метод ближайших соседей и его обобщения Снова метод парзеновского окна Метод потенциальных функций Анализ преимуществ и недостатков Преимущества: простота реализации; не надо хранить выборку (потоковый алгоритм обучения); разреженность: не все обучающие объекты учитываются. Недостатки: медленная сходимость; результат обучения зависит от порядка просмотра объектов; слишком грубо настраиваются веса γi ; вообще не настраиваются параметры hi ; вообще не настраиваются центры потенциалов; может, некоторые γi можно было бы обнулить? Вывод: EM-RBF, конечно, круче... К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Понятие отступа Рассмотрим классификатор a : X → Y вида a(u) = arg max Γy (u), y ∈Y u ∈ X. Отступом (margin) объекта xi ∈ X ℓ относительно классификатора a(u) называется величина M(xi ) = Γyi (xi ) − max Γy (xi ). y ∈Y \yi Отступ показывает степень типичности объекта: чем больше M(xi ), тем «глубже» xi в своём классе; M(xi ) < 0 ⇔ a(xi ) 6= yi ; К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Типы объектов, в зависимости от отступа Э — эталонные (можно оставить только их); Н — неинформативные (можно удалить из выборки); П — пограничные (их классификация неустойчива); О — ошибочные (причина — плохая модель); Ш — шумовые (выбросы; причина — плохие данные). Margin 0,8 0,6 0,4 ! 0,2 " # $ 0 -0,2 -0,4 -0,6 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации i Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Типы объектов, в зависимости от отступа эталонные (можно оставить только их); неинформативные (можно удалить из выборки); пограничные (их классификация неустойчива); ошибочные (причина — плохая модель); шумовые (выбросы; причина — плохие данные). Идея: шумовые и неинформативные удалить из выборки. Алгоритм STOLP: основная идея исключить выбросы; найти по одному эталону в каждом классе; добавлять эталоны, пока есть отрицательные отступы; К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Алгоритм STOLP Вход: X ℓ — обучающая выборка; δ — порог фильтрации выбросов; ℓ0 — допустимая доля ошибок; Выход: Множество опорных объектов Ω ⊆ X ℓ ; Классификатор будет иметь вид: X (i) yu = y w (i, u), a(u; Ω) = arg max y ∈Y xi ∈Ω (i) xu (i) yu — i-й сосед объекта u среди Ω; — ответ на i-м соседе объекта u; w (i, u) — произвольная функция веса i-го соседа. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Алгоритм STOLP для всех xi ∈ X ℓ проверить, является ли xi выбросом: 2: если M(xi , X ℓ ) < δ то 3: X ℓ−1 := X ℓ \ {xi }; ℓ := ℓ − 1; 4: Инициализация: взять по одному эталону от каждого класса: Ω := arg max M(xi , X ℓ ) y ∈ Y ; 1: 5: 6: 7: 8: 9: xi ∈Xyℓ 6= X ℓ ; пока Ω Выделить множество объектов с ошибкой a(u; Ω): E := {xi ∈ X ℓ \ Ω : M(xi , Ω) < 0}; если |E | < ℓ0 то выход; Присоединить к Ω объект с наименьшим отступом: xi := arg min M(x, Ω); Ω := Ω ∪ {xi }; x∈E К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Алгоритм STOLP: преимущества и недостатки Преимущества отбора эталонов: сокращается число хранимых объектов; сокращается время классификации; объекты распределяются по величине отступов; Недостатки алгоритма STOLP: необходимость задавать параметр δ; относительно низкая эффективность O(|Ω|2 ℓ). Другие методы отбора: стратегия последовательного удаления не-эталонов; минимизация полного скользящего контроля (CCV); FRiS-STOLP на основе оценок конкурентного сходства. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Оценка близости i-го объекта к своему классу Среднее расстояние до k ближайших объектов... ri = r (xi , yi ) — из своего класса; r̄i = r (xi , ȳi ) — из всех остальных классов; Функция конкурентного сходства (function of rival similarity, FRiS-функция) +1, объект близок к своим; r̄i − ri ≈ 0, di = объект пограничный; r̄i + ri −1, объект близок к чужим; Назовём di благонадёжностью объекта xi . Как и отступ, di — это характеристика типичности объекта относительно выборки. Преимущество — di величина безразмерная и нормированная. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Благонадёжность выборки Суммарная благонадёжность выборки характеризует то, насколько функция расстояния ρ подходит для данной задачи ℓ ℓ X X r̄i − ri D(ρ) = di = r̄i + ri i=1 i=1 распределение объектов по благонадёжности di 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 0 20 40 60 80 К. В. Воронцов (www.ccas.ru/voron) 100 120 140 160 180 200 Метрические методы классификации i Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Понятие отступа Алгоритм отбора эталонных объектов STOLP Понятие конкурентного сходства Простой жадный алгоритм оптимизации метрики Жадное добавление признаков 1. А вдруг одного признака уже достаточно? Расстояние по j-му признаку: ρj (u, xi ) = u j − xij . Выберем наиболее благонадёжное расстояние: D(ρj ) → max. j 2. Пусть уже есть расстояние ρ. Попробуем добавить к нему ещё один признак j. ρjt (u, xi ) = (1 − t) · ρ(u, xi ) + t · ρj (u, xi ). Найдём t ∈ [0, 1] и признак j, при которых благонадёжность D(ρjt ) максимальна (два вложенных цикла перебора). 3. Будем добавлять признаки до тех пор, пока благонадёжность D(ρjt ) увеличивается. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Полный скользящий контроль CCV Понятие профиля компактности Отбор эталонов по функционалу CCV Полный скользящий контроль CCV Функционал полного скользящего контроля (complete cross-validation, CCV): 1 X 1 X CCV(X L ) = ℓ a(xi , X ℓ ) 6= yi , CL ℓ q q q X ⊔X xi ∈X где X ℓ ⊔ X q — все CLℓ разбиений выборки X ℓ на обучающую подвыборку X ℓ и контрольную X q . Замечание 1. При q = 1 имеем: CCV(X L ) = LOO(X L ). Замечание 2. CCV характеризует лишь среднюю частоту ошибок, но не учитывает её разброс. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Полный скользящий контроль CCV Понятие профиля компактности Отбор эталонов по функционалу CCV Понятие профиля компактности Определение Профиль компактности выборки X L — это функция доли (m) объектов xi , у которых m-й сосед xi лежит в другом классе: L 1 X (m) K (m, X ) = yi = 6 yi ; L L m = 1, . . . , L − 1, i=1 (m) где xi — m-й сосед объекта xi среди X L ; (m) — ответ на m-м соседе объекта xi . yi Теорема (точное выражение CCV для метода 1NN) L CCV(X ) = k X m=1 К. В. Воронцов (www.ccas.ru/voron) K (m, X L ) ℓ−1 CL−1−m ℓ CL−1 . Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Полный скользящий контроль CCV Понятие профиля компактности Отбор эталонов по функционалу CCV Профили компактности для серии модельных задач 1.0 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1.0 0 0.2 0.4 0.6 0.8 1.0 0 0.2 0.4 0.6 0.8 1.0 0 0.2 0.4 0.6 0.8 1.0 1.0 0.8 0.6 0.4 0.2 0 0 50 100 150 200 0 50 100 150 200 0 50 100 150 200 0 50 100 150 200 0 50 100 150 200 0 50 100 150 200 0 50 100 150 200 0 50 100 150 200 0.6 0.5 0.4 0.3 0.2 0.1 0 средний ряд: профили компактности, нижний ряд: зависимость CCV от длины контроля q. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Полный скользящий контроль CCV Понятие профиля компактности Отбор эталонов по функционалу CCV Свойства профиля компактности и оценки CCV Выводы K (m, X L ) является формальным выражением гипотезы компактности, связывая её с качеством классификации. CCV практически не зависит от длины контроля q. Для минимизации CCV важен только начальный участок профиля, т. к. ℓ−1 CL−1−m ℓ CL−1 → 0 экспоненциально по m. Минимизация CCV приводит к эффективному отбору эталонных объектов, без переобучения. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Полный скользящий контроль CCV Понятие профиля компактности Отбор эталонов по функционалу CCV Модельные данные 13 12 11 10 9 8 7 8 9 10 11 12 13 14 15 16 17 18 Модельная задача классификации: 1000 объектов. Алгоритм 1NN К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Полный скользящий контроль CCV Понятие профиля компактности Отбор эталонов по функционалу CCV Последовательный отсев не-эталонных объектов 13 12 11 10 9 8 7 8 9 10 11 12 13 14 15 16 17 эталонные кл.1 эталонные кл.2 шумовые кл.1 шумовые кл.2 неинформативные кл.1 неинформативные кл.2 К. В. Воронцов (www.ccas.ru/voron) 18 Метрические методы классификации Метрические алгоритмы классификации Отбор эталонов и оптимизация метрики Профиль компактности и скользящий контроль Полный скользящий контроль CCV Понятие профиля компактности Отбор эталонов по функционалу CCV Последовательный отсев не-эталонных объектов 0.50 0.45 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05 0 0 [0-60] 10 20 30 функционал CCV на обучении 40 50 980 990 [980-1000] частота ошибок на тесте Зависимость CCV от числа удаленных неэталонных объектов. К. В. Воронцов (www.ccas.ru/voron) Метрические методы классификации