bdaisdt lec + tsaf minor update + tsaf-hw-01 failed

This commit is contained in:
Ivan I. Ovchinnikov 2023-03-14 20:04:10 +03:00
parent 11f7949694
commit f5a9d057df
9 changed files with 229 additions and 19 deletions

View File

@ -3,7 +3,7 @@
\input{settings/common-preamble}
\input{settings/bmstu-preamble}
\input{settings/fancy-listings-preamble}
\author{Гребенюк Елена Алексеевна}
\author{Гребенюк Елена Алексеевна (lgrebenuk12@yandex.ru)}
\title{Технологии разработки информационных систем для анализа больших объёмов информации}
\date{2023-02-08}
@ -558,7 +558,7 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
По результатам наблюдений признаков требуется найти значения $w$, которые лучше всего объясняли бы $y_i$, т.е отклонение $\sum^l_{i=1}(y_i-a(x_i))^2$ было бы минимальными для всех возможных значений $(x_i, y_i), i=1, 2, ..., l$.
\subsection{Теорема Гаусса -Маркова}
\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.
@ -637,15 +637,17 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
\item Исправленный коэффициент детерминации растет при включении переменной
\item Другие коэффициенты испытывают значительное смещение при включении новой переменной
\end{enumerate}
\subsection {Пример решения задачи регрессии с ис}
% \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
$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$. Методы обучения:
\begin{itemize}
\item наименьших квадратов;
\item градиентного спуска:
\[L(a,y)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2\to \underset{w}{\min}\]
\end{itemize}
Мера качества. Средняя квадратичная ошибка (MSE): $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(g(X_i,\omega)-Y_i)^2$
\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}\\
@ -653,7 +655,7 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \overline{y})^2 = \sigma^2_r
\end{gathered}
\end{equation*}
числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель - где ошибка классификатора минимальна. r - число регрессоров. В модель нежелательно включать лишние регрессоры (штрафы по критериям акаике и шварца).
числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель -- где ошибка классификатора минимальна. В модель нежелательно включать лишние регрессоры (штрафы по критериям аике и Iварца).
Критерии для включения переменной
\begin{enumerate}
@ -676,20 +678,159 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
\[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$.
\section{Метод опорных векторов}
\includegraphics[width=0.5\textwidth]{pics/04-bdaisdt-ROC-11.png}
\begin{itemize}
\item Решает задачу бинарной классификации $Y=\left\{1,-1\right\}$
\item Классификатор линейный -- $\langle X_i, w \rangle $,
\item Функция потерь $L(\mathcal{L},a(x))=\sum^N_{i=1}(0,1-Y_i\langle X_i,w\rangle)\rightarrow \underset{w}{\min}$
\item Алгоритм максимизирует отступ классификатора (расстояние до ближайшего объекта), при условии минимизации числа ошибок.
\end{itemize}
\subsection{Линейно разделимый случай}
Мы можем найти такие параметры, при которых классификатор не допускает ни одной ошибки
Отступ классификатора
Пусть существуют такие параметры $w^*$ и $b^*$, что классификатор $a(X_i,w)=sign(\langle w^*, X_i\rangle+b^*)$ не допускает ни одной ошибки на обучающей выборке, т.е. выборка является линейно разделимой. Тогда строим алгоритм такой, что
\begin{enumerate}
\item $Y_i(\langle X_i, w\rangle+w_0)>0, i=1,2,...,N;$
\item Отступ классификатора -- расстояние от границы до ближайшего объекта максимальное.
\end{enumerate}
...
\includegraphics[width=0.25\textwidth]{pics/04-bdaisdt-ROC-12.png}
Вычисление ширины разделяющей полосы классификатора
Величина отступа или функция потерь алгоритма на обучающей выборке :
...
\[D(x,a)=\frac{1}{l}\sum^l_{i=1}[sign(w, x_i)*y_i<0]\]
Метод опорных векторов
где $sign(w, x_i)*y_i$ называется отступом. Положительный знак отступа соответствует правильному ответу, отрицательный -- неправильному, величина отступа -- среднее расстояние от разделяющей гиперплоскости до объектов. Метод обучения -- минимизация эмпирического риска. Функционал
\section{Домашнее задание}
\[D(x,a)=\frac{1}{l}\sum^l_{i=1}[sign(w, x_i)*y_i<0]\to \underset{w}{min}\]
не допускает использование градиентных методов поиска экстремума.
\subsection{Отступ классификатора}
Пусть $(sign\langle \hat{w},X_i \rangle+\hat{b})$ -- построенный линейный классификатор. Тогда расстояние от любой точки $X_i\in{X_t,Y_t},t=1,2,...,N$ обучающей выборки до гиперплоскости, определяемой уравнением,$\hat{w}X+\hat{b}=0$ равно:
\[ \rho_0(x,a)=\frac{|\hat{w}X_i+\hat{b}|}{||\hat{w}||}\]
оно совпадает с отступом объекта $X_i$, следовательно, отступ классификатора равен
\[\underbrace{\min}_{i=1,2,...,N}\frac{|\hat{w}X_i+\hat{b}|}{||\hat{w}||}\]
\textbf{Вычисление ширины разделяющей полосы классификатора}
Ищем $\alpha$ такое, что для $w^*=\alpha\hat{w}$ и $b^*=\alpha\hat{b}$
\[\underbrace{\min}_{i=1,2,...,N}|w^*X_i+b^*|=1\]
Тогда расстояние от гиперплоскости до ближайшего объекта обучающей выборки равно $\underbrace{\min}_{i=1,2,...,N}\frac{w^*X_i+b^*}{||w*||}=\frac{1}{||w^*||}$, т.е. ширина разделяющей полосы (отступ классификатора) равна $\frac{2}{||w^*||}$
Строим классификатор, без ошибок разделяющий обучающую выборку и имеющий максимальный отступ.
\[ \begin{cases}
\begin{gathered}
y_i(\langle w^*,X_i\rangle + b^*)\geq 1, i = 1, 2, ..., l\\
||w^*||^2/2 \to \underbrace{\min}_{b^*,w^*}
\end{gathered}
\end{cases}\]
Первое условие означает отсутствие ошибок классификации для линейно разделимой выборки.
\textbf{Неразделимый случай.} Если в выборке есть $X_i$, такие что при любых $w^*$ и $b^*$, не существует решения задачи, то для них рассматриваются ограничения
\[y_i(\langle w^*,X_i\rangle+b^*)\geq 1-\xi_i\]
где $\xi_i>0$ -- штраф за нарушение ограничений. Если отступ объекта лежит между 0 и 1, то объект верно классифицируется, но штрафуется за попадание внутрь разделяющей полосы.
\subsection{Метод опорных векторов для линейно неразделимой выборки}
Найти такие $w,b,\xi_i$, для которых задача
\[ \begin{cases}
\begin{gathered}
||\hat{w}||^2/2+C\sum^l_{i=1}\xi_i\to \underbrace{min}_{b,w,\xi}\\
y_i(\langle \hat{w},X_i\rangle + \hat{b})\geq 1-\xi_i, i = 1, 2, ..., l\\
\xi_i \geq 0, i = 1, 2, ..., l\\
\end{gathered}
\end{cases}\]
Имеет допустимое решение, где $С>0$ -- гипер-параметр
\textbf{Замена задачи условной оптимизации задачей безусловной оптимизации}
Задача условной оптимизации
\[ \begin{cases}
\begin{gathered}
||\hat{w}||^2/2+C\sum^l_{i=1}\xi_i\to \underbrace{min}_{b,w,\xi}\\
y_i(\langle \hat{w},X_i\rangle + \hat{b})\geq 1-\xi_i, i = 1, 2, ..., l\\
\xi_i \geq 0, i = 1, 2, ..., l\\
\end{gathered}
\end{cases}\]
Перепишем второе и третье условия в виде:
\[ \begin{cases}
\begin{gathered}
\xi_i\gg 1 - y_i(\langle \hat{w},X_i\rangle + \hat{b})\\
\xi_i \geq 0
\end{gathered}
\to \xi_i \geq max(0,1-y_i(\langle \hat{w},X_i\rangle + \hat{b}))
\end{cases}\]
Отступ $М$ по определению равен $M=y_i(\langle \hat{w},X_i \rangle+\hat{b})$, тогда $\max(0,1-(\langle \hat{w},X_i \rangle+\hat{b}))=\max(0,1-M)$. И задача безусловной оптимизации имеет вид
\[||\hat{w}||^2/2+С\sum^l_{i=1}max(0,1-M)\rightarrow \underbrace{\min}_{\hat{w},M}\]
\subsection{Сравнение логистической регрессии и SVM}
Логистическая регрессия требует, чтобы отступ уходил в $+\infty$ на каждом объекте -- важно для формирования корректных вероятностей, SVM достаточно отступа равного 1.
\includegraphics[width=0.5\textwidth]{pics/04-bdaisdt-ROC-13.png}
\subsection{Логистическая регрессия -- задание параметров}
\begin{verbatim}
LogisticRegression (penalty='l2', *, dual=False, tol=0.0001, C=1.0,
fit_intercept=True, intercept_scaling=1, class_weight=None,
random_state=None, solver='lbfgs', max_iter=100, multi_class='auto',
verbose=0, warm_start=False, n_jobs=None, l1_ratio=None) [source]
\end{verbatim}
Регуляризация применяется по умолчанию, Solver -- \code{liblinear, bfgs, newton-cg, sag} -- алгоритмы минимизации эмпирического риска.
\begin{enumerate}
\item Алгоритм Бройдена-Флетчера-Голдфарба-Шанно -- \code{bfgs}
\item Алгоритм сопряженных градиентов (Ньютона) -- \code{newton-cg}
\item Стохастический алгоритм усредненного градиента -- \code{sag}
\end{enumerate}
Решатели «newton-cg», «sag» и «lbfgs» поддерживают только регуляризацию L2. По умолчанию классификатор содержит константу. \code{Liblinear} для небольших размерностей данных, \code{sag} -- для больших. С -- гиперпараметр, не может определяться по обучающей выборке.
\code{class_weight}: \code{dict} or \code{balanced} (default=\code{None}) -- веса классов по умолчанию -1, \code{balanced} -- веса устанавливаются обратно пропорционально частотам класса во входных данных.
\code{max_iter}: int(default=100) -- используется только для \code{newton-cg}, \code{sag} и \code{lbfgs}.
\subsection{svm.LinearSVC}
\begin{verbatim}
svm.LinearSVC (penalty='l2', loss='squared_hinge',*, dual=True,
tol=0.0001, C=1.0, multi_class='ovr', fit_intercept=True,
intercept_scaling=1, class_weight=None, verbose=0,
random_state=None, max_iter=1000)
\end{verbatim}
использование \code{penalty=l1'}, и функции потерь \code{loss='squared_hinge} не поддерживается, $С >0$ -- гиперпараметр.
\begin{verbatim}
svm.SVC (*, C=1.0, kernel='rbf', degree=3, gamma='scale', coef0=0.0,
shrinking=True, probability=False, tol=0.001, cache_size=200,
class_weight=None, verbose=False, max_iter=- 1,
decision_function_shape='ovr', break_ties=False, random_state=None)
\end{verbatim}
\subsection{Оценка качества решения задачи. Режимы тестирования}
\begin{itemize}
\item \textbf{Отложенная выборка:} выделение обучающей, валидационной, и тестовой выборок, оценка качества работы алгоритма на обеих выборках.
\item \textbf{Полная кросс-валидация}. Выбирается значение $t$, затем выборка разбивается всеми возможными способами на две части: $T^l=T^t\cup T_{l-t}$, вычисляется средняя оценка качества по всем разбиениям.
\item \textbf{K-fold кросс-валидация}. Обучающая выборка разбивается на $k$ непересекающихся одинаковых по объему частей. Выполняется $k$ итераций. На каждой итерации из выборки удаляется одна из частей и модель обучается по оставшимся частям выборки. Модель тестируется на части обучающей выборки, которая не участвовала в обучении. Вычисляется средняя оценка качества по всем разбиениям
\end{itemize}
% \section{Домашнее задание}
\section{Задания на РК}
В таблице показаны прогнозы, сделанные по двум регрессионным моделям. Для каждой модели рассчитайте сумму квадратов ошибки и оцените качество моделей.
\begin{table}[H]

View File

@ -17,7 +17,7 @@
\href{https://jino.cloud/s/GGZgntaAqMRQbK2}{Вентцель -- Теория вероятностей}
\href{https://jino.cloud/s/8qNSXycHpkmmmZb}{Гмурман -- Ьеория вероятностей и математическая статистика}
\href{https://jino.cloud/s/8qNSXycHpkmmmZb}{Гмурман -- Теория вероятностей и математическая статистика}
\subsection{Содержание курса}
\begin{enumerate}
@ -491,7 +491,7 @@ $ARIMA(p, d, q);$ Если ряд -- стационарный, то строим
Условие стационарности $|\alpha_1| < 1$. пишем характеристическое уравнение
\begin{equation*}
\begin{gathered}
(1-\alpha_1L)y_t = (1+\beta_1L)\xi_t, \xi_t\simN(0, \sigma^2)\\
(1-\alpha_1L)y_t = (1+\beta_1L)\xi_t, \xi_t\sim N(0, \sigma^2)\\
1-\alpha_1K=0\\
k=\frac{1}{\alpha_1}\\
|k| = |\frac{1}{\alpha_1}| > 1, \alpha_1 < 1.

69
04-tsaf-01-hw.tex Normal file
View File

@ -0,0 +1,69 @@
\documentclass[a4paper,fontsize=14bp]{article}
\input{settings/common-preamble}
\input{settings/fancy-listings-preamble}
\input{settings/bmstu-preamble}
\numerationTop
\begin{document}
\thispagestyle{empty}
\makeBMSTUHeader
\makeReportTitle{домашней}{№ 1}{Введение}{Анализ и прогнозирование временн\'{ы}х рядов}{а}{Е.А.Гребенюк}
\newpage
\sloppy
\pagestyle{fancy}
\section{Задание}
Рассмотрим процесс
\[y_t = \xi_t - 2.5\xi_{t-1}+\xi_{t-2}, \xi_t \sim N(0,1)\]
\begin{enumerate}
\item Является ли процесс $y_t$ обратимым и стационарным?
\item Найти автоковариационную функцию процесса $y_t$.
\item Вычислить дисперсию процесса $y_t$.
\item Рассматривается процесс ARMA(1, 1):
$1-\alpha L y_t = (1-0.5L)\xi_t$, где $\alpha$ -- некоторое действительное число и $\xi_t = N(0,\sigma_\xi^2)$. Найти
\begin{itemize}
\item все $\alpha \in \mathbb{R}$ для которых процесс является стационарным;
\item все $\alpha \in \mathbb{R}$ для которых процесс является обратимым
\end{itemize}
\end{enumerate}
\section{Выполнение}
\subsection{Обратимость и стационарность}
Для процесса возможно построить характеристическое уравнение. Если корни характеристического уравнения авторегрессии по модулю больше 1, то процесс стационарен. Опишем в с помощью оператора сдвига
\[y_t = 1-2.5L+1L^2\]
и решим квадратное уравнение
\begin{equation*}
\begin{gathered}
1-2.5z+z^2=0\\
z = \frac{-b\pm\sqrt{b^2-4ac}}{2a}\\
z_1 = \frac{-2.5-\sqrt{-2.5^2-4}}{2}\\
z_1 = 1.25 + \sqrt{1.5625-1} \approx 2\\
z_2 = \frac{-2.5+\sqrt{-2.5^2-4}}{2}\\
z_2 = 1.25 - \sqrt{1.5625-1} \approx 0.5
\end{gathered}
\end{equation*}
Только один корень уравнения по модулю больше, поэтому процесс \textbf{не является стационарным}.
Процесс является обратимым если корни характеристического уравнения скользящего среднего процесса больше 1.
\[1-1.5\lambda = 0\]
Корень характеристического уравнения $\lambda = \frac{1}{1.5} = 0.6(6)$ -- процесс \textbf{не обратим}.
\subsection{Автоковариационная функция}
\subsection{Дисперсия процесса}
\begin{equation*}
\begin{gathered}
M[x] = \sum x_i p_i\\
M[x] = 0*1+1*(-2.5)+2*1 = -0.5\\
D[Y] = \sum x^2_i p_i - \left(\sum x_i p_i \right)^2\\
D = 0^2*1+1^2+-2.5+2^2*1-(0*1+1*(-2.5)+2*1)^2=1.25
\end{gathered}
\end{equation*}
\subsection{Процесс ARMA(1, 1)}
\end{document}

BIN
pics/04-bdaisdt-ROC-11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
pics/04-bdaisdt-ROC-12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
pics/04-bdaisdt-ROC-13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
pics/04-bdaisdt-ROC-14.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
pics/04-bdaisdt-ROC-15.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
pics/04-bdaisdt-ROC-16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB