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/common-preamble}
\input{settings/bmstu-preamble} \input{settings/bmstu-preamble}
\input{settings/fancy-listings-preamble} \input{settings/fancy-listings-preamble}
\author{Гребенюк Елена Алексеевна} \author{Гребенюк Елена Алексеевна (lgrebenuk12@yandex.ru)}
\title{Технологии разработки информационных систем для анализа больших объёмов информации} \title{Технологии разработки информационных систем для анализа больших объёмов информации}
\date{2023-02-08} \date{2023-02-08}
@ -637,15 +637,17 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
\item Исправленный коэффициент детерминации растет при включении переменной \item Исправленный коэффициент детерминации растет при включении переменной
\item Другие коэффициенты испытывают значительное смещение при включении новой переменной \item Другие коэффициенты испытывают значительное смещение при включении новой переменной
\end{enumerate} \end{enumerate}
\subsection {Пример решения задачи регрессии с ис} % \subsection {Пример решения задачи регрессии с ис}
\section{Линейная регрессия} \section{Линейная регрессия}
$g(X_i,w)=\sum^r_{j=1}(w_jx_{ij}+w_0)\rightarrow Y_i$ , модель прогнозирования, $X_i-r$–мерный вектор $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)=(g(X_i,w)-Y_i)^2$ \begin{itemize}
Методы обучения: наименьших квадратов; градиентного спуска: \item наименьших квадратов;
$$L(a,y)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2\rightarrow min \underset{w}{min}$$ \item градиентного спуска:
Мера качества. Средняя квадратичная ошибка (MSE): $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2$ \[L(a,y)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2\to \underset{w}{\min}\]
% lgrebenuk12@yandex.ru \end{itemize}
Мера качества. Средняя квадратичная ошибка (MSE): $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(g(X_i,\omega)-Y_i)^2$
\begin{equation*} \begin{equation*}
\begin{gathered} \begin{gathered}
R^2 = 1-\frac{\sum_{i=1}^l(a(x_i)-y_i)}{\sum_{i=1}^l(y_i-\overline{y})^2}\\ 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 MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \overline{y})^2 = \sigma^2_r
\end{gathered} \end{gathered}
\end{equation*} \end{equation*}
числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель - где ошибка классификатора минимальна. r - число регрессоров. В модель нежелательно включать лишние регрессоры (штрафы по критериям акаике и шварца). числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель -- где ошибка классификатора минимальна. В модель нежелательно включать лишние регрессоры (штрафы по критериям аике и Iварца).
Критерии для включения переменной Критерии для включения переменной
\begin{enumerate} \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'\] \[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$. Число базисных функций может отличаться от числа признаков $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{Линейно разделимый случай} \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{Задания на РК} \section{Задания на РК}
В таблице показаны прогнозы, сделанные по двум регрессионным моделям. Для каждой модели рассчитайте сумму квадратов ошибки и оцените качество моделей. В таблице показаны прогнозы, сделанные по двум регрессионным моделям. Для каждой модели рассчитайте сумму квадратов ошибки и оцените качество моделей.
\begin{table}[H] \begin{table}[H]

View File

@ -17,7 +17,7 @@
\href{https://jino.cloud/s/GGZgntaAqMRQbK2}{Вентцель -- Теория вероятностей} \href{https://jino.cloud/s/GGZgntaAqMRQbK2}{Вентцель -- Теория вероятностей}
\href{https://jino.cloud/s/8qNSXycHpkmmmZb}{Гмурман -- Ьеория вероятностей и математическая статистика} \href{https://jino.cloud/s/8qNSXycHpkmmmZb}{Гмурман -- Теория вероятностей и математическая статистика}
\subsection{Содержание курса} \subsection{Содержание курса}
\begin{enumerate} \begin{enumerate}

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