Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions chapters/anomalies/main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -487,3 +487,107 @@ \subsection*{2. Симметричность}
M(z_1, \dots, z_l) = M(z_{\pi(1)}, \dots, z_{\pi(1)}) \text{ для } \forall \pi
\subsection*{3. Среднее по Коши}
\min_i{{z_i}} \leq M(z_1, \dots, z_t) \leq max_i{{z_i}}

\section{Что такое аномалии?}
Аномалии (или выбросы) — это данные, которые значительно отличаются от большинства других наблюдений в наборе данных. Такие точки могут не подходить к общей структуре данных и могут искажать результаты анализа. В контексте машинного обучения задача детекции аномалий заключается в выявлении этих данных, чтобы они не повлияли на модели прогнозирования, классификации или кластеризации.

\section{Методы детекции аномалий}
Существует множество методов для поиска аномальных данных. В этой статье мы сосредоточимся на двух популярных подходах: \textbf{Isolation Forest} и \textbf{Local Outlier Factor (LOF)}.

\subsection{Isolation Forest}
\textit{Isolation Forest} (или просто iForest) — это метод, специально предназначенный для эффективного обнаружения аномалий в больших наборах данных. Алгоритм работает по принципу изоляции аномальных точек. Идея заключается в том, что аномалии легче изолировать, чем нормальные точки. В отличие от других методов, таких как кластеризация, в которых модели пытаются понять структуру данных, iForest создает множество случайных деревьев, в которых выбросы изолируются быстрее, чем обычные точки.

\textbf{Алгоритм Isolation Forest:}
\begin{enumerate}
\item \textbf{Строительство деревьев:} Для каждого дерева алгоритм случайным образом выбирает подмножество признаков и случайным образом разбиение в этом подмножестве. Процесс повторяется, пока данные не будут полностью разделены.
\item \textbf{Изоляция:} Точки, которые быстро изолируются, считаются аномальными. Чем больше шагов требуется для изоляции точки, тем менее вероятно, что она является аномальной.
\item \textbf{Оценка:} После построения всех деревьев каждая точка получает свой "score" (оценку), который показывает, насколько вероятно, что точка является аномальной. Чем выше score, тем более вероятно, что точка аномальна.
\end{enumerate}

\textbf{Преимущества Isolation Forest:}
\begin{itemize}
\item \textbf{Эффективность:} Метод работает быстрее, чем многие другие алгоритмы детекции аномалий, особенно при больших объемах данных.
\item \textbf{Независимость от распределения данных:} Алгоритм не требует знания распределения данных и работает хорошо с разреженными и высокоразмерными данными.
\item \textbf{Масштабируемость:} Подходит для обработки больших данных, что делает его эффективным инструментом для работы с реальными задачами.
\end{itemize}

\subsection{Local Outlier Factor (LOF)}
\textit{Local Outlier Factor} (LOF) — это метод, который оценивает плотность точек в контексте их соседей. Он предполагает, что аномалии имеют меньшую плотность по сравнению с соседними точками, и, используя это свойство, обнаруживает выбросы. В отличие от Isolation Forest, который изолирует точки, LOF анализирует их относительное положение среди соседей.

\textbf{Алгоритм LOF:}
\begin{enumerate}
\item \textbf{Вычисление плотности:} Для каждой точки вычисляется плотность, используя ее расстояния до ближайших соседей. Это делается с помощью так называемой расстояния до k ближайших соседей.
\item \textbf{LOF score:} Для каждой точки рассчитывается LOF score, который показывает, насколько плотность этой точки отличается от плотности ее соседей. Если LOF score значительно выше 1, то точка считается аномальной.
\item \textbf{Оценка аномальности:} Точки с LOF score > 1 считаются аномальными, поскольку их плотность значительно ниже, чем у их соседей.
\end{enumerate}

\textbf{Преимущества LOF:}
\begin{itemize}
\item \textbf{Локальная оценка:} LOF способен учитывать локальные особенности данных, что делает его более подходящим для детекции аномалий в данных с неравномерным распределением.
\item \textbf{Интерпретируемость:} LOF можно интерпретировать как меру аномальности на основе плотности точек.
\item \textbf{Гибкость:} LOF хорошо работает с различными типами данных, включая данные с несколькими кластерами.
\end{itemize}

