Линейная регрессия и градиентный спуск
Рассмотрим модель линейной регрессии, среднеквадратичную ошибку и метод наименьших квадратов. Вы научитесь находить параметры градиентным спуском и оценивать результат с помощью RMSE и R2.
Список тем (2 из 3)
Глава 1. Основы машинного обучения
Глава 2. Нейронные сети
Линейная регрессия при одном признаке приближает данные прямой: y = w * x + b, где w — коэффициент наклона, b — свободный член. Для нескольких признаков модель имеет вид y = w1 * x1 + w2 * x2 + b. Цель — подобрать параметры так, чтобы предсказания были как можно ближе к реальным значениям, например предсказать цену дома по его площади и числу комнат.
Близость измеряют среднеквадратичной ошибкой (MSE): MSE = (1/n) * sum((y_i - yhat_i)^2), где yhat_i — предсказание модели. Поскольку ошибки возводятся в квадрат, положительные и отрицательные отклонения не компенсируют друг друга, а большие ошибки штрафуются сильнее. В методе наименьших квадратов параметры можно вычислить за один шаг с помощью нормального уравнения: w = (X^T * X)^(-1) * X^T * y; здесь к матрице X добавляют столбец из единиц, поэтому b тоже становится элементом вектора w.
Если данных и признаков много, нормальное уравнение обходится дорого; тогда применяют градиентный спуск (gradient descent). Алгоритм вычисляет градиент функции ошибки — вектор частных производных — и обновляет параметры небольшим шагом в направлении, противоположном градиенту: w = w - lr * dMSE/dw. Если шаг lr (скорость обучения) слишком велик, процесс расходится, если слишком мал — сходимость медленная. Для линейной регрессии MSE — выпуклая функция, поэтому проблемы локального минимума нет, а приведение признаков к одному масштабу ускоряет сходимость.
Качество модели оценивают на тестовой выборке: RMSE (корень из MSE, измеряется в тех же единицах, что и y) и коэффициент детерминации R2, показывающий, какую долю дисперсии объясняет модель (чем ближе к 1, тем лучше). Линейная регрессия предполагает, что зависимость примерно линейна; выбросы (outlier) сильно влияют на результат, а взаимосвязанные признаки (мультиколлинеарность) делают коэффициенты неустойчивыми. Нелинейную зависимость можно описать с помощью полиномиальных признаков, а переобучение сдержать регуляризацией (Ridge, Lasso).
Главное
- Линейная регрессия находит по данным параметры модели
y = w * x + b. - Среднеквадратичная ошибка (MSE) измеряет разницу между предсказанием и реальным значением.
- Для небольших задач применяют нормальное уравнение, для больших данных — градиентный спуск.
- Правильный выбор скорости обучения
lrи приведение признаков к одному масштабу ускоряют сходимость. - Качество оценивают по
RMSEиR2; выбросы и мультиколлинеарность могут исказить результат.
Практические задания
- Вычислите вручную: для точек (1, 2), (2, 4) и (3, 5) найдите
wиbметодом наименьших квадратов, а затем вычислите MSE. - Напишите градиентный спуск на NumPy самостоятельно: создайте данные
x = np.random.rand(100)иy = 3 * x + 2с небольшим шумом, обучитеwиbза 1000 шагов и сравните графики ошибки приlr, равном 0.001, 0.1 и 1.0. - На открытых данных (например,
load_diabetes) обучите моделиLinearRegressionиRidgeизscikit-learn, вычислитеRMSEиR2на тестовой выборке и сравните результаты.
Вопросы для закрепления
Проверьте себя: сначала подумайте, потом откройте ответ.
1Почему в среднеквадратичной ошибке отклонения возводят в квадрат?Показать ответСкрыть ответ
Чтобы положительные и отрицательные отклонения не компенсировали друг друга, большие ошибки штрафовались сильнее, а функция была гладкой (дифференцируемой).2Что произойдёт, если скорость обучения `lr` выбрана слишком большой?Показать ответСкрыть ответ
Параметры «перескакивают» через минимум, ошибка не уменьшается и может даже расти (расходимость).3О чём говорит значение `R2`, близкое к 0?Показать ответСкрыть ответ
Модель почти не объясняет дисперсию: она не лучше, чем простое предсказание среднего значения.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Пройдено тем: 0 из 3
Войти и отметить