# 多元线性回归梯度下降法 $f_{\vec{w}, b}(\vec{x})=\vec{w} \cdot \vec{x}+b=w_1 x_1+w_2 x_2+w_3 x_3+\cdots+w_n x_n+b$
成本函数:$$J(\mathbf{w},b) = \frac{1}{2m} \sum\limits_{i = 0}^{m-1} (f_{\mathbf{w},b}(\mathbf{x}^{(i)}) - y^{(i)})^2$$ 更新参数:$$\begin{align*} \; \newline\; & w_j = w_j - \alpha \frac{\partial J(\mathbf{w},b)}{\partial w_j} \; & \text{for j = 0..n-1}\newline &b\ \ = b - \alpha \frac{\partial J(\mathbf{w},b)}{\partial b} \newline \end{align*}$$ 其中
$$ \begin{align} \frac{\partial J(\mathbf{w},b)}{\partial w_j} &= \frac{1}{m} \sum\limits_{i = 0}^{m-1} (f_{\mathbf{w},b}(\mathbf{x}^{(i)}) - y^{(i)})x_{j}^{(i)} \\ \frac{\partial J(\mathbf{w},b)}{\partial b} &= \frac{1}{m} \sum\limits_{i = 0}^{m-1} (f_{\mathbf{w},b}(\mathbf{x}^{(i)}) - y^{(i)}) \end{align} $$ 各符号表示的含义:
$x^{(i)}$:第i个例子,$x^{(i)}_{j}$:第i个例子下的第j个数据 为了便于编写代码,将上面公式改写成矩阵形式,有$m$组数据,每组数据有$n$个变量: $\vec{f}=\mathbf{x}\vec{w}+\vec{b}$,其中,$\mathbf{x}=\begin{equation*} \begin{bmatrix} {x_{11}} &{x_{12}}&\cdots&{x_{1n}} \\ {x_{21}}&{x_{22}}&\cdots & {x_{2n}}\\ \vdots&\vdots& \ddots&\vdots \\ {x_{m1}}&{x_{m2}}&\cdots&{x_{mn}} \end{bmatrix} \end{equation*}_{m\times n}$,$\vec{w}=\begin{equation*}\begin{bmatrix} {w_1}\\{w_2}\\\vdots\\{w_n}\end{bmatrix}\end{equation*}_{n\times 1}$,$\vec{b}=\begin{equation*}\begin{bmatrix} {b_1}\\{b_2}\\\vdots\\{b_m}\end{bmatrix}\end{equation*}_{m\times 1}$,预测值$\vec{f}=\begin{equation*}\begin{bmatrix} {f_1}\\{f_2}\\\vdots\\{f_m}\end{bmatrix}\end{equation*}_{m\times 1}$,实际值$\vec{y}=\begin{equation*}\begin{bmatrix} {y_1}\\{y_2}\\\vdots\\{y_m}\end{bmatrix}\end{equation*}_{m\times 1}$ 成本函数:$$J(\mathbf{w},b) = \frac{1}{2m} \sum\limits_{i = 0}^{m-1} (f_{\mathbf{w},b}(\mathbf{x}^{(i)}) - y^{(i)})^2$$ 对应的矩阵形式:$J(\mathbf{w},b) = \frac{1}{2m}(\vec{f} - \vec{y})^T(\vec{f} - \vec{y})$ 更新变量:$\vec{w}^T=\vec{w}^T-\alpha\cdot\frac{1}{m}\cdot (\vec{f} - \vec{y})^T \mathbf{x} \\ \vec{b}=\vec{b}-\alpha\cdot\frac{1}{m}\cdot np.sum((\vec{f} - \vec{y}))$ 原稿:![新文档 2024-12-19_1](./Picture/machine_learning/新文档 2024-12-19_1.jpg)