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