Лекция №4 "Задача классификации"

Preview:

Citation preview

Лекция 4Задача классификации

Николай Анохин

16 октября 2014 г.

План занятия

Задачи классификации и регрессии

Подходы к моделированию

Теория принятия решений

Оценка результатов классификации

Деревья решений

1 / 56

Задачи классификации и регрессии

2 / 56

Классификация: интуиция

ЗадачаРазработать алгоритм, позволяющий определить класспроизвольного объекта из некоторго множества

I Дана обучающая выборка, в которой для каждого объектаизвестен класс

3 / 56

Регрессия: интуиция

ЗадачаРазработать алгоритм, позволяющий предсказать числовуюхарактеристику произвольного объекта из некоторого множества

I Дана обучающая выборка, в которой для каждого объектаизвестно значение числовой характеристики

4 / 56

Постановка задачи

Пусть дан набор объектов D = {(xi , yi )}, xi ∈ X , yi ∈ Y, i ∈ 1, . . . ,N,полученный из неизвестной закономерности y = f (x). Необходимовыбрать из семейства параметрических функций

H = {h(x, θ) : X ×Θ→ Y}

такую h∗(x) = h(x, θ∗), которая наиболее точно апроксимирует f (x).

ЗадачиI Классификация: |Y| < C

I Регрессия: Y = [a, b] ⊂ R

5 / 56

Как решать

M Выдвигаем гипотезу насчет модели - семействапараметрических функций вида

H = {h(x, θ) : X ×Θ→ Y},

которая могла бы решить нашу задачу (model selection)L Выбираем наилучшие параметры модели θ∗, используя

алгоритм обучения

A(X ,Y ) : (X ,Y)N → Θ

(learning/inference)D Используя полученную модель h∗(x) = h(x, θ∗), классифицируем

неизвестные объекты (decision making)

6 / 56

Подходы к моделированию

7 / 56

Виды моделей

Генеративные модели. Смоделировать p(x|yk) и p(yk), применитьтеорему Байеса

p(yk |x) =p(x|yk)p(yk)

p(x)

и использовать p(yk |x) для принятия решения(NB, Bayes Networks, MRF)

Дискриминативные модели. Смоделировать p(yk |x) ииспользовать ее для принятия решения(Logistic Regression, Decision Trees)

Функции решения. Смоделировать напрямую h∗(x) : X → Y(Linear Models, Neural Networks)

8 / 56

Вероятностные модели VS Функции решения

l Отказ от классификации (reject option)l Дисбаланс в выборкеl Ансамбли моделейl Сильные предположения о природе данныхl Излишняя (вычислительная) сложность

9 / 56

Байесовский подход к моделированию

Идея. Вместо фиксированного, но неизвестного θ∗ ищемапостериорное распределение p(θ|D)Дано. p(yi ), p(θ), p(x|θ)

p(yi |x,D) =p(x|yi ,D)p(yi |D)∑j p(x|yj ,D)p(yj |D)

=p(x|yi ,D)p(yi )∑j p(x|yj ,D)p(yj)

p(x|yi ,D) =

∫p(x|θ)p(θ|D)dθ

Апостериорное распределение

p(θ|D) =p(D|θ)p(θ)∫p(D|θ)p(θ)dθ

=

∏n p(xn|θ)p(θ)∫ ∏n p(xn|θ)p(θ)dθ

10 / 56

Обучение модели

LEARNING = representation + evaluation + optimization

Pedro Domingos

Evaluation – критерий, который оптимизируемI эмпирический риск → min

I KL-дивергенция → min

I функция правдоподобия → max

I information gain → max

Optimization – как оптимизируемI unconstrained (GD, Newton+)I constrained (linear programming, quadratic programming)

11 / 56

Эмпирический риск

Функция потерь L(x, y , θ) - ошибка, которую для данного x даетмодель h(x, θ) по сравнению с реальным значением y

Эмпирический риск – средняя ошибка на обучающей выборке

Q(X ,Y , θ) =1

N

N∑n=1

L(xn, yn, θ)

Задача – найти значение θ∗, минимизирующее эмпирический риск

θ∗ = θ∗(X ,Y ) = argminθQ(X ,Y , θ)