\section{Сравнение Isolation Forest и LOF}
\begin{tabular}{|l|l|l|}
\hline
\textbf{Критерий} & \textbf{Isolation Forest} & \textbf{LOF} \\
\hline
Подход & Изоляция аномальных точек & Оценка плотности точек по соседям \\
Сложность & Низкая (быстро работает с большими данными) & Высокая (вычисление плотности соседей для каждой точки) \\
Область применения & Большие, высокоразмерные и разреженные данные & Данные с неравномерной плотностью, локальные выбросы \\
Масштабируемость & Хорошая (масштабируем к большим данным) & Меньшая, особенно для больших наборов данных \\
Преимущество & Эффективность и простота реализации & Способность учитывать локальные особенности данных \\
\hline
\end{tabular}

\section{Применение в реальных задачах}
Оба метода находят широкое применение в различных областях:
\begin{itemize}
\item \textbf{Финансовые транзакции:} Выявление мошенничества в банковских системах или платежных платформах.
\item \textbf{Интернет-безопасность:} Обнаружение атак, вторжений или необычной активности на веб-сайтах и в системах.
\item \textbf{Медицинские данные:} Выявление аномальных показателей здоровья или необычных паттернов в медицинских изображениях.
\item \textbf{Инженерные системы:} Обнаружение дефектов в процессе производства или аномалий в работе оборудования.
\end{itemize}

\section{Заключение}
Детекция аномалий — важная задача для многих областей машинного обучения и анализа данных. \textbf{Isolation Forest} и \textbf{LOF} представляют собой два мощных метода для решения этой задачи, каждый с уникальными преимуществами. \textit{Isolation Forest} эффективен для обработки больших данных и изоляции аномалий, тогда как \textit{LOF} позволяет учитывать локальные особенности данных и является полезным для обнаружения выбросов в сложных, неравномерных распределениях. Выбор между этими методами зависит от конкретной задачи, объема данных и характера аномалий.

\section{Задачи, решаемые с использованием методов Isolation Forest и LOF}

\subsection{1. Выявление мошенничества в банковских транзакциях с использованием Isolation Forest}
\textbf{Задача:} Обнаружение мошеннических транзакций на банковских счетах.

\textbf{Описание:} В банковских системах аномальные транзакции могут указывать на мошенничество. Например, это может быть транзакция, которая отличается от обычных по сумме, месту или времени.

\textbf{Как применить:}
\begin{itemize}
\item Используем данные о транзакциях, такие как сумма, время, местоположение и тип транзакции.
\item Обучаем модель \textit{Isolation Forest} на нормальных транзакциях.
\item Модель будет изолировать аномальные транзакции (например, большие суммы, необычные локации) и классифицировать их как потенциально мошеннические.
\end{itemize}

\subsection{2. Обнаружение аномальных значений в показателях молока у коров с использованием LOF}
\textbf{Задача:} Выявление аномальных данных о молочном производстве у коров, например, сбоев в работе датчиков.

\textbf{Описание:} В фермерских хозяйствах и на молочных фермах используют датчики для мониторинга показателей молока, таких как количество, жирность и другие параметры.

\textbf{Как применить:}
\begin{itemize}
\item Собираем данные о молочных показателях с различных коров, включая количество молока, содержание жира и другие параметры.
\item Применяем LOF для оценки плотности значений каждого коровьего показателя в контексте соседних значений.
\item LOF определит аномалии, такие как случайные скачки или падения в значениях.
\end{itemize}

\subsection{3. Выявление мошенничества в онлайн-магазинах с помощью Isolation Forest}
\textbf{Задача:} Обнаружение мошеннических заказов в онлайн-магазине, например, с помощью данных о заказах, покупках и поведении пользователей.

\textbf{Описание:} В онлайн-магазинах могут быть случаи мошенничества, когда покупатели делают фальшивые заказы или пытаются обмануть систему с помощью поддельных платежей.

\textbf{Как применить:}
\begin{itemize}
\item Используем данные о пользователях и их заказах: сумма, время, адрес, частота покупок, способ оплаты.
\item Применяем модель \textit{Isolation Forest} для обнаружения аномальных заказов.
\item Модель будет определять потенциально мошеннические действия.
\end{itemize}