57
Лекция 4 Задача классификации Николай Анохин 16 октября 2014 г.

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

Embed Size (px)

Citation preview

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

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

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

16 октября 2014 г.

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

План занятия

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

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

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

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

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

1 / 56

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

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

2 / 56

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

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

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

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

3 / 56

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

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

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

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

4 / 56

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

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

Пусть дан набор объектов 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

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

Как решать

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

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

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

7 / 56

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

Виды моделей

Генеративные модели. Смоделировать 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

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

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

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

9 / 56

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

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

Идея. Вместо фиксированного, но неизвестного θ∗ ищемапостериорное распределение 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

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

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

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

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

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

Функция потерь 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

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

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

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

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

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

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

14 / 56

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

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

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

15 / 56

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

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

16 / 56

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

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

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

E [R] =∑k

∑j

∫Rj

Rkjp(yk |x)p(x)dx

17 / 56

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

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

Матрица риска [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

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

Регрессия

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

Задана функция риска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

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

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

20 / 56

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

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

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

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

21 / 56

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

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

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

22 / 56

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

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

(n-times) (stratified) cross-validation

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

23 / 56

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

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

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

24 / 56

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

Доверительный интервал для 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

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

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

Пусть 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

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

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

Предсказанный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

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

Receiver Operating Characteristic

TPR =TP

TP + FN; FPR =

FP

FP + TN

28 / 56

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

Упражнение

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

29 / 56

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

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

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

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

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

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

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

Akaike information criterion (AIC)

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

31 / 56

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

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

32 / 56

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

Задача

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

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

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

33 / 56

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

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

34 / 56

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

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

35 / 56

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

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

36 / 56

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

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

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

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

CART

Classification And Regression Trees

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

38 / 56

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

Чистота узла

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

Ключевое понятие – 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

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

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

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

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

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

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

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

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

Ni(NL)− NR

Ni(NR)

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

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

41 / 56

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

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

Естественный выбор при разделении на 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

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

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

43 / 56

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

Практика

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

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

44 / 56

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

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

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

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

χ2 =2∑

k=1

(nkL − NL

N nk)2

NL

N nk

45 / 56

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

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

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

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

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

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

T0 � T1 � . . . � Tr

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

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

46 / 56

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

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

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

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

47 / 56

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

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

Выборка состоит из 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

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

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

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

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

49 / 56

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

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

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

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

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

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

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

i(N) =∑y∈N

(y − y)2

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

52 / 56

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

Кроме CART

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

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

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

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

53 / 56

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

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

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

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

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

54 / 56

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

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

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

I Leo Breiman(CART, RF)

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

55 / 56

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

Вопросы