744 lines
62 KiB
TeX
744 lines
62 KiB
TeX
\documentclass{article}
|
||
|
||
\input{settings/common-preamble}
|
||
\input{settings/bmstu-preamble}
|
||
\input{settings/fancy-listings-preamble}
|
||
\author{Гребенюк Елена Алексеевна}
|
||
\title{Технологии разработки информационных систем для анализа больших объёмов информации}
|
||
\date{2023-02-08}
|
||
|
||
\begin{document}
|
||
\maketitle
|
||
\tableofcontents
|
||
\newpage
|
||
\section{Введение}
|
||
\subsection{Что нужно знать}
|
||
\begin{itemize}
|
||
\item \textbf{Основы теории вероятностей и математической статистики} (случайные величины, непрерывные и дискретные случайные величины, матожидание, дисперсия, ковариация, корреляция)
|
||
\item выборка, статистика, гистограмма, смещение
|
||
\item несмещённая оценка, асимптотически несмещённая оценка, состоятельная оценка, дисперсия оценки, коэффициент корреляции Пирсона, коэффициент корреляции Спирмена, нормальное (гауссовское) распределение (одномерное и многомерное), центральная предельная
|
||
\item \textbf{основы линейной алгебры}
|
||
\begin{itemize}
|
||
\item Вектор, операции над векторами и их свойства, векторное пространство, аксиомы векторного пространства, размерность векторного пространства.
|
||
\item Линейная зависимость векторов, линейная независимость векторов, методы проверки линейной независимости векторов.
|
||
\item Матрица, операции над матрицами, умножение матрицы на вектор, умножение матрицы на матрицу, ранг матрицы, транспонирование матриц, обратная матрица.
|
||
\item Система линейных уравнений (СЛУ), число решений СЛУ, ранг матрицы СЛУ и число ее решений.
|
||
\item Евклидово пространство, его свойства, норма вектора, ее свойства, метрика, евклидова метрика, скалярное произведение векторов, угол между векторами.
|
||
\end{itemize}
|
||
\item \textbf{Теория информации} Информационная энтропия (Entropy) – мера неопределённости некоторой системы
|
||
\item \textbf{Python} Библиотеки: Scikit-Learn, Numpy, Scipy, Pandas, Matplotlib, ...
|
||
\end{itemize}
|
||
|
||
\subsection{Типы задач анализа данных}
|
||
\begin{itemize}
|
||
\item Визуализация - анализ ситуации, анализ исходной информации, анализ, интерпретация и представление результатов
|
||
\item Поиск шаблонов поиск частых наборов - метод ассоциативных правил - market basket analysis
|
||
\item прогнозирование - определение нового класса или объекта, которого не было в обучающей выборке
|
||
\item кластеризация или сегментация
|
||
\end{itemize}
|
||
|
||
\textbf{Этапы решения задачи алгоритмами машинного обучения}
|
||
\begin{itemize}
|
||
\item формальная постановка задачи (кампания по привлечению кредитов, найти модель)
|
||
\item данные (признаковое описание -- бинарные, числовые, категориальные, порядковые; матрица расстояний между объектами, временные ряды скалярных или векторных наблюдений, итого 16 прпизнаков)
|
||
\item определение ответа (да/нет), но чаще всего нужен не бинарный ответ, а определение степени доверия ответу.
|
||
\item выбор критериев качества решения (метрики оценивания используемого метода решения должны иметь интерпретацию, значимую для решаемой бизнес-задачи)
|
||
\item выбор метода решения
|
||
\item предобработка данных (если клиентов приндалежащих какому-то классу меньше 5\% выборка не сбалансирована)
|
||
\item реализация, оценка качества
|
||
\end{itemize}
|
||
Пример -- Скоринг -- определение платёжеспособности.
|
||
|
||
\begin{enumerate}
|
||
\item \textbf{Постановка задачи}. Проводилась компания по привлечению клиентов для открытия депозита. Цель маркетинговой компании: привлечь клиентов на депозит, предлагая долгосрочные депозитные заявки с высокими процентными ставками, при сокращении затрат и времени на проведение компании: контактов должно быть меньше, но число клиентов, подписавшихся на депозит не должно уменьшаться. Цель исследования: найти модель, которая может объяснить успех компании т. е., если клиент подписывает депозит. Решается задача классификации: по имеющемуся признаковому описанию клиента определить подпишет ли он депозит (успех) и нет (неудача).
|
||
\item \textbf{Данные задачи}. \textbf{Типы входных данных}: признаковое описание, каждый объект описывается набором числовых или нечисловых признаков; матрица расстояний между объектами (метод ближайших соседей); временные ряды скалярных или векторных наблюдений (сигналы); изображение или видеоряд;
|
||
|
||
\textbf{Признаковое описание} Бинарные признаки – $(0, 1)$; Числовые признаки: $x_{ik} \in R$ -- с этими признаками удобно работать, практически любой метод применим к задаче с числовыми признаками; Категориальные признаки $x_{ik} \in \{\alpha_1, ..., \alpha_k\}$ нет метрики, нет упорядочения; Порядковые признаки $x_{ik} \in \{\alpha_1, ..., \alpha_k\}$ есть упорядочение.
|
||
|
||
\textbf{Входные данные 16 признаков}
|
||
\textbf{Общие данные о клиенте}
|
||
1 - age (numeric);
|
||
2 - job : (categorical: "admin.", "unknown", "unemployed", "management", "housemaid", "entrepreneur", "student", "blue-collar", "self-employed", "retired", "technician", "services")
|
||
3 - marital (categorical: "married", "divorced", "single")
|
||
4 - education (categorical: "unknown","secondary","primary","tertiary")
|
||
\textbf{Финансовое положение}
|
||
5 - default: has credit in default? (binary: "yes","no")
|
||
6 - balance:, in euros (numeric)
|
||
7 - housing: has housing loan? (binary: "yes","no")
|
||
8 - loan: has personal loan? (binary: "yes","no")
|
||
\textbf{Данные о рекламной компании}
|
||
9 - contact: contact communication type (categorical: "unknown","telephone","cellular")
|
||
10 - day: last contact day of the month (numeric)
|
||
11 - month: last contact month of year (categorical: "jan", "feb", "mar", ..., "nov", "dec")
|
||
12 - duration: last contact duration, in seconds (numeric)
|
||
13 - campaign: number of contacts performed during this campaign (numerict)
|
||
14 - pdays: number of days that passed by after the client was last contacted (numeric)
|
||
15 - previous: number of contacts performed before this campaign and for this client (numeric)
|
||
16 - poutcome: outcome of the c (categorical: "unknown","other","failure","success")
|
||
17 - y - has the client subscribed a term deposit? (binary: "yes","no")
|
||
|
||
\item \textbf{Предварительная обработка и проверка качества исходных данных}
|
||
1. Какова доля объектов первого класса в данных? Если эта доля менее 5\% - имеем несбалансированную выборку.
|
||
2.Какова доля выбросов, пропусков в данных? Выбросы могут быть результатом: событий, которые происходят с небольшой вероятностью и большим воздействием, системной ошибки.
|
||
|
||
\item \textbf{Определение ответа} Варианты ответов: клиент подписывает контракт -- класс 1, клиент не подписывает -- класс 0;
|
||
|
||
вектор $\{p, 1-p\} = P, p$ --степень уверенности алгоритма (вероятность) в том, что объект принадлежит классу 1 .
|
||
|
||
\item Выбор критериев: метрики оценивания используемого метода решения должны иметь интерпретацию, значимую для решаемой бизнес-задачи.
|
||
|
||
\end{enumerate}
|
||
|
||
\subsection{Работа с несбалансированными выборками}
|
||
Метрики для несбалансированных наборов данных: AUC-ROC (площадь под ROC-кривой) , f1-score.
|
||
|
||
\begin{enumerate}
|
||
\item Удаление части элементов мажоритарного класса (недостаток: потеря данных).
|
||
\item Дополнение миноритарного класса повторяющимися данными (недостаток: переобучение на элементах миноритарного класса).
|
||
\item Создание дополнительных искусственных объектов.
|
||
\item Настройка классификатора с использованием весов. В контексте кредитования потеря денег из-за незаслуживающего доверия заемщика обходится существенно выше, чем отсутствие возможности кредитования надежного заемщика. Поэтому мы можем назначать этим классам различные веса и отсечки
|
||
\end{enumerate}
|
||
|
||
Метрики Качества. Пусть имеется два класса 1 -- положительный и 0 -- отрицательный
|
||
\begin{itemize}
|
||
\item True positive TP объекты, принадлежащие положительному классу $Y_1$, определены алгоритмом как положительные
|
||
\[ TP = \{ X_t \in Y_1 | a(X_t, g) = 1 \} \]
|
||
\item False positive FP объекты, принадлежащие отрицательному классу $Y_0$ ,определены алгоритмом как положительные
|
||
\[ FP = \{ X_t \in Y_0 | a(X_t, g) = 1 \} \]
|
||
\item False negative FN объекты, принадлежащие положительному классу $Y_1$ , определены алгоритмом как отрицательные
|
||
\[ FN = \{ X_t \in Y_1 | a(X_t, g) = 0 \} \]
|
||
\item True negative TN объекты, принадлежащие отрицательному классу $Y_0$ , определены алгоритмом как отрицательные
|
||
\[ TN = \{ X_t \in Y_0 | a(X_t, g) = 0 \} \]
|
||
\end{itemize}
|
||
|
||
\subsection{Метрики качества оценки алгоритмов машинного обучения}
|
||
\begin{itemize}
|
||
\item \textbf{Accuracy} $\frac{TN + TP}{n}$ -- метрика сама по себе неприменима.
|
||
\item \textbf{Precision} $\frac{TP}{TP+FP}$ -- уровень доверия к положительным ответам модели, доля истинных положительных объектов, выделенных классификатором как положительные.
|
||
\item \textbf{Recall} $\frac{TP}{TP+FN}$ -- какая часть положительных объектов правильно определена классификатором
|
||
\item \textbf{F-мера} (F-score) -- гармоническое среднее точности и полноты. F-мера обладает важным свойством -- она близка к нулю, если хотя бы один из аргументов близок к нулю: $F = \frac{2*precision*recall}{precision+recall}, 0\leq F \leq 1$
|
||
\item Ошибка 1 рода (Туре I Error) случается, когда объект ошибочно относится к положительному классу
|
||
\item Ошибка 2 рода (Туре II Error) случается, когда объект ошибочно относится к отрицательному классу
|
||
\end{itemize}
|
||
|
||
\subsection{Confusion Matrix}
|
||
Хорошо подходит для многоклассовой классификации. Классификация в случае двух классов:
|
||
\begin{equation*}
|
||
\begin{pmatrix}
|
||
TP & FP \\
|
||
FN & TN \\
|
||
\end{pmatrix}
|
||
\end{equation*}
|
||
FP, FN -- число элементов, определённых ложно.
|
||
|
||
Многоклассовая классификация, $m$ классов.
|
||
\begin{itemize}
|
||
\item $C = (c_{ij} i = 1, ..., m, j = 1, ..., m)$
|
||
\item $c_{ij} = |X_t:X_t \in i|a(X_t, g)= j|$
|
||
\item число объектов, принадлежащих классу $i$, отнесённые алгоритмом к классу $j$.
|
||
\begin{equation*}
|
||
\begin{pmatrix}
|
||
10 & 5 & 0 & 0 \\
|
||
3 & 12 & 0 & 0 \\
|
||
0 & 0 & 14 & 1 \\
|
||
0 & 0 & 0 & 15 \\
|
||
\end{pmatrix}
|
||
\end{equation*}
|
||
\end{itemize}
|
||
|
||
\subsection{Отбор признаков}
|
||
Посчитаем число вариантов признаковых описаний одного клиента. Число значений категориальных и бинарных признаков каждого клиента, не считая возраста, равно
|
||
\[N = 12 * 3 * 4 * 8 * 3 * 12 * 4 = 144 * 24 * 48 = 165888.\]
|
||
С ростом размера признакового пространства увеличивается сложность задачи и снижается достоверность решения.
|
||
|
||
\textbf{Шумовые признаки} -- это признаки, которые никак не связаны с целевой переменной. Зашумленность данных означает, что отдельные значимые объясняющие переменные, возможно, не были зарегистрированы или что дефолт произошел случайно.
|
||
|
||
\textbf{Методы отбора признаков}
|
||
\begin{itemize}
|
||
\item Обертки -- использующие для отбора признаков конкретную модель. Модель обучается на подмножестве признаков, для нее строится матрица ошибок, затем на другом и т.д.
|
||
\item Фильтры -- удаляем коррелированные данные матрица рассеяния, F-тест -- оценивает степень линейной зависимости между признаками и целевой переменной, поэтому он лучше всего подойдёт для линейных моделей. Реализован как \code{f_classif} для классификации; хи-квадрат -- оценивает степень линейной зависимости между признаками и целевой переменной.
|
||
\item Встроенные методы -- задача отбора признаков -- побочная задача (случайный лес)
|
||
\[ IG = H(S_i) - \frac{|S_{il}|}{|S_i|} H(S_{il}) - \frac{|S_{ir}|}{|S_i|} H(S_{ir}) \to \max \]
|
||
\end{itemize}
|
||
|
||
\textbf{Отбор категориальных признаков}
|
||
Значения категориальных признаков могут быть любыми объектами, на которых определена операция сравнения (равно и не равно).
|
||
|
||
\begin{itemize}
|
||
\item \textbf{Lable encoding} -- отображение каждого признака в число позволяет использовать его в модели обучения. Недостатки: неявно задает порядок категории, не может работать с неизвестными в процессе обучения значениями категориального признака
|
||
\item \textbf{Onehot coding} -- недостатки: увеличение количества признаков
|
||
\item \textbf{Target encoding} -- кодирование с учётом целевой переменной
|
||
\[ p_j(x \in X) = \frac{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)][y_i = 1]}{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)]} \]
|
||
где $p_j(x \in X)$ -- числовое значение $j$-го категориального признака на объекте $x, f_j(x_i)$ -- исходное значение $j$-го категориального признака на объекте $x_i$. Использование счетчиков может привести к переобучению. Модель может опираться на счетчики, если есть уверенность в том, что модель обучена по большому числу объектов. Сглаживание
|
||
|
||
\[ p_j(x \in X) = \frac{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)][y_i = 1] + C/N \sum_{i=1}^N[y_i = 1]}{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)] + C} \]
|
||
|
||
Если мало объектов этой категории, то числовое значение признака приближается близко к среднему по всей выборке, а для популярных к среднему значению по категории. $p_j(X) \to 1/N \sum_{i=1}^N[y_i = 1]$, если мало объектов в категории.
|
||
|
||
Значение категориального признака в задаче регрессии
|
||
\[ p_j(x \in X) = \frac{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)]*\ddot{y_i}}{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)]} \]
|
||
|
||
$\ddot{y_j}$ -- среднее значение $y_t$ для объектов с категориальным признаком.
|
||
\end{itemize}
|
||
|
||
\subsection{Permutation Importance, Feature selection}
|
||
Важность перестановки
|
||
\begin{itemize}
|
||
\item Случайным образом тасуется один столбец в валидационной выборке. Признак считается значимым, если точность модели сильно падает и вызывает увеличение ошибки и «неважным», если перетасовка его значений не влияет на точность модели.
|
||
\item Permutation Importance рассчитывается после обучения модели с использованием библиотеки ELI5. ELI5 -- это библиотека Python, которая позволяет визуализировать и отлаживать различные модели машинного обучения с использованием унифицированного API.
|
||
\item Feature selection -- отбор самых важных признаков. Оценка информативности признаков: Вычисление дисперсии: чем больше дисперсия, тем информативнее признак
|
||
\[ Var(x_j) = \frac{1}{N}\sum_{i=1}^N(x_{ij} - \overline{x_j})^2\]
|
||
Позволяет убирать малоинформативные признаки, недостатки: никак не учитываются значения целевой переменной.
|
||
\item Вычисление корреляции между значениями признака и целевой переменной (задача регрессии)
|
||
\item Задача классификации: Подсчет процента успешной классификации для каждого из значений признака $p$. По теореме Байеса считаем $P(X_j|Y)$ -- вероятность признака $X_j$, если объект принадлежит положительному классу. Если $P(X_j|Y = 1) > 0,7 \cup P(X_j|Y = 1) < 0,3$, то считаем $X_j$ информативным признаком.
|
||
\end{itemize}
|
||
|
||
\subsection{Отбор признаков по Теореме Байеса}
|
||
Теорема Байеса. Пусть $В_1, В_2, ..., В_r$, полная группа событий $А$ -- некоторое событие, вероятность которого связана с $В_i$, тогда
|
||
\[ P(B_i|A) = \frac{P(A|B_i)p(B_i)}{P(A)}\],
|
||
где $P(A) = \sum_{i=1}^rP(A|B_i)p(B_i)$.По теореме Байеса считаем $P(X_j,Y)$ -- вероятность признака $Х_у$, если объект принадлежит положительному классу. Если $Р(X_j |Y = 1) > 0,7 \cup P(X_j |Y = 1) < 0,3$, то считаем $X_j$, информативным признаком.
|
||
|
||
Пример. Оценим информативность признаков $x_j$, и $х_r$, по Теореме Байеса:
|
||
\begin{equation*}
|
||
\begin{gathered}
|
||
P(x_y = 1|Y = 1) =1/2
|
||
P(x_r = b|Y = 1) =3/16
|
||
\end{gathered}
|
||
\end{equation*}
|
||
|
||
\begin{tabular}{||r|c|c||}
|
||
\hline
|
||
$x_j$ & $X_r$ & $Y$ \\ [0.5ex]
|
||
\hline
|
||
1 & a & 1 \\
|
||
0 & a & 1 \\
|
||
1 & b & 1 \\
|
||
0 & a & 1 \\
|
||
1 & b & 0 \\
|
||
1 & b & 0 \\
|
||
\hline
|
||
\end{tabular}
|
||
|
||
\subsection{Наивный байесовский классификатор}
|
||
$ \mathcal{L} = \{X_t, Y_t\}_{t=1}^{N} $ -- обучающая выборка, $X_j=\left( \begin{array}{c} x_{1j}\\ ...\\ x_{Nj}\end{array} \right)$ -- j-ый признак, $X_k$ -- новый объект.
|
||
|
||
Предположение. При заданном значении класса $Y_t$ признаки $\dot{X_j}, ..., \dot{X_j}$ независимые.
|
||
\[P(X_j|Y, X_1, ..., X_{j-1}, X_{j+1},...X_r)=P(X_j|Y) \]
|
||
|
||
Применим теорему Байеса.
|
||
\[P(Y|X_1,...,X_r)=\frac{P(X_1,...X_r|Y)P(Y)}{P(X_1,...X_r)}\]
|
||
|
||
в силу независимости признаков:
|
||
\[P(Y|X_1,...,X_r)=\frac{\prod_{j=1}^rP(X_j|Y)P(Y)}{P(X_1,...X_r)}\]
|
||
|
||
\[Y\rightarrow\underbrace{argmax}_Y\prod_{j=1}^rP(X_j|Y)P(Y)\]
|
||
|
||
Найти класс объекта $X_k$. имеющего признаковое описание $(0,b)$. $P(Y=1|0,b)=?$, $P(Y=0|0,b)=?$
|
||
|
||
\begin{tabular}{||r|c|c||}
|
||
\hline
|
||
$x_j$ & $X_r$ & $Y$ \\ [0.5ex]
|
||
\hline
|
||
1 & a & 1 \\
|
||
0 & a & 1 \\
|
||
1 & b & 1 \\
|
||
0 & a & 1 \\
|
||
1 & b & 0 \\
|
||
1 & b & 0 \\
|
||
\hline
|
||
\end{tabular}
|
||
|
||
|
||
\subsection{ROC-кривая}
|
||
Число строк в квадрате справа равно числу единиц, число столбцов -- числу нулей. Стартуем из точки (0, 0)(левый нижний угол. Если значение метки класса в просматриваемой строке 1, то делаем шаг вверх; если 0, то делаем шаг вправо, если у нескольких объектов значения оценок равны, то делаем шаг в точку \textbf{а} блоков выше и \textbf{b} блоков правее, где \textbf{а} -- число единиц, \textbf{b} -- число нулей в рассматриваемой группе объектов.
|
||
|
||
Считаем сколько \% покрыто.
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\fontsize{14}{1}\selectfont
|
||
\includesvg[scale=1.01]{pics/04-bdisdt-00-roc.svg}
|
||
\end{figure}
|
||
|
||
$a(X_i,w)=[\langle w,X_i\rangle >t]$, где $t$ -- порог, оценка $\sum_{j=1}^m\omega_jx_{ij}$. $TPR=\frac{TP}{TP+FN}$, доля правильно определенных объектов положительного класса $FPR=\frac{FP}{FP+TN}$ доля неправильно определенных объектов положительного класса. Число строк в прямоугольнике равно \textbf{числу единиц}, число столбцов – \textbf{числу нулей} вектора \textbf{$Y_i$}. Идем из точки (0, 0)(левый нижний угол). Если \textbf{$Y_i=1$} то шаг вверх; если 0, то шаг вправо. Если у нескольких объектов значения оценок равны, то делаем шаг в точку на $a$ блоков выше и $b$ блоков правее, где $a$ – число единиц, $b$ – число нулей.
|
||
|
||
\begin{tabular}{||r|c|c||}
|
||
\hline
|
||
$i$ & оценка &$Y_i$ \\ [0.5ex]
|
||
\hline
|
||
1 & 0.5 & 0 \\
|
||
2 & -0.1 & 0 \\
|
||
3 & 0.1 & 0 \\
|
||
4 & 0.6 & 1 \\
|
||
5 & 0.1 & 1 \\
|
||
6 & 0.3 & 1 \\
|
||
7 & -0.2 & 0 \\
|
||
\hline
|
||
\end{tabular}
|
||
|
||
\begin{tabular}{||r|c|c||}
|
||
\hline
|
||
$i$ & оценка &$Y_i$ \\ [0.5ex]
|
||
\hline
|
||
4 & 0.6 & 1 \\
|
||
1 & 0.5 & 0 \\
|
||
6 & 0.3 & 1 \\
|
||
3 & 0.1 & 0 \\
|
||
5 & 0.1 & 1 \\
|
||
2 & -0.1 & 0 \\
|
||
7 & -0.2 & 0 \\
|
||
\hline
|
||
\end{tabular}
|
||
|
||
\textbf{Принятие решений на основе кривой.} Для того, чтобы решить, какие объекты отнести к классу 1, а какие к классу 0, нужно будет выбрать некоторый порог (объекты с оценками выше порога относим к классу 1, остальные -- 0). Выбору порога соответствует выбор точки на ROC-кривой. Здесь для порога $0.25$ выбрана точка (1/4,2/3).
|
||
|
||
В случае бинарных ответов ROC-кривая состоит из трёх точек, соединёнными линиями: $(0,0)$, $(FPR, TPR)$, $(1, 1)$, где FPR и TPR соответствуют любому порогу из интервала $(0, 1)$. На рисунке зелёным показана ROCкривая бинаризованногорешения, AUC ROC после бинаризации уменьшилась и стала равна $8.5/12 \sim 0.71$. Формула для вычисления AUC ROC для бинарного решения:
|
||
|
||
\[\frac{TPR+FPR}{2}+TPR(1-FPR)+\frac{(1-FPR)(1-TPR}{2}=\frac{1+^2TPR-FPR}{2}\]
|
||
|
||
Площадь под ROC кривой оценивает качество ранжирования объектов. Индекс $\text{Джини}=2*S_{AUCROC}-1$
|
||
|
||
\begin{tabular}{||r|c|c||}
|
||
\hline
|
||
id & $>0.25$ & класс \\ [0.5ex]
|
||
\hline
|
||
4 & 1 & 1 \\
|
||
1 & 1 & 0 \\
|
||
6 & 1 & 1 \\
|
||
3 & 0 & 0 \\
|
||
5 & 0 & 1 \\
|
||
2 & 0 & 0 \\
|
||
7 & 0 & 0 \\
|
||
\hline
|
||
\end{tabular}
|
||
|
||
1/4 - это \% точек класса 0, которые неверно классифицированы алгоритмом (FPR = False Positive Rate),
|
||
|
||
2/3 - \% точек класса 1, верно классифицированых алгоритмом (TPR = True Positive Rate).
|
||
|
||
Качество ROC-кривой напрямую зависит от объёма выборки и количества признаков. С её помощью можно оченить информативность признаков (отобрать признаки).
|
||
|
||
\subsection{Площадь под ROC-кривой, AUC-ROC}
|
||
|
||
\textbf{AUC ROC} оценивает качество упорядочивания алгоритмом объектов двух классов, (например, по вероятности принадлежности объекта к классу 1). Ее значение лежит на отрезке [0, 1]. В рассматриваемом примере $AUC ROC = 9.5 / 12 \sim 0.79$.
|
||
|
||
На рисунке слева приведены случаи идеального, наихудшего и обратимого следования меток в упорядоченной таблице. Идеальному соответствует ROC-кривая, проходящая через точку $(0, 1)$, площадь под ней равна $1$. Если ROC кривая, проходит через точку $(1, 0)$, площадь под ней -- 0, в этом случае в результата инвертирования можно получить неплохую модель. Случайному -- что-то похожее на диагональ квадрата,площадь примерно равна $0.5$.
|
||
|
||
\textbf{Индекс $\text{Джини}=2*S_{AUCROC}-1$}
|
||
|
||
\begin{itemize}
|
||
\item Показатель AUC ROC предназначен скорее для сравнительного анализа нескольких моделей;
|
||
\item Его не имеет смысла использовать на коротких выборках
|
||
\item Высокий AUC ROC может существовать и в очень плохих моделях. Пример.
|
||
\end{itemize}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=100mm]{04-bdaisdt-00-roc-bad.png}
|
||
\end{figure}
|
||
|
||
AUC ROC можно использовать для отбора признаков:
|
||
\begin{itemize}
|
||
\item Строим таблицу
|
||
\item Упорядочиваем по убыванию
|
||
\item Считаем AUC ROC
|
||
\end{itemize}
|
||
|
||
|
||
\subsection{Precision-recall кривая}
|
||
По оси абсцисс -- recall, по оси ординат -- precision. Критерий качества -- площадь под PR-кривой (AUC-PR).
|
||
|
||
$precision=\frac{TP}{TP+FP}, recall=\frac{TP}{TP+FN}; t_{min} precision=?, recall=1$ Качество оценки площади PR-кривой зависит от объёма выборки при разной пропорции классов: при малых объемах выборки отклонения от среднего увеличиваются.
|
||
|
||
\subsection{Тестирование модели}
|
||
Обучающая выборка делится на 3 части: На обучающей выборке происходит обучение алгоритма. На валидационной выбираются гиперпараметры. На тестовой выборке никакие параметры не меняются. $60-70 \%$ -- обучение, $40\%-30\%$ -- валидационная и тестовая выборки.
|
||
\begin{itemize}
|
||
\item ошибка обучения = доля неверно классифицированных обучающих примеров;
|
||
\item ошибка теста = доля ошибочно классифицированных тестовых примеров на валидационной выборке;
|
||
\item ошибка обобщения = вероятность неправильной классификации новых случайный примеров.
|
||
\end{itemize}
|
||
|
||
\subsection{Оценка}
|
||
Оценивание методов обычно проводится, относительно следцющих характеристик: скорость, робастность, интерпретируемость, надёжность.
|
||
\begin{itemize}
|
||
\item Скорость -- время которое требуется на создание модели и её использование
|
||
\item Робастность -- устойчивость к отклонениям от исходных предпосылок метода, например, возможность работы с зашумленными данными, пропущенными значениями в данных, нарушениями предположений о распределении и пр.
|
||
\item Интерпретируемость -- обеспечивает возможность понимания модели аналитиком предметной области.
|
||
\end{itemize}
|
||
Пусть для решения применили методы: деревья решений; байесовская классификация, метод ближайшего соседа; логистическая регрессия; метод опорных векторов. Можно ли сравнить их по вышеперечисленным характеристикам?
|
||
|
||
\subsection{Постановка задачи классификации}
|
||
Пусть $X_t\subset X$ -- объект множества $X$ c набором характеристик $(x_{t1},x_{t2},...,x_{tn})$, \textbf{Y} -- множество классов, к которым принадлежать объекты множества \textbf{X}.
|
||
|
||
$\{X_t, Y_t\}^N_{t=1}$ -- обучающая выборка, для которой в подмножестве объектов $X_t\subset X$ известны ответы $Y_t$. Требуется построить алгоритм $a:X \to Y$, который определяет ответы $Y_t$ для любого объекта $X_t$, не принадлежащего обучающей выборке $\mathcal{L} = \{X_t, Y_t\}^N_{t=1}$.
|
||
\begin{itemize}
|
||
\item По числу классов различают двухклассовую классификацию: множество классов $Y=\{-1,1\}$ или $Y=\{0,1\}$ и многоклассовую классификацию $Y=\{1, 2, ..., m\}$.
|
||
\item Множество «ответов» (классов) задается либо числом (обозначение класса), либо вектором $\{p_1,p_2,...P_m\}$, где $P_i$ - верность или степень уверенности применяемого алгоритма, что выбранный объект принадлежит классу $i, i = 1, 2, ..., m, \sum^m_{i=1}p_i = 1$.
|
||
\item Алгоритм $a(Xt)$ отображает объект $X_t$ на вектор ответов $a:(X_t, g)\to \bigg\{0,...,\underbrace{1}_i,...,0\bigg\}$, где $i$ -- номер класса, определенного алгоритмом для объекта $X_t$, или $a:(X_t, g)\to\{p_1, p_2, ..., p_m\}$, где $p_i$ -- вероятность класса, $g$ -- вектор гиперпараметров.
|
||
\item Классы могут пересекаться: рассматривают задачи с непересекающимися и пересекающимися классами: объект может относиться одновременно к нескольким классам. $Y=\{0, 1\}^M$, Пусть $M = 3$, тогда $Y = \{ 0, 1\}\times\{0,1\}\times\{0,1\}$ и результат $Y=\{1\}\times\{1\}\times\{0\}$ означает, что классифицируемый объект принадлежит первому и второму классам.
|
||
\end{itemize}
|
||
|
||
\subsection{Бинарная классификация линейной функцией}
|
||
Задача бинарной классификации -- разделение объектов множества $X$ на два класса. Пусть $\{X_i, Y_i\}^l_{i-1}$, где $X_i\in R^r,Y_i\in\{-1,1\}$, обучающая выборка. Линейная модель или алгоритм классификации:
|
||
\[ a(X_i,w)=w_0+\sum^m_{j=1}w_jx_{ij}=sign(\langle w,X_i\rangle+w_0) \]
|
||
|
||
где $j$ -- номер признака объекта, $m$ -- число признаков. Если считать, что все рассматриваемые объекты имеют постоянный первый признак равный 1, то
|
||
\[ a(X_i, w)=w_0+\sum^m_{j=1}w_jx_ij=\text{sign}(\langle w,X_i\rangle+w_0)\]
|
||
|
||
Алгоритм -- гиперплоскость в пространстве признаков с нормалью $||w||$ и расстоянием $a(x_i)$ до точки $x_i, \langle w, x_i\rangle$ -- скалярное произведение, величина которого пропорциональна расстоянию от разделяющей гиперплоскости $\langle w, x\rangle=0$ до $x_i$.
|
||
|
||
Если признаковое пространство может быть разделено гиперплоскостью на два полупространства, в каждом из которых находятся только объекты одного из двух классов, то обучающая выборка называется линейно разделимой.
|
||
|
||
\subsection{Метрики. Оценка качества работы алгоритма}
|
||
|
||
Обучение линейного классификатора заключается в поиске вектора весов $w$, на котором достигается минимум заданного функционала качества. Примеры:
|
||
|
||
\begin{enumerate}
|
||
\item Функция потерь:
|
||
\begin{equation*}
|
||
\begin{gathered}
|
||
L(a(x))=\frac{1}{l}\sum^l_{i=1}[sign(\langle w,X_i\rangle)\neq Y_i]\to min\\
|
||
L(a(x))=\frac{1}{l}\sum^l_{i=1}[sign(\langle w,X_i\rangle)*Y_i<0]\to min
|
||
\end{gathered}
|
||
\end{equation*}
|
||
используется в задаче классификации. Величина $M_i=\langle w,X_i\rangle)*Y_i$ называется отступом объекта $X_i$, она равна расстоянию от объекта до разделяющей гиперплоскости $(x,w)=0$
|
||
|
||
\[L(a(x))=\frac{1}{l}\sum^l_{i=1}[M_i<0]=L(M)\rightarrow min\]
|
||
Обозначение:
|
||
\begin{equation*}
|
||
[a(x_i)\neq y_i]=
|
||
\begin{cases}
|
||
1,if a(x_i)\neq y_itrue\\
|
||
0,if a(x_i)=y_ifalse
|
||
\end{cases}
|
||
\end{equation*}
|
||
|
||
\item Среднеквадратичная ошибка (mean squared error, MSE):
|
||
\[ L(a(x))=\frac{1}{l}\sum^l_{i=1}(a(X_i-Y_i))^2\to min \]
|
||
используется в задаче регрессии.
|
||
\end{enumerate}
|
||
|
||
\subsection{Верхняя оценка пороговой функции потерь}
|
||
|
||
Оценим функцию $L(M_i)$ сверху во всех точках $M L (M)=log(1+e^{-M}))$. Кусочно -- линейная функция потерь $\tilde{L}(M)=(1-M)^+=max(0,1-M)$. Экспоненциальная функция потерь $\tilde{L}(M)=EXP(-M)$. Квадратичная функция потерь $\tilde{L}(M)=M^2$.
|
||
|
||
Особенность оценочных функций в том, что они по значению больше, либо равны исходной пороговой. Следовательно, минимизация приводит к минимизации потерь и для пороговой функции.
|
||
|
||
\subsection{Задача классификации. Метод логистической регрессии}
|
||
Рассматриваем бинарную классификацию $Y={1,-1}$, хотим построить модель, которая выдает не номер класса, а вероятность принадлежности объекта к классу. Бинарная логистическая регрессия предсказывает вероятность того, что модель принадлежит к положительному классу. Будем говорить, что модель корректно предсказывает вероятности, если среди множества объектов, для которых модель предсказала вероятность $p$, доля положительных равна $p$.
|
||
|
||
Критерий $\sum^N_{i=1}\log(1+\exp(-Y_i\langle X_i,w\rangle)\to \underbrace{\min}_w$
|
||
|
||
\subsection{Классификация методом логистической регрессии}
|
||
Постановка задачи (требование к модели). Задача заключается в том, чтобы найти алгоритм $a(x)$, такой, что
|
||
\[arg\underset{b}{min}\frac{1}{l}\sum^l_{i=1}L(a(x),y)\approx p(y=+1|x)\approx \frac{1}{N}\sum^N_{i=1}y_i=1,\]
|
||
|
||
Если задача решена (мы корректно оценили вероятности), тогда при $l\to\infty$ получаем:
|
||
\[arg\underset{b}{min} EL(a(x),y)=p(y=+1|x),\]
|
||
|
||
где
|
||
\[EL(a(x),y)=p(y=+1|x)*L(a(x),1)+p(y=-1|x)*L(a(x),-1).\]
|
||
|
||
\subsection{Преобразование ответа линейной модели}
|
||
|
||
$\langle X_i,w\rangle \to \sigma(\langle X_i,w\rangle)=\frac{1}{1+exp(-\langle X_i,w\rangle)}\in[0,1]$, это преобразование сохраняет монотонность: если $z_1\leq z_2\to \sigma(z_1)\leq\sigma(z_2).$ Клаccификатор логистической регресии имеет вид:
|
||
\[b(\langle X_i,w\rangle)=\sigma(\langle X_i,w\rangle)\]
|
||
|
||
\subsection{Обучение модели}
|
||
\begin{itemize}
|
||
\item Eсли $Y_i=1$, то $\sigma(\langle X_i,w\rangle)\to 1$
|
||
\item Если $Y_i=-1$, то $\sigma(\langle X_i,w\rangle)\to 0$
|
||
\item Если $\sigma(\langle X_i,w\rangle)\to 0$ то алгоритм уверен, что правильный ответ 0
|
||
\item Если $\sigma(\langle X_i,w\rangle)\to 1$ то алгоритм уверен в положительном ответе
|
||
\end{itemize}
|
||
|
||
Как это сделать??
|
||
\begin{itemize}
|
||
\item Если $Y_i=1$, то $\sigma(\langle X_i,w\rangle)\to1,\langle X_i,w\rangle\to\infty$
|
||
\item Если $Y_i=-1$, то $\sigma(\langle X_i,w\rangle)\to0,\langle X_i,w\rangle\to -\infty$
|
||
\end{itemize}
|
||
|
||
Нужно максимизировать абсолютную величину отступа
|
||
\[Y_i\langle X_i,w\rangle\to \underbrace{\max}_w\]
|
||
|
||
\subsection{Выбор критерия}
|
||
|
||
Нужно: $Y_i\langle X_i,w\rangle\to \underbrace{\max}_w$, Проанализируем $\sigma(\langle X_i,w\rangle)=\frac{1}{1+exp(-\langle X_i,w\rangle)}$
|
||
\[-\sum^N_{i=1}\left\{[Y_i=1]\sigma(\langle X_i,w\rangle)+[Y_i=-1](1-\sigma(\langle X_i,w\rangle)\right\}\to\underbrace{\min}_w\]
|
||
|
||
Этот критерий плохо штрафует за ошибки, если алгоритм уверен в своем ошибочном объекте. Изменим критерий
|
||
\[-\sum^N_{i=1}\left\{[Y_i=1]log(\sigma(\langle X_i,w\rangle))+[Y_i=-1]log((1-\sigma(\langle X_i,w\rangle))\right\}\to\underbrace{\min}_w\]
|
||
|
||
log-loss $L(Y,z)=[Y=1]\log z+[y=-1]\log(1-z))$. Как изменится штраф? После несложных преобразований получим наш исходный критерий: $\sum^N_{i=1}log(1+exp(-Y_i\langle X_i,w\rangle))\to\underbrace{\min}_w$.
|
||
|
||
\subsection{Преобразование критерия}
|
||
\begin{equation*}
|
||
\begin{gathered}
|
||
-\sum^N_{i=1}\left\{[Y_i=1]\log(\sigma(\langle X_i,w\rangle))+[Y_i=-1]\log((1-\sigma(\langle X_i,w\rangle))\right\}=\\
|
||
-\sum^N_{i=1}\left\{[Y_i=1]\log\left(\frac{1}{1+exp(-\langle X_i,w\rangle)}\right)+[Y_i=-1]\log\left(1-\frac{1}{1+exp(-\langle X_i,w\rangle)}\right)\right\}=\\
|
||
\sum^N_{i=1}\left\{[Y_i=1]\log(1+\exp(-\langle X_i,w\rangle))-[Y_i=-1]\log\left(1-\frac{\exp(-\langle X_i,w\rangle)}{1+\exp(-\langle X_i,w\rangle)}\right)\right\}=\\
|
||
\sum^N_{i=1}\left\{[Y_i=1]\log(1+\exp(-\langle X_i,w\rangle))-[Y_i=-1]\log\left(1-\frac{1}{1+\exp(\langle X_i,w\rangle)}\right)\right\}=\\
|
||
\sum^N_{i=1}\left\{\log(1+\exp(-Y_i\langle X_i,w\rangle)\right\}=
|
||
\end{gathered}
|
||
\end{equation*}
|
||
|
||
\section{Решаемые задачи}
|
||
\[ [a(x_i)\neq y_i] =
|
||
\begin{cases}
|
||
1, if a(x_i) \neq y_i\\
|
||
0, if a(x_i) = y_i
|
||
\end{cases}
|
||
\]
|
||
|
||
$a(x_i)$ -- алгоритм обучения. Если применить алгоритм -- получим результат классификации $x_i$, сравниваемый с $y_i$.
|
||
|
||
\begin{multicols}{2}
|
||
\textbf{Классификация}
|
||
|
||
Линейный классификатор:
|
||
$a(x_i)=sign(\sum^r_{j-1}w_jf_{ij}+w_0) \to y_i$
|
||
|
||
Пороговая функция потерь алгоритма
|
||
$L(Y_i,a)=\frac{1}{l}\sum^l_{i=1}[(w,x_i)*y_i<0]\leq \tilde{L}(M)$
|
||
|
||
Метод обучения-минимизация эмпирического риска:
|
||
$L(Y_i,a)=\frac{1}{l}\sum^l_{i=1}[(w,x_i)*y_i<0]\leq \tilde{L}(M)\to \underset{w}{min}$
|
||
|
||
Мера качества: число неправильных классификаций
|
||
$Q(x,a)=\frac{1}{l}\sum^l_{i=1}[a(x_i)\neq y_i]$
|
||
|
||
\columnbreak
|
||
\textbf{Прогнозирование}
|
||
|
||
Линейная регрессия-прогноз
|
||
$a(x_i)=\sum^r_{j-1}w_jf_{ij}+w_0 \to y_i$, модель прогнозирования
|
||
|
||
Функция потерь алгоритма:
|
||
$L(a,y)=(a(X_i)-y_i)^2$
|
||
|
||
Методы обучения: наименьших квадратов; градиентного спуска:
|
||
$L(a,y)=\frac{1}{l}\sum_{i=1}^l(a(x_i))-y_i)^2\to \underset{w}{min}$
|
||
|
||
Мера качества. Средняя квадратичная ошибка (MSE):
|
||
$Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
|
||
\end{multicols}
|
||
|
||
\subsection{Задача классификации. Метод логистической регрессии.}
|
||
Рассматриваем бинарную классификацию $Y = \{1, -1\}$, хотим построить модель, которая выдает не номер класса, а вероятность принадлежности объекта к классу. Бинарная логистическая регрессия предсказывает вероятность того, что модель принадлежит к положительному классу.
|
||
|
||
Будем говорить, что модель корректно предсказывает вероятности, если среди множества объектов, для которых модель предсказала вероятность $p$, доля положительных равна $p$.
|
||
|
||
Критерий $\sum_{i=1}^N \log(1+\exp(-Y_i\langle X_i, w\rangle) \to \underset{w}{min})$\footnote{Треугольные скобки означают скалярное произведение, абсолютную величину отступа}.
|
||
|
||
\section{Регрессия}
|
||
\subsection{Постановка задачи}
|
||
Пусть значение целевой переменной $Y\in R$ для входного вектора $X=\left\{X_1,X_2,...,X_n,..\right\}$ определяется значением детерминированной функции $g(X,w)$ с аддитивным гауссовым шумом:
|
||
\[Y=g(X,w)+\xi, \xi~N(0,\sigma^2)\]
|
||
|
||
Тогда
|
||
\[P(Y|X,w,\sigma^2)~N(g(X,w),\sigma^2)\]
|
||
|
||
Требуется построить функцию $g$: $(X,w)\implies R$ Вид функции $g$ мы задаем, веса $\omega$ определяются в процессе обучения.
|
||
|
||
\subsection{Модель прогнозирования}
|
||
Если линейно-зависимые столбцы мы не можем регрессировать. Разность между модельным и реальным называется разностью. Можно построить график разностей. Если они примерно однородны -- это линейные остатки. Если остатки не переходят в другие области такого графика -- это называется гомоскедастичность.
|
||
|
||
Пусть объект прогнозирования описывается формулой:
|
||
\[y_i=\sum^r_{j=1}(w_jx_ij+w_0)+\xi_i,\]
|
||
где:
|
||
|
||
\begin{enumerate}
|
||
\item Регрессоры (признаки) $x_{i1},...,x_{ir}$, не являются случайными величинами.
|
||
\item Столбцы $X,...,X_r$ - линейно независимы.
|
||
\item Последовательность ошибок удовлетворяет условиям («белый шум»):
|
||
\[E\xi_i=,Var(\xi_i)=\sigma^2_\xi, cov(\xi_i,\xi_j)=0, i\neq j\]
|
||
\end{enumerate}
|
||
|
||
Ошибки некоррелированыи гомоскедастичны. Если величины $\xi_i, i=1, 2, ..., n$,распределены по нормальному закону, то модель называется \textbf{Нормальной регрессионной моделью}.
|
||
|
||
По результатам наблюдений признаков требуется найти значения $w$, которые лучше всего объясняли бы $y_i$, т.е отклонение $\sum^l_{i=1}(y_i-a(x_i))^2$ было бы минимальными для всех возможных значений $(x_i, y_i), i=1, 2, ..., l$.
|
||
|
||
\subsection{Теорема Гаусса -Маркова}
|
||
При выполнении предположений 1-3 для модели
|
||
\[y_i=\sum^r_{j=1}(w_jx_{ij}+w_0)+\xi_i,\]
|
||
оценки $w_j$ полученные методом наименьших квадратов, имеют наименьшую дисперсию в классе всех линейных несмещенных оценок. Формула МНК: $W=(X^TX)^{-1}X^TY$. Сложность обращения матрицы $r^3$. Если столбцы линейно зависимы, то определитель матрицы $X$ равен 0.
|
||
|
||
\subsection{Регуляризация}
|
||
Если матрица $X$ -- вырожденная, то $(X^TX)$ -- не является обратимой, функционал $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(\langle w,x_i\rangle-y_I)^2\to min$ может иметь бесконечное число решений и очень большие веса $w$. Тогда применяют регуляризацию -- минимизируют функционал
|
||
|
||
\[Q(a,x)=\frac{1}{l}\sum^l_{i=1}(\langle w,x_i\rangle-y_I)^2\to min\]
|
||
|
||
\begin{itemize}
|
||
\item $\sum|w|<\alpha$ Лассо-регрессия
|
||
\item $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(\langle w,x_i\rangle-y_I)^2+\gamma||w||^2\to min$ Ридж-регрессия
|
||
\end{itemize}
|
||
|
||
Решение задачи регуляризации имеет вид:
|
||
|
||
\begin{itemize}
|
||
\item $w=(X^TX+\gamma w)^{-1}X^TY.$ Лассо-регрессия может привести к обнулению отдельных переменных
|
||
\item $w=(X^TX+\gamma E_n)^{-1}X^TY.$ Ридж-регрессия
|
||
\end{itemize}
|
||
Параметр $\gamma$ называется гипер-параметром.
|
||
|
||
\subsection{Стандартизация данных}
|
||
Признаки $x_i=\left\{f_{i1},f_{i2},...,f_{ir}\right\}$ объекта $х$ могут иметь различный физический смысл и размерности, поэтому коэффициент $w$, $у$ признака, принимающего большие значения, может принимать маленькие значения, не соответствующие важности признака. Поэтому для повышения способности модели к интерпретации следует выполнять стандартизацию признаков:
|
||
|
||
\[\hat{f_{ij}}=\frac{(f_{ij}-\bar{f_j})}{\sigma_j}, j = 1, 2, ..., r\]
|
||
где $\bar{f_j}=\frac{1}{l}\sum^l_{i=1}f_{ij}$ выборочное среднее, а $\sigma_j=\frac{1}{l}\sum^l_{i=1}(f_{ij}-\bar{f_j})^2$ выборочное средне-квадратичное отклонение.
|
||
|
||
\subsection{Регуляризация в логистической регрессии}
|
||
Логистическая функция потерь:
|
||
\[\tilde{D}(M)=log(1+e^{-M}),\] где \[M=y_i(\langle w,x_i\rangle+w_0)\] -- margin (отступ) объекта. Минимизация эмпирического риска:
|
||
\begin{itemize}
|
||
\item $\frac{1}{l}\sum^l_{i=1}\log(1+e^{-y_i\langle w,x_i\rangle})\to min$ -- без регуляризации
|
||
\item $\frac{1}{l}\sum^l_{i=1}\log(1+e^{-y_i\langle w,x_i\rangle})+C||w||_2\to \underbrace{\min}_{C,w}$ -- с регуляризацией по норме $L_2$
|
||
\item $\frac{1}{l}\sum^l_{i=1}\log(1+e^{-y_i\langle w,x_i\rangle})+C||w||_1\to \underbrace{\min}_{C,w}$ -- с регуляризацией по норме $L_1$
|
||
\end{itemize}
|
||
|
||
\subsection{Меры качества прогнозирования }
|
||
\begin{enumerate}
|
||
\item Средняя квадратичная ошибка $Q(a,x)=MSE=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
|
||
\item Корень из среднеквадратичной ошибки (root mean squared error, RMSE): $RMSE=\sqrt{\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2}$
|
||
\item коэффициент R2 или коэффициент детерминации: $R^2=1-\frac{\sum^l_{i=1}(a(x_i)-y_i)^2}{\sum^l_{i=1}(y_i-\bar{y})^2}$ где $\bar{y}=\sum^l_{i=1}y_i, \sum^l_{i=1}(a(x_i)-y_i)^2$ доля дисперсии объясняемая моделью.
|
||
\item Среднее абсолютное отклонение (mean absolute error, MAE): $MAE(a,x)=\frac{1}{l}\sum^l_{i=1}\lceil y_i-a(x_i)\rceil$
|
||
\end{enumerate}
|
||
|
||
\subsection {Критерии Акаике и Шварца}
|
||
Критерий Акаике:
|
||
\[AIC=\widehat{\ln \sigma_r}^2+2\frac{r}{l}\]
|
||
|
||
Критерий Шварца:
|
||
\[AIC=\widehat{\ln \sigma_r}^2+\frac{r\ln l}{l}\]
|
||
|
||
строго состоятельны.
|
||
\[\hat{\sigma}^2_r=\sum^n_{j=m+1}\xi^2_j/(l-r)\]
|
||
|
||
-- дисперсия ошибки, r -- число признаков. Оптимальная модель имеет минимальное значение критерия. Использование информационных критериев для построения модели:
|
||
|
||
\begin{itemize}
|
||
\item Построить все возможные варианты регрессионной модели, удовлетворяющие критериям (см пред лекцию)
|
||
\item Наилучшая модель должна иметь минимальные значения критериев Акаикеи Шварца.
|
||
\end{itemize}
|
||
|
||
\subsection {Меры качества прогнозирования}
|
||
Скорректированный Коэффициент детерминации $R^2_{adj}=R^2-\frac{r}{l-r}(1-R^2)$. Выбор признаков: если в модель не будет включена переменная, которая должна быть там, то
|
||
|
||
\begin{enumerate}
|
||
\item Уменьшается возможность правильной оценки и интерпретации уравнения
|
||
\item Оценки коэффициентов могут оказаться смещенными
|
||
\item Стандартные ошибки коэффициентов и соответствующие t-статистики в целом становятся некорректными.
|
||
\end{enumerate}
|
||
|
||
\textbf{Четыре критерия для включения переменной}
|
||
\begin{enumerate}
|
||
\item Роль переменной в уравнении опирается на прочные теоретические основания
|
||
\item Высокие значения t-статистики $t_{stat}=\frac{w-\bar{w}}{\sigma_w\sqrt{l}}$
|
||
\item Исправленный коэффициент детерминации растет при включении переменной
|
||
\item Другие коэффициенты испытывают значительное смещение при включении новой переменной
|
||
\end{enumerate}
|
||
\subsection {Пример решения задачи регрессии с ис}
|
||
|
||
\section{Линейная регрессия}
|
||
$g(X_i,w)=\sum^r_{j=1}(w_jx_{ij}+w_0)\rightarrow Y_i$ , модель прогнозирования, $X_i-r$–мерный вектор
|
||
Функция потерь алгоритма: $L(a,y)=(g(X_i,w)-Y_i)^2$
|
||
Методы обучения: наименьших квадратов; градиентного спуска:
|
||
$$L(a,y)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2\rightarrow min \underset{w}{min}$$
|
||
Мера качества. Средняя квадратичная ошибка (MSE): $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2$
|
||
% lgrebenuk12@yandex.ru
|
||
\begin{equation*}
|
||
\begin{gathered}
|
||
R^2 = 1-\frac{\sum_{i=1}^l(a(x_i)-y_i)}{\sum_{i=1}^l(y_i-\overline{y})^2}\\
|
||
\overline{y} = \frac{1}{n}\sum y_i\\
|
||
MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \overline{y})^2 = \sigma^2_r
|
||
\end{gathered}
|
||
\end{equation*}
|
||
числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель - где ошибка классификатора минимальна. r - число регрессоров. В модель нежелательно включать лишние регрессоры (штрафы по критериям акаике и шварца).
|
||
|
||
Критерии для включения переменной
|
||
\begin{enumerate}
|
||
\item Роль переменной в уравнении опирается на прочные теоретические основания
|
||
\item высокие значения t-статистики $t_{stat} = \frac{\omega-\overline{\omega}}{\sigma_\omega\sqrt{l}}$
|
||
\item исправленный коэффициент детерминации растёт при включении лишней переменной
|
||
\item другие коэффициенты испытывают значительное смещение при включении лишней новой переменной
|
||
\end{enumerate}
|
||
|
||
\begin{equation*}
|
||
\begin{gathered}
|
||
y = \omega x + \omega_0 = \tilde{\omega{x}} \to \frac{1}{1-e^{-\omega x}} = \sigma\\
|
||
x = (x_1, ..., x_K 1)
|
||
\end{gathered}
|
||
\end{equation*}
|
||
|
||
регрессия выдаёт вероятности. Алгоритм максимизирует отступ классификатора (расстояние до ближайшего объекта).
|
||
|
||
\subsubsection {Нелинейная регрессия. Базисные функции.}
|
||
\[g(X,w)\sum^p_{j=1}w_j\varphi_j(X)+w_0=\sum^p_{j=0}w_j\varphi_j(X),\varphi_0(X)=1'\]
|
||
Число базисных функций может отличаться от числа признаков $j$.
|
||
|
||
\subsection{Линейно разделимый случай}
|
||
Мы можем найти такие параметры, при которых классификатор не допускает ни одной ошибки
|
||
|
||
Отступ классификатора
|
||
|
||
...
|
||
|
||
Вычисление ширины разделяющей полосы классификатора
|
||
|
||
...
|
||
|
||
Метод опорных векторов
|
||
|
||
\section{Домашнее задание}
|
||
\section{Задания на РК}
|
||
В таблице показаны прогнозы, сделанные по двум регрессионным моделям. Для каждой модели рассчитайте сумму квадратов ошибки и оцените качество моделей.
|
||
\begin{table}[H]
|
||
\centering
|
||
\begin{tabular}{||r|c|c||}
|
||
\hline
|
||
f1 & f2 & fact \\ [0.5ex]
|
||
\hline\hline
|
||
2.623 & 2.664 & 2.691 \\
|
||
2.423 & 2.436 & 2.367 \\
|
||
2.423 & 2.399 & 2.412 \\
|
||
2.448 & 2.447 & 2.440 \\
|
||
2.762 & 2.847 & 2.693 \\
|
||
2.435 & 2.411 & 2.493 \\
|
||
2.519 & 2.516 & 2.598 \\
|
||
2.772 & 2.870 & 2.814 \\
|
||
2.601 & 2.586 & 2.583 \\
|
||
2.422 & 2.414 & 2.485 \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{table}
|
||
\[MSE_1 = \frac{1}{N}\sum_{i=1}^N(f_i-f1_i)^2\]
|
||
|
||
\section{Решающие деревья, случайный лес}
|
||
Дерево -- это ациклический граф.
|
||
|
||
Решающие деревья -- это инструмент построения логических алгоритмов для решения задач классификации и регрессии. В отличие от линейных алгоритмов позволяет восстанавливать нелинейные зависимости произвольной сложности.
|
||
|
||
Алгоритм обучения, на вход которого поступает обучающая выборка $(X, Y) = (x_i,y_i)_{i=1}-1^l$, строит решающее дерево, которое представляет собой связный ациклический граф, включающий:
|
||
\begin{itemize}
|
||
\item набор вершин двух типов вершин: внутренних и листовых;
|
||
\item набор правил перехода из внутренних вершин в листовые и внутренние;
|
||
\item набор правил останова- прекращения обучения.
|
||
\end{itemize}
|
||
|
||
После окончания процесса обучения для каждого объекта $x \in (X,Y)$ определяется класс или вектор степени уверенности алгоритма в выборе каждого класса в случае решения задачи классификации;
|
||
|
||
\subsection{Параметры алгоритма обучения}
|
||
квадратные скобки -- это предикаты -- если да, идём налево в дереве, если нет -- направо.
|
||
|
||
\subsection{Энтропия}
|
||
Энтропия -- это уровень неопределённости относительно реализации случайной величины $H = -\sum_{i=1}^k p_i \log_2p_i$.
|
||
|
||
\subsection{Критерии качества разбиения}
|
||
\textbf{IG -- information gain}
|
||
|
||
Вместо IG можно рассматривать взвешенный энтропийный критерий, Критерий джини, критерий в задачах в регрессии.
|
||
|
||
\subsection{Листовые вершины}
|
||
В каждой листовой вершине дерево будет выдавать константу или вектор вероятностей.
|
||
|
||
\end{document} |