- •Аннотация
- •Содержание
- •Введение
- •1 Теоретические основы Data Mining
- •1.1 Понятие Data Mining и этапы процесса kdd
- •1.2 Подготовка данных: очистка, нормализация и выбор признаков
- •1.3 Обучение с учителем: классификация и регрессия
- •2 Алгоритмы классификации
- •2.1 Постановка задачи классификации
- •2.2 Логические методы: Деревья решений
- •2.3 Вероятностные методы: Наивный байесовский классификатор
- •2.4 Метрические методы: k-ближайших соседей (k-nn)
- •2.5 Метод опорных векторов (svm)
- •2.6 Метрики оценки качества классификации
- •3 Алгоритмы регрессии
- •3.1 Постановка задачи регрессии
- •3.2 Линейная регрессия
- •3.3 Логистическая регрессия
- •3.4 Метрики оценки качества регрессии
- •Заключение
- •Список используемых источников
2 Алгоритмы классификации
2.1 Постановка задачи классификации
Формально задача
классификации ставится следующим
образом. Пусть
– пространство объектов (пространство
признаков), а
– конечное множество меток классов.
Существует неизвестная целевая
зависимость
,
значения которой известны только на
объектах обучающей выборки
.
Требуется построить алгоритм
,
способный классифицировать произвольный
объект
[6].
2.2 Логические методы: Деревья решений
Деревья решений (Decision Trees) — это один из наиболее интерпретируемых методов Data Mining. Модель представляет собой иерархическую структуру, где каждый внутренний узел содержит условие проверки одного из признаков, а каждый лист — метку класса. Процесс построения дерева заключается в рекурсивном разбиении обучающего множества на подмножества. Критерием качества разбиения обычно служит прирост информации (Information Gain) или неопределенность Джини (Gini Impurity).
Для вычисления
прироста информации используется
понятие энтропии Шеннона. Если
— множество объектов в узле, то энтропия
вычисляется как:
(3)
где
– доля объектов класса
в выборке
.
Алгоритм выбирает тот признак и пороговое
значение, которые максимизируют
уменьшение энтропии после разбиения
[7].
Схема дерева решений представлена на Рисунке 3.
Рисунок 3 - Пример структуры дерева решений
Недостатком одиночных деревьев является склонность к переобучению. Для решения этой проблемы используются ансамблевые методы, такие как Случайный лес (Random Forest), который строит множество деревьев на случайных подвыборках и усредняет их ответы.
2.3 Вероятностные методы: Наивный байесовский классификатор
Наивный байесовский
классификатор (Naive Bayes) основан на теореме
Байеса. «Наивным» он называется из-за
допущения, что все признаки объекта
независимы друг от друга при условии
известного класса. Вероятность того,
что объект
принадлежит классу
, рассчитывается по формуле:
(4)
С учетом предположения
о независимости признаков
,
наиболее вероятный класс
выбирается следующим образом:
(5)
Несмотря на простоту, метод показывает высокую эффективность в задачах классификации текстов (например, фильтрация спама) [8].
2.4 Метрические методы: k-ближайших соседей (k-nn)
Метод k-ближайших соседей (k-Nearest Neighbors) относится к методам «ленивого обучения» (lazy learning), так как явная фаза обучения отсутствует: алгоритм просто запоминает обучающую выборку.
Чтобы классифицировать
новый объект, алгоритм находит
объектов из обучающей выборки, расстояние
до которых минимально. Объект относится
к тому классу, который является наиболее
популярным среди его соседей.
В качестве метрики
расстояния в
-мерном
пространстве чаще всего используется
Евклидово расстояние:
(6)
Графическая интерпретация метода представлена на Рисунке 4.
Рисунок 4 – принципе работы классификатора k-ближайших соседей
2.5 Метод опорных векторов (svm)
Метод опорных векторов (Support Vector Machine) — это алгоритм, который решает задачу классификации с помощью геометрии.
Чтобы понять суть метода, представим объекты двух классов как точки на плоскости. Задача алгоритма — провести прямую линию, которая отделит точки одного класса от точек другого. Однако таких линий можно провести бесконечно много.
Главная идея SVM заключается в том, чтобы найти оптимальную линию. Оптимальной считается такая линия, которая проходит посередине самой широкой «разделяющей полосы» (зазора) между классами.
Ключевые понятия метода:
Разделяющая гиперплоскость — это та самая граница (линия в 2D, плоскость в 3D), которая делит классы.
Зазор (Margin) — это расстояние от разделяющей линии до ближайших точек каждого класса. Чем шире этот зазор, тем увереннее алгоритм будет работать на новых данных.
Опорные вектора — это те самые ближайшие к границе точки данных, которые «подпирают» границы зазора. Именно они определяют, где пройдет линия. Остальные точки, находящиеся далеко от границы, на построение модели не влияют [9].
Если данные невозможно разделить прямой линией (например, один класс окружает другой), SVM использует «ядерный трюк» (kernel trick). Алгоритм как бы переносит данные из плоского пространства в трехмерное (или многомерное). В новом пространстве точки поднимаются на разную высоту, и их становится возможно разделить плоскостью.
На Рисунке 5 показана схема работы метода: сплошная линия — это граница решения, а пунктирные линии показывают ширину зазора, который опирается на крайние точки (опорные вектора).
Рисунок 5 – геометрическая интерпретация метода SVM