12 / 56

Некоторые функции потерь

I Индикатор ошибки

L(x, y , θ) = 0 if h(x, θ) = y else 1

I Функция Минковского

L(x, y , θ) = |y − h(x, θ)|q

Частные случаи: квадратичная q = 2, абсолютная ошибка q = 1

I HingeL(x, y , θ) = max(0, 1− y × h(x, θ))

I Информационная

L(x, y , θ) = − log2 p(y |x, θ)

13 / 56

Проблема 1. Переобучение

ЗадачаАппроксимировать обучающую выборку полиномом M степени

14 / 56

Проблема 2. Проклятие размерности

ЗадачаКлассифицировать объекты.

15 / 56

Теория принятия решений

16 / 56

Классификация

ПустьRk – область, такая что все x ∈ Rk относим к ykДаноRkj – риск, связанный с отнесением объекта класса yk к классу yjНайти∀k : Rk , такие, что математическое ожидание риска E [R]минимально.

E [R] =∑k

∑j

∫Rj

Rkjp(yk |x)p(x)dx

17 / 56

Медицинская диагностика

Матрица риска [Rkj ]

sick normalsick 0 10

normal 1 0

Условные вероятности p(yk |x)

p(normal|moving) = 0.9, p(normal|not moving) = 0.3

Вероятности p(x)p(moving) = 0.7

Требуется определить Rsick, Rnormal

18 / 56

Регрессия

Те же виды моделей: генеративные, дискриминативные,функция решения

Задана функция рискаR(y , h(x))

Математическое ожидание E [R]

E [R] =

∫ ∫R(y , h(x))p(x, y)dxdy

Для квадратичной функции риска R(y , h(x)) = [y − h(x)]2

h(x) = Ey [h|x] =

∫yp(y |x)dy

19 / 56

Оценка результатов классификации

20 / 56

Как оценить различные модели?

Идеяиспользовать долю неверно классифицированных объектов(error rate)

Важное замечаниеerror rate на обучающей выборке НЕ является хорошим показателемкачества модели

21 / 56

Решение 1: разделение выборки

Делим обучающую выборку на тренировочную, валидационную итестовую

22 / 56

Решение 2: скользящий контроль

(n-times) (stratified) cross-validation

частный случай: leave-one-out

23 / 56

Решение 3: bootstrapвыбираем в тренировочную выбоку n объектов с возвращением

упражнение: найти математическое ожидание размера тестовойвыборки.

24 / 56

Доверительный интервал для success rateПри тестировании на N = 100 объектах было получено 25 ошибок.Таким образом измеренная вероятность успеха (success rate)составила f = 0.75. Найти доверительный интервал длядействительной вероятности успеха c уровнем доверия α = 0.8.

РешениеПусть p – действительная вероятность успеха в испытанияхбернулли, тогда

f ∼ N (p, p(1− p)/N) .

Воспользовавшись табличным значением P(−z ≤ N (0, 1) ≤ z) = α,имеем

P

(−z ≤ f − p√

p(1− p)/N≤ z

)= α,

откуда

p ∈

(f +

z2

2N± z

√f

N− f 2

N+

z2

4N2

)/

(1 +

z2

N

)= [0.69, 0.80]

25 / 56

Метрики качества. Вероятностные модели.

Пусть yi - действительный класс для объекта xiI Information loss

− 1

N

∑i

log2 p(yi |xi )

I Quadratic loss1

N

∑j

(p(yj |xi )− aj(xi ))2,

где

aj(xi ) =

