SlideShare a Scribd company logo
Лекция 4
Задача классификации
Николай Анохин
16 октября 2014 г.
План занятия
Задачи классификации и регрессии
Подходы к моделированию
Теория принятия решений
Оценка результатов классификации
Деревья решений
1 / 56
Задачи классификации и регрессии
2 / 56
Классификация: интуиция
Задача
Разработать алгоритм, позволяющий определить класс
произвольного объекта из некоторго множества
Дана обучающая выборка, в которой для каждого объекта
известен класс
3 / 56
Регрессия: интуиция
Задача
Разработать алгоритм, позволяющий предсказать числовую
характеристику произвольного объекта из некоторого множества
Дана обучающая выборка, в которой для каждого объекта
известно значение числовой характеристики
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).
Задачи
Классификация: |Y| < C
Регрессия: 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 Функции решения
G Отказ от классификации (reject option)
G Дисбаланс в выборке
G Ансамбли моделей
G Сильные предположения о природе данных
G Излишняя (вычислительная) сложность
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 – критерий, который оптимизируем
эмпирический риск → min
KL-дивергенция → min
функция правдоподобия → max
information gain → max
Optimization – как оптимизируем
unconstrained (GD, Newton+)
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
Некоторые функции потерь
Индикатор ошибки
L(x, y, θ) = 0 if h(x, θ) = y else 1
Функция Минковского
L(x, y, θ) = |y − h(x, θ)|q
Частные случаи: квадратичная q = 2, абсолютная ошибка q = 1
Hinge
L(x, y, θ) = max(0, 1 − y × h(x, θ))
Информационная
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
Rkj p(yk |x)p(x)dx
17 / 56
Медицинская диагностика
Матрица риска [Rkj ]
sick normal
sick 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 - действительный класс для объекта xi
Information loss
−
1
N
i
log2 p(yi |xi )
Quadratic loss
1
N
j
(p(yj |xi ) − aj (xi ))2
,
где
aj (xi ) =
1, если Cj = yi
0, иначе
26 / 56
Метрики качества. Функции решения.
Предсказанный
true false
Действительный
true TP FN
false 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
Задача
Дано:
обучающая выборка из профилей
нескольких десятков тысяч
человек
пол (binary)
возраст (numeric)
образование (nominal)
и еще 137 признаков
наличие интереса к косметике
Задача:
Для рекламной кампании
определить, характеристики
людей, интересующихся
косметикой
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 − max
k
p(x ∈ Ck )
2. Gini
i(N) = 1 −
k
p2
(x ∈ Ck ) =
i=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 значения
с вероятностями {1
2 , 1
4 , 1
8 , 1
8 }. Вычислить H[x] и H[y].
40 / 56
Выбор наилучшего разделения
Критерий
Выбрать признак и точку отсечения такими, чтобы было
максимально уменьшение impurity
∆i(N, NL, NR ) = i(N) −
NL
N
i(NL) −
NR
N
i(NR )
Замечания
Выбор границы при числовых признаках: середина?
Решения принимаются локально: нет гарантии глобально
оптимального решения
На практике выбор impurity не сильно влияет на результат
41 / 56
Если разделение не бинарное
Естественный выбор при разделении на B детей
∆i(N, N1, . . . , NB ) = i(N) −
B
k=1
Nk
N
i(Nk ) → max
Предпочтение отдается большим B. Модификация:
∆iB (N, N1, . . . , NB ) =
∆i(N, N1, . . . , NB )
−
B
k=1
Nk
N log2
Nk
N
→ max
(gain ratio impurity)
42 / 56
Использование нескольких признаков
43 / 56
Практика
Задача
Вычислить наилучшее бинарное разделение корневого узла по
одному признаку, пользуясь gini impurity.
№ Пол Образование Работа Косметика
1 М Высшее Да Нет
2 М Среднее Нет Нет
3 М Нет Да Нет
4 М Высшее Нет Да
1 Ж Нет Нет Да
2 Ж Высшее Да Да
3 Ж Среднее Да Нет
4 Ж Среднее Нет Да
44 / 56
Когда остановить разделение
Split stopping criteria
никогда
использовать валидационную выборку
установить минимальный размер узла
установить порог ∆i(N) > β
статистический подход
χ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(mn
2 ) + 4O(mn
4 ) + . . . = O(mn log n)
Применение. O(log n)
48 / 56
Отсутствующие значения
Удалить объекты из выборки
Использовать отстутсвие как отдельную категорию
Вычислять impurity, пропуская отсутствующие значения
Surrogate splits: разделяем вторым признаком так, чтобы было
максимально похоже на первичное разделение
49 / 56
Surrogate split
c1 : x1 =


