diff --git a/chapters/anomalies/main.tex b/chapters/anomalies/main.tex index fbc97ea..6dcbea0 100644 --- a/chapters/anomalies/main.tex +++ b/chapters/anomalies/main.tex @@ -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} +