Изменения

Перейти к: навигация, поиск

Вариации регрессии

790 байт добавлено, 15:35, 24 февраля 2019
Байесовская регрессия
Решением этой задачи мы и будем заниматься в этом разделе.
[[Файл: Bayessian_regression_noise.jpg|250px|thumb|Рис.2. Регрессия и шум в данных.<br/>Синяя точка {{---}} значение из датасета, красная {{---}} значение, полученное в результате работы алгоритма регрессии. Также на рисунке зеленой линией изображена предсказанная функция, предсказанная алгоритмом регрессиии, а черной {{---}} гауссово распределение шума.]]
'''Байесовская линейная регрессия''' (англ. ''Bayesian linear regression'') {{---}} подход в линейной регрессии, в котором предполагается что шум распределен нормально.
Запишем правдоподобие:
:<tex>p(y|x, \beta, \sigma^2) = N(x \beta, \sigma^2)</tex>,где <tex>p(y|x, \beta x, \sigma^2)</tex>{{---}} плотность распределения значения <tex>y</tex> из датасета, которая, как мы ранее предположили, соответствует нормальному распределению с центром в точке <tex>x \beta</tex> (значение для <tex>y</tex>, предсказанное алгоритмом).
Будем также предполагать, что данные независимы::<tex>p(y|x, \beta, \sigma^2) = \prod\limits_{i=1}^n N(y_i|x_i \beta x_i, \sigma^2)</tex> Поскольку нас интересует только максимум, положим <tex>\sigma = 1</tex>::<tex>\arg\max p(y|x, \beta) = \arg\max \prod\limits_{i=1}^n N(x_i \beta, 1)</tex>
Прологарифмируем это выражение:
:<tex>\arg\max \ln p(y|x, \beta, \sigma^2) = \arg\ = max \ln \prod\limits_{i=1}^n N(y_i|x_i \beta x_i, \sigma^21) \\ = \arg\max \ln {\left( \frac{1}{(\sigma \sqrt{2 \pi})^n} \exp{\left(-\frac{1}{2 \sigma^2} \sum\limits_{i-1}^n (y_i - x_i \beta x_i)^2\right)}\right )} \\ = \arg\max -\fracsum\limits_{i=1}^n}{2} (y_i - x_i \ln{beta)^2 \pi \sigma^2} - = \frac{1}{2arg\sigma^2} min \sum\limits_{i=1}^n (y_i - x_i \beta x_i)^2</tex>
Из оценки Таким образом, оказывается, что метод максимального правдоподобия мы получили оценку с учетом шума в данных сводится к оценке по методу наименьших квадратов, которую мы уже видели в обынчой линейной регрессии.
===Пример кода для Scikit-learn===
276
правок

Навигация