Загрузка урока...
Изучите ключевые алгоритмы ML: дерево принятия решений, наивный байесовский классификатор, метод наименьших квадратов, логистическую регрессию и метод опорных векторов (SVM). Для каждого алгоритма разобраны принципы работы и области применения.
Введение
Прежде чем погрузиться в изучение алгоритмов машинного обучения, важно понять, что каждый алгоритм — это не просто набор математических формул, а инструмент для решения конкретного типа задач. Выбор правильного алгоритма часто определяет успех всего проекта. В этом уроке мы рассмотрим пять фундаментальных алгоритмов, которые составляют основу современного ML, и научимся понимать, в каких ситуациях каждый из них проявляет себя наилучшим образом.
1. Дерево принятия решений (Decision Tree)
Принцип работы
Дерево принятия решений — это один из самых интуитивно понятных алгоритмов машинного обучения. Он имитирует процесс принятия решений человеком: задавая последовательные вопросы, мы приходим к определенному выводу. Структура алгоритма напоминает перевернутое дерево, где корневой узел содержит исходные данные, внутренние узлы — проверки условий (вопросы), а листовые узлы — окончательные решения или прогнозы.
Как это работает на практике
Представьте, что банк принимает решение о выдаче кредита. Дерево решений может выглядеть так:
[Запрос на кредит]
|
v
[Доход > 50 000 руб.?]
|
/ \
Да Нет
| |
v v
[Стаж > 2 лет?] [Отказ]
|
/ \
Да Нет
| |
v v
[Одобрить] [Рассмотреть вручную]Каждый узел содержит вопрос, предполагающий бинарный ответ («да» или «нет»). Последовательно проходя по ветвям, система приходит к четкому решению.
Математическая интуиция
При построении дерева алгоритм решает, какой признак использовать на каждом узле, чтобы разделить данные наиболее эффективно. Для этого используются метрики:
Энтропия — мера неопределенности. Чем выше энтропия, тем более «перемешаны» данные.
Информационный выигрыш — показывает, насколько уменьшилась энтропия после разделения данных по определенному признаку.
Формула энтропии:
H(S) = - Σ p_i * log₂(p_i)где p_i — доля объектов класса i в выборке S.
Алгоритм стремится максимизировать информационный выигрыш на каждом шаге, выбирая тот признак, который лучше всего разделяет данные.
Преимущества и недостатки
Реальный кейс: скоринг клиентов в телекоме
Крупный мобильный оператор использовал деревья решений для прогнозирования оттока клиентов (churn prediction). На основе данных о звонках, тратах интернета, количестве обращений в поддержку и длительности использования услуг, дерево помогало выявлять клиентов с высоким риском ухода. Это позволяло отделу удержания вовремя предлагать персонализированные акции и снижать отток на 15–20%.
2. Наивная байесовская классификация (Naive Bayes)
Принцип работы
Наивный байесовский классификатор основан на теореме Байеса — фундаментальном принципе теории вероятностей, который описывает вероятность события на основе предварительных знаний об условиях, связанных с этим событием.
Теорема Байеса
P(A|B) = [P(B|A) * P(A)] / P(B)где:
P(A|B) — апостериорная вероятность (вероятность события A при условии B)
P(B|A) — правдоподобие (вероятность наблюдать B, если A истинно)
P(A) — априорная вероятность
P(B) — нормировочная константа
Почему «наивный»?
Алгоритм называется наивным, потому что он делает предположение о независимости признаков. Это означает, что наличие одного признака не влияет на вероятность другого. На практике это предположение почти никогда не выполняется, но, парадоксально, алгоритм все равно отлично работает во многих задачах.
Как это работает
Для каждого класса вычисляется вероятность того, что объект принадлежит этому классу.
Используется предположение о независимости признаков для упрощения вычислений.
Выбирается класс с наибольшей вероятностью.
Реальный кейс: фильтрация спама
Когда вы получаете электронное письмо, алгоритм наивного Байеса анализирует слова в нем. Если письмо содержит слова «бесплатно», «виагра», «победитель», «лотерея», вероятность того, что это спам, резко возрастает. Система учитывает:
Частоту каждого слова в спам-письмах
Частоту каждого слова в обычных письмах
Общий процент спама в почтовом ящике
Gmail, Yahoo Mail и другие почтовые сервисы используют этот алгоритм как один из ключевых компонентов своей антиспам-защиты. Точность современных систем достигает 99,9%.
Другие применения
Анализ тональности текста — определение позитивных и негативных отзывов о продукте
Категоризация новостей — автоматическое распределение статей по рубрикам (спорт, политика, технологии)
Распознавание лиц — в комбинации с другими алгоритмами помогает идентифицировать людей на фотографиях
3. Метод наименьших квадратов (Least Squares) и линейная регрессия
Принцип работы
Линейная регрессия — один из старейших и наиболее фундаментальных алгоритмов машинного обучения. Ее цель — найти линейную зависимость между входными признаками и целевой переменной. Метод наименьших квадратов служит инструментом для нахождения оптимальных параметров этой зависимости.
Математическая формулировка
Для простой линейной регрессии с одним признаком уравнение имеет вид:
y = a·x + bгде:
y — прогнозируемое значение
x — входной признак
a — коэффициент наклона (вес)
b — смещение (intercept)
Метод наименьших квадратов минимизирует сумму квадратов ошибок:
MSE = (1/n) · Σ (y_i — ŷ_i)²где y_i — фактическое значение, ŷ_i — предсказанное значение.
Геометрическая интерпретация
Представьте, что у вас есть множество точек на плоскости. Вы хотите провести прямую, которая наилучшим образом описывает их расположение. Метод наименьших квадратов минимизирует сумму квадратов вертикальных расстояний от каждой точки до прямой. Эти расстояния называются остатками (residuals). Возведение в квадрат необходимо, чтобы:
Избавиться от знака (положительные и отрицательные ошибки не компенсировали друг друга)
Усилить влияние больших ошибок (сделать модель более чувствительной к выбросам)
Реальный кейс: прогнозирование цен на недвижимость
Агентство недвижимости использует множественную линейную регрессию (с несколькими признаками) для оценки рыночной стоимости квартир. Модель учитывает:
Площадь квартиры (м²)
Этаж и этажность дома
Удаленность от метро (в минутах пешком)
Год постройки
Наличие парковки
После обучения модель может предсказывать цену новой квартиры за секунды, что ускоряет работу риелторов и помогает продавцам устанавливать конкурентные цены. Точность таких моделей при качественных данных может достигать 85–90%.
Расширение: множественная и полиномиальная регрессия
Когда зависимость не является линейной, можно использовать полиномиальную регрессию:
y = a₀ + a₁·x + a₂·x² + ... + aₙ·xⁿИли добавлять взаимодействия между признаками, чтобы улавливать более сложные закономерности.
4. Логистическая регрессия (Logistic Regression)
Важное различие
Несмотря на название, логистическая регрессия используется для задач классификации, а не регрессии. Она предсказывает вероятность принадлежности объекта к определенному классу, а затем на основе порогового значения (обычно 0,5) принимает решение.
Сигмоидная функция
Логистическая регрессия использует сигмоидную функцию (логистическую функцию) для преобразования линейной комбинации признаков в вероятность от 0 до 1:
σ(z) = 1 / (1 + e⁻ᶻ)где z = a₀ + a₁·x₁ + a₂·x₂ + ... + aₙ·xₙ
График сигмоиды имеет S-образную форму:
При z → +∞, σ(z) → 1
При z → -∞, σ(z) → 0
При z = 0, σ(z) = 0,5
Интерпретация результата
Если P(y=1|x) > 0,5, объект относится к классу 1 (например, «клиент вернет кредит»). Если вероятность меньше 0,5 — к классу 0 («дефолт»). Пороговое значение можно настраивать в зависимости от бизнес-задачи:
Для диагностики опасных заболеваний порог может быть снижен до 0,3, чтобы не пропустить ни одного больного (минимизация ложноотрицательных результатов)
Для спам-фильтрации порог может быть повышен до 0,9, чтобы случайно не отправить важное письмо в спам
Реальный кейс: кредитный скоринг в банке
Банк «Тинькофф» и другие финансовые организации активно используют логистическую регрессию для оценки кредитоспособности заемщиков. Модель анализирует десятки признаков:
Возраст и семейное положение
Уровень дохода и место работы
Кредитная история (наличие просрочек)
Наличие имущества
Цель кредита
На выходе система выдает не просто решение «одобрить/отказать», а вероятность дефолта. Это позволяет банку:
Автоматизировать 80–90% решений по кредитным картам
Дифференцировать процентные ставки в зависимости от риска
Сократить время рассмотрения заявки с нескольких дней до 5–10 минут
Дополнительные применения
Медицинская диагностика — оценка вероятности наличия заболевания на основе симптомов и анализов
Маркетинг — прогнозирование вероятности отклика на рекламную кампанию
Страхование — расчет вероятности наступления страхового случая
5. Метод опорных векторов (Support Vector Machine — SVM)
Принцип работы
SVM — это мощный алгоритм, который ищет оптимальную разделяющую гиперплоскость между классами. «Оптимальная» означает, что расстояние (отступ) от гиперплоскости до ближайших точек каждого класса максимально. Эти ближайшие точки называются опорными векторами (support vectors) — именно они определяют положение разделяющей границы.
Линейно разделимый случай
В двумерном пространстве гиперплоскость — это просто прямая. SVM находит такую прямую, которая:
Полностью разделяет два класса
Находится на максимальном расстоянии от ближайших точек каждого класса
Математически это выражается как максимизация зазора (margin):
Margin = 2 / ||w||где w — вектор весов.
Ядровой трюк (Kernel Trick)
Главная инновация SVM заключается в возможности работать с нелинейно разделимыми данными. Ядровой трюк позволяет отобразить данные в пространство более высокой размерности, где они становятся линейно разделимыми, без явного вычисления координат в этом пространстве.
Популярные ядра:
Линейное ядро — для линейно разделимых данных
Полиномиальное ядро — для данных со сложными взаимодействиями
Радиальная базисная функция (RBF) — наиболее универсальное, работает в большинстве случаев
Реальный кейс: распознавание рукописных цифр
Классический пример применения SVM — распознавание почтовых индексов. В наборе данных MNIST (Modified National Institute of Standards and Technology) содержатся 70 000 изображений рукописных цифр размером 28×28 пикселей.
SVM с RBF-ядром способна:
Обучиться на 60 000 примерах
Распознавать цифры на новых изображениях с точностью > 98%
Обрабатывать искажения, наклоны и различные почерки
Современные применения
Биоинформатика — классификация белков и генетических последовательностей
Компьютерное зрение — распознавание объектов на изображениях
Финансовый анализ — прогнозирование банкротств и рыночных аномалий
Обработка текстов — классификация документов по темам
Заключение к уроку
Мы рассмотрели пять фундаментальных алгоритмов машинного обучения, каждый из которых имеет свои сильные стороны:
В следующем уроке мы продолжим знакомство с алгоритмами, включая ансамблевые методы (которые объединяют несколько моделей для достижения лучших результатов), кластеризацию и методы уменьшения размерности.
В этом материале нет файлов для просмотра.