详细内容或原文请订阅后点击阅览
为什么梯度下降变得随机
从基于微积分的优化到随机梯度下降的逐步旅程“为什么梯度下降变成随机”一文首先出现在《走向数据科学》上。
来源:走向数据科学,我们不仅要讨论如何使用梯度下降和随机梯度下降,还要讨论为什么使用梯度下降和随机梯度下降。
我们已经了解线性回归,最近我在向量和投影的背景下写了它。
现在,我们将尝试借助线性回归问题来理解梯度下降。
但在此之前,我只想简要回顾一下我们已经了解的关于线性回归及其背后的数学知识,以便任何刚开始学习的人都可以轻松理解。
如果您已经了解线性回归背后的基本数学,那么您可以直接从标题为“为什么我们需要梯度下降?”的部分开始。
假设我们开始了机器学习之旅,我们做的第一件事是使用 Python 实现线性回归模型。
我们成功实施了它并获得了斜率和截距的最佳值。
现在我们有一个问题:这个算法背后到底发生了什么?
我们想要了解其背后的数学原理。
线性回归回顾
为此,让我们考虑一下这些数据。
现在,我们想要了解算法背后的数学原理。
我们遇到了斜率和截距的这些公式。
\[
\beta_1 = \frac{\sum_{i=1}^{n} (x_i – \bar{x})(y_i – \bar{y})}{\sum_{i=1}^{n} (x_i – \bar{x})^2}
\]
\beta_0 = \bar{y} – \beta_1\bar{x}
现在,通过使用这些公式,我们计算斜率和截距。
简单线性回归方程为:
\hat{y}
=
\beta_0+\beta_1x
斜率公式为:
\beta_1
\frac{
\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})
}{
\sum_{i=1}^{n}(x_i-\bar{x})^2
}
截距公式为:
\beta_0
\bar{y}
–
\beta_1\bar{x}
数据集是:
x=
[1.2,1.4,1.6,2.1,2.3,3.0,3.1,3.3,3.3,3.8]
\]
\[
y=
[39344,46206,37732,43526,39892,56643,60151,54446,64446,57190]
计算 x 的平均值:
\bar{x}
\压裂{1.2+1.4+1.6+2.1+2.3+3.0+3.1+3.3+3.3+3.8}{10}
\frac{25.1}{10}
2.51
计算 y 的平均值:
39344+46206+37732+43526+39892+56643+60151+54446+64446+57190
}{10}
\frac{499576}{10}
49957.6
现在计算:
\sum(x_i-\bar{x})(y_i-\bar{y})
替换并计算后:
41663.44
\sum(x_i-\bar{x})^2
-1
0+
