梯度下降法
- 批量梯度下降 (BGD) \[\theta_{j}^{\prime}=\theta_{j}+\frac{1}{m} \sum_{i=1}^{m}\left(y^{i}-h_{\theta}\left(x^{i}\right)\right) x_{j}^{i} \]
- 随机梯度下降 (SGD) \[\theta_{j}^{\prime}=\theta_{j}+\left(y^{i}-h_{\theta}\left(x^{i}\right)\right) x_{j}^{i} \]
- 小批量梯度下降 (MBGD)
牛顿法
牛顿法是二次收敛,因此收敛速度快。从几何上看是每次用一个二次曲面来拟合当前所处位置的局部曲面,而梯度下降法是用一个平面来拟合。
- 黑塞矩阵是由目标函数 \(f(x)\) 在点 \(X\) 处的二阶偏导数组成的 \(n \times n\) 阶对称矩阵。
- 牛顿法:将 \(f(x)\) 在 \(x(k)\) 附近进行二阶泰勒展开: \[f(x)=f\left(x^{(k)}\right)+g_{k}^{\mathrm{T}}\left(x-x^{(k)}\right)+\frac{1}{2}\left(x-x^{(k)}\right)^{\mathrm{T}} H\left(x^{(k)}\right)\left(x-x^{(k)}\right) \]
- \(g_k\) 是 \(f(x)\) 的梯度向量在 \(x(k)\) 的值,\(H(x(k))\) 是 \(f(x)\) 的黑塞矩阵在点 \(x(k)\) 的值。
\[\nabla f(x)=g_{k}+H_{k}\left(x-x^{(k)}\right) \]
\[g_{k}+H_{k}\left(x^{(k+1)}-x^{(k)}\right)=0 \]
\[x^{(k+1)}=x^{(k)}-H_{k}^{-1} g_{k} \]
拟牛顿法
\[g_{k+1}-g_{k}=H_{k}\left(x^{(k+1)}-x^{(k)}\right) \]
\[y_{k}=g_{k+1}-g_{k} \]
\[\delta_{k}=x^{(k+1)}-x^{(k)} \]
DFP 算法
\[G_{k+1}=G_{k}+P_{k}+Q_{k} \]
\[P_{k} y_{k}=\delta_{k} \]
\[Q_{k} y_{k}=-G_{k} y_{k} \]
\[P_{k}=\frac{\delta_{k} \delta_{k}^{T}}{\delta_{k}^{T} y_{k}} \]
\[Q_{k}=-\frac{G_{k} y_{k} y_{k}^{\mathrm{T}} G_{k}}{y_{k}^{\mathrm{T}} G_{k} y_{k}} \]
\[G_{k+1}=G_{k}+\frac{\delta_{k} \delta_{k}^{\tau}}{\delta_{k}^{T} y_{k}}-\frac{G_{k} y_{k} y_{k}^{T} G_{k}}{y_{k}^{T} G_{k} y_{k}} \]
BFGS 算法
\[B_{k+1} \delta_{k}=y_{k} \]
\[B_{k+1}=B_{k}+P_{k}+Q_{k} \]
\[P_{k} \delta_{k}=y_{k} \]
\[Q_{k} \delta_{k}=-B_{k} \delta_{k} \]
\[B_{k+1}=B_{k}+\frac{y_{k} y_{k}^{\mathrm{T}}}{y_{k}^{\mathrm{T}} \delta_{k}}-\frac{B_{k} \delta_{k} \delta_{k}^{\mathrm{T}} B_{k}}{\delta_{k}^{\mathrm{T}} B_{k} \delta_{k}} \]