线性回归

什么是回归?

回归是一种统计分析方法,用于建立一个变量(称为因变量或响应变量)与其他变量(称为自变量或预测变量)之间的关系模型。它主要用于预测或解释因变量的数值取值。
回归分析的目标是通过对已知数据进行拟合,找到最佳的函数形式,以便预测或解释因变量的值。回归分析的一个重要应用是预测。通过使用已知的自变量值,可以利用回归模型来预测因变量的值。例如,可以使用房屋的大小、位置和其他特征作为自变量,建立一个回归模型来预测房屋的价格。

线性回归

最常见的回归方法是线性回归,其中假设因变量与自变量之间存在线性关系。在线性回归中,通过拟合一条直线,尽可能准确地表示因变量与自变量之间的关系。

$$\hat{y} = w\cdot x + b$$

可以使用上式来表示这种线性关系,当输入 x 时,可以得到一个预测值。

也可以看出,不同使用 w, b 组合可以得出不同的预测值。

成本函数

这样我们就可以使用成本函数来衡量我们取的 w 与 b 的组合。 $$ j(w,b)=\frac{1}{2m}\sum_{i=1}^{m}(\hat{y}^{(i)} - y^{(i)} )^{2} $$

批量梯度下降

有前面的成本函数,我们可以先把 b 看作 0,减化这个函数,这样就得到了一个关于 w 的函数,可以绘制出其函数的图像为:

这样可以看出,当我们的 w 取了一个值时,可以一点一点的沿着函数下降最快的方向找到局部极小值。

继续拓展

在引入了 b 的时候,这是就是一个碗形。

$$ w = w - \alpha \cdot \frac{\partial}{\partial w}j(w, b) $$ $$ b = b - \alpha\cdot \frac{\partial}{\partial b}j(w, b) $$ $$ \frac{\partial }{\partial w}j(w, b) = \frac{1}{m}\sum_{i = 1}^{m}(f_{w,b}(x^{(i)})-y^{(i)})x^{(i)} $$ $$ \frac{\partial }{\partial b}j(w, b) = \frac{1}{m}\sum_{i = 1}^{m}(f_{w, b}(x^{(i)}) -y^{(i)}) $$

其他梯度下降算法

批量梯度下降
随机梯度下降
小批量梯度下降

具体实现 C++

代码实现

引用

[1] 批量梯度下降(BGD)、随机梯度下降(SGD)、小批量梯度下降(MBGD)
[2] 线性回归
[3] 梯度下降算法