Batch gradient descent
Procedure
- 在循环中跌倒公式\(\theta_j:=\theta_j-\alpha{1\over{m}}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})x_j^{(i)}\)
- 只有迭代完所有的数据, 才更新\(\theta\)
Stochastic gradient descent
Procedure
- 将原始数据打乱
- 在循环中跌倒公式\(\theta_j:=\theta_j-\alpha(h_{\theta}(x^{(i)})-y^{(i)})x_j^{(i)}\)
- 与Batch梯度下降的公式不同, 少了\(\sum_{i=1}^m\), 这就是随机梯度下降的特性, 它不想Batch梯度下降一样, 需要迭代完所有的数据才能更新\(\theta\), 而是迭代了一个样本就会更新\(\theta\)
Mini-batch gradient descent
Features
Procedure
- 选定好b
- 使用for循环语句, for i = 1, 1+b, ..., 迭代公式\(\theta_j:=\theta_j-\alpha{1\over{b}}\sum_{k=i}^{k+b}(h_{\theta}^{(k)}-y^{(k)})x_j^{(k)}\)
学习路\(\alpha\)的选择
- 可以确定两个常量const1和const2
- 公式\(\alpha={const1\over{iterNum+const2}}\)
- 好处, 当我们迭代的次数增加, \(\alpha\)会自动的减小
Loss Function与Cost Function
- Loss Function一般使用L表示, 它表示的是单个样本的损失
- Cost Function一般使用J表示, 它表示的是所有样本的损失
- 在机器学习中, 我们的目的是优化J
Gradient descent and others
原文:https://www.cnblogs.com/megachen/p/10545878.html