-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Пусть
Нужно построить регрессионную модель, предсказывающую стоимость автомобиля по его пробегу на основе данных из датасета.
Регрессия — способ выбрать из семейства функций ту, которая минимизирует функцию потерь.
Регрессионная модель в случае одного признака описывается формулой
Наша цель подобрать коэффициенты
Для нахождения минимума, воспользуемся методом градиентного спуска.
Т.е. зафиксировав некоторые начальные
Поскольку
Вычислим градиент (частные производные)
Для
Для
- Фиксируем начальные значения параметров
$\Large {a_0 = 0; b_0 = 0}$
- Вычисляем новые значения параметров
$\Large {a_{new}; b_{new}}$ относительно текущих значений$\Large {a_{cnt}; b_{cnt}}$ , двигаясь в сторону антиградиента частной производной$\Large MSE$ (т.е., если частная производная положительна, то она в этой точке возрастает и наоборот) с шагом коэффициента обучения (learning rate)$\Large {\eta = 0.2}$
- Повторяем тренировку модели (п.2) заданное в параметре
$\Large epochs$ количество раз, либо пока разница между значением функции потерь на текущем и предыдущем шагах не окажется меньше заданного значения$\Large \Delta_{loss}$ :
В качестве базового, для регуляризированных значений данных, возьмем
Регуляризация необходима, т.к. при вычислении значений функции
Начальная формула:
Регуляризатор - минимакс.
После применения регуляризатора, новые значения попадают в отрезок
Подставляя в начальную формулу новые значения
Выразим
Таким образом, для первоначальных значений
Или,
И, окончательно:
Регуляризованные коэффициенты
Т.е. при начальных
Выражение для линейной регрессии через регуляризованные коэффициенты
Значения
Модель тренировалась со следующими параметрами:
Для коэффициентов
Для достижения указанных результатов при заданном
Средняя квадратичная ошибка
- Служит для сравнения моделей, но не для оценки качества модели с т.з. решения задачи
- Выделяет грубые ошибки за счет возведения в квадрат ошибки прогноза
- Чувствительна к выбросам
Коэффициент детерминации
Нормированная среднеквадратичная ошибка
- Выражается через
$\Large SSR (Sum \ of \ Squares \ Regression)$ и$\Large SST (Sum \ of \ Squares \ Total)$
- Если значение близко к единице, то модель хорошо объясняет данные
Выразим
Тогда,
Умножая числитель и знаменатель дроби на
По определению дисперсии:
Окончательно:
Результат оценки качества описанной выше модели:
Несколько примеров запуска обучающей и предсказывающей программ с разными параметрами.
Запуск обучающей программы train.py с параметрами
Запуск программы предсказания цены автомобиля по пробегу predict.py с параметрами