Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Logistic Regression

Логистическая регрессия преобразует взвешенную сумму признаков в вероятность класса с помощью сигмоидной функции. Как она обучается, интерпретирует результат через шансы и использует пороговые значения.

Логистическая регрессия — это метод обучения с учителем для классификации, который оценивает вероятность принадлежности входных данных к классу, пропуская взвешенную сумму признаков через логистическую, или сигмоидную, функцию. В названии есть слово «регрессия», потому что модель регрессирует логарифм отношения шансов класса по признакам, но используется она для классификации: фильтр спама, кредитная модель или скрининговый тест преобразуют вероятность в решение «да» или «нет» с помощью порога. Джозеф Берсон разработал её как общую статистическую модель начиная с 1944 года, когда он ввёл термин «логит»; она и сегодня остаётся стандартным базовым методом классификации табличных данных, поскольку обучается за секунды, выдаёт вероятности, а её веса напрямую интерпретируются как влияние на шансы.

Как работает логистическая регрессия#

Модель вычисляет оценку z = w·x + b точно так же, как линейная регрессия, а затем преобразует её в вероятность p = 1 / (1 + e⁻ᶻ). Сигмоида сжимает любую оценку до диапазона от 0 до 1, выдаёт 0,5 при z = 0 и стремится к 1 или 0, когда z становится очень большим в ту или другую сторону. Обратное преобразование показывает смысл оценки: z равна логарифму отношения шансов, log(p / (1 − p)), поэтому модель предполагает, что логарифм отношения шансов положительного класса линейно меняется с каждым признаком, а граница принятия решения представляет собой прямую, плоскость или гиперплоскость. Увеличение признака на одну единицу умножает шансы на eʷ, где w — вес этого признака; поэтому в медицинских исследованиях и кредитном скоринге результаты логистической регрессии представляют как отношения шансов.

При обучении веса определяются методом максимального правдоподобия, что эквивалентно минимизации логарифмической функции потерь, также называемой бинарной кросс-энтропией: −[y·log(p) + (1 − y)·log(1 − p)], усреднённой по обучающим данным. Функция потерь выпуклая, поэтому у неё один минимум, но явного решения нет; следовательно, оптимизаторы, например L-BFGS, метод Ньютона или градиентный спуск, находят его итеративно. Если гиперплоскость идеально разделяет классы, отсутствие штрафа приводит к стремлению весов к бесконечности, поэтому библиотеки по умолчанию добавляют регуляризацию: LogisticRegression из scikit-learn применяет штраф L2 с C = 1.0, а меньшие значения C означают более сильную регуляризацию. Поскольку логарифмическая функция потерь поощряет точность вероятностей, правильно заданная и должным образом регуляризованная логистическая регрессия обычно выдаёт хорошо откалиброванные вероятности — это свойство измеряют такие показатели, как оценка Брайера.

Пороги принятия решений#

Порог преобразует каждую вероятность в метку, и значение 0,5 — лишь значение по умолчанию. Его изменение позволяет регулировать баланс между точностью и полнотой: модель для скрининга рака снижает порог, чтобы реже пропускать опухоли, а фильтр спама повышает его, чтобы не скрывать легальные письма. ROC-кривая показывает этот компромисс для всех порогов, а площадь под кривой измеряет, насколько хорошо модель ранжирует положительные примеры выше отрицательных. В этом примере логистическая регрессия обучается на наборе данных о раке молочной железы в Висконсине, входящем в scikit-learn; сравним два порога:

from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import precision_score, recall_score
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler

X, y = load_breast_cancer(return_X_y=True)
y = 1 - y  # make malignant (originally 0) the positive class
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)

# Standardize the 30 features, then fit weights by minimizing log loss
model = make_pipeline(StandardScaler(), LogisticRegression())
model.fit(X_train, y_train)

