Subgradient Descent и LAD Loss: Как это работает?
Привет, друзья! Сегодня поговорим про интересный метод оптимизации - Subgradient Descent (Метод субградиента) и его применение в контексте LAD Loss (Least Absolute Deviations Loss).
Что такое LAD Loss?
LAD Loss - это функция потерь, которая измеряет среднюю абсолютную разницу между предсказанными и фактическими значениями. В отличие от MSE (Mean Squared Error), который использует квадраты разностей, LAD Loss более устойчив к выбросам.
Формула LAD Loss: L(y, ŷ) = (1/n) Σ |yᵢ - ŷᵢ|
Проблема с градиентом в LAD Loss
В точке, где yᵢ = ŷᵢ, функция LAD Loss не дифференцируема. В этой точке у нее есть "угол", и обычный градиент не определен. Вот тут-то и приходит на помощь субградиент!
Что такое Subgradient?
Субградиент - это обобщение понятия градиента для недифференцируемых функций. В точке, где функция не дифференцируема, субградиент - это любое значение, которое удовлетворяет определенному условию (оно лежит между касательными слева и справа). В случае LAD Loss, в точке yᵢ = ŷᵢ субградиентом может быть любое значение в диапазоне [-1, 1]. Часто выбирают 0.
Subgradient Descent: Как это работает?
Subgradient Descent - это итеративный алгоритм оптимизации, который использует субградиент вместо градиента для обновления параметров модели.
1. Вычисляем субградиент: Для каждой точки данных вычисляем субградиент LAD Loss.
2. Обновляем параметры: Обновляем параметры модели, двигаясь в направлении, противоположном субградиенту, с определенным шагом (learning rate).
Формула обновления: θ = θ - α g (где θ - параметры модели, α - learning rate, g - субградиент)
Почему Subgradient Descent полезен для LAD Loss?
Работает с недифференцируемыми функциями: Позволяет оптимизировать LAD Loss, несмотря на ее недифференцируемость.
Устойчивость к выбросам: LAD Loss, в сочетании с Subgradient Descent, обеспечивает более устойчивые результаты, чем MSE, при наличии выбросов в данных.
Пример использования:
Представьте, что вы строите модель для предсказания цен на дома. В данных есть несколько очень дорогих домов (выбросы). Использование LAD Loss с Subgradient Descent поможет вашей модели не сильно "подстраиваться" под эти выбросы и давать более точные прогнозы для большинства домов.
В заключение:
Subgradient Descent - это мощный инструмент для оптимизации функций потерь, которые не являются дифференцируемыми, таких как LAD Loss. Он особенно полезен в задачах, где важна устойчивость к выбросам.
Подробнее:
https://www.stat.cmu.edu/~ryantibs/convexopt/lectures/subgrad.pdf
#machinelearning #optimization #ladloss #subgradientdescent #python #datascience #ai
https://youtube.com/SENATOROV?sub_confirmation=1 |
https://t.me/SenatorovAI |
https://t.me/senatorovlive