這一節主要講了一些適用于大規模機器學習的演算法及策略,并比較了梯度下降、隨機梯度下降和小批量梯度下降的優劣,目前來說,大規模機器學習中用的最多的還是小批量梯度下降,畢竟它在執行效率和性能之間達到了一個平衡,當然,對于小批量梯度下降來說,如何選擇合適的批量大小又是一個值得深思的問題,
梯度下降
\[\begin{aligned} &\text{Repeat}\{\\ &\quad\quad\Theta_{t+1} := \Theta_t - \alpha\frac{1}{n}\sum_{i=1}^n\nabla\text{cost}\left(f(x^{(i)};\Theta_t),y^{(i)}\right)\\ &\} \end{aligned} \]
隨機梯度下降
\[\begin{aligned} &\text{Repeat}\{\\ &\quad\quad\text{Shuffer training dataset randomly}\\ &\quad\quad \text{Select }\textbf{one}\text{ example from training dataset}\\ &\quad\quad\Theta_{t+1} := \Theta_t - \alpha\nabla\text{cost}\left(f(x^{(i)};\Theta_t),y^{(i)}\right)\\ &\} \end{aligned}\]
小批量梯度下降
\[\begin{aligned} &\text{Repeat}\{\\ &\quad\quad\text{Shuffer training data randomly}\\ &\quad\quad\text{Select }b\text{ examples from training dataset}\\ &\quad\quad\Theta_{t+1} := \Theta_t - \alpha\frac{1}{b}\sum_{i=1}^b\nabla\text{cost}\left(f(x^{(i)};\Theta_t),y^{(i)}\right)\\ &\} \end{aligned}\]
后面介紹了分布式機器學習中的Map-Reduce方法,其實作階段(2020年)常用的方法還是資料并行和模型并行這兩種,主要使用的架構包括引數服務器以及一些環狀架構,這里就不作過多介紹了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/45434.html
標籤:其他
