这一节主要讲了一些适用于大规模机器学习的算法及策略,并比较了梯度下降、随机梯度下降和小批量梯度下降的优劣。目前来说,大规模机器学习中用的最多的还是小批量梯度下降,毕竟它在执行效率和性能之间达到了一个平衡。当然,对于小批量梯度下降来说,如何选择合适的批量大小又是一个值得深思的问题。

梯度下降

[ begin{aligned} &text{Repeat}{\ &quadquadTheta_{t+1} := Theta_t - alphafrac{1}{n}sum_{i=1}^nnablatext{cost}left(f(x^{(i)};Theta_t),y^{(i)}right)\ &} end{aligned} ]

随机梯度下降

[begin{aligned} &text{Repeat}{\ &quadquadtext{Shuffer training dataset randomly}\ &quadquad text{Select }textbf{one}text{ example from training dataset}\ &quadquadTheta_{t+1} := Theta_t - alphanablatext{cost}left(f(x^{(i)};Theta_t),y^{(i)}right)\ &} end{aligned}]

小批量梯度下降

[begin{aligned} &text{Repeat}{\ &quadquadtext{Shuffer training data randomly}\ &quadquadtext{Select }btext{ examples from training dataset}\ &quadquadTheta_{t+1} := Theta_t - alphafrac{1}{b}sum_{i=1}^bnablatext{cost}left(f(x^{(i)};Theta_t),y^{(i)}right)\ &} end{aligned}]
后面介绍了分布式机器学习中的Map-Reduce方法,其实现阶段(2020年)常用的方法还是数据并行和模型并行这两种。主要使用的架构包括参数服务器以及一些环状架构,这里就不作过多介绍了。

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/littleorange/p/12509630.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!