0
7
8

 , x2 =


1
8
9

 , x3 =


2
9
0

 , x4 =


4
1
1

 , x5 =


5
2
2


c2 : y1 =


3
3
3

 , y2 =


6
0
4

 , y3 =


7
4
5

 , y4 =


8
5
6

 , y5 =


9
6
7


Упражнение
Вычислить второй surrogate split
50 / 56
Задача о косметике
X[0] <= 26.5000
entropy = 0.999935785529
samples = 37096
X[2] <= 0.5000
entropy = 0.987223228214
samples = 10550
X[6] <= 0.5000
entropy = 0.998866839115
samples = 26546
entropy = 0.9816
samples = 8277
value = [ 3479. 4798.]
entropy = 0.9990
samples = 2273
value = [ 1095. 1178.]
entropy = 0.9951
samples = 16099
value = [ 8714. 7385.]
entropy = 0.9995
samples = 10447
value = [ 5085. 5362.]
X0 – возраст, X4 – неоконченное высшее образование, X6 - пол
51 / 56
Задачи регрессии
Impurity узла N
i(N) =
y∈N
(y − y)2
Присвоение класса листьям
Среднее значение
Линейная модель
52 / 56
Кроме CART
ID3 Iterative Dichotomiser 3
Только номинальные признаки
Количество детей в узле = количество значений разделяющего
признака
Дерево растет до максимальной высоты
С4.5 Улучшение ID3
Числовые признаки – как в CART, номинальные – как в ID3
При отсутствии значения используются все дети
Укорачивает дерево, убирая ненужные предикаты в правилах
C5.0 Улучшение C4.5
Проприетарный
53 / 56
Решающие деревья. Итог
+ Легко интерпретируемы. Визуализация (ня!)
+ Любые входные данные
+ Мультикласс из коробки
+ Предсказание за O(log n)
+ Поддаются статистическому анализу
– Склонны к переобучению
– Жадные и нестабильные
– Плохо работают при дисбалансе классов
54 / 56
Ключевые фигуры
Claude Elwood Shannon
(Теория информации)
Leo Breiman
(CART, RF)
John Ross Quinlan
(ID3, C4.5, C5.0)
55 / 56
Вопросы

More Related Content

What's hot

Probabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis AleatóriasProbabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis Aleatórias
Lucas Vinícius
 
8 distribuição qui-quadrado
8   distribuição qui-quadrado8   distribuição qui-quadrado
8 distribuição qui-quadradoFernando Lucas
 
Practice Test 1
Practice Test 1Practice Test 1
Practice Test 1
Long Beach City College
 
Practice Test 2 Solutions
Practice Test 2  SolutionsPractice Test 2  Solutions
Practice Test 2 Solutions
Long Beach City College
 
Tiểu luận TNST
Tiểu luận TNSTTiểu luận TNST
Tiểu luận TNST
Bui Loi
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximationmohamed_SAYARI
 
Função composta
Função compostaFunção composta
Função composta
luizleira
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
salah fenni
 
5.1 correlaoduasvariaveis 1_20151006145332
5.1 correlaoduasvariaveis 1_201510061453325.1 correlaoduasvariaveis 1_20151006145332
5.1 correlaoduasvariaveis 1_20151006145332
Samuel Ferreira da Silva
 
20 pigeonhole-principle
20 pigeonhole-principle20 pigeonhole-principle
20 pigeonhole-principle
ananyapandey32
 
2 distribuições discretas
2   distribuições discretas2   distribuições discretas
2 distribuições discretasFernando Lucas
 
Python
PythonPython
Distribuicao de probabilidades
Distribuicao de probabilidadesDistribuicao de probabilidades
Distribuicao de probabilidadesvagnergeovani
 
AI 10 | Naive Bayes Classifier
AI 10 | Naive Bayes ClassifierAI 10 | Naive Bayes Classifier
AI 10 | Naive Bayes Classifier
Mohammad Imam Hossain
 
Probabilidade e Estatística
Probabilidade e EstatísticaProbabilidade e Estatística
Probabilidade e Estatística
rubensejunior
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)mohamed_SAYARI
 
Vedic Mathematics- Combined operation Sum and Product of Numbers
Vedic Mathematics- Combined operation Sum and Product of NumbersVedic Mathematics- Combined operation Sum and Product of Numbers
Vedic Mathematics- Combined operation Sum and Product of Numbers
culturalcomputingindia
 
2-1_Var aleatorias discretas e distribuicoes.pdf
2-1_Var aleatorias discretas e distribuicoes.pdf2-1_Var aleatorias discretas e distribuicoes.pdf
2-1_Var aleatorias discretas e distribuicoes.pdf
Elisângela Rodrigues
 

What's hot (20)

Probabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis AleatóriasProbabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis Aleatórias
 
8 distribuição qui-quadrado
8   distribuição qui-quadrado8   distribuição qui-quadrado
8 distribuição qui-quadrado
 
Practice Test 1
Practice Test 1Practice Test 1
Practice Test 1
 
Math quiz
Math quizMath quiz
Math quiz
 
Practice Test 2 Solutions
Practice Test 2  SolutionsPractice Test 2  Solutions
Practice Test 2 Solutions
 
Tiểu luận TNST
Tiểu luận TNSTTiểu luận TNST
Tiểu luận TNST
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Função composta
Função compostaFunção composta
Função composta
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
5.1 correlaoduasvariaveis 1_20151006145332
5.1 correlaoduasvariaveis 1_201510061453325.1 correlaoduasvariaveis 1_20151006145332
5.1 correlaoduasvariaveis 1_20151006145332
 
20 pigeonhole-principle
20 pigeonhole-principle20 pigeonhole-principle
20 pigeonhole-principle
 
2 distribuições discretas
2   distribuições discretas2   distribuições discretas
2 distribuições discretas
 
Python
PythonPython
Python
 
Distribuicao de probabilidades
Distribuicao de probabilidadesDistribuicao de probabilidades
Distribuicao de probabilidades
 
AI 10 | Naive Bayes Classifier
AI 10 | Naive Bayes ClassifierAI 10 | Naive Bayes Classifier
AI 10 | Naive Bayes Classifier
 
Probabilidade e Estatística
Probabilidade e EstatísticaProbabilidade e Estatística
Probabilidade e Estatística
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
 
Vedic Mathematics- Combined operation Sum and Product of Numbers
Vedic Mathematics- Combined operation Sum and Product of NumbersVedic Mathematics- Combined operation Sum and Product of Numbers
Vedic Mathematics- Combined operation Sum and Product of Numbers
 
2-1_Var aleatorias discretas e distribuicoes.pdf
2-1_Var aleatorias discretas e distribuicoes.pdf2-1_Var aleatorias discretas e distribuicoes.pdf
2-1_Var aleatorias discretas e distribuicoes.pdf
 

Viewers also liked

Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Technosphere1
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
Technosphere1
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
Technosphere1
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
Technosphere1
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
Technosphere1
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
Technosphere1
 
Разбор задач по дискретной вероятности
Разбор задач по дискретной вероятностиРазбор задач по дискретной вероятности
Разбор задач по дискретной вероятности
DEVTYPE
 
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Нейронечёткая классификация слабо формализуемых данных | Тимур ГильмуллинНейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Positive Hack Days
 

Viewers also liked (8)

Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
 
Разбор задач по дискретной вероятности
Разбор задач по дискретной вероятностиРазбор задач по дискретной вероятности
Разбор задач по дискретной вероятности
 
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Нейронечёткая классификация слабо формализуемых данных | Тимур ГильмуллинНейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
 

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

L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
Technosphere1
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
Technosphere1
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
Technosphere1
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
Technosphere1
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
Technosphere1
 
Свойства оценок
Свойства оценокСвойства оценок
Свойства оценок
Kurbatskiy Alexey
 
20071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture0620071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture06Computer Science Club
 
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
romovpa
 
К.В.Воронцов "Статистические (байесовские) методы классификации"
К.В.Воронцов "Статистические (байесовские) методы классификации"К.В.Воронцов "Статистические (байесовские) методы классификации"
К.В.Воронцов "Статистические (байесовские) методы классификации"
Yandex
 
КР 3 с решением
КР 3 с решениемКР 3 с решением
КР 3 с решением
Kurbatskiy Alexey
 
1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства
DEVTYPE
 
V. G. Labunets, F. S. Myasnikov, E. Ostheimer - Families of Heron Digital Fil...
V. G. Labunets, F. S. Myasnikov, E. Ostheimer - Families of Heron Digital Fil...V. G. Labunets, F. S. Myasnikov, E. Ostheimer - Families of Heron Digital Fil...
V. G. Labunets, F. S. Myasnikov, E. Ostheimer - Families of Heron Digital Fil...
AIST
 
математика на вступительных экзаменах в мгу в 2010г(газета математика)
математика на  вступительных экзаменах в мгу в 2010г(газета математика)математика на  вступительных экзаменах в мгу в 2010г(газета математика)
математика на вступительных экзаменах в мгу в 2010г(газета математика)eekdiary
 
8
88
Структурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойСтруктурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовой
romovpa
 
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
Technosphere1
 

Similar to Лекция №4 "Задача классификации" (20)

L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
 
Свойства оценок
Свойства оценокСвойства оценок
Свойства оценок
 
4
44
4
 
20071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture0620071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture06
 
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
 
К.В.Воронцов "Статистические (байесовские) методы классификации"
К.В.Воронцов "Статистические (байесовские) методы классификации"К.В.Воронцов "Статистические (байесовские) методы классификации"
К.В.Воронцов "Статистические (байесовские) методы классификации"
 
урок3
урок3урок3
урок3
 
КР 3 с решением
КР 3 с решениемКР 3 с решением
КР 3 с решением
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства
 
V. G. Labunets, F. S. Myasnikov, E. Ostheimer - Families of Heron Digital Fil...
V. G. Labunets, F. S. Myasnikov, E. Ostheimer - Families of Heron Digital Fil...V. G. Labunets, F. S. Myasnikov, E. Ostheimer - Families of Heron Digital Fil...
V. G. Labunets, F. S. Myasnikov, E. Ostheimer - Families of Heron Digital Fil...
 
математика на вступительных экзаменах в мгу в 2010г(газета математика)
математика на  вступительных экзаменах в мгу в 2010г(газета математика)математика на  вступительных экзаменах в мгу в 2010г(газета математика)
математика на вступительных экзаменах в мгу в 2010г(газета математика)
 
8
88
8
 
Структурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойСтруктурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовой
 
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
 
Pril2
Pril2Pril2
Pril2
 

More from Technosphere1

Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
Technosphere1
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
Technosphere1
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
Technosphere1
 
L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: ЗаключительнаяTechnosphere1
 
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
Technosphere1
 
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
Technosphere1
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
Technosphere1
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
Technosphere1
 
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
Technosphere1
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
Technosphere1
 
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
Technosphere1
 
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
Technosphere1
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качества
Technosphere1
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
Technosphere1
 
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
Technosphere1
 
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
Technosphere1
 

More from Technosphere1 (17)

Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
 
L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
 
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
 
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
 
Webdev7 (2)
Webdev7 (2)Webdev7 (2)
Webdev7 (2)
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
 
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
 
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
 
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качества
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
 
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
 
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
 

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

  • 2. План занятия Задачи классификации и регрессии Подходы к моделированию Теория принятия решений Оценка результатов классификации Деревья решений 1 / 56
  • 3. Задачи классификации и регрессии 2 / 56
  • 4. Классификация: интуиция Задача Разработать алгоритм, позволяющий определить класс произвольного объекта из некоторго множества Дана обучающая выборка, в которой для каждого объекта известен класс 3 / 56
  • 5. Регрессия: интуиция Задача Разработать алгоритм, позволяющий предсказать числовую характеристику произвольного объекта из некоторого множества Дана обучающая выборка, в которой для каждого объекта известно значение числовой характеристики 4 / 56
  • 6. Постановка задачи Пусть дан набор объектов D = {(xi , yi )}, xi ∈ X, yi ∈ Y, i ∈ 1, . . . , N, полученный из неизвестной закономерности y = f (x). Необходимо выбрать из семейства параметрических функций H = {h(x, θ) : X × Θ → Y} такую h∗ (x) = h(x, θ∗ ), которая наиболее точно апроксимирует f (x). Задачи Классификация: |Y| < C Регрессия: Y = [a, b] ⊂ R 5 / 56
  • 7. Как решать 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
  • 9. Виды моделей Генеративные модели. Смоделировать 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
  • 10. Вероятностные модели VS Функции решения G Отказ от классификации (reject option) G Дисбаланс в выборке G Ансамбли моделей G Сильные предположения о природе данных G Излишняя (вычислительная) сложность 9 / 56
  • 11. Байесовский подход к моделированию Идея. Вместо фиксированного, но неизвестного θ∗ ищем апостериорное распределение 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
  • 12. Обучение модели LEARNING = representation + evaluation + optimization Pedro Domingos Evaluation – критерий, который оптимизируем эмпирический риск → min KL-дивергенция → min функция правдоподобия → max information gain → max Optimization – как оптимизируем unconstrained (GD, Newton+) constrained (linear programming, quadratic programming) 11 / 56
  • 13. Эмпирический риск Функция потерь 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
  • 14. Некоторые функции потерь Индикатор ошибки L(x, y, θ) = 0 if h(x, θ) = y else 1 Функция Минковского L(x, y, θ) = |y − h(x, θ)|q Частные случаи: квадратичная q = 2, абсолютная ошибка q = 1 Hinge L(x, y, θ) = max(0, 1 − y × h(x, θ)) Информационная L(x, y, θ) = − log2 p(y|x, θ) 13 / 56
  • 15. Проблема 1. Переобучение Задача Аппроксимировать обучающую выборку полиномом M степени 14 / 56
  • 16. Проблема 2. Проклятие размерности Задача Классифицировать объекты. 15 / 56
  • 18. Классификация Пусть Rk – область, такая что все x ∈ Rk относим к yk Дано Rkj – риск, связанный с отнесением объекта класса yk к классу yj Найти ∀k : Rk , такие, что математическое ожидание риска E[R] минимально. E[R] = k j Rj Rkj p(yk |x)p(x)dx 17 / 56
  • 19. Медицинская диагностика Матрица риска [Rkj ] sick normal sick 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
  • 20. Регрессия Те же виды моделей: генеративные, дискриминативные, функция решения Задана функция риска 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
  • 22. Как оценить различные модели? Идея использовать долю неверно классифицированных объектов (error rate) Важное замечание error rate на обучающей выборке НЕ является хорошим показателем качества модели 21 / 56
  • 23. Решение 1: разделение выборки Делим обучающую выборку на тренировочную, валидационную и тестовую 22 / 56
  • 24. Решение 2: скользящий контроль (n-times) (stratified) cross-validation частный случай: leave-one-out 23 / 56
  • 25. Решение 3: bootstrap выбираем в тренировочную выбоку n объектов с возвращением упражнение: найти математическое ожидание размера тестовой выборки. 24 / 56
  • 26. Доверительный интервал для 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
  • 27. Метрики качества. Вероятностные модели. Пусть yi - действительный класс для объекта xi Information loss − 1 N i log2 p(yi |xi ) Quadratic loss 1 N j (p(yj |xi ) − aj (xi ))2 , где aj (xi ) = 1, если Cj = yi 0, иначе 26 / 56
  • 28. Метрики качества. Функции решения. Предсказанный true false Действительный true TP FN false 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
  • 29. Receiver Operating Characteristic TPR = TP TP + FN ; FPR = FP FP + TN 28 / 56
  • 30. Упражнение Простые классификаторы В генеральной совокупности существуют объекты 3 классов, вероятность появления которых p1 < p2 < p3. Первый классификатор относит все объекты к классу с большей вероятностью (то есть к третьему). Второй классификатор случайно относит объект к одному из классов в соответствии с базовым распределением. Рассчитать precision и recall, которые эти классификаторы дают для каждого из 3 классов. 29 / 56
  • 31. Метрики качества. Регрессия 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
  • 32. NFLT, MDL, AIC и все такое No free lunch theorem Не существует единственной лучшей модели, решающей все задачи Minimum description length Лучшая гипотеза о данных – та, которая ведет к самому краткому их описанию Akaike information criterion (AIC) model = arg max ln p(D|θML) − θ 31 / 56
  • 34. Задача Дано: обучающая выборка из профилей нескольких десятков тысяч человек пол (binary) возраст (numeric) образование (nominal) и еще 137 признаков наличие интереса к косметике Задача: Для рекламной кампании определить, характеристики людей, интересующихся косметикой 33 / 56
  • 36. Хороший день для партии в гольф 35 / 56
  • 38. Рекурсивный алгоритм 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
  • 39. CART Classification And Regression Trees 1. Как происходит разделение? 2. На сколько детей разделять каждый узел? 3. Какой критерий листа выбрать? 4. Как укоротить слишком большое дерево? 5. Как выбрать класс каждого листа? 6. Что делать, если часть значений отсутствует? 38 / 56
  • 40. Чистота узла Задача Выбрать метод, позволяющий разделить узел на два или несколько детей наилучшим образом Ключевое понятие – impurity узла. 1. Misclassification i(N) = 1 − max k p(x ∈ Ck ) 2. Gini i(N) = 1 − k p2 (x ∈ Ck ) = i=j p(x ∈ Ci )p(x ∈ Cj ) 3. Информационная энтропия i(N) = − k p(x ∈ Ck ) log2 p(x ∈ Ck ) 39 / 56
  • 41. Теория информации Количество информации ∼ “степень удивления” 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 значения с вероятностями {1 2 , 1 4 , 1 8 , 1 8 }. Вычислить H[x] и H[y]. 40 / 56
  • 42. Выбор наилучшего разделения Критерий Выбрать признак и точку отсечения такими, чтобы было максимально уменьшение impurity ∆i(N, NL, NR ) = i(N) − NL N i(NL) − NR N i(NR ) Замечания Выбор границы при числовых признаках: середина? Решения принимаются локально: нет гарантии глобально оптимального решения На практике выбор impurity не сильно влияет на результат 41 / 56
  • 43. Если разделение не бинарное Естественный выбор при разделении на B детей ∆i(N, N1, . . . , NB ) = i(N) − B k=1 Nk N i(Nk ) → max Предпочтение отдается большим B. Модификация: ∆iB (N, N1, . . . , NB ) = ∆i(N, N1, . . . , NB ) − B k=1 Nk N log2 Nk N → max (gain ratio impurity) 42 / 56
  • 45. Практика Задача Вычислить наилучшее бинарное разделение корневого узла по одному признаку, пользуясь gini impurity. № Пол Образование Работа Косметика 1 М Высшее Да Нет 2 М Среднее Нет Нет 3 М Нет Да Нет 4 М Высшее Нет Да 1 Ж Нет Нет Да 2 Ж Высшее Да Да 3 Ж Среднее Да Нет 4 Ж Среднее Нет Да 44 / 56
  • 46. Когда остановить разделение Split stopping criteria никогда использовать валидационную выборку установить минимальный размер узла установить порог ∆i(N) > β статистический подход χ2 = 2 k=1 (nkL − NL N nk )2 NL N nk 45 / 56
  • 47. Укорачиваем дерево Pruning (a.k.a. отрезание ветвей) 1. Растим “полное” дерево T0 2. На каждом шаге заменяем самый “слабый” внутренний узел на лист Rα(Tk ) = err(Tk ) + αsize(Tk ) 3. Для заданного α из получившейся последовательности T0 T1 . . . Tr выбираем дерево Tk , минимизирующее Rα(Tk ) Значение α выбирается на основании тестовой выборки или CV 46 / 56
  • 48. Какой класс присвоить листьям 1. Простейший случай: класс с максимальным количеством объектов 2. Дискриминативный случай: вероятность p(Ck |x) 47 / 56
  • 49. Вычислительная сложность Выборка состоит из n объектов, описанных m признаками Предположения 1. Узлы делятся примерно поровну 2. Дерево имеет log n уровней 3. Признаки бинарные Обучение. Для узла с k обучающими объектами: Вычисление impurity по одному признаку O(k) Выбор разделяющего признака O(mk) Итог: O(mn) + 2O(mn 2 ) + 4O(mn 4 ) + . . . = O(mn log n) Применение. O(log n) 48 / 56
  • 50. Отсутствующие значения Удалить объекты из выборки Использовать отстутсвие как отдельную категорию Вычислять impurity, пропуская отсутствующие значения Surrogate splits: разделяем вторым признаком так, чтобы было максимально похоже на первичное разделение 49 / 56
  • 51. Surrogate split c1 : x1 =   0 7 8   , x2 =   1 8 9   , x3 =   2 9 0   , x4 =   4 1 1   , x5 =   5 2 2   c2 : y1 =   3 3 3   , y2 =   6 0 4   , y3 =   7 4 5   , y4 =   8 5 6   , y5 =   9 6 7   Упражнение Вычислить второй surrogate split 50 / 56
  • 52. Задача о косметике X[0] <= 26.5000 entropy = 0.999935785529 samples = 37096 X[2] <= 0.5000 entropy = 0.987223228214 samples = 10550 X[6] <= 0.5000 entropy = 0.998866839115 samples = 26546 entropy = 0.9816 samples = 8277 value = [ 3479. 4798.] entropy = 0.9990 samples = 2273 value = [ 1095. 1178.] entropy = 0.9951 samples = 16099 value = [ 8714. 7385.] entropy = 0.9995 samples = 10447 value = [ 5085. 5362.] X0 – возраст, X4 – неоконченное высшее образование, X6 - пол 51 / 56
  • 53. Задачи регрессии Impurity узла N i(N) = y∈N (y − y)2 Присвоение класса листьям Среднее значение Линейная модель 52 / 56
  • 54. Кроме CART ID3 Iterative Dichotomiser 3 Только номинальные признаки Количество детей в узле = количество значений разделяющего признака Дерево растет до максимальной высоты С4.5 Улучшение ID3 Числовые признаки – как в CART, номинальные – как в ID3 При отсутствии значения используются все дети Укорачивает дерево, убирая ненужные предикаты в правилах C5.0 Улучшение C4.5 Проприетарный 53 / 56
  • 55. Решающие деревья. Итог + Легко интерпретируемы. Визуализация (ня!) + Любые входные данные + Мультикласс из коробки + Предсказание за O(log n) + Поддаются статистическому анализу – Склонны к переобучению – Жадные и нестабильные – Плохо работают при дисбалансе классов 54 / 56
  • 56. Ключевые фигуры Claude Elwood Shannon (Теория информации) Leo Breiman (CART, RF) John Ross Quinlan (ID3, C4.5, C5.0) 55 / 56