Настройка параметров модели
Можно вручную задать функцию соответствия (которую называют прогностической или прогнозной функцией), которая бы выдавала прогнозы отклика по известным признакам, однако зачастую это сложно сделать из-за многообразия объектов и сложных зависимостей между признаками и откликом. Поэтому в машинном обучении с учителем соответствие между признаками и откликом ищется в некотором классе функций , параметризованном вектором параметров , которые подбираются по обучающей выборке, состоящей из объектов:
Параметры модели также будем называть весами модели (model weights).
Например, класс функций может быть множеством всех константных прогнозов:
или состоять из всех линейных функций от признаков:
Существуют и более сложные семейства функций, о которых будет рассказано в следующих главах.
Чтобы из семейства функций выбрать наилучшую (что эквивалентно выбору определённого вектора параметров ) необходимо численно формализовать, какие прогнозы мы будем считать хорошими, а какие - плохими. Для этого задаётся функция потерь (loss function) , зависящая от истинного значения отклика и предсказанного . Чем выше значение функции потерь, тем хуже считается прогноз.
Основные функции потерь в задаче регрессии
Рассмотрим основные функции потерь в задаче регрессии:
| название | формула |
|---|---|
| квадрат ошибки (squared error, L2 loss) | |
| модуль ошибки (absolute error, L1 loss) |
Также широко используется гладкая комбинация обоих функций потерь, называемая функцией Хубера (smooth L1 loss):
В последнем случае - гиперпараметр, задающий область квадратичной зависимости, которая продлевается линейно за пределами этой области, сохраняя непрерывность самой функции и непрерывность её производной.
Будучи гладкой, эта функция удобна для оптимизации, но в то же время так же устойчива к нетипичным наблюдениям, как и модуль ошибки.