zoukankan      html  css  js  c++  java
  • Gradient descent and others

    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
  • 相关阅读:
    好用的软件记录
    微信小程序 设计理念指南
    开启Python之路
    升级到iOS9之后的相关适配
    ARC模式下的内存泄露问题
    Git 源代码管理工具
    SVN版本控制系统
    单例 singleton
    双击改变图片大小和多点触摸改变图片大小
    循环引用 -- id 为什么是 assign 而不是 retain
  • 原文地址:https://www.cnblogs.com/megachen/p/10545878.html
Copyright © 2011-2022 走看看