机器学习_随机梯度下降法(SGD)&小批量梯度下降法(MBGD)

批量梯度下降法

θ:=θ−η∑i=1n(fθ(x(i))−y(i))⋅x(i) \begin{split} \theta :&= \theta - \eta\sum\limits_{i=1}^{n} \begin{pmatrix} f_{\theta}(x^{(i)})-y^{(i)} \end{pmatrix} \cdot x^{(i)} \end{split} θ:=θ−ηi=1∑n(fθ(x(i))−y(i))⋅x(i)

第j个参数的更新表达式

θj:=θj−η∑i=1n(fθ(x(i))−y(i))⋅xj(i) \begin{split} \theta_j :&= \theta_j - \eta\sum\limits_{i=1}^{n} \begin{pmatrix} f_{\theta}(x^{(i)})-y^{(i)} \end{pmatrix} \cdot x_j^{(i)} \end{split} θj:=θj−ηi=1∑n(fθ(x(i))−y(i))⋅xj(i)

随机选取一个数据点进行第jjj个参数θ\thetaθ的更新 - SGD

θj:=θj−η(fθ(x(k))−y(k))⋅xj(k) \begin{split} \theta_j :&= \theta_j - \eta \begin{pmatrix} f_{\theta}(x^{(k)})-y^{(k)} \end{pmatrix} \cdot x_j^{(k)} \end{split} θj:=θj−η(fθ(x(k))−y(k))⋅xj(k)

随机选择m个训练数据的索引组成集合K,使用这些数据进行第j个参数θ\thetaθ的更新 - MBGD

θj:=θj−η∑k∈K(fθ(x(k))−y(k))⋅xj(k) \begin{split} \theta_j :&= \theta_j - \eta\sum\limits_{k \in K} \begin{pmatrix} f_{\theta}(x^{(k)})-y^{(k)} \end{pmatrix} \cdot x_j^{(k)} \end{split} θj:=θj−ηk∈K∑(fθ(x(k))−y(k))⋅xj(k)