{1, если Cj = yi

0, иначе

26 / 56

Метрики качества. Функции решения.

Предсказанныйtrue false

Действительный true TP FNfalse FP TN

success rate = accuracy =TP + TN

TP + FP + FN + TN

recall = TPR =TP

TP + FN; precision =

TP

TP + FP

FPR =FP

FP + TN

affinity = lift =accuracy

p

27 / 56

Receiver Operating Characteristic

TPR =TP

TP + FN; FPR =

FP

FP + TN

28 / 56

Упражнение

Простые классификаторыВ генеральной совокупности существуют объекты 3 классов,вероятность появления которых p1 < p2 < p3. Первый классификаторотносит все объекты к классу с большей вероятностью (то есть ктретьему). Второй классификатор случайно относит объект к одномуиз классов в соответствии с базовым распределением. Рассчитатьprecision и recall, которые эти классификаторы дают для каждого из3 классов.

29 / 56

Метрики качества. Регрессия

MSE =1

N

∑(h(xi )− yi )

2, RMSE =√

MSE

MAE =1

N

∑|h(xi )− yi |, RMAE =

√MAE

RSE =

∑(h(xi )− yi )

2∑(yi − y)2

correlation =Shy√ShSy

; Syh =

∑(h(i)− h(i))(yi − y)

N − 1

Sh =

∑(h(i)− h(i))2

N − 1; Sy =

∑(yi − y)2

N − 1

30 / 56

NFLT, MDL, AIC и все такое

No free lunch theoremНе существует единственной лучшей модели, решающей все задачи

Minimum description lengthЛучшая гипотеза о данных – та, которая ведет к самому краткому ихописанию

Akaike information criterion (AIC)

model = arg max ln p(D|θML)− ‖θ‖

31 / 56

Деревья решений

32 / 56

Задача

Дано:обучающая выборка из профилейнескольких десятков тысяччеловек

I пол (binary)I возраст (numeric)I образование (nominal)I и еще 137 признаковI наличие интереса к косметике

Задача:Для рекламной кампанииопределить, характеристикилюдей, интересующихсякосметикой

33 / 56

Обама или Клинтон?

34 / 56

Хороший день для партии в гольф

35 / 56

Регионы принятия решений

36 / 56

Рекурсивный алгоритм

1 function decision_tree(X_N):2 if X_N satisfies leaf criterion:3 L = create_leaf(X_N)4 assign_class(L)5 else:6 L = create_node(X_N)7 X_1,..,X_S = split(L)8 for i in 1..S:9 C = decision_tree(X_i)10 add_child(L, C)11 return L

37 / 56

CART

Classification And Regression Trees

1. Как происходит разделение?2. На сколько детей разделять каждый узел?3. Какой критерий листа выбрать?4. Как укоротить слишком большое дерево?5. Как выбрать класс каждого листа?6. Что делать, если часть значений отсутствует?

38 / 56

Чистота узла

ЗадачаВыбрать метод, позволяющий разделить узел на два или несколькодетей наилучшим образом

Ключевое понятие – impurity узла.1. Misclassification

i(N) = 1−maxk

p(x ∈ Ck)

2. Gini

i(N) = 1−∑k

p2(x ∈ Ck) =∑i 6=j

p(x ∈ Ci )p(x ∈ Cj)

3. Информационная энтропия

i(N) = −∑k

p(x ∈ Ck) log2 p(x ∈ Ck)

39 / 56

Теория информации

Количество информации ∼ “степень удивления”

h(x) = − log2 p(x)

Информационная энтропия H[x ] = E [h(x)]

H[x ] = −∑

p(x) log2 p(x) или H[x ] = −∫

p(x) log2 p(x)dx

УпражнениеДана случайная величина x , принимающая 4 значения с равнымивероятностями 1

4 , и случайная величина y , принимающая 4 значенияс вероятностями { 12 ,

14 ,

18 ,

18}. Вычислить H[x ] и H[y ].

40 / 56

Выбор наилучшего разделения

КритерийВыбрать признак и точку отсечения такими, чтобы быломаксимально уменьшение impurity

∆i(N,NL,NR) = i(N)− NL

Ni(NL)− NR

Ni(NR)

ЗамечанияI Выбор границы при числовых признаках: середина?I Решения принимаются локально: нет гарантии глобально

оптимального решенияI На практике выбор impurity не сильно влияет на результат

41 / 56

Если разделение не бинарное

Естественный выбор при разделении на B детей

∆i(N,N1, . . . ,NB) = i(N)−B∑

k=1

Nk

Ni(Nk)→ max

Предпочтение отдается большим B. Модификация:

∆iB(N,N1, . . . ,NB) =∆i(N,N1, . . . ,NB)

−∑B

k=1Nk

N log2Nk

N

→ max

(gain ratio impurity)

42 / 56

Использование нескольких признаков

43 / 56

Практика

ЗадачаВычислить наилучшее бинарное разделение корневого узла поодному признаку, пользуясь gini impurity.

№ Пол Образование Работа Косметика1 М Высшее Да Нет2 М Среднее Нет Нет3 М Нет Да Нет4 М Высшее Нет Да1 Ж Нет Нет Да2 Ж Высшее Да Да3 Ж Среднее Да Нет4 Ж Среднее Нет Да

44 / 56

Когда остановить разделение

Split stopping criteriaI никогдаI использовать валидационную выборкуI установить минимальный размер узлаI установить порог ∆i(N) > β

I статистический подход

χ2 =2∑

k=1

(nkL − NL

N nk)2

NL

N nk

45 / 56

Укорачиваем дерево

Pruning (a.k.a. отрезание ветвей)1. Растим “полное” дерево T0

2. На каждом шаге заменяем самый “слабый” внутренний узел налист

Rα(Tk) = err(Tk) + αsize(Tk)

3. Для заданного α из получившейся последовательности

T0 � T1 � . . . � Tr

выбираем дерево Tk , минимизирующее Rα(Tk)

Значение α выбирается на основании тестовой выборки или CV

46 / 56

Какой класс присвоить листьям

1. Простейший случай:класс с максимальным количеством объектов

2. Дискриминативный случай:вероятность p(Ck |x)

47 / 56

Вычислительная сложность

Выборка состоит из n объектов, описанных m признаками

Предположения1. Узлы делятся примерно поровну2. Дерево имеет log n уровней3. Признаки бинарные

Обучение. Для узла с k обучающими объектами:

Вычисление impurity по одному признаку O(k)Выбор разделяющего признака O(mk)Итог: O(mn) + 2O(m n

2 ) + 4O(m n4 ) + . . . = O(mn log n)

Применение. O(log n)

48 / 56

Отсутствующие значения

I Удалить объекты из выборкиI Использовать отстутсвие как отдельную категориюI Вычислять impurity, пропуская отсутствующие значенияI Surrogate splits: разделяем вторым признаком так, чтобы было

максимально похоже на первичное разделение

49 / 56

Surrogate split

c1 : x1 =

078

, x2 =

189

, x3 =

290

, x4 =

411

, x5 =

522

c2 : y1 =

333

, y2 =

604

, y3 =

745

, y4 =

856

, y5 =

967

УпражнениеВычислить второй surrogate split

50 / 56

Задача о косметике

X[0] <= 26.5000entropy = 0.999935785529

samples = 37096

X[2] <= 0.5000entropy = 0.987223228214

samples = 10550

X[6] <= 0.5000entropy = 0.998866839115

samples = 26546

entropy = 0.9816samples = 8277

value = [ 3479. 4798.]

entropy = 0.9990samples = 2273

value = [ 1095. 1178.]

entropy = 0.9951samples = 16099

value = [ 8714. 7385.]

entropy = 0.9995samples = 10447

value = [ 5085. 5362.]

X0 – возраст, X4 – неоконченное высшее образование, X6 - пол

51 / 56

Задачи регрессииImpurity узла N

i(N) =∑y∈N

(y − y)2

Присвоение класса листьямI Среднее значениеI Линейная модель

52 / 56

Кроме CART

ID3 Iterative Dichotomiser 3I Только номинальные признакиI Количество детей в узле = количество значений разделяющего

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

С4.5 Улучшение ID3I Числовые признаки – как в CART, номинальные – как в ID3I При отсутствии значения используются все детиI Укорачивает дерево, убирая ненужные предикаты в правилах

C5.0 Улучшение C4.5I Проприетарный

53 / 56

Решающие деревья. Итог

+ Легко интерпретируемы. Визуализация (ня!)+ Любые входные данные+ Мультикласс из коробки+ Предсказание за O(log n)

+ Поддаются статистическому анализу

– Склонны к переобучению– Жадные и нестабильные– Плохо работают при дисбалансе классов

54 / 56

Ключевые фигуры

I Claude Elwood Shannon(Теория информации)

I Leo Breiman(CART, RF)

I John Ross Quinlan(ID3, C4.5, C5.0)

55 / 56

Вопросы

Recommended