Как изменится значение Log Loss, если все предсказанные вероятности модели умножить на два (без нормализации)?

«Как изменится значение Log Loss, если все предсказанные вероятности модели умножить на два (без нормализации)?» — вопрос из категории Метрики и функции потерь, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Log Loss (Binary Cross-Entropy) станет неопределённым (NaN или бесконечным), потому что его формула требует, чтобы предсказания p были в интервале (0, 1).

Формула Log Loss для одного примера: L(y, p) = -[y * log(p) + (1 - y) * log(1 - p)]

Ключевая проблема: Аргумент логарифма p и (1-p) должен быть положительным. Умножение p на 2:

  • Если исходное p > 0.5, то новое 2p > 1. Тогда (1 - 2p) < 0, и log(1 - 2p) не определён для отрицательных чисел.
  • Если исходное p было мало (например, 0.1), то 2p = 0.2 всё ещё валидно, но для другого примера с p=0.6 получим 1.2, что уже приводит к ошибке.

Практическая демонстрация:

import numpy as np
from sklearn.metrics import log_loss

# Истинные метки и исходные валидные предсказания
y_true = np.array([1, 0, 1, 0])
p_original = np.array([0.9, 0.1, 0.6, 0.4])  # Все в (0,1)
original_loss = log_loss(y_true, p_original)
print(f"Original Log Loss: {original_loss:.4f}")  # ~0.283

# НЕПРАВИЛЬНО: умножение без нормализации
p_scaled_wrong = p_original * 2
print("Scaled predictions:", p_scaled_wrong)  # [1.8, 0.2, 1.2, 0.8]
# Попытка вычисления приведет к предупреждениям и NaN, т.к. значения >1 и <0
try:
    wrong_loss = log_loss(y_true, p_scaled_wrong)
except Exception as e:
    print(f"Ошибка: {e}")  # На практике будет warning и NaN

Что если нормализовать? Если после умножения на 2 применить преобразование, возвращающее значение в [0,1] (например, сигмоиду), то это эквивалентно изменению калибровки модели. Предсказания станут более "уверенными" (ближе к 0 или 1). Если модель была уже хорошо откалибрована, такое усиление уверенности ухудшит Log Loss, так как он штрафует за излишнюю уверенность в неверных предсказаниях.

Вывод: Любое изменение масштаба предсказаний перед расчётом Log Loss требует их последующей нормализации в интервал (0,1). Прямое умножение без этого делает метрику невычислимой.