4. Регрессия: интуиция
Задача
Разработать алгоритм, позволяющий предсказать числовую
характеристику произвольного объекта из некоторого множества
Дана обучающая выборка, в которой для каждого объекта
известно значение данной числовой характеристики
5. Формализуем
X – множество объектов
T – множество значений целевой переменной (target variable)
Дана обучающая выборка из объектов
X = (x1, . . . , xN ) , xi ∈ X
и соответствующие им классы
T = (t1, . . . , tN ) , ti ∈ T
Требуется найти функцию
y∗
(x) : X → T,
позволяющую для произвольного x ∈ X наиболее точно предсказать
соответствующее t ∈ T
6. Целевая переменная
T = {C1, . . . , CK } – задача классификации в K
непересекающихся классов
T = [a, b] ⊂ R – задача регрессии
7. Как решать?
M Выдвигаем гипотезу насчет модели - семейства
параметрических функций вида
Y = {y(x, θ) : X × Θ → T},
которая могла бы решить нашу задачу (model selection)
L Выбираем наилучшие параметры модели θ∗
, используя
алгоритм обучения
A(X, T) : (X, T)N
→ Y
(learning/inference)
D Используя полученную модель y∗
(x) = y(x, θ∗
),
классифицируем неизвестные объекты (decision making)
8. Теория принятия решений
M Выдвигаем гипотезу насчет модели - семейства
параметрических функций вида
Y = {y(x, θ) : X × Θ → T},
которая могла бы решить нашу задачу (model selection)
L Выбираем наилучшие параметры модели θ∗
, используя
алгоритм обучения
A(X, T) : (X, T)N
→ Y
(learning/inference)
D Используя полученную модель y∗
(x) = y(x, θ∗
),
классифицируем неизвестные объекты (decision making)
9. Что моделировать?
Генеративные модели. Смоделировать p(x|Ck ) и p(Ck ), применить
теорему Байеса
p(Ck |x) =
p(x|Ck )p(Ck )
p(x)
и использовать p(Ck |x) для принятия решения
(NB, Bayes Networks, MRF)
Дискриминативные модели. Смоделировать p(Ck |x) и
использовать ее для принятия решения
(Logistic Regression, Decision Trees)
Функции решения. Смоделировать напрямую f (x) : X → T
(Linear Models, Neural Networks)
10. Минимизируем риск
Пусть
Rk – область, такая что все x ∈ Rk относим к Ck
Дано
Rkj – риск, связанный с отнесением объекта класса Ck к классу Cj
Найти
∀k : Rk , такие, что математическое ожидание риска E[R]
минимально.
E[R] =
k j Rj
Rkj p(Ck |x)p(x)dx
11. Медицинская диагностика
Матрица риска [Rkj ]
sick normal
sick 0 10
normal 1 0
Условные вероятности p(Ck |x)
p(normal|moving) = 0.9, p(normal|not moving) = 0.3
Вероятности p(x)
p(moving) = 0.7
Требуется определить Rsick, Rnormal
12. Регрессия
Те же виды моделей: генеративные, дискриминативные,
функция решения
Задана функция риска
R(t, y(x))
Математическое ожидание E[R]
E[R] = R(t, y(x))p(x, t)dxdt
Для квадратичной функции риска R(t, y(x)) = [t − y(x)]2
y(x) = Et[t|x]
13. Когда удобнее вероятностные модели
Функция риска может меняться
Отказ от классификации (reject option)
Дисбаланс в выборке
Ансамбли моделей
14. Обучение модели
M Выдвигаем гипотезу насчет модели - семейства
параметрических функций вида
Y = {y(x, θ) : X × Θ → T},
которая могла бы решить нашу задачу (model selection)
L Выбираем наилучшие параметры модели θ∗
, используя
алгоритм обучения
A(X, T) : (X, T)N
→ Y
(learning/inference)
D Используя полученную модель y∗
(x) = y(x, θ∗
),
классифицируем неизвестные объекты (decision making)
15. Выбор параметров модели
Функция потерь L(x, t, θ) - ошибка, которую для данного x дает
модель y(x, θ) по сравнению с реальным значением t
Эмпирический риск – средняя ошибка на обучающей выборке
Q(X, T, θ) =
1
N
N
k=1
L(xk , tk , θ)
Задача – найти значение θ∗
, минимизирующее эмпирический риск
θ∗
= θ∗
(X, T) = argminθQ(X, T, θ)
16. Некоторые функции потерь
Индикатор ошибки
L(x, t, θ) = 0 if y(x, θ) = t else 1
Функция Минковского
L(x, t, θ) = |t − y(x, θ)|q
Частные случаи: квадратичная q = 2, абсолютная ошибка q = 1
Hinge
L(x, t, θ) = max(0, 1 − t ∗ y(x, θ))
Информационная
L(x, t, θ) = − log2 p(t|x, θ)
19. Выбор модели
M Выдвигаем гипотезу насчет модели - семейства
параметрических функций вида
Y = {y(x, θ) : X × Θ → T},
которая могла бы решить нашу задачу (model selection)
L Выбираем наилучшие параметры модели θ∗
, используя
алгоритм обучения
A(X, T) : (X, T)N
→ Y
(learning/inference)
D Используя полученную модель y∗
(x) = y(x, θ∗
),
классифицируем неизвестные объекты (decision making)
20. Как оценить различные модели?
Идея
использовать долю неверно классифицированных объектов
(error rate)
Важное замечание
error rate на обучающей выборке НЕ является хорошим показателем
качества модели
21. Решение 1: разделение выборки
Делим обучающую выборку на тренировочную, валидационную и
тестовую
22. Решение 2: скользящий контроль
(n-times) (stratified) cross-validation
частный случай: leave-one-out
23. Решение 3: bootstrap
выбираем в тренировочную выбоку n объектов с возвращением
упражнение: найти математическое ожидание размера тестовой
выборки.
24. Доверительный интервал для 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. Метрики качества. Вероятностные модели.
Пусть ti - действительный класс для объекта xi
Information loss
−
1
N
i
log2 p(ti |xi )
Quadratic loss
1
N
j
(p(tj |xi ) − aj (xi ))2
,
где
aj (xi ) =
1, если Cj = ti
0, иначе
28. Упражнение
Простые классификаторы
В генеральной совокупности существуют объекты 3 классов,
вероятность появления которых p1 < p2 < p3. Первый классификатор
относит все объекты к классу с большей вероятностью (то есть к
третьему). Второй классификатор случайно относит объект к одному
из классов в соответствии с базовым распределением. Рассчитать
precision и recall, которые эти классификаторы дают для каждого из
3 классов.
29. Метрики качества. Регрессия
MSE =
1
N
(y(xi ) − ti )2
, RMSE =
√
MSE
MAE =
1
N
|y(xi ) − ti |, RMAE =
√
MAE
RSE =
(y(xi ) − ti )2
(ti − ¯t)2
correlation =
Sty
StSy
; Sty =
(y(i) − y(i))(ti − ¯t)
N − 1
Sy =
(y(i) − y(i))2
N − 1
; St =
(ti − ¯t)2
N − 1