# Predicted probability of malignancy, turned into labels at two thresholds
proba = model.predict_proba(X_test)[:, 1]
for threshold in (0.5, 0.1):
    pred = (proba >= threshold).astype(int)
    print(
        f"Threshold {threshold}: precision {precision_score(y_test, pred):.3f}, recall {recall_score(y_test, pred):.3f}"
    )

При пороге по умолчанию 0,5 каждая опухоль, отмеченная моделью, оказывается злокачественной (точность 1.000), но модель пропускает 2 из 53 злокачественных опухолей в тестовой выборке (полнота 0.962). При пороге 0,1 модель обнаруживает все 53 опухоли (полнота 1.000), но также отмечает 11 из 90 доброкачественных опухолей (точность 0.828).

Многоклассовые классификаторы и классификаторы на основе нейронных сетей#

Для более чем двух взаимоисключающих классов мультиномиальная логистическая регрессия вычисляет оценку для каждого класса и преобразует оценки в вероятности, сумма которых равна 1, с помощью функции softmax; обучение выполняется с функцией потерь кросс-энтропии. Вариант «один против остальных» вместо этого обучает отдельную бинарную модель для каждого класса. Для задач многометочной классификации, где одному входному объекту могут одновременно соответствовать несколько меток, для каждого класса используется отдельная сигмоида.

Выходной слой большинства нейронных сетей для классификации реализует одну из этих моделей поверх признаков, изученных предыдущими слоями; например, сети классификации изображений заканчиваются линейным слоем и softmax. Голова обнаружения YOLO26 заканчивает каждую ветвь классификации свёрткой 1×1, которая выдаёт один логит для каждого класса в каждой позиции сетки; сигмоида преобразует каждый логит в независимую оценку класса, обучаемую с помощью бинарной кросс-энтропии, поэтому каждая оценка класса представляет собой логистическую регрессию по признакам в этой позиции. Аргумент conf режима predict, равный по умолчанию 0.25, — это порог принятия решения, применяемый к этим оценкам.

Применение#

  • Клинические оценки риска: Модели оценивают вероятность заболевания, осложнения или повторной госпитализации на основе возраста, артериального давления и лабораторных показателей; отношения шансов помогают врачам понять, насколько каждый фактор повышает риск.
  • Кредитный скоринг: Кредиторы создают скоринговые карты на основе логистической регрессии, потому что вклад каждого признака в оценку можно объяснить заявителям и регулирующим органам.
  • Прогнозирование кликов по рекламе: В статье Google 2013 года о производственной системе прогнозирования кликов описана логистическая регрессия, обучаемая онлайн с помощью алгоритма FTRL-Proximal, который обеспечивает разреженность модели и позволяет оценивать вероятность клика пользователя по объявлению.
  • Прогнозирование оттока: Компании с подписочной моделью бизнеса оценивают вероятность отмены подписки каждым клиентом в следующем периоде и предлагают удерживающие акции клиентам с наибольшим риском.
  • Линейная регрессия по меткам 0/1: Подгонка по меткам классов с помощью квадратичной ошибки даёт прогнозы ниже 0 и выше 1; кроме того, точки, далёкие от границы, даже если классифицированы правильно, смещают подгонку. Сигмоида и логарифмическая функция потерь позволяют этого избежать.
  • Метод опорных векторов (SVM): Линейный SVM также обучает гиперплоскость, но минимизирует шарнирную функцию потерь, чтобы максимизировать зазор, и выдаёт расстояния до границы вместо вероятностей.
  • Наивный Байес: Генеративный классификатор, который моделирует происхождение признаков для каждого класса; вместе с логистической регрессией, его дискриминативным аналогом, он образует классическую пару. Ng и Jordan (2001) показали, что наивный Байес быстрее приближается к более высокой асимптотической ошибке при небольшом числе обучающих примеров, тогда как логистическая регрессия достигает меньшей ошибки, когда данных достаточно.
  • Перцептрон: Применяет ступенчатую функцию к той же взвешенной сумме, выдаёт только 0 или 1 и обновляет веса лишь тогда, когда ошибается при классификации обучающего примера.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения