Машинное обучение сосредоточено на создании моделей, которые точно предсказывают. Метрики оценки позволяют оценить эффективность модели, что позволяет нам совершенствовать или даже переключать алгоритмы на основе результатов производительности.
Концепция «вероятности» занимает центральное место во многих из этих показателей. Она измеряет, насколько хорошо прогнозы модели совпадают с наблюдаемыми данными. Поэтому она играет ключевую роль в обучении и оценке модели.
Например, модель с более высокой вероятностью предполагает, что наблюдаемые данные более вероятны при предположениях данной модели.
Технические инструменты, такие как TensorFlow и PyTorch, часто используют метрики, основанные на правдоподобии, особенно в таких задачах, как классификация или прогнозирование последовательности. Такие инструменты, оснащенные функциями и библиотеками, адаптированными к этим метрикам, делают задачу оценки модели доступной и высокоэффективной.
Понимание вероятности и связанных с ней показателей жизненно важно для любого, кто занимается машинным обучением. Это позволяет нам сформировать основу для оценки и улучшения модели.
Ниже мы более подробно рассмотрим три ключевых показателя оценки, чтобы увидеть, как они работают и связаны друг с другом в машинном обучении.
Кроссэнтропия оценивает разницу между двумя наборами вероятностей, часто сопоставляя реальные закономерности данных с прогнозируемыми результатами модели. Математически для дискретных распределений p
и q
кроссэнтропия H(p, q)
определяется выражением:
H(p, q) = -\sum p(x) \log(q(x))
Где \( p(x) \) — истинная вероятность возникновения события x
, а q(x)
— предполагаемая вероятность того же события согласно модели.
Он применяется в основном в задачах классификации, особенно в сценариях, где выходные данные могут принадлежать нескольким классам. Он используется потому, что обеспечивает четкую оценку того, насколько далеки прогнозы модели от фактических результатов. Чем ниже кроссэнтропия, тем лучше прогнозы модели соответствуют истинным значениям.
Несколько программных библиотек оборудованы для выполнения вычислений, связанных с кроссэнтропией. В частности:
tf.nn.softmax_cross_entropy_with_logits
, которые напрямую вычисляют кроссэнтропию для задач классификации.
torch.nn.CrossEntropyLoss
, подходящие для задач классификации нескольких классов.
log_loss
. Логлосс, сокращение от логарифмической потери, измеряет точность классификатора, наказывая за ложные классификации. Для двоичной классификации с истинной меткой y
и прогнозируемой вероятностью p
логарифмическая потеря определяется как:
L(y, p) = -y \log(p) - (1 - y) \log(1 - p)
По сути, логлосс — это кроссэнтропия между истинными метками и предсказаниями для задач двоичной классификации. При расширении до многоклассовой классификации logloss суммирует значения кроссэнтропии для каждого класса, делая эти две метрики тесно связанными.
В основном он используется в задачах бинарной и многоклассовой классификации. Его сила заключается в его способности количественно оценивать неопределенность прогнозов на основе того, насколько они отклоняются от истинных значений.
Идеальная модель имела бы логлосс, равный 0, хотя на практике значения обычно превышают это значение.
Множество программных библиотек позволяет нам вычислять логлоссы:
Scikit-учиться . В качестве широко используемой библиотеки машинного обучения scikit-learn предлагает функцию log_loss
, подходящую как для сценариев двоичной, так и для многоклассовой классификации.
TensorFlow и PyTorch. Хотя эти структуры в основном ориентированы на нейронные сети и глубокое обучение, они по своей сути вычисляют логлоссы при использовании функций кроссэнтропийных потерь для задач классификации.
LightGBM и XGBoost. Эти среды повышения градиента, известные своей высокой производительностью в соревнованиях по табличным данным, также содержат функциональные возможности для вычисления логарифмических потерь, которые особенно полезны при оценке производительности модели в задачах классификации.
Это измерение того, насколько хорошо распределение вероятностей или модель вероятности предсказывает выборку.
Предоставлено:
Perplexity(P) = 2^{H(P)}
где H(P)
— кроссэнтропия распределения P
, недоумение фактически представляет собой средневзвешенное количество вариантов, которые, по мнению модели, имеются в каждой точке принятия решения.
В контексте кроссэнтропии более высокое значение кроссэнтропии соответствует более высокому недоумению, что указывает на то, что модель более неопределенна в своих предсказаниях.
Наиболее заметное применение «недоумения» — в языковых моделях, где оно измеряет, насколько хорошо модель предсказывает последовательность слов. Модель с меньшей степенью недоумения считается лучшей, поскольку она означает меньшее количество средних факторов ветвления или, проще говоря, более уверена в следующем слове в последовательности.
Помимо языковых моделей, недоумение также может быть важным показателем в других вероятностных моделях, где качество прогнозирования последовательностей или распределений имеет решающее значение.
Несколько инструментов и платформ помогают в расчете и интерпретации недоумения:
НЛТК . Natural Language Toolkit предоставляет утилиты для построения вероятностных языковых моделей и расчета недоумения для оценки этих моделей.
TensorFlow и PyTorch. Для языковых моделей, основанных на глубоком обучении, обе эти платформы предлагают функциональные возможности для вычисления кроссэнтропии, которую затем можно перевести в недоумение, используя приведенную выше формулу.
Генсим . Gensim, известный в основном благодаря тематическому моделированию, также содержит методы вычисления недоумения, что особенно полезно при оценке связности созданных тем.
Кроссэнтропия, логлоссия и недоумение — все это метрики, основанные на теории информации и вероятностном моделировании. Их основная цель — оценить качество прогнозов, будь то классификация или оценка распределения вероятностей. На высоком уровне:
Как универсальная метрика, кроссэнтропия хорошо подходит для задач, целью которых является аппроксимация или сопоставление определенного распределения вероятностей. Он отлично справляется с задачами классификации нескольких классов. Примеры включают классификацию изображений, где каждое изображение может принадлежать к одной из нескольких категорий, или прогнозирование типа заболевания, которое может возникнуть у пациента, на основе его симптомов.
Созданный специально для классификации, логлосс становится основной метрикой для бинарных и многоклассовых задач, серьезно наказывая за уверенные неверные прогнозы. Его сила заключается в его чувствительности к точным вероятностным предсказаниям.
Например, при обнаружении спама (спам или не спам), прогнозировании оттока клиентов (будет или не будет оттока) или прогнозировании того, является ли данная транзакция мошеннической.
Наконец, метод недоумения, который в основном используется при языковом моделировании, оценивает, насколько хорошо модель предсказывает последовательности. Более низкие значения указывают на модель, которая более уверена в своих последовательных предсказаниях. Его можно использовать для задач генерации текста, машинного перевода или распознавания речи, где модель прогнозирует следующее слово или фразу в последовательности.
Хотя все три метрики связаны с оценкой вероятностных моделей, их применимость различается в зависимости от характера задачи: сопоставление распределения, классификация или предсказание последовательности.
Опытный специалист по машинному обучению выбирает метрику, наиболее подходящую для поставленной задачи, чтобы обеспечить наиболее информативную оценку производительности модели.
Распознавание нюансов показателей оценки, таких как кроссэнтропия, логлоссия и недоумение, напрямую влияет на принятие обоснованных решений в проектах машинного обучения. Каждая из этих метрик со своими собственными особенностями и применением во многом влияет на точность и надежность моделей прогнозирования.
В машинном обучении использование таких платформ, как TensorFlow, Scikit-learn и NLTK, упрощает расчет показателей и улучшает оценку моделей. Всегда следите за тем, чтобы выбранная метрика соответствовала целям проекта для достижения наилучшего результата.
Конечно, применять хорошо известные инструменты так, как вы привыкли, легко, но по-настоящему понять их в конечном итоге может оказаться более полезным. Продолжайте учиться и выбирайте правильный показатель для каждой задачи, с которой вы сталкиваетесь.