標籤:

常用梯度下降演算法(scala實現)

近期在github上維護了一個庫,主要是用於深入學習一些演算法的實現。鑒於scala代碼撰寫起來較為舒爽,所以全部演算法都是基於scala來進行實現的。

該庫目前主要的情況如下:

主要是參照很多文獻和框架,結合自己的理解,將一些較為經典的梯度下降演算法重新擼了一遍。工程名叫scalaML,目標是想用scala重新實現一套sklearn。目前看來遙遙無期,且先進行著吧。

工程鏈接為sloth2012/scalaML。

目前的主要參考文獻如下:

  • SGD演算法比較 - Slinuxer
  • ML之梯度下降演算法 - kissg Blog
  • 梯度下降優化演算法綜述與PyTorch實現源碼剖析
  • 各大公司廣泛使用的在線學習演算法FTRL詳解 - EE_NovRain - 博客園
  • FTRL starter code | Kaggle

推薦閱讀:

梯度下降、隨機梯度下降(SGD)、mini-batch SGD
BAT機器學習面試1000題系列(136-140題)
為什麼 feature scaling 會使 gradient descent 的收斂更好?
[讀論文]Big Batch SGD: Automated Inference using Adaptive Batch Sizes

TAG:梯度下降 |