Регрессия – группа Моделей (Model) Контролируемого обучения (Supervised Learning), используемых для прогнозирования непрерывных значений, таких как цены на недвижимость с учетом их характеристик (размер, цена и т.д.).
Выделяют следующие типы регрессионного анализа:
- Полиномиальная регрессия (Polynomial Regression)
- Регрессия опорных векторов (SVR)
- Регрессия Дерева решений (Decision Tree)
- Регрессия Случайного леса (Random Forest)
Линейная регрессия
Это одна из наиболее распространенных и доступных техник предсказания. Здесь мы прогнозируем Целевую переменную (Target Variable) Y на основе Предиктора (Predictor Variable) X. Между первой и второй должна существовать линейная связь, и поэтому метод получил такое название.
Рассмотрим прогнозирование заработной платы сотрудника в зависимости от его возраста. Допустим, что существует корреляция между возрастом сотрудника и заработной платой (чем больше возраст, тем больше заработная плата). Гипотеза линейной регрессии такова:
Итак, чтобы предсказать Y (зарплату) с учетом X (возраста), нам нужно знать значения a и b (коэффициенты модели):
Во время обучения регрессионной модели именно эти коэффициенты изучаются и подгоняются к обучающим данным. Цель тренировки – найти наиболее подходящую линию, минимизирующую Функцию потерь (Loss Function). Последняя помогает измерить ошибку между фактическими и прогнозируемыми значениями.
На рисунке розовые точки – это реальные Наблюдения (Observation) – пары координат "Возраст – Зарплата", а белая линия – прогнозируемые значения оклада в зависимости от возраста. Чтобы сравнить реальное и прогнозируемое значения, точки фактических данных проецируются на линию.
Наша цель – найти такие значения коэффициентов, которые минимизируют функцию стоимости. Наиболее распространенная функция стоимости – это Среднеквадратичная ошибка (MSE), которая равна среднему квадрату разницы между фактическими и прогнозируемыми значениями наблюдения:
Значения коэффициентов могут быть рассчитаны с использованием подхода Градиентного спуска (Gradient Descent). Чтобы дать Вам первое представление, в градиентном спуске мы начинаем с некоторых случайных значений коэффициентов, вычисляем градиент функции потерь по этим значениям, обновляем коэффициенты и снова вычисляем функцию стоимости. Этот процесс повторяется до тех пор, пока мы не найдем минимальное значение функции стоимости.
Полиномиальная регрессия
В полиномиальной регрессии мы преобразуем исходные Признаки (Feature) в полиномиальные заданной степени, а затем применяем к ним линейную регрессию. Рассмотрим преобразованную линейную модель Y = a + bX:
Это все еще линейная модель, но кривая теперь квадратичная, а не прямая:
Если мы увеличим степень до очень высокого значения, до достигнем Переобучения (Overfitting), поскольку модель также "загребает" и Шум (Noise).
Регрессия опорных векторов
В SVR мы идентифицируем гиперплоскость с максимальным запасом, так что максимальное количество точек данных находится в пределах этого поля. SVR почти аналогична Методу опорных векторов (SVM):
Вместо того, чтобы минимизировать частоту ошибок, как в простой линейной регрессии, мы пытаемся уместить ошибку в пределах определенного порога. Наша цель в SVR состоит в том, чтобы в основном учитывать моменты, которые находятся в пределах допуска. Наша лучшая линия – это гиперплоскость с максимальным количеством точек:
Регрессия дерева решений
Деревья решений могут использоваться как для Классификации (Classification), так и для регрессии. В деревьях решений на каждом уровне нам нужно идентифицировать атрибут разделения.
Дерево решений строится путем разделения данных на подмножества, содержащие экземпляры с однородными значениями. Стандартное отклонение (Standard Deviation) используется для расчета однородности числовой Выборки (Sample). Если числовая выборка полностью однородна, ее стандартное отклонение равно нулю.
Шаги по поиску узла расщепления кратко описаны ниже:
- Рассчитайте стандартное отклонение целевой переменной
- Разделите набор данных на разные атрибуты и вычислите стандартное отклонение для каждой ветви (стандартное отклонение для целевой переменной и предиктора). Это значение вычитается из стандартного отклонения перед разделением. Результатом является уменьшение стандартного отклонения.
- В качестве узла разделения выбирается атрибут с наибольшим уменьшением стандартного отклонения.
- Набор данных делится на основе значений выбранного атрибута. Этот процесс выполняется рекурсивно.
Чтобы избежать переобучения, используется коэффициент отклонения, который решает, когда прекратить ветвление. Наконец, среднее значение каждой ветви присваивается соответствующему конечному узлу (при регрессии берется среднее значение).
Регрессия Случайного леса
Случайный лес – это Ансамблевый (Ensemble) подход, в котором мы учитываем прогнозы нескольких деревьев регрессии:
- Выберите K случайных точек
- Определите n – количество создаваемых регрессоров дерева решений. Повторите шаги 1 и 2, чтобы создать несколько деревьев регрессии.
- Среднее значение каждой ветви назначается конечному узлу в каждом дереве решений.
- Чтобы предсказать результат для переменной, учитывается среднее значение всех прогнозов всех деревьев решений.
Случайный лес предотвращает переобучение (что является обычным для деревьев решений) путем создания случайных подмножеств признаков и построения меньших деревьев с использованием этих подмножеств.
Автор оригинальной статьи: Apoorva Dave
Фото: @kalenemsley
Понравилась статья? Поддержите нас, поделившись статьей в социальных сетях и подписавшись на канал. И попробуйте курс «Введение в Машинное обучение» на Udemy.