Словарь ИИ
Что такое функция потерь
Коротко
Функция потерь это формула, которая превращает ошибку модели в одно число: чем оно меньше, тем ближе ответы модели к правильным.
Машинное обучение · loss function
Михаил МозгПроверено: 1 минута чтения
Ребенку
Помнишь игру «горячо или холодно»? Ты ищешь спрятанную игрушку, а друг подсказывает: «холодно», «теплее», «совсем горячо». По этим словам ты понимаешь, куда идти дальше. У компьютера, который учится, тоже есть такой подсказчик. Он говорит, насколько далеко ответ от правильного, и называется функцией потерь.
Простыми словами
Пока модель учится, ей нужно знать, насколько она промахнулась. Эта формула сравнивает ответ модели с верным и назначает штраф: маленький за небольшой промах, большой за грубый. Допустим, программа оценила квартиру в девять миллионов, а продали ее за десять. Штраф можно посчитать как квадрат разницы. Потом штрафы по всем примерам складывают, и обучение подбирает настройки так, чтобы общая сумма стала как можно меньше. Формулу выбирает человек, и от этого выбора зависит, какие промахи модель будет считать серьезными, а какие простит.
Для бизнеса
По сути, в этой формуле записано, что для вашей компании значит «ошибка». Если все промахи стоят одинаково, модель скоринга может в среднем ошибаться редко, но пропускать дорогие невозвраты. Поэтому до обучения обсудите с подрядчиком цену разных ошибок: пропущенный мошенник, ложный отказ хорошему клиенту, лишний товар на складе. Эти цены закладывают в веса классов или в саму формулу. Главный риск в подмене цели: модель честно уменьшает свой штраф, а он не совпадает с деньгами, которые вы теряете. Проверьте, что метрика в отчете и бизнес-показатель считаются согласованно, и закрепите цену ошибок в задании. Такие вопросы разбирают в карте ИИ-решений.
Для специалиста
Функция потерь (loss function) задает штраф за расхождение предсказания с целевым значением; обучение минимизирует ее среднее по выборке (эмпирический риск, empirical risk), часто вместе со штрафом регуляризации. Для регрессии берут среднеквадратичную ошибку (MSE), среднюю абсолютную (MAE) или функцию Хьюбера (Huber loss): по документации PyTorch она квадратичная, пока модуль ошибки меньше порога delta, и линейная за ним, поэтому слабее реагирует на выбросы, чем MSE. Для классификации стандарт это перекрестная энтропия (cross-entropy): CrossEntropyLoss в PyTorch принимает ненормированные логиты (logits), умеет взвешивать классы при несбалансированной выборке и сглаживать метки (label smoothing). Градиентным методам нужна функция, дифференцируемая почти везде, поэтому ступенчатые метрики вроде доли верных ответов заменяют выпуклыми суррогатами (surrogate loss). Градиент по весам сети считает обратное распространение ошибки, шаг делает оптимизатор.
Пример
Интернет-магазин учил модель прогноза спроса со среднеквадратичной ошибкой, и несколько распродаж с огромными продажами тянули прогноз вверх. После перехода на функцию Хьюбера эти всплески стали влиять слабее, и закупки перестали раздуваться.
Связанные термины
Вопросы и ответы
Чем функция потерь отличается от метрики качества?
Какую функцию потерь выбрать